Hi folks!
I’m using an Arduino Micro as controller for a keyboard and I want it to be useable during boot, in the BIOS etc.
Unfortunately it looks like Arduinio’s USB/HID implementation does not support the boot (legacy) protocol which seems to be required for that.
I’ve tried to figure out which changes are necessary for the boot protocol but I can’t really make sense of the specification (what exactly is the difference compared to normal USB HID Keyboards?).
Can somebody point me in the right direction or does anyone have a working implementation I could look at?
Cheers
Michael
Support for USB in BIOS seems to be a BIOS setting, not a USB difference:
http://support.microsoft.com/kb/310923
johnwasser:
Support for USB in BIOS seems to be a BIOS setting, not a USB difference:
USB Keyboard or Mouse May Not Work After You Restart Your Computer in MS-DOS Mode - Microsoft Support
I doubt that has anything to do with it. All my others USB Keyboards work just fine.
http://www.usb.org/developers/devclass_docs/HID1_11.pdf
See appendix F (Page 73).
Looks like you may need to change HID.cpp in the Arduino core.
I know it's been a long time since anyone posted but this post may be relevant to a question I just asked here...
Looking at the HID.cpp I can only see 'get' (assume the convention of get data and set data) but no 'set'.
I best read HID1.11, will come back when I have a better understanding of how it works...
Mike
Updated: I found a solution to my problem thanks to Pagus, check out the HID-Project...