* Here is the hid report descriptor with the id. ```rust const KEYBOARD\_ID: u8 = 0x01; pub const HID\_KEYBOAD\_REPORT\_DISCRIPTOR: &\[u8\] = hid!( (USAGE\_PAGE, 0x01), // USAGE\_PAGE (Generic Desktop Ctrls) (USAGE, 0x06), // USAGE (Keyboard) (COLLECTION, 0x01), // COLLECTION (Application) // ------------------------------------------------- Keyboard (REPORT\_ID, KEYBOARD\_ID), // REPORT\_ID (1) (USAGE\_PAGE, 0x07), // USAGE\_PAGE (Kbrd/Keypad) (USAGE\_MINIMUM, 0xE0), // USAGE\_MINIMUM (0xE0) (USAGE\_MAXIMUM, 0xE7), // USAGE\_MAXIMUM (0xE7) (LOGICAL\_MINIMUM, 0x00), // LOGICAL\_MINIMUM (0) (LOGICAL\_MAXIMUM, 0x01), // Logical Maximum (1) (REPORT\_SIZE, 0x01), // REPORT\_SIZE (1) (REPORT\_COUNT, 0x08), // REPORT\_COUNT (8) (HIDINPUT, 0x02), // INPUT (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) (REPORT\_COUNT, 0x01), // REPORT\_COUNT (1) ; 1 byte (Reserved) (REPORT\_SIZE, 0x08), // REPORT\_SIZE (8) (HIDINPUT, 0x01), // INPUT (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) (REPORT\_COUNT, 0x05), // REPORT\_COUNT (5) ; 5 bits (Num lock, Caps lock, Scroll lock, Compose, Kana) (REPORT\_SIZE, 0x01), // REPORT\_SIZE (1) (USAGE\_PAGE, 0x08), // USAGE\_PAGE (LEDs) (USAGE\_MINIMUM, 0x01), // USAGE\_MINIMUM (0x01) ; Num Lock (USAGE\_MAXIMUM, 0x05), // USAGE\_MAXIMUM (0x05) ; Kana (HIDOUTPUT, 0x02), // OUTPUT (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) (REPORT\_COUNT, 0x01), // REPORT\_COUNT (1) ; 3 bits (Padding) (REPORT\_SIZE, 0x03), // REPORT\_SIZE (3) (HIDOUTPUT, 0x01), // OUTPUT (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) (REPORT\_COUNT, 0x06), // REPORT\_COUNT (6) ; 6 bytes (Keys) (REPORT\_SIZE, 0x08), // REPORT\_SIZE(8) (LOGICAL\_MINIMUM, 0x00), // LOGICAL\_MINIMUM(0) (LOGICAL\_MAXIMUM, 0x65), // LOGICAL\_MAXIMUM(0x65) ; 101 keys (USAGE\_PAGE, 0x07), // USAGE\_PAGE (Kbrd/Keypad) (USAGE\_MINIMUM, 0x00), // USAGE\_MINIMUM (0) (USAGE\_MAXIMUM, 0x65), // USAGE\_MAXIMUM (0x65) (HIDINPUT, 0x00), // INPUT (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) (END\_COLLECTION), // END\_COLLECTION ); ```