usb_configuration = { { 9, CONFIGURATION, CONF_LENGTH, NB_INTERFACE, CONF_NB, CONF_INDEX, CONF_ATTRIBUTES, MAX_POWER}, { 9, INTERFACE, INTERFACE_NB, ALTERNATE, NB_ENDPOINT, INTERFACE_CLASS, INTERFACE_SUB_CLASS, INTERFACE_PROTOCOL, INTERFACE_INDEX }, { 9, HID, 0x1101, 8, 1, REPORT, 0x3B00 }, { 7, ENDPOINT, ENDPOINT_NB_1, EP_ATTRIBUTES_1, EP_SIZE_1, EP_INTERVAL_1 }, { 0x05,0x01, /* Usage Page (Generic Desktop) */ 0x09,0x04, /* Usage (Keyboard) */ 0xA1,0x01, /* Collection (Application) */ 0x05,0x07, /* Usage Page (Keyboard) */ 0x19,224, /* Usage Minimum (224) */ 0x29,231, /* 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) */ 0x81,0x01, /* Input (Constant) */ 0x19,0x00, /* Usage Minimum (0) */ 0x29,101, /* Usage Maximum (101) */ 0x15,0x00, /* Logical Minimum (0) */ 0x25,101, /* Logical Maximum (101) */ 0x75,0x08, /* Report Size (8) */ 0x95,0x06, /* Report Count (6) */ 0x81,0x00, /* Input (Data, Array) */ 0x05,0x08, /* Usage Page (LED) */ 0x19,0x01, /* Usage Minimum (1) */ 0x29,0x05, /* Usage Maximum (5) */ 0x15,0x00, /* Logical Minimum (0) */ 0x25,0x01, /* Logical Maximum (1) */ 0x75,0x01, /* Report Size (1) */ 0x95,0x05, /* Report Count (5) */ 0x91,0x02, /* Output (Data, Variable, Absolute) */ 0x95,0x03, /* Report Count (3) */ 0x91,0x01, /* Output (Constant) */ 0xC0 /* End Collection */ } };