key-ripper icon indicating copy to clipboard operation
key-ripper copied to clipboard

Firmware USB Issues

Open bschwind opened this issue 3 years ago • 0 comments

Things still aren't quite right with USB on this keyboard, here I'll try to leave a summary of notes for things I want to look into in more detail:

  • [ ] The current bcdHID is 0x0110, but I've seen other commercial keyboards with bcdHID: 0x0100
  • [ ] This keyboard technically doesn't need an OUT endpoint since it doesn't have LEDs for things like caps lock
  • [ ] wMaxPacketSize is 64 for this keyboard, I've seen another with wMaxPacketSize: 63
  • [ ] In the keyboard HID descriptor, REPORT_COUNT and REPORT_SIZE are swapped in position.
  • [ ] Check the HID descriptor

HID 1.11 Boot Keyboard Descriptor (spec)

B.1 Protocol 1 (Keyboard)
The following represents a Report descriptor for a boot interface for a keyboard.

Usage Page (Generic Desktop),
Usage (Keyboard),
Collection (Application),
Report Size (1),
Report Count (8),
Usage Page (Key Codes),
Usage Minimum (224),
Usage Maximum (231),
Logical Minimum (0),
Logical Maximum (1),
Input (Data, Variable, Absolute), ;Modifier byte
Report Count (1),
Report Size (8),
Input (Constant), ;Reserved byte
Report Count (5),
Report Size (1),
Usage Page (LEDs),
Usage Minimum (1),
Usage Maximum (5),
Output (Data, Variable, Absolute), ;LED report
Report Count (1),
Report Size (3),
Output (Constant), ;LED report padding
Report Count (6),
Report Size (8),
Logical Minimum (0),
Logical Maximum(255),
Usage Page (Key Codes),
Usage Minimum (0),
Usage Maximum (255),
Input (Data, Array),
End Collection

bschwind avatar Nov 12 '22 13:11 bschwind