diff options
Diffstat (limited to 'Demos/Device/LowLevel')
-rw-r--r-- | Demos/Device/LowLevel/GenericHID/Descriptors.c | 33 | ||||
-rw-r--r-- | Demos/Device/LowLevel/Joystick/Descriptors.c | 51 | ||||
-rw-r--r-- | Demos/Device/LowLevel/Keyboard/Descriptors.c | 67 | ||||
-rw-r--r-- | Demos/Device/LowLevel/KeyboardMouse/Descriptors.c | 123 | ||||
-rw-r--r-- | Demos/Device/LowLevel/Mouse/Descriptors.c | 56 |
5 files changed, 172 insertions, 158 deletions
diff --git a/Demos/Device/LowLevel/GenericHID/Descriptors.c b/Demos/Device/LowLevel/GenericHID/Descriptors.c index 7b30cb921..3a018d9ad 100644 --- a/Demos/Device/LowLevel/GenericHID/Descriptors.c +++ b/Demos/Device/LowLevel/GenericHID/Descriptors.c @@ -45,22 +45,23 @@ */ USB_Descriptor_HIDReport_Datatype_t PROGMEM GenericReport[] = { - 0x06, 0x9c, 0xff, /* Usage Page (Vendor Defined) */ - 0x09, 0x01, /* Usage (Vendor Defined) */ - 0xa1, 0x01, /* Collection (Vendor Defined) */ - 0x09, 0x02, /* Usage (Vendor Defined) */ - 0x75, 0x08, /* Report Size (8) */ - 0x95, GENERIC_REPORT_SIZE, /* Report Count (GENERIC_REPORT_SIZE) */ - 0x15, 0x00, /* Logical Minimum (0) */ - 0x25, 0xff, /* Logical Maximum (255) */ - 0x81, 0x02, /* Input (Data, Variable, Absolute) */ - 0x09, 0x03, /* Usage (Vendor Defined) */ - 0x75, 0x08, /* Report Size (8) */ - 0x95, GENERIC_REPORT_SIZE, /* Report Count (GENERIC_REPORT_SIZE) */ - 0x15, 0x00, /* Logical Minimum (0) */ - 0x25, 0xff, /* Logical Maximum (255) */ - 0x91, 0x02, /* Output (Data, Variable, Absolute) */ - 0xc0 /* End Collection */ + HID_RI_USAGE_PAGE(16), 0x00, 0xFF, /* Vendor Page 1 */ + HID_RI_USAGE(8), 0x01, /* Vendor Usage 1 */ + HID_RI_COLLECTION(8), 0x01, /* Vendor Usage 1 */ + HID_RI_USAGE(8), 0x02, /* Vendor Usage 2 */ + HID_RI_LOGICAL_MINIMUM(8), 0x00, + HID_RI_LOGICAL_MAXIMUM(8), 0xFF, + HID_RI_REPORT_SIZE(8), 8, + HID_RI_REPORT_COUNT(8), GENERIC_REPORT_SIZE, + HID_RI_INPUT(8), (HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_VOLATILE), + + HID_RI_USAGE(8), 0x03, /* Vendor Usage 3 */ + HID_RI_LOGICAL_MINIMUM(8), 0x00, + HID_RI_LOGICAL_MAXIMUM(8), 0xFF, + HID_RI_REPORT_SIZE(8), 8, + HID_RI_REPORT_COUNT(8), GENERIC_REPORT_SIZE, + HID_RI_OUTPUT(8), (HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_VOLATILE), + HID_RI_END_COLLECTION(0), }; /** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall diff --git a/Demos/Device/LowLevel/Joystick/Descriptors.c b/Demos/Device/LowLevel/Joystick/Descriptors.c index a0f72fb59..bc0b430b3 100644 --- a/Demos/Device/LowLevel/Joystick/Descriptors.c +++ b/Demos/Device/LowLevel/Joystick/Descriptors.c @@ -45,32 +45,31 @@ */ USB_Descriptor_HIDReport_Datatype_t PROGMEM JoystickReport[] = { - 0x05, 0x01, /* Usage Page (Generic Desktop) */ - 0x09, 0x04, /* Usage (Joystick) */ - 0xa1, 0x01, /* Collection (Application) */ - 0x09, 0x01, /* Usage (Pointer) */ - 0xa1, 0x00, /* Collection (Physical) */ - 0x05, 0x01, /* Usage Page (Generic Desktop) */ - 0x09, 0x30, /* Usage (X) */ - 0x09, 0x31, /* Usage (Y) */ - 0x15, 0x9c, /* Logical Minimum (-100) */ - 0x25, 0x64, /* Logical Maximum (100) */ - 0x75, 0x08, /* Report Size (8) */ - 0x95, 0x02, /* Report Count (2) */ - 0x81, 0x82, /* Input (Data, Variable, Absolute, Volatile) */ - 0xc0, /* End Collection */ - 0x05, 0x09, /* Usage Page (Button) */ - 0x09, 0x02, /* Usage (Button 2) */ - 0x09, 0x01, /* Usage (Button 1) */ - 0x15, 0x00, /* Logical Minimum (0) */ - 0x25, 0x01, /* Logical Maximum (1) */ - 0x75, 0x01, /* Report Size (1) */ - 0x95, 0x02, /* Report Count (2) */ - 0x81, 0x02, /* Input (Data, Variable, Absolute) */ - 0x75, 0x06, /* Report Size (6) */ - 0x95, 0x01, /* Report Count (1) */ - 0x81, 0x01, /* Input (Constant) */ - 0xc0 /* End Collection */ + HID_RI_USAGE_PAGE(8), 0x01, /* Generic Desktop */ + HID_RI_USAGE(8), 0x04, /* Joystick */ + HID_RI_COLLECTION(8), 0x01, /* Application */ + HID_RI_USAGE(8), 0x01, /* Pointer */ + HID_RI_COLLECTION(8), 0x00, /* Physical */ + HID_RI_USAGE(8), 0x30, /* Usage X */ + HID_RI_USAGE(8), 0x31, /* Usage Y */ + HID_RI_LOGICAL_MINIMUM(8), -100, + HID_RI_LOGICAL_MAXIMUM(8), 100, + HID_RI_REPORT_SIZE(8), 8, + HID_RI_REPORT_COUNT(8), 2, + HID_RI_INPUT(8), (HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE), + HID_RI_END_COLLECTION(0), + HID_RI_USAGE_PAGE(8), 0x09, /* Button */ + HID_RI_USAGE(8), 0x02, /* Button 1 */ + HID_RI_USAGE(8), 0x01, /* Button 2 */ + HID_RI_LOGICAL_MINIMUM(8), 0, + HID_RI_LOGICAL_MAXIMUM(8), 1, + HID_RI_REPORT_SIZE(8), 1, + HID_RI_REPORT_COUNT(8), 2, + HID_RI_INPUT(8), (HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE), + HID_RI_REPORT_SIZE(8), 6, + HID_RI_REPORT_COUNT(8), 1, + HID_RI_INPUT(8), HID_IOF_CONSTANT, + HID_RI_END_COLLECTION(0), }; /** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall diff --git a/Demos/Device/LowLevel/Keyboard/Descriptors.c b/Demos/Device/LowLevel/Keyboard/Descriptors.c index 1ad2dd3c4..8e5cf1524 100644 --- a/Demos/Device/LowLevel/Keyboard/Descriptors.c +++ b/Demos/Device/LowLevel/Keyboard/Descriptors.c @@ -46,38 +46,41 @@ */ USB_Descriptor_HIDReport_Datatype_t PROGMEM KeyboardReport[] = { - 0x05, 0x01, /* Usage Page (Generic Desktop) */ - 0x09, 0x06, /* Usage (Keyboard) */ - 0xa1, 0x01, /* Collection (Application) */ - 0x75, 0x01, /* Report Size (1) */ - 0x95, 0x08, /* Report Count (8) */ - 0x05, 0x07, /* Usage Page (Key Codes) */ - 0x19, 0xe0, /* Usage Minimum (Keyboard LeftControl) */ - 0x29, 0xe7, /* Usage Maximum (Keyboard Right GUI) */ - 0x15, 0x00, /* Logical Minimum (0) */ - 0x25, 0x01, /* Logical Maximum (1) */ - 0x81, 0x02, /* Input (Data, Variable, Absolute) */ - 0x95, 0x01, /* Report Count (1) */ - 0x75, 0x08, /* Report Size (8) */ - 0x81, 0x03, /* Input (Const, Variable, Absolute) */ - 0x95, 0x05, /* Report Count (5) */ - 0x75, 0x01, /* Report Size (1) */ - 0x05, 0x08, /* Usage Page (LEDs) */ - 0x19, 0x01, /* Usage Minimum (Num Lock) */ - 0x29, 0x05, /* Usage Maximum (Kana) */ - 0x91, 0x02, /* Output (Data, Variable, Absolute) */ - 0x95, 0x01, /* Report Count (1) */ - 0x75, 0x03, /* Report Size (3) */ - 0x91, 0x03, /* Output (Const, Variable, Absolute) */ - 0x95, 0x06, /* Report Count (6) */ - 0x75, 0x08, /* Report Size (8) */ - 0x15, 0x00, /* Logical Minimum (0) */ - 0x25, 0x65, /* Logical Maximum (101) */ - 0x05, 0x07, /* Usage Page (Keyboard) */ - 0x19, 0x00, /* Usage Minimum (Reserved (no event indicated)) */ - 0x29, 0x65, /* Usage Maximum (Keyboard Application) */ - 0x81, 0x00, /* Input (Data, Array, Absolute) */ - 0xc0 /* End Collection */ + HID_RI_USAGE_PAGE(8), 0x01, /* Generic Desktop */ + HID_RI_USAGE(8), 0x06, /* Keyboard */ + HID_RI_COLLECTION(8), 0x01, /* Application */ + HID_RI_USAGE_PAGE(8), 0x07, /* Key Codes */ + HID_RI_USAGE_MINIMUM(8), 0xE0, /* Keyboard Left Control */ + HID_RI_USAGE_MAXIMUM(8), 0xE7, /* Keyboard Right GUI */ + HID_RI_LOGICAL_MINIMUM(8), 0, + HID_RI_LOGICAL_MAXIMUM(8), 1, + HID_RI_REPORT_SIZE(8), 1, + HID_RI_REPORT_COUNT(8), 8, + HID_RI_INPUT(8), (HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE), + + HID_RI_REPORT_COUNT(8), 1, + HID_RI_REPORT_SIZE(8), 8, + HID_RI_INPUT(8), HID_IOF_CONSTANT, + + HID_RI_USAGE_PAGE(8), 0x08, /* LEDs */ + HID_RI_USAGE_MINIMUM(8), 0x01, /* Num Lock */ + HID_RI_USAGE_MAXIMUM(8), 0x05, /* Kana */ + HID_RI_REPORT_COUNT(8), 5, + HID_RI_REPORT_SIZE(8), 1, + HID_RI_OUTPUT(8), (HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE), + HID_RI_REPORT_COUNT(8), 1, + HID_RI_REPORT_SIZE(8), 3, + HID_RI_OUTPUT(8), HID_IOF_CONSTANT, + + HID_RI_LOGICAL_MINIMUM(8), 0x00, + HID_RI_LOGICAL_MAXIMUM(8), 0x65, + HID_RI_USAGE_PAGE(8), 0x07, /* Keyboard */ + HID_RI_USAGE_MINIMUM(8), 0x00, /* Reserved (no event indicated) */ + HID_RI_USAGE_MAXIMUM(8), 0x65, /* Keyboard Application */ + HID_RI_REPORT_COUNT(8), 6, + HID_RI_REPORT_SIZE(8), 8, + HID_RI_INPUT(8), (HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE), + HID_RI_END_COLLECTION(0), }; /** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall diff --git a/Demos/Device/LowLevel/KeyboardMouse/Descriptors.c b/Demos/Device/LowLevel/KeyboardMouse/Descriptors.c index de74aca9f..2d8fd44cd 100644 --- a/Demos/Device/LowLevel/KeyboardMouse/Descriptors.c +++ b/Demos/Device/LowLevel/KeyboardMouse/Descriptors.c @@ -48,69 +48,76 @@ */ USB_Descriptor_HIDReport_Datatype_t PROGMEM MouseReport[] = { - 0x05, 0x01, /* Usage Page (Generic Desktop) */ - 0x09, 0x02, /* Usage (Mouse) */ - 0xA1, 0x01, /* Collection (Application) */ - 0x09, 0x01, /* Usage (Pointer) */ - 0xA1, 0x00, /* Collection (Physical) */ - 0x95, 0x03, /* Report Count (3) */ - 0x75, 0x01, /* Report Size (1) */ - 0x05, 0x09, /* Usage Page (Button) */ - 0x19, 0x01, /* Usage Minimum (Button 1) */ - 0x29, 0x03, /* Usage Maximum (Button 3) */ - 0x15, 0x00, /* Logical Minimum (0) */ - 0x25, 0x01, /* Logical Maximum (1) */ - 0x81, 0x02, /* Input (Data, Variable, Absolute) */ - 0x95, 0x01, /* Report Count (1) */ - 0x75, 0x05, /* Report Size (5) */ - 0x81, 0x01, /* Input (Constant) */ - 0x75, 0x08, /* Report Size (8) */ - 0x95, 0x02, /* Report Count (2) */ - 0x05, 0x01, /* Usage Page (Generic Desktop Control) */ - 0x09, 0x30, /* Usage X */ - 0x09, 0x31, /* Usage Y */ - 0x15, 0x81, /* Logical Minimum (-127) */ - 0x25, 0x7F, /* Logical Maximum (127) */ - 0x81, 0x06, /* Input (Data, Variable, Relative) */ - 0xC0, /* End Collection */ - 0xC0, /* End Collection */ + HID_RI_USAGE_PAGE(8), 0x01, /* Generic Desktop */ + HID_RI_USAGE(8), 0x02, /* Mouse */ + HID_RI_COLLECTION(8), 0x01, /* Application */ + HID_RI_USAGE(8), 0x01, /* Pointer */ + HID_RI_COLLECTION(8), 0x00, /* Physical */ + HID_RI_USAGE_PAGE(8), 0x09, /* Button */ + HID_RI_USAGE_MINIMUM(8), 0x01, + HID_RI_USAGE_MAXIMUM(8), 0x03, + HID_RI_LOGICAL_MINIMUM(8), 0, + HID_RI_LOGICAL_MAXIMUM(8), 1, + HID_RI_REPORT_COUNT(8), 3, + HID_RI_REPORT_SIZE(8), 1, + HID_RI_INPUT(8), (HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_VOLATILE), + + HID_RI_REPORT_COUNT(8), 1, + HID_RI_REPORT_SIZE(8), 5, + HID_RI_INPUT(8), HID_IOF_CONSTANT, + + HID_RI_USAGE_PAGE(8), 0x01, /* Generic Desktop */ + HID_RI_USAGE(8), 0x30, /* Usage X */ + HID_RI_USAGE(8), 0x31, /* Usage Y */ + HID_RI_LOGICAL_MINIMUM(8), -1, + HID_RI_LOGICAL_MAXIMUM(8), 1, + HID_RI_PHYSICAL_MINIMUM(8), -1, + HID_RI_PHYSICAL_MAXIMUM(8), 1, + HID_RI_REPORT_COUNT(8), 2, + HID_RI_REPORT_SIZE(8), 8, + HID_RI_INPUT(8), (HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE | HID_IOF_NON_VOLATILE), + HID_RI_END_COLLECTION(0), + HID_RI_END_COLLECTION(0), }; /** Same as the MouseReport structure, but defines the keyboard HID interface's report structure. */ USB_Descriptor_HIDReport_Datatype_t PROGMEM KeyboardReport[] = { - 0x05, 0x01, /* Usage Page (Generic Desktop) */ - 0x09, 0x06, /* Usage (Keyboard) */ - 0xa1, 0x01, /* Collection (Application) */ - 0x75, 0x01, /* Report Size (1) */ - 0x95, 0x08, /* Report Count (8) */ - 0x05, 0x07, /* Usage Page (Key Codes) */ - 0x19, 0xe0, /* Usage Minimum (Keyboard LeftControl) */ - 0x29, 0xe7, /* Usage Maximum (Keyboard Right GUI) */ - 0x15, 0x00, /* Logical Minimum (0) */ - 0x25, 0x01, /* Logical Maximum (1) */ - 0x81, 0x02, /* Input (Data, Variable, Absolute) */ - 0x95, 0x01, /* Report Count (1) */ - 0x75, 0x08, /* Report Size (8) */ - 0x81, 0x03, /* Input (Const, Variable, Absolute) */ - 0x95, 0x05, /* Report Count (5) */ - 0x75, 0x01, /* Report Size (1) */ - 0x05, 0x08, /* Usage Page (LEDs) */ - 0x19, 0x01, /* Usage Minimum (Num Lock) */ - 0x29, 0x05, /* Usage Maximum (Kana) */ - 0x91, 0x02, /* Output (Data, Variable, Absolute) */ - 0x95, 0x01, /* Report Count (1) */ - 0x75, 0x03, /* Report Size (3) */ - 0x91, 0x03, /* Output (Const, Variable, Absolute) */ - 0x95, 0x06, /* Report Count (6) */ - 0x75, 0x08, /* Report Size (8) */ - 0x15, 0x00, /* Logical Minimum (0) */ - 0x25, 0x65, /* Logical Maximum (101) */ - 0x05, 0x07, /* Usage Page (Keyboard) */ - 0x19, 0x00, /* Usage Minimum (Reserved (no event indicated)) */ - 0x29, 0x65, /* Usage Maximum (Keyboard Application) */ - 0x81, 0x00, /* Input (Data, Array, Absolute) */ - 0xC0 /* End Collection */ + HID_RI_USAGE_PAGE(8), 0x01, /* Generic Desktop */ + HID_RI_USAGE(8), 0x06, /* Keyboard */ + HID_RI_COLLECTION(8), 0x01, /* Application */ + HID_RI_USAGE_PAGE(8), 0x07, /* Key Codes */ + HID_RI_USAGE_MINIMUM(8), 0xE0, /* Keyboard Left Control */ + HID_RI_USAGE_MAXIMUM(8), 0xE7, /* Keyboard Right GUI */ + HID_RI_LOGICAL_MINIMUM(8), 0, + HID_RI_LOGICAL_MAXIMUM(8), 1, + HID_RI_REPORT_SIZE(8), 1, + HID_RI_REPORT_COUNT(8), 8, + HID_RI_INPUT(8), (HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE), + + HID_RI_REPORT_COUNT(8), 1, + HID_RI_REPORT_SIZE(8), 8, + HID_RI_INPUT(8), HID_IOF_CONSTANT, + + HID_RI_USAGE_PAGE(8), 0x08, /* LEDs */ + HID_RI_USAGE_MINIMUM(8), 0x01, /* Num Lock */ + HID_RI_USAGE_MAXIMUM(8), 0x05, /* Kana */ + HID_RI_REPORT_COUNT(8), 5, + HID_RI_REPORT_SIZE(8), 1, + HID_RI_OUTPUT(8), (HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE), + HID_RI_REPORT_COUNT(8), 1, + HID_RI_REPORT_SIZE(8), 3, + HID_RI_OUTPUT(8), HID_IOF_CONSTANT, + + HID_RI_LOGICAL_MINIMUM(8), 0x00, + HID_RI_LOGICAL_MAXIMUM(8), 0x65, + HID_RI_USAGE_PAGE(8), 0x07, /* Keyboard */ + HID_RI_USAGE_MINIMUM(8), 0x00, /* Reserved (no event indicated) */ + HID_RI_USAGE_MAXIMUM(8), 0x65, /* Keyboard Application */ + HID_RI_REPORT_COUNT(8), 6, + HID_RI_REPORT_SIZE(8), 8, + HID_RI_INPUT(8), (HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE), + HID_RI_END_COLLECTION(0), }; /** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall diff --git a/Demos/Device/LowLevel/Mouse/Descriptors.c b/Demos/Device/LowLevel/Mouse/Descriptors.c index fa78246a4..58a4ae4dc 100644 --- a/Demos/Device/LowLevel/Mouse/Descriptors.c +++ b/Demos/Device/LowLevel/Mouse/Descriptors.c @@ -45,32 +45,36 @@ */ USB_Descriptor_HIDReport_Datatype_t PROGMEM MouseReport[] = { - 0x05, 0x01, /* Usage Page (Generic Desktop) */ - 0x09, 0x02, /* Usage (Mouse) */ - 0xA1, 0x01, /* Collection (Application) */ - 0x09, 0x01, /* Usage (Pointer) */ - 0xA1, 0x00, /* Collection (Application) */ - 0x95, 0x03, /* Report Count (3) */ - 0x75, 0x01, /* Report Size (1) */ - 0x05, 0x09, /* Usage Page (Button) */ - 0x19, 0x01, /* Usage Minimum (Button 1) */ - 0x29, 0x03, /* Usage Maximum (Button 3) */ - 0x15, 0x00, /* Logical Minimum (0) */ - 0x25, 0x01, /* Logical Maximum (1) */ - 0x81, 0x02, /* Input (Data, Variable, Absolute) */ - 0x95, 0x01, /* Report Count (1) */ - 0x75, 0x05, /* Report Size (5) */ - 0x81, 0x01, /* Input (Constant) */ - 0x75, 0x08, /* Report Size (8) */ - 0x95, 0x02, /* Report Count (2) */ - 0x05, 0x01, /* Usage Page (Generic Desktop Control) */ - 0x09, 0x30, /* Usage X */ - 0x09, 0x31, /* Usage Y */ - 0x15, 0x81, /* Logical Minimum (-127) */ - 0x25, 0x7F, /* Logical Maximum (127) */ - 0x81, 0x06, /* Input (Data, Variable, Relative) */ - 0xC0, /* End Collection */ - 0xC0 /* End Collection */ + HID_RI_USAGE_PAGE(8), 0x01, /* Generic Desktop */ + HID_RI_USAGE(8), 0x02, /* Mouse */ + HID_RI_COLLECTION(8), 0x01, /* Application */ + HID_RI_USAGE(8), 0x01, /* Pointer */ + HID_RI_COLLECTION(8), 0x00, /* Physical */ + HID_RI_USAGE_PAGE(8), 0x09, /* Button */ + HID_RI_USAGE_MINIMUM(8), 0x01, + HID_RI_USAGE_MAXIMUM(8), 0x03, + HID_RI_LOGICAL_MINIMUM(8), 0, + HID_RI_LOGICAL_MAXIMUM(8), 1, + HID_RI_REPORT_COUNT(8), 3, + HID_RI_REPORT_SIZE(8), 1, + HID_RI_INPUT(8), (HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_VOLATILE), + + HID_RI_REPORT_COUNT(8), 1, + HID_RI_REPORT_SIZE(8), 5, + HID_RI_INPUT(8), HID_IOF_CONSTANT, + + HID_RI_USAGE_PAGE(8), 0x01, /* Generic Desktop */ + HID_RI_USAGE(8), 0x30, /* Usage X */ + HID_RI_USAGE(8), 0x31, /* Usage Y */ + HID_RI_LOGICAL_MINIMUM(8), -1, + HID_RI_LOGICAL_MAXIMUM(8), 1, + HID_RI_PHYSICAL_MINIMUM(8), -1, + HID_RI_PHYSICAL_MAXIMUM(8), 1, + HID_RI_REPORT_COUNT(8), 2, + HID_RI_REPORT_SIZE(8), 8, + HID_RI_INPUT(8), (HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE | HID_IOF_NON_VOLATILE), + HID_RI_END_COLLECTION(0), + HID_RI_END_COLLECTION(0), }; /** Device descriptor structure. This descriptor, located in FLASH memory, describes the overall |