Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Firmware USB Issues #28

Open
5 tasks
bschwind opened this issue Nov 12, 2022 · 0 comments
Open
5 tasks

Firmware USB Issues #28

bschwind opened this issue Nov 12, 2022 · 0 comments
Labels

Comments

@bschwind
Copy link
Owner

bschwind commented Nov 12, 2022

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant