diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0-tmk b/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0-tmk index a98e6f72..85af76f6 160000 --- a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0-tmk +++ b/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0-tmk @@ -1 +1 @@ -Subproject commit a98e6f720683b2514cf4dfe0f04a65dfdcc508e1 +Subproject commit 85af76f6c9967d7457dbf5aa442a6a67e3e9ecf1 diff --git a/tmk_core/protocol/usb_hid/parser.cpp b/tmk_core/protocol/usb_hid/parser.cpp index bc2744d0..51746e14 100644 --- a/tmk_core/protocol/usb_hid/parser.cpp +++ b/tmk_core/protocol/usb_hid/parser.cpp @@ -12,6 +12,12 @@ void KBDReportParser::Parse(USBHID *hid, bool is_rpt_id, uint8_t len, uint8_t *b } xprintf("\r\n"); + // boot keyboard report length should be 8 + if (len != 8) { + xprintf(" ignored\r\n"); + return; + } + // Rollover error // Cherry: 0101010101010101 // https://geekhack.org/index.php?topic=69169.msg2638223#msg2638223