is the chatpad be setup as a keyboard or a controller?
No, I've been using my main gaming PC as my main dev PC. 64-bit, no kernel debugging, and since early on I haven't even been getting memory dumps with crashes (presumably because I've stopped getting bugchecks and started getting NULL pointer dereferences or something, which I guess insta-resets the system instead of blue-screening?).I'm just crazy, though, and fortunately I haven't destroyed anything on my system yet. I think I lost at least one post I was typing for a forum when my driver bluescreened while the post was open.
At any rate, last night I refactored a communication method to simplify things (yay WDFQUEUEs) which apparently got rid of the freeze problem on driver unload I had been having. I also added what should be nearly all of the code to handle reading data, but I have a crash now and a good idea what causes it. I hope to fix that tonight. If it gets fixed and I polish off the data reads, then I hopefully just need to add one special feature and clean up debug code etc., and the kernel driver part should be essentially done. Then it's userspace time for real!
is the chatpad be setup as a keyboard or a controller?
I'm not completely sure yet. I've considered making a virtual HID mouse and keyboard, and that may be what I have to do in the end, but that's more work. For now, I'm going to see if I can find a solution that doesn't require that, and then test it with a few games (and perhaps you people as helpful testers :P) to see if there's something that it doesn't work with!
*edit* Looks like I've got the crash fixed and a pipe data read path working into userland. It's about bedtime, though.
cool cant wait for testing, as of now i only got a wired xbox 360 controller and a chatpad but i got the wireless reciever and just need to get a wireless controller.
GAF, will the driver support only wired 360 controllers or wireless ones as well? I'm currently running off a wireless one with a receiver.
Sorry, but only wired controllers to start with. We have a good bit of information gathered about wireless controllers, and maybe even source for a wireless controller driver, but currently we don't know everything about how they work. See the old thread for technical details if you want (I linked it a bit ago in this thread).
My plan is to actually get a wired driver working well, and then if people want to allocate some of the reward money for a wireless received and controller, I guess I can try to get one and help research it. I imagine that once I or someone else come out with the regular driver, people like Grumbel and others may work on the wireless effort too.![]()
Another $105 USD in the pot now :)
*edit*
Hrm...
Isn't that $590 total ?TOTAL PURSE AS OF 11/10/2010- $595
Thanks to: mp3Car ($25 and paypal fees), Nick Yankaitis ($50), Kevin Bradshaw ($50), Paul Rimmer ($25), Scribelife ($25), Kevinmind88 ($25), Miyagin ($20), Tidder ($100), in order of donation. Rosa ($20) Gazbit ($125) Naylia (25) Churchill Navigation ($100)
Up to some 5000+ lines in my main .cpp files now, though a fair bit of that is blank space, comments, and testing code that may be trimmed out.It's been a pretty productive Thanksgiving since I don't really have friends or family around. I'll try to edit and update before bed with my status. Please let me know if no one wants to hear the status updates, of course.
*edit*
I have most of my original test code, that allowed me to type with the chatpad, refactored to use my new kernel driver. Tomorrow my first priority is to finish that effort (there's some threading, pending, and cancellation logic I need to handle) and make sure I can read the data and type characters with the chatpad.
Then I still need to finish a couple of special features in the kernel driver. Those should hopefully not take too long. I need to clean up the kernel driver's debug messages. I need to make an installer, which may unfortunately take some time figure out, and test it on XP. Then I can presumably just pass it off to other people to help test it on Windows 7, for instance (which I do not have installed right now). And I need to actually polish up the user code, implementing anything that's not there, making the chatpad work well and be easy to use, etc.
Fair warning to anyone who wants to try it on Vista 64-bit or Windows 7 64-bit: At least initially, you will need to enable the option that lets you install an unsigned kernel driver. This should not be a big issue for you since you will be able to look through my source code if you don't trust me, but it might be annoying to select each time (there may be some workaround utilities but I do not recommend that, since it seems sketchy to work around the Windows security).
If you're not familiar with the boot option and you're running a 64-bit OS, try rebooting and then press F8 right after the BIOS information goes away. You may find it easier to press it a few times so you get inside the timing window. You should see a menu come up, and near the bottom there should be an option that says "Disable Driver Signature Enforcement". You would choose that option for testing my driver. You can see the option on this screenshot: http://img390.imageshack.us/img390/4326/ddsecc9.png
The biggest additional delay I could see popping up would be if I discover I basically have to make virtual HID devices for the keyboard and mouse. That would involve delving back into the driver world, and I've only started learning Windows drivers like...a few weeks ago, if I'm not mistaken. :P
I just joined to say THANKS to GAFBlizzard, I was seriously just yesterday thinking about buying a ChatPad to use for my xbmc setup rather than dropping 100 on a bluetooth keyboard solution.
Looking forward to seeing the driver come to fruitition, I think you're idea of making it a HID mouse/keyboard device would be nice, map mouse movement to one of the joysticks? Might be nice if you could toggle the mouse emulation on/off via guide button for when switching to uses such as games/emulation. Just a thought, goodluck on the rest of your work!
Bookmarks