Keyboard - Allow > 8 keyboard max report size

There has been at least one keyboard that does not report the report size !=8 that works...

So try to allow for any that report >=8  <=64 to work.
This commit is contained in:
Kurt Eckhardt 2017-10-31 15:40:18 -07:00
parent e05dbaaee5
commit a234bae99e
1 changed files with 2 additions and 2 deletions

View File

@ -125,8 +125,8 @@ bool KeyboardController::claim(Device_t *dev, int type, const uint8_t *descripto
if (descriptors[21] != 3) return false; // must be interrupt type
uint32_t size = descriptors[22] | (descriptors[23] << 8);
println("packet size = ", size);
if (size != 8) {
return false; // must be 8 bytes for Keyboard Boot Protocol
if ((size < 8) || (size > 64)) {
return false; // Keyboard Boot Protocol is 8 bytes, but maybe others have longer...
}
#ifdef USBHS_KEYBOARD_INTERVAL
uint32_t interval = USBHS_KEYBOARD_INTERVAL;