/* Note that the key report is split into several similar items, because: An item field cannot span more than 4 bytes in a report. For example, a 32-bit item must start on a byte boundary to satisfy this condition. - USB HID 1.11 Specification, p. 57 */ local const u8 PROGMEM NkroKeyboardReportDescriptor[] = { HID_USAGE_PAGE (8, HID_USAGE_PAGE_GENERIC_DESKTOP_CONTROLS), HID_USAGE (8, HID_DESKTOP_KEYBOARD), HID_COLLECTION (8, HID_COLLECTION_APPLICATION), HID_USAGE_PAGE (8, HID_USAGE_PAGE_KEYBOARD_KEYPAD), HID_LOGICAL_MINIMUM (8, 0x00), HID_LOGICAL_MAXIMUM (8, 0x01), HID_REPORT_SIZE (8, 0x01), HID_REPORT_COUNT (8, 0x20), HID_USAGE_MINIMUM (8, 0x00), HID_USAGE_MAXIMUM (8, 0x1F), HID_INPUT (8, HID_DATA | HID_VARIABLE | HID_ABSOLUTE), HID_USAGE_MINIMUM (8, 0x20), HID_USAGE_MAXIMUM (8, 0x3F), HID_INPUT (8, HID_DATA | HID_VARIABLE | HID_ABSOLUTE), HID_USAGE_MINIMUM (8, 0x40), HID_USAGE_MAXIMUM (8, 0x5F), HID_INPUT (8, HID_DATA | HID_VARIABLE | HID_ABSOLUTE), HID_USAGE_MINIMUM (8, 0x60),
.idVendor = 0x1209, .idProduct = 0xCC86, .bcdDevice = 0x0100, .iManufacturer = 1, .iProduct = 2, .iSerialNumber = 3, .bNumConfigurations = 1, }; static const uint8_t hid_report_descriptor[] = { 0x06, 0x00, 0xff, HID_USAGE (0x01), HID_COLLECTION (HID_COLLECTION_APPLICATION), HID_REPORT_ID(1), HID_LOGICAL_MINIMUM (0), HID_LOGICAL_MAXIMUM (255), HID_REPORT_SIZE (8), HID_REPORT_COUNT (9), HID_USAGE (0x01), HID_INPUT (0x02), HID_END_COLLECTION, 0x06, 0x00, 0xff, HID_USAGE (0x01), HID_COLLECTION (HID_COLLECTION_APPLICATION), HID_REPORT_ID(2), HID_LOGICAL_MINIMUM (0), HID_LOGICAL_MAXIMUM (255), HID_REPORT_SIZE (8), HID_REPORT_COUNT (MAX_PACKET_SIZE), HID_USAGE (0x01), HID_INPUT (0x02),