What are some ways with which a USB HID device can determine the OS type of the host computer without requiring additional drivers?
USB-HID is platform agnostic but surely there must be some differences in the order or rate of USB packets that you can use to fingerprint the OS?
they are one way transmissions
theres no reason for windows to send anything to the device
>>61471180
>they are one way transmissions
What about capslock/numlock lights on keyboards?
And actuators on gamepads?
>>61471426
you press the capslock on the keyboard to turn on the capslock light, moron.
>>61471485
The OS sets it, not the hardware. Helps a great deal with KVMs desu. You can even blink them, try "xset -led 2 on"
USB is two way, but the HID layer is pretty much one way, though not entirely. Now identifying the OS is something I never attempted, but you may jsut get this information, some devices can load different HIDs depending on who's asking. But we're talking relatively undocumented stuff, despite being used extensively by hardware manufacturers.
I'd recommend eavesdropping a Microsoft peripheral, just to see if the exchange is the same with different versions of Windows, and other OSes.
i suppose you could masquerade as a bunch of devices which normally get some automatic feedback, which are supported by default in various operating systems, and then compare which feedback you get to guess which OS it was
for example, lets say you test two 'devices', xp supports neither, 7 supports one, and 10 supports both
if you get no responses, it might be xp, if you get one, it might be 7, and if you get both, it might be 10