NCothran / chatpad-super-driver

Automatically exported from code.google.com/p/chatpad-super-driver
0 stars 0 forks source link

Wireless Controller Support #46

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Here is how to make chatpad work on a Xbox360 wireless controller:

All the data below has to be send to endpoint 1 (assuming endpoint 2, 3, 4 for 
controller 2, 3, 4). The chatpad will return data on endpoint 1, the same 
endpoint as the normal controller events.

To turn off the Xbox360 controller send: 00 00 08 C0 00 00 00 00 00 00 00 00

To enable wireless controller chatpad events, send: 00 00 0C 1B 00 00 00 00 00 
00 00 00

You will have to send alternating 1E/1F keep-alive packets (every second or so, 
I guess) to keep the chatpad events flowing: 00 00 0C 1E/1F 00 00 00 00 00 00 
00 00

After doing this, you'll start getting 00 02 00 F0 event packets (the 02 
signifying chatpad data). The same data as the wired chatpad starts appearing 
at offset 0x18.

LED activation works much the same as with the wired controller, but the 
control codes have to be send to endpoint one, the same as the init and 
keep-alive stuff:

00 00 0C  8 00 00 00 00 00 00 00 00 capslock
00 00 0C  9 00 00 00 00 00 00 00 00 square
00 00 0C  a 00 00 00 00 00 00 00 00 circle
00 00 0C  b 00 00 00 00 00 00 00 00 people
00 00 0C  c 00 00 00 00 00 00 00 00 backlight
00 00 0C 11 00 00 00 00 00 00 00 00 capslock
00 00 0C 12 00 00 00 00 00 00 00 00 square
00 00 0C 13 00 00 00 00 00 00 00 00 square and capslock
00 00 0C 14 00 00 00 00 00 00 00 00 circle
00 00 0C 15 00 00 00 00 00 00 00 00 capslock and circle
00 00 0C 16 00 00 00 00 00 00 00 00 circle, square
00 00 0C 17 00 00 00 00 00 00 00 00 circle, square, capslock
00 00 0C 1b 00 00 00 00 00 00 00 00 makes backlight led go on on keypress

Original issue reported on code.google.com by grum...@gmail.com on 1 Jan 2013 at 8:24

GoogleCodeExporter commented 8 years ago
Hey Fab, can you open your libusb download and go to \bin\inf-wizard.exe? Run 
that against the device and then post that as an attachment. That will help me 
determine what is wrong.

Thanks!

Original comment by ryan...@gmail.com on 27 May 2013 at 4:38

GoogleCodeExporter commented 8 years ago
Just ordered a chatpad to use with this driver, just a question: is it possible 
to install this driver to a separate USB-port while having the official driver 
on another USB-port so you can shift between them? As I understand this driver 
does not support voicechat via the xboxcontroller-mic so would be nice to be 
able to switch when wanting voicechat. Thanks for the driver btw, been looking 
for something like this to do some mmo-gaming for some time now :D Keep up the 
good work!

Original comment by gra...@gmail.com on 28 May 2013 at 10:50

GoogleCodeExporter commented 8 years ago
You will not be able to install the office driver and this driver at the same 
time. That was what I have been working on but have hit a dead end. I will look 
into supporting the mic.

Original comment by ryan...@gmail.com on 2 Jun 2013 at 4:21

GoogleCodeExporter commented 8 years ago
Thanks for the answer, would be awesome if you could get the mic to work :)

Original comment by gra...@gmail.com on 2 Jun 2013 at 10:03

GoogleCodeExporter commented 8 years ago
I'm having trouble figuring out how to get this to work, can someone post a 
guide that is step by step?
I know how to go into device manager and remove my current controller, but 
after that I feel like something goes wrong because the neither the chatpad nor 
controller work after trying to set it up.
Is anybody willing to make a step-by-step install guide for the less 
technically inclined?

Original comment by MailboxJ...@gmail.com on 6 Jun 2013 at 4:27

