aboutsummaryrefslogtreecommitdiffstats
path: root/Demos/Device/ClassDriver/Keyboard
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2011-01-17 19:44:48 +0000
committerDean Camera <dean@fourwalledcubicle.com>2011-01-17 19:44:48 +0000
commitefd57cfe51ec0501d4378d01e019f3e23b989274 (patch)
treee2e60d4ba5a72c56012b2a6426849e28d762c53e /Demos/Device/ClassDriver/Keyboard
parent47fec03694c933a388eadf3242a6e40177b57d74 (diff)
downloadlufa-efd57cfe51ec0501d4378d01e019f3e23b989274.tar.gz
lufa-efd57cfe51ec0501d4378d01e019f3e23b989274.tar.bz2
lufa-efd57cfe51ec0501d4378d01e019f3e23b989274.zip
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.
Diffstat (limited to 'Demos/Device/ClassDriver/Keyboard')
-rw-r--r--Demos/Device/ClassDriver/Keyboard/Descriptors.c65
1 files changed, 31 insertions, 34 deletions
diff --git a/Demos/Device/ClassDriver/Keyboard/Descriptors.c b/Demos/Device/ClassDriver/Keyboard/Descriptors.c
index 640479a23..16ca1955e 100644
--- a/Demos/Device/ClassDriver/Keyboard/Descriptors.c
+++ b/Demos/Device/ClassDriver/Keyboard/Descriptors.c
@@ -45,40 +45,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),
};