@@ -57,22 +57,40 @@ uint8_t const* tud_descriptor_device_cb(void) {
5757//--------------------------------------------------------------------+
5858
5959uint8_t const desc_hid_report [] = {
60- /* CM108 emulation */
60+ /* CM108 emulation. */
6161 HID_USAGE_PAGE ( HID_USAGE_PAGE_CONSUMER ),
6262 HID_USAGE ( HID_USAGE_CONSUMER_CONTROL ),
6363 HID_COLLECTION ( HID_COLLECTION_APPLICATION ),
64- /* Input */
65- HID_USAGE ( 0x00 ),
66- HID_LOGICAL_MIN ( 0x00 ),
67- HID_LOGICAL_MAX_N ( 0xff , 2 ),
68- HID_REPORT_SIZE ( 8 ),
69- HID_REPORT_COUNT ( 4 ),
70- HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ),
71- /* Output */
72- HID_USAGE ( 0x00 ),
64+ /* Volume Up/Dn */
7365 HID_LOGICAL_MIN ( 0x00 ),
74- HID_LOGICAL_MAX_N ( 0xff , 2 ),
66+ HID_LOGICAL_MAX ( 0x01 ),
67+ HID_USAGE ( 0xE9 /* Volume Inc */ ),
68+ HID_USAGE ( 0xEA /* Volume Dec */ ),
69+ HID_REPORT_SIZE ( 1 ),
70+ HID_REPORT_COUNT ( 2 ),
71+ HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ),
72+ /* Mute */
73+ HID_USAGE ( 0xE2 /* Volume Mute */ ),
74+ HID_USAGE ( 0x00 /* Unassigned */ ),
75+ HID_INPUT ( HID_DATA | HID_VARIABLE | HID_RELATIVE ),
76+ /* Hook Switch */
77+ HID_USAGE_PAGE ( HID_USAGE_PAGE_TELEPHONY ),
78+ HID_USAGE ( 0x20 /* Hook Switch */ ),
79+ HID_REPORT_COUNT ( 1 ),
80+ HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE | HID_NULL_STATE ),
81+ /* Filler */
82+ HID_USAGE_PAGE ( HID_USAGE_PAGE_CONSUMER ),
83+ HID_USAGE ( 0x00 /* Unassigned */ ),
84+ HID_REPORT_COUNT ( 3 ),
85+ HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ),
86+ /* GPIO and Status */
87+ HID_LOGICAL_MAX_N ( 0xFF , 2 ),
88+ HID_USAGE ( 0x00 /* Unassigned */ ),
7589 HID_REPORT_SIZE ( 8 ),
90+ HID_REPORT_COUNT ( 3 ),
91+ HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ),
92+ /* Output */
93+ HID_USAGE ( 0x00 /* Unassigned */ ),
7694 HID_REPORT_COUNT ( 4 ),
7795 HID_OUTPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ),
7896 HID_COLLECTION_END
0 commit comments