GoogleCodeExporter commented 8 years ago
to anyone currently working on the chatpad drivers. it seems that people have 
mentioned that a big problem in development is that the microsoft drivers are 
not open source, so it is difficult to get the regular functionality of the 
xbox controller in games with additional chatpad support. has anyone considered 
trying to implement their chatpad code into some of the alternative drivers 
(that are open source) that are already out there, for example, XBCD 
(http://www.redcl0ud.com/xbcd.html) or the wireless derivative x360wc? 
(http://lavendy.net/special/driver/x360wc/index.html)

Original comment by tom.hong...@gmail.com on 7 Jun 2013 at 7:26

GoogleCodeExporter commented 8 years ago
The fact that the Microsoft driver is not open source is a issue but it is not 
the issue. Basically Microsoft and their preferred vendors have access to the 
XInput SDK. I  will check but both of the drivers below are probably utilizing 
DirectInput, just as my driver does (through the additional joystick driver). 
Even if they were somehow using XInput, I could not legally, as it is licensed 
directly from Microsoft, so there is no open source implementation of an XInput 
based joystick. 

The other issue is that filter drivers can only be applied on the wired 
joystick, not the wireless control box. I still haven't figured this out, but 
I'm pretty confident at this point that this assertion is correct.

Original comment by ryan...@gmail.com on 7 Jun 2013 at 1:49

GoogleCodeExporter commented 8 years ago
@ryan #107

You could code the xinput functions but not include any dll. Then tell people 
to get them from the xbox 360 drivers.

as well keeping the other joystick driver as a second option.

Original comment by x1800mod...@yahoo.com on 12 Jun 2013 at 10:17

GoogleCodeExporter commented 8 years ago
It doesn't really work that way. I can't code any of the XInput functions. I 
don't know them, they aren't documented except in the SDK (which is not 
available), and I can't pull anything out the Microsoft drivers. 

I honestly can't think of a feasible way to accomplish any of this. Not trying 
to be difficult, just being realistic. There might be away but if there is, it 
is beyond my abilities.

Original comment by ryan...@gmail.com on 12 Jun 2013 at 10:35

GoogleCodeExporter commented 8 years ago
@ryan #107
how much would it cost to "buy" the SDK,
maybe we could donate for that :)

Original comment by jonnyrim...@gmail.com on 13 Jun 2013 at 4:24

GoogleCodeExporter commented 8 years ago
Count me in for a donation.
This Project is to good to stop at this point.

Original comment by philipp....@gmail.com on 13 Jun 2013 at 5:37

GoogleCodeExporter commented 8 years ago
#109

If your application is in c# there is a dll called xinputdotnet which defines 
all but two ordinals. Thus can be used to do the xinput for the game 
controllers.

Original comment by x1800mod...@yahoo.com on 15 Jun 2013 at 8:10

GoogleCodeExporter commented 8 years ago
I'm having some issues with the install.  When running install-filter-win it 
won't detect the receiver, only inf-wizard recognizes the "Unknown device". Am 
I supposed to have the official driver installed before installing everything? 
I managed to get the chatpad working when selecting a "USB Composite Device" in 
install-filter-win and installing everything else but then the vJoy config 
settings wouldn't stick and in games the controller acted as though the left 
stick was continually rotated. Some more detailed instructions of how to 
install would be much appreciated :)

Original comment by gra...@gmail.com on 15 Jun 2013 at 2:31

GoogleCodeExporter commented 8 years ago
Thanks for the post x1800, I hadn't seen that wrapper. Though I am not sure it 
changes my mind. Wrapping a proprietary, licensed solution with a dll that just 
exposes that same functionality is violating the license of the original 
Microsoft APIs. I will review the code and see how it was implemented, but my 
gut is saying to stay away. Anyone else can feel free to add this code to their 
driver, as it looks like it would work. But for now I need to do more research 
before I feel comfortable with this approach.

