Wow!
So, I decided to see what all of the keys do. I wrote a loop to use the OS-level DLL, sending 0x00 – 0xFF to the system.
Note: this will cause ALL SORTS OF INSANITY.
Knowing what I now know, I do not recommend repeating this adventure. I eventually got my screen un-inverted, and all of my caps/scroll/num locks disabled. Also, it looks like you can enable both left AND right shift, which will definitely cause unpredictable behavior.
So, I took a step back and stopped looping. I tied what I thought were a few characters (A, B, X, Y) to buttons on a controller (A, B, X, Y, respectively), and tried to get those to print to the screen. What I succeeded in doing, however, was crashing my computer so hard that it stopped responding to any and all inputs.
After a few reboots – and more trial and error – I’ve pretty much figured out that my numerical conversions must not be working correctly. It seems like when I send an base-10 integer (63, let’s say), it’s converting to base-16 integers directly (0x63), rather than to the appropriate hex value. I’ll have to think about this a little more.
How outrageous!
Post a Comment