Browse Source

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.
main
Kurt Eckhardt 7 years ago
parent
commit
a234bae99e
1 changed files with 2 additions and 2 deletions
  1. +2
    -2
      keyboard.cpp

+ 2
- 2
keyboard.cpp View File

if (descriptors[21] != 3) return false; // must be interrupt type if (descriptors[21] != 3) return false; // must be interrupt type
uint32_t size = descriptors[22] | (descriptors[23] << 8); uint32_t size = descriptors[22] | (descriptors[23] << 8);
println("packet size = ", size); 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 #ifdef USBHS_KEYBOARD_INTERVAL
uint32_t interval = USBHS_KEYBOARD_INTERVAL; uint32_t interval = USBHS_KEYBOARD_INTERVAL;

Loading…
Cancel
Save