Abuse the the C preprocessor so that the HID macros can automatically encode data into the array from the HID macros automagically, by specifying the bit-width of the data, and the data itself as a single integer value of that width.
This commit is contained in:
parent
47fec03694
commit
efd57cfe51
16 changed files with 474 additions and 496 deletions
|
@ -58,40 +58,37 @@
|
|||
*/
|
||||
USB_Descriptor_HIDReport_Datatype_t PROGMEM KeyboardReport[] =
|
||||
{
|
||||
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_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, 0x00),
|
||||
HID_RI_LOGICAL_MAXIMUM(8, 0x01),
|
||||
HID_RI_REPORT_SIZE(8, 0x01),
|
||||
HID_RI_REPORT_COUNT(8, 0x08),
|
||||
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
|
||||
HID_RI_REPORT_COUNT(8, 0x01),
|
||||
HID_RI_REPORT_SIZE(8, 0x08),
|
||||
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, 0x05),
|
||||
HID_RI_REPORT_SIZE(8, 0x01),
|
||||
HID_RI_OUTPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
|
||||
HID_RI_REPORT_COUNT(8, 0x01),
|
||||
HID_RI_REPORT_SIZE(8, 0x03),
|
||||
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, 0x06),
|
||||
HID_RI_REPORT_SIZE(8, 0x08),
|
||||
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_ARRAY | HID_IOF_ABSOLUTE | HID_IOF_NON_VOLATILE),
|
||||
HID_RI_END_COLLECTION(0),
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue