Encountered a problem sending more than 6 bytes of data using the hid service

Hello! I have found a question and answer on the forum about HID transmission that mentions HID can only send 6 bytes of data in boot mode, and suggests using UART for sending more bytes. However, I believe keyboards cannot use UART to send keystrokes. I would like to know if modifying the HID descriptor and changing boot to report can allow for sending more bytes of data.

static uint8_t                     report_map_data[] =
    {
        0x05, 0x01,         //   Usage Page 
        0x09, 0x06,         //   Usage (Keyboard),
        0xA1, 0x01,         //   Collection (Application),
        0x05, 0x07,       //   Usage Page (Key Codes),
        0x19, 0xE0,       //   Usage Minimum (224),
        0x29, 0xE7,       //   Usage Maximum (231),
        0x15, 0x00,       //   Logical Minimum (0),
        0x25, 0x01,       //   Logical Maximum (1),
        0x75, 0x01,         //   Report Size (1),
        0x95, 0x08,         //   Report Count (8),
        0x81, 0x02,       //   Input (Data, Variable, Absolute), ;Modifier byte
       
        0x95, 0x78,       //   Report Count (120)
        0x75, 0x01,       //   Report Size (1),
        0x15, 0x00,       //   Logical Minimum (0),
        0x25, 0x01,       //   Logical Maximum(1),
        0x05, 0x07,       //   Usage Page (Key Codes),
        0x19, 0x00,       //   Usage Minimum (0),
        0x29, 0x77,       //   Usage Maximum (120),
        0x81, 0x02,       //   Input (Data, Variable, Absolute),

        0xC0              // End Collection (Application)
    };

Parents Reply Children
Related