Hey Grumbel, I have been looking at your excellent research posted here: xbox360 chatpad, awsome backlit mini keyboard
I was doing some more testing while implementing stuff, and I gathered the following additional information:
1. The 0x00 command turns the caps lock light off (0x41, 0x00, 0x0000, 0x0002, 0x0000).
2. The 0x01 command turns the green square light off (0x41, 0x00, 0x0001, 0x0002, 0x0000).
3. The 0x02 command turns the orange circle light off.
4. The 0x03 command turns the "people" light off.
5. The 0x04 command seems to instantly turn the backlight off.
6. I am not aware of a way to disable the backlight but still support keypresses. I can make the backlight turn off quickly (see above), but if I don't use the 0x001B command to enable backlight-on-keypress mode, then I don't seem to get character data at all. This might not be a big deal, but I've put the possibility of not having a backlight when keys are pressed as a possible future option/research area.
7. The chatpad also cannot apparently support more than two buttons held down at a time, which is not a problem, just an observation presumably due to how it's wired internally.
8. If more than two lights (caps, green, orange, people) need to be on at a time, the commands seem to not work if you send them too quickly. I put a sleep for 12 milliseconds (though of course Windows may actually wait longer than that for all I know) in between four light-on commands, and it seems to work lighting up all four lights. I'm not sure if there is a shortcut to turn off all multiple lights at once without sending the individual light-off commands, however.
Just wanted to throw the info out there since I had been experimenting with it.
I'm planning on requesting Child's Play (http://www.childsplaycharity.org/) since it is pretty well known, plus it's related to gaming and this is a game controller (even though it might be used for car PCs). :P
I have a full key configuration file for the unmodified chatpad keys now. It seems to work great except for the shift key (I need to change something) and a rapid keypress issue, discussed at the bottom of this post. I will probably only add support for the "normal" punctuation symbols for now, and leave the special characters (such as orange + G, or orange + K) as features I may add after the initial public release and testing. If anyone has any special symbols shown on the chatpad that they REALLY need, let me know. Otherwise I'm holding off to save time. And what the heck is that orange + K symbol anyway?
I have a request for help! If anyone has a chatpad and an XBox 360, can you try to press a button (like 'F') really quickly several times, and see if it types the same number of letters? It should be easy to hear it "click" say, 7 times. If you do this really fast, but hear the clicks, does the XBox 360 ever only print say, 5 letters? I want to make sure this is potentially a chatpad/controller quirk and not a problem with my driver/utility code.
I'm hitting letters as rapid fire fast as I can, and I get the same number on the screen. I'm a little suprised. Also if I hold down a letter it repeats. I'm using a wireless 360 controller if that makes a difference. Thanks for the work, I'm real excited to watch this change how everyone uses media at home.
Thanks for the check on rapid keypresses. I have an idea that will hopefully let me read the data more quickly. Key repeats are working with my setup, by the way (I think that was a benefit of using a virtual HID keyboard, since the Windows stuff is smart enough to do it automatically). Also, thanks for the link, MiYaGin.
I have one more question for people in general, especially anyone who had special concerns about key mapping. Does anyone have a problem with me making the shift key, the orange key, the "people" key, and the green key unaffected by any modifiers that might be down? In other words, with all the other keys you can bind stuff like "1 + shift = F1", but I think it would be much simpler for me if the shift/orange/people/green keys were special cases. Making them special cases means that you would be able to use more than one modifier to affect OTHER keys, so you could theoretically bind "1 + orange + green + shift = F24" or something crazy like that.
If you wanted, you could still bind the orange key itself to some other key, and not use any of the orange symbols labeled on the chatpad. I imagine most people would use the normal green/orange binds, however.
To whoever is managing the donations... Did mine go through? I sent another $15 around November 18 on top of my first, original donation.