Originally Posted by
GAFBlizzard
I think it was a fairly productive evening. I fixed some items I had marked TODO or to test. I am still not happy that it looks like I will not handle rapid keypresses perfectly, but I am going to do the best I can for now. Maybe eventually I or someone else will figure out a solution to that problem too. :)
For now, I think I have fixed all of the immediate problems I had noticed with ctrl/alt/orange/shift etc. bindings. I seem to have even fixed a weird issue where Windows apparently needed a slight delay so that alt-tab would consistently work. Hopefully this stuff works in Windows XP or Windows 7, but hey, that's why I have you guys to test, haha.
From testing, it seems I now have modifiers set up properly so that you can use control, alt, shift, orange, green, etc. as either sticky keys or normal keys if you configure them properly. If you make the shift button a sticky ("latched") shift key, for instance, then you can press shift and release it, and the shift light will stay lit until you press a normal key like a, which will then type a capital A instead of a lowercase a. The shift light will then go off. Shift-1, shift-2, ..., can be bound to F1, F2, ... if you want. The people button can act like the Windows key if you want.
Remaining chatpad keyboard-specific things to do before I move on to the mouse and controller stuff:
* Change how I handle some of the chatpad data so that my code should handle rapidly repeated keypresses better, though probably not perfectly.
* Test the chatpad to play some of a Mirror's Edge level, making sure the key bindings seem to work properly. Eventually I will want to repeat this test when the mouse is controlled by the thumbsticks. Yes, it's a really silly use for the controller and chatpad, but it lets me prove it works and make sure the original controller buttons and controls work while my driver also works.
* Add some code to make the shift button light stay on when caps lock is activated from the chatpad.
* Finish up some internal virtual keyboard device stuff, mostly having to do with enabling/disabling the device and starting up/shutting down things cleanly.
Hopefully that's all, and testing doesn't reveal any new bugs. :roll: