I'd like to have a PC keyboard code generator based on the AVR... but one which will "talk" to the BIOS as well as the OS. FTDI told me that their products do not support the BIOS USB protocol subset - there's a simplified protocol so the BIOS doesn't have to do the full enumeration stuff (see below). I suppose FTDI is only concerned with USB-serial rather than boot-device keboard/mouse applications.
Does anyone know how to adapt the USB support in the AVR to do this BIOS simplification as an additional capability? I need more study of the unwieldly USB spec to figure out what this BIOS ("boot/legacy") protocol subset is all about. It must be simple, looking at how simple a PS2 to USB adapter is. Here's a quote from the USB spec:
Because the parser for the Report descriptor represents a significant
amount of code, a simpler method is needed to identify the device protocol for
devices requiring BIOS support (Boot Devices). HID class devices use the
Subclass part to indicate devices that support a predefined protocol for either
mouse devices or keyboards (that is, the device can be used as a Boot Device).
The boot protocol can be extended to include additional data not recognized by
the BIOS, or the device may support a second preferred protocol for use by the
HID class driver.