Button idsMouse buttons (class = button)

A semantic id, bound to the mouse's buttons at clone time and shared by INJECT and LOCK. The first five are named. Each further declared button gets a numeric id, up to CAPS n_buttons. An id past that count is a no-op, so read n_buttons first.

Buttonid
Left0
Right1
Middle2
Side1 (first thumb)3
Side2 (second thumb)4
further declared buttons5 .. n_buttons - 1

The Rust library names the five as Button constants (Button::LEFT to Button::SIDE2) and takes further ids up to the declared count.

HID keyboard usagesKeys and modifiers (class = key)

A HID Keyboard/Keypad usage from the USB HID Usage Tables (page 0x07). 0xE0-0xE7 are modifiers and fold into the modifier byte. Any other usage fills a keycode slot. Common ones:

KeyUsage
A .. Z0x04 .. 0x1D
1 .. 90x1E .. 0x26
00x27
Enter / Escape / Backspace / Tab0x28 / 0x29 / 0x2A / 0x2B
Space0x2C
Caps Lock0x39
F1 .. F120x3A .. 0x45
Insert / Home / Page Up0x49 / 0x4A / 0x4B
Delete / End / Page Down0x4C / 0x4D / 0x4E
Right / Left / Down / Up0x4F / 0x50 / 0x51 / 0x52
ModifierUsage
Left Ctrl / Shift / Alt / GUI0xE0 / 0xE1 / 0xE2 / 0xE3
Right Ctrl / Shift / Alt / GUI0xE4 / 0xE5 / 0xE6 / 0xE7

The Rust library exposes these as named Key constants (Key::A, Key::LEFT_SHIFT, ...).

Consumer usagesMedia keys (class = media)

A 16-bit usage from the Consumer page (0x0C) of the USB HID Usage Tables. Available only on a board with a Consumer collection (the CAPS CONSUMER flag). Common transport controls:

Media keyUsage
Play / Pause toggle0x00CD
Play0x00B0
Pause0x00B1
Stop0x00B7
Next track0x00B5
Previous track0x00B6
Mute0x00E2
Volume up0x00E9
Volume down0x00EA

The Rust library exposes these as named MediaKey constants (MediaKey::VOLUME_UP, ...).