Also I appreciate everyone offering to donate to the driver to purchase the 
SDK, but that isn't really possible. As I am aware only a few vendors have 
access to this SDK. It would take not only a lot of money (and probably a cut 
of sales) but also a close relationship with the team at Microsoft responsible 
for the SDK.

Original comment by ryan...@gmail.com on 15 Jun 2013 at 3:54

GoogleCodeExporter commented 8 years ago
#114

You can code the application, but not include the xinput.dll

that is not violating anything, as no copyright content is not included in the 
application.

but the user can get it from the driver folder.

Original comment by x1800mod...@yahoo.com on 17 Jun 2013 at 12:36

GoogleCodeExporter commented 8 years ago
I'm pretty sure x1800 is correct in stating that you can leverage the use of 
the xinput.dll with your own application, as long as you do not include it any 
any supplied download.

There are many free and paid wrapper programs that do just that, even going as 
far to auto download (requires users confirmation) any additional software from 
other vendors site if the required dll's cannot be found.

As with everyone else, I've spent many, many years with one eye on chatpad 
drivers progress. I'd be more then happy to throw money your way even for a 
compiled wrapper that works with the base driver and allows the chatpad to just 
work. It's like the Holy Grail for me personally. Be it Paypal, kick starter, 
I'll be there. Now I know taking money can be daunting as I understand if you 
can't deliver, the villagers more often then will drop their praises for pitch 
forks and fire at a drop of a hat.

So if I may suggest, you could just chuck a guide or two up onto YouTube on how 
to compile your code (instructions and links to your blog) monetize your 
YouTube account and add a few Google ads to your blog site. With the 1000's 
upon 1000's of people over the years chasing something like this, it wouldn't 
take long to get a few bob in your pockets. Just food for thought.

Anyway, haven't had a chance to try the alpha yet myself (found your stuff late 
this evening) will try to have a play with it after work tomorrow :)

Keep up the good work :)

Original comment by byte...@geekonym.com on 18 Jun 2013 at 10:38

GoogleCodeExporter commented 8 years ago
Hi! Thank u for this driver Ryan, it´s working almost perfect! I´d like to 
ask u two questions:

- Is it possible to start your program minimized as a tray icon? I´ve tried a 
few things and I couldnt make it work.

- vJoy seems to send the left joystick bottom right until the gamepad is on, so 
xpadder is moving my pointer to that direction when the computer starts (right 
trigger is always working too). After turning the gamepad on, vJoy starts 
working as expected, u can even turn off the gamepad and it works well. Is 
there any way to fix this? 

(I´ve thought it could be fixed by running xpadder when you turn the gamepad 
on, maybe through task manager with "some" windows event as a trigger)

Any help would be highly appreciated.

Anyway, thank u anyway, I´d never thought I could use the chatpad :) 

Original comment by asi.albe...@gmail.com on 18 Jun 2013 at 8:31

GoogleCodeExporter commented 8 years ago
In my case only "Disable Controller" button works. Any other pad key is not 
responding. Any ideas what I do wrong? 

Original comment by mchejter...@gmail.com on 22 Jun 2013 at 11:53

GoogleCodeExporter commented 8 years ago
No luck on getting the XInput wrapper to work. It is effectively the same 
problem. The XInput wrapper requires a driver, which in this case would be the 
Microsoft driver. But since I can't run a filter driver without killing the 
Microsoft driver, I am stuck at the same point. Basically the XInput wrapper 
works great to grab the gamepad events assuming the Microsoft driver is 
installed, but since XInput doesn't define a way to grab chatpad events that is 
not part of the wrapper, hence I still need my filter driver active to capture 
the chatpat, which breaks the controller driver. Not seeing anyway around this.

Ultimately this dll is a programmatic way to access the Xinput functionality 
(which I can do native in C# anyway), its really not much different than using 
slimdx or something similar to grab the events for game development. My problem 
isn't grabbing the events, it is relaying them as native gamepad events (which 
works great for the XInput controller, or the chatpad, or a generic controller 
and chatpat, but not both  an XInput controller and chatpad at the same time). 
I'm really back at the same place, without a working filter driver this can't 
be done.

I'm no expert on this, so feel free to disagree and point me in a different 
direction. Now if you could provide something that allows me to register the 
device driver as an XInput device, like the Microsoft SDK would allow, then I 
could do it. This driver just wraps the open XInput functions, it doesn't allow 
registering a new XInput driver.

I appreciate the creative ideas on funding, but I'm not in this for money. I 
don't care or want to make a few thousand bucks off this driver, I just want it 
to work so I can use it. But I'm at a dead-end right now, and until I come up 
with another approach, I moving back to game development, at least there I can 
make progress :)

Original comment by ryan...@gmail.com on 29 Jun 2013 at 5:04

GoogleCodeExporter commented 8 years ago
Been looking into this for a few weeks and have installed Ryan's alpha with 
marginal success on a couple machines.

Only issue I'm having, occasionally a key press on the chatpad will register 
twice. This is seemingly random, but effectively break the usage.

I've looked through the source code, but can't really identify the root cause 
of this issue. I've got a decent background in C/C++/C# and am willing to help 
on this driver in whatever capacity, but I guess I'm not really sure where 
problems other than the double-tap are.

Original comment by kenneth.barnes@skyag.net on 29 Jun 2013 at 7:58

GoogleCodeExporter commented 8 years ago
Naturally, 5 minutes after posting a comment I realize I skimmed over the 
chatpad handling logic in the source to quickly and noticed where the timer is 
implemented for keystrokes. I've never really worked on a driver so I'm 
curious, why is the timer necessary? Is there no other "hook" in the buffer to 
latch onto instead?

Original comment by kenneth.barnes@skyag.net on 29 Jun 2013 at 8:09

GoogleCodeExporter commented 8 years ago
Good question, I'm not very well versed in drivers so this could be wrong. The 
problem  wasn't really one of hooks, it is relatively easy to get each 
individual signal and process it, my problem was that without direct access to 
the hardware I don't know when the button has been released. 

Basically every time it polls the device it gives me the current status. For a 
button that is on or off. I don't track the state of all buttons, so I don't 
know if a button has been released. I started down that road but noticed there 
were times where I would hit a button twice quickly, but never received the off 
status code. So while tracking the buttons these quick presses were missed.

You really need to use two different metaphors for the controlls and buttons, 
because as long as a control (direction or axis) is pressed on the control you 
want to send an event, but with the chatpad you only want to respond to a press 
event. I just couldn't different a press event from a new polling cycle. In a 
normal application you could hook into up, down, press events but through the 
filter driver you just get a signal.

Now that I am typing it out it does seem like storing chatpad state would solve 
this, but I swear I tried that. This is why it is difficult to program alone, 
you never get to talk through the issues with anyone :) 

Original comment by ryan...@gmail.com on 30 Jun 2013 at 12:07

GoogleCodeExporter commented 8 years ago
This territory is sort of new to me so I haven't gotten to a point of getting a 
dump of the buffer to just browse and see what's there, still tweaking with 
your code to explore. :)

It's interesting that you wouldn't receive an "off" code in the next poll, I'm 
curious if there's some other code the is transmitted either on a per button 
basis or otherwise.

For those with a similar problem as mine, raising the timeout to ~150 
milliseconds fixed my issue pretty well, of course you'll need to re-compile.

Original comment by kenneth.barnes@skyag.net on 30 Jun 2013 at 12:20

GoogleCodeExporter commented 8 years ago
For what it's worth, I seem to recall having this sort of problem on the 
chatpad when working on the wired controller as well.  I seem to recall that if 
you pressed buttons quickly, or even if you were just unlucky, you might get a 
double press or possibly no "off" code which could make state tracking not work 
correctly.  I seem to remember normal cases might have two codes anyway, and 
maybe that was to allow better handling.  Regardless, I thought that the actual 
Xbox 360 supposedly doesn't have any problems with double presses at all, so I 
don't know if there's some issue with the Windows driver that I was filtering 
and the USB device setup, or what.

Original comment by gtsche...@gmail.com on 30 Jun 2013 at 3:54

GoogleCodeExporter commented 8 years ago
This may be useless information but, linking it anyway:

http://cliffle.com/project/chatpad/protocol/

Now, I've noticed the actual key mappings don't line-up with what is currently 
in Ryan's code, likely due to going through the controller/receiver. I think 
the bigger take-away is that the status message contains only up to 2 key 
presses simultaneously, at bytes next to each other.

I'm wondering, when you were doing state tracking, did you track based on both 
byte's? (in the example linked, it would be Byte's 4 and 5)

Original comment by kenneth.barnes@skyag.net on 2 Jul 2013 at 3:49

GoogleCodeExporter commented 8 years ago
Not really sure, I do track both byte's and register them, you need to for the 
shift key. But I don't remember how I was tracking them :)

Original comment by ryan...@gmail.com on 3 Jul 2013 at 3:46

GoogleCodeExporter commented 8 years ago
My latest attempt incorporated some lessons learned after browsing Brandon's 
uDraw source regarding the chatpad keystroke detection. He uses a 
state-tracking mechanism which hasn't given me problems so far. Very fluid, 
reliable keystroke detection.

There seems to be 3 bytes that have to be tracked to parse out chatpad events, 
25-27. The modifier is byte 25 (green, orange, shift, messenger). 26/27 are 
possible keystroke events.

The only other major difference I've got in my source is the use of a 
background worker thread for keep alive events, instead of the forms thread. 
Not sure if this helped anything aside from making the Form a bit more 
responsive on lower-end machines, like my Dell Mini 9.

I find myself with a somewhat hybrid software between Ryan's and Brandon's. If 
anyone is interested, I'd be happy to post online somewhere, but it's very much 
test-only, use at own risk.

I've got a bunch of little things I'm planning to tweak for now, repeating 
keystrokes when held (pressing backspace a bunch is annoying), some processing 
optimizations, and packaging.

I don't plan on taking on the Xinput joystick problem for now, as I believe 
Ryan's assessment is accurate, it's a very difficult if not impossible task. 
Motioninjoy has seemingly made an Xinput emulator, and I think I saw another 
library that may have done the same thing, but I can't get at the source for 
either; it's difficult to incorporate with a vJoy feeder.

I'll probably be working on this for the next month and a half or so, as my 
original goal is to have a working wireless controller/chatpad for FF14 ARR. :)

Original comment by kenneth.barnes@skyag.net on 3 Jul 2013 at 1:05

GoogleCodeExporter commented 8 years ago
Hi, 
Im also looking for this kind of controller for FFXIV ARR. 
I tried Ryan's driver but Im having some difficulty...
XBox360 controller connect well when I launch the executable, but I can only 
disable it from there, none of the button works.
I send you my "LibUsbTest" and my last "error.log"
Thanks and good luck !!

Original comment by herve.du...@gmail.com on 3 Jul 2013 at 5:38

Attachments:

GoogleCodeExporter commented 8 years ago
I've created a project with my version of the driver at the following:

https://code.google.com/p/xbox360wirelesschatpad/

Feel free to test it out, submit issues, etc. I think it's at the point where 
I'm comfortable with it, but I'll fix any reported issues the best I can.

Thanks Ryan and Gtsche for the work you guys have done!!

Original comment by kenneth.barnes@skyag.net on 4 Jul 2013 at 4:20

GoogleCodeExporter commented 8 years ago
holy shit this finally works perfectly, exactly how i wanted it, my old xpadder 
map works perfectly with this. i can not thank you enough.

Original comment by tommcnam...@gmail.com on 4 Jul 2013 at 6:01

GoogleCodeExporter commented 8 years ago
thankyou soooo much, everyone

