I've been attempting to control Keyboard LEDs using various methods with some success (I intend to use the LED signals from a butchered USB keyboard as a serial output - details here: )

Problems I've run into:
- The 'DefineDosDevice' method only works with PS2 keyboards
- DirectX methods including microsofts own example absolutely do not work
- The 'HID method' : If someone can explain how to do this in a straightforward manner that DOESN'T involve visual studio and/or massively bloated and complex SDKs be my guest.
- keybd_event and SendInput work, but there is a variable delay (at least in win7). The strange thing with this is that if the mouse is moving, the delay disappears (and it has to be physical mouse movement, simulated movement doesnt work). Can anyone tell me whats going on here? Is there some kind of buffer or lazy write mechanism and if so can I flush it? I wont get more than 2bps unless I can get round that .