It also works to send a 32 byte report, with a bit for each possible USB key-code.
240KRO :-D
#if 0
0x95, USB_NUM_KEYS, // Report Count (6),
0x75, 0x08, // Report Size (8),
0x15, 0x00, // Logical Minimum (0),
0x25, 0xFF, // Logical Maximum(255), // was 0x68, // Logical Maximum(104),
0x05, 0x07, // Usage Page (Key Codes),
0x19, 0x00, // Usage Minimum (0),
0x29, 0xFF, // Usage Maximum (255), // was 0x68, // Usage Maximum (104),
0x81, 0x00, // Input (Data, Array),
#else
0x75, 0x01, // Report Size (1),
0x95, 0xF0, // Report Count (240), // 30 bytes
0x05, 0x07, // Usage Page (Key Codes),
0x19, 0x04, // Usage Minimum (4), // start at 'A'
0x29, 0xF3, // Usage Maximum (243), // 30 bytes worth
0x15, 0x00, // Logical Minimum (0),
0x25, 0x01, // Logical Maximum (1),
0x81, 0x02, // Input (Data, Variable, Absolute), ;keys bit array
#endif