Original comment by tommcnam...@gmail.com on 4 Jul 2013 at 6:02

GoogleCodeExporter commented 8 years ago
Nice work, skyag87 :)

Original comment by gtsche...@gmail.com on 4 Jul 2013 at 5:27

GoogleCodeExporter commented 8 years ago
Finally a real programmer comes in and saves the day :) nicely done! 

Now if only we could get Microsoft to pony up an XInput SDK license ;)

Original comment by ryan...@gmail.com on 4 Jul 2013 at 5:40

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
OK as Win8 X64 User, Skya's driver works the best for the Gamepad side of 
things, but only lights for the chatpad. Ryan's Driver/App 100% chatpad working 
fine and loving it, but Gamepad is all over the place. Playing with the 
JoystickMappings.xml to see if I can it running a bit smoother.

Original comment by byte...@geekonym.com on 5 Jul 2013 at 2:50

GoogleCodeExporter commented 8 years ago
Have any (win7 32) HTPC users found a way to use one of these solutions and get 
the wireless controller with chatpad working as a mouse/keypoard?  I've been 
using Xpadder for years but as soon as I fire it up with skya's solution the 
mouse drifts to a corner.  Works fine with stock MS driver vs. libusb, but then 
no chatpad.  Tried cranking deadzone to 99% in Xpadder and it still does it.  
So close...  :-)

Original comment by paul-rim...@ronin-tech.com on 6 Jul 2013 at 7:56

GoogleCodeExporter commented 8 years ago
Windows 8.1; got my chatpad working finally fine with Ryan driver, still 
testing it in ffxiv a realm reborn. I will be happy to use the headphone too. 

Original comment by herve.du...@gmail.com on 7 Jul 2013 at 2:28

GoogleCodeExporter commented 8 years ago
@Herve: Is your chatpad and gamecontroller fully functional in Windows 8.1 and 
how did you do it? I'm also trying to get it to work in Win 8.1 to play FFXIV 
but with Skya's driver I only get some controller functionality and only 
chatpad backlight and with Ryans driver it works for the chatpad but not 
controller. Are you using Windows 8.1 64-bit?  Would be great if you could 
explain in a little more detail how you got it to work, thx :)

Original comment by gra...@gmail.com on 7 Jul 2013 at 9:42

GoogleCodeExporter commented 8 years ago
For those that have attempted my variant of this driver, please check out the 
latest version at the following:

https://code.google.com/p/xbox360wirelesschatpad/

I believe a large issue with the Chatpad not working has been resolved, and 
more importantly the Capslock key finally works :)

Also, to the FF14 ARR players, I was able to test my driver during the Beta 
this weekend, and noticed that a lot of the buttons are simply incorrectly 
mapped. I didn't have time to look into this until after the Beta closed, but 
I'll try taking a look at it next weekend. I think I can get everything working 
properly, but the Right analog stick will be interesting.

In reality, I'm not sure how much I want to tweak specifically for that game 
with the driver. Once Beta 4 hits (within a month), I've heard we'll be able to 
actually customize our control scheme. It would be better overall to handle the 
game-specific customization there, assuming they work as I expect. If not, I'll 
try my hardest to find a way to support it, the only reason I started tweaking 
with this project was for that game's launch :)

Original comment by kenneth.barnes@skyag.net on 7 Jul 2013 at 10:47

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
It works great when I first tried it. The caps-lock didn't work. But the 
keyboard didn't work until now. 

It seems to crash alot. The application that is. Now it's not working for me. 
Don't know what I'm doing wrong

Original comment by siggi...@hotmail.com on 7 Jul 2013 at 11:00

GoogleCodeExporter commented 8 years ago
Hmm, could you please post an issue detailing your problems at the following:

https://code.google.com/p/xbox360wirelesschatpad/issues/list

It's easier to track and I feel like we've all hijacked this thread enough, 
don't want to use this as a master issue list.

Original comment by kenneth.barnes@skyag.net on 7 Jul 2013 at 11:06

