Core
Core copied to clipboard
Added support for HID Report Descriptor-based Boot Keyboard
Support has been added for a class of keyboards which are actually Boot Protocol Keyboards but they don't present themselves Boot Protocol Keyboards (bInterfaceSubClass=USB_HID_SUBCLASS_BOOT and bInterfaceProtocol=USB_HID_BOOT_PROTOCOL_KEYBOARD) but as Report Descriptor-based keyboards (bInterfaceSubClass=0) whereby the Report Descriptor matches the Boot Protocol Keyboard Report Descriptor. For Report Descriptor-based keyboards we don't need to set the protocol to USB_HID_PROTOCOL_REPORT, because per USB spec this should be default protocol.
Example device which behaves like this is a keyboard emulator of ACR1281U-C2 RFID Smart Card Reader (http://www.acs.com.hk/en/products/397/acr1281u-c2-card-uid-reader/).