GoogleCodeExporter commented 8 years ago
Fixed!  :-)  When I went into xpadder properties I saw the Joystick Control 
Panel which let me calibrate vJoy.  Now all is well.  Thanks!  You'd think the 
vJoy configure utility would let you do this as that's one of the first places 
I looked.

Original comment by paul-rim...@ronin-tech.com on 12 Jul 2013 at 4:58

GoogleCodeExporter commented 8 years ago
Skya (skyag87),

     Not sure how relevant this to development of this driver - but I found this ( http://nirklars.wordpress.com/xboxmouse/ ) accidently while searching japanese/chines sites for other drivers in deveopment that I could share here.

     It's basically a well polished program to use the xbox as a PC mouse. Again... not sure how relevant it is...

Original comment by dtooker2...@gmail.com on 13 Jul 2013 at 8:03

GoogleCodeExporter commented 8 years ago
Hi, first of all congratulations for this achievement. May be I am a little 
lost here, but as I understand the only problem with Skya's approach is the 
fact that Xbox 360 controller is not detected as such anymore. I'm sure I'm 
pointing out the obvious, but wouldn't the solution for this be using that 
famous XInput emulator which allows any generic DirectInput to be detected as 
the Xbox 360 one to remap the "non-Xbox 360". It would work 1:1 for the keys 
and sticks, so we do not loose default game key mappings. The only bad thing is 
that we would have to copy/paste the emulator in every game binaries 
directory... but seems a fair workaround.

Thanks again for such an amazing work!

Original comment by turiz...@gmail.com on 14 Jul 2013 at 8:23

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
THANX GUYS!!!!! U ALL MADE MY MONTH!!!!!!!!
I've been waiting for this for years!!! Today I found a box full of my old 
"CRAP" which included 1 generic Wireless XBOX 360 Receiver for PC and a Chatpad 
that's Never been used..... so you know the lingo... Google "chatpad 
drivers".... to my surprise somebody went ahead and made them!!!! U Guys!!!! To 
my utter disbelief I installed it without any hassles and boom worked without 
any issues.... then found old version of x360Ce on my old laptop, took some 
time to get it configured... and boom again everything I wanted to do when I 
bought this can play my games that support X360 controllers and map keys to 
games that don't adding a full qwerty keyboard for extra key possibilities.... 
now I just need to create some macros to map to Messenger key.... Thanx for 
making this possible guys!!!! Really thanx

Original comment by hardu...@gmail.com on 17 Jul 2013 at 7:42

GoogleCodeExporter commented 8 years ago
Just one question... Actually three....   Ok Just alot of questions.... How can 
i create my own macro's to map to the keys on chatpad?
sure sometimes it just works as a keyboard but as soon as i use X360Ce the 
chatpad becomes non responsive during games... but still work if i play in 
windowed mode.
Can chatpad keys be configured as Extra buttons on a gamepad instead of qwerty 
keypad, turning it into a 58 button gamepad? also something strange: The right 
analog stick.... in certain games the Y Axis is inverted... and typically the 
ones which don't offer an option to invert it... any ideas? also I used to own 
a Xbox 360 wireless headset. will this still work if i can find it or does this 
driver not support sound? just curious.... Thanks again i'm having a ball with 
chatpad working...
Don't want to cause any unnecessary headaches but i'm just wondering....  

Original comment by hardu...@gmail.com on 18 Jul 2013 at 9:27

GoogleCodeExporter commented 8 years ago
Any chance for a wireless chatpad driver that does not disable the official 
xbox 360 controller driver (or at least have a 1-click way to switch between 
the two)?

Original comment by Sli...@gmail.com on 23 Mar 2014 at 3:59

GoogleCodeExporter commented 8 years ago
yeah mate.. disabling xinput is not real option for me.
appreciate the effort, but it's sort of worthless if i cant use xinput with 
chatpad. 

Original comment by Andrew.R...@gmail.com on 20 Mar 2015 at 11:17