|
46 | 46 |
|
47 | 47 | uint8_t const hid_report_descriptor[] =
|
48 | 48 | {
|
49 |
| - //------------- Keyboard Report -------------// |
50 |
| - HID_USAGE_PAGE ( HID_USAGE_PAGE_DESKTOP ), |
51 |
| - HID_USAGE ( HID_USAGE_DESKTOP_KEYBOARD ), |
52 |
| - HID_COLLECTION ( HID_COLLECTION_APPLICATION ), |
53 |
| - HID_REPORT_ID ( REPORT_ID_KEYBOARD ), |
54 |
| - HID_USAGE_PAGE( HID_USAGE_PAGE_KEYBOARD ), |
55 |
| - // 8 bits Modifier Keys (Shfit, Control, Alt) |
56 |
| - HID_USAGE_MIN ( 224 ), |
57 |
| - HID_USAGE_MAX ( 231 ), |
58 |
| - HID_LOGICAL_MIN ( 0 ), |
59 |
| - HID_LOGICAL_MAX ( 1 ), |
60 |
| - |
61 |
| - HID_REPORT_COUNT ( 8 ), |
62 |
| - HID_REPORT_SIZE ( 1 ), |
63 |
| - HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ), |
64 |
| - |
65 |
| - // 8 bit reserved |
66 |
| - HID_REPORT_COUNT ( 1 ), |
67 |
| - HID_REPORT_SIZE ( 8 ), |
68 |
| - HID_INPUT ( HID_CONSTANT ), |
69 |
| - |
70 |
| - // 6-byte Keycodes |
71 |
| - HID_USAGE_PAGE (HID_USAGE_PAGE_KEYBOARD), |
72 |
| - HID_USAGE_MIN ( 0 ), |
73 |
| - HID_USAGE_MAX ( 255 ), |
74 |
| - HID_LOGICAL_MIN ( 0 ), |
75 |
| - HID_LOGICAL_MAX ( 255 ), |
76 |
| - |
77 |
| - HID_REPORT_COUNT ( 6 ), |
78 |
| - HID_REPORT_SIZE ( 8 ), |
79 |
| - HID_INPUT ( HID_DATA | HID_ARRAY | HID_ABSOLUTE ), |
80 |
| - |
81 |
| - // LED Indicator Kana | Compose | Scroll Lock | CapsLock | NumLock |
82 |
| - HID_USAGE_PAGE ( HID_USAGE_PAGE_LED ), |
83 |
| - /* 5-bit Led report */ |
84 |
| - HID_USAGE_MIN ( 1 ), |
85 |
| - HID_USAGE_MAX ( 5 ), |
86 |
| - HID_REPORT_COUNT ( 5 ), |
87 |
| - HID_REPORT_SIZE ( 1 ), |
88 |
| - HID_OUTPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ), |
89 |
| - /* led padding */ |
90 |
| - HID_REPORT_COUNT ( 1 ), |
91 |
| - HID_REPORT_SIZE ( 3 ), |
92 |
| - HID_OUTPUT ( HID_CONSTANT ), |
93 |
| - HID_COLLECTION_END, |
94 |
| - |
95 |
| - //------------- Consumer Control Report -------------// |
96 |
| - HID_USAGE_PAGE ( HID_USAGE_PAGE_CONSUMER ), |
97 |
| - HID_USAGE ( HID_USAGE_CONSUMER_CONTROL ), |
98 |
| - HID_COLLECTION ( HID_COLLECTION_APPLICATION ), |
99 |
| - HID_REPORT_ID( REPORT_ID_CONSUMER_CONTROL ), |
100 |
| - HID_LOGICAL_MIN ( 0x00 ), |
101 |
| - HID_LOGICAL_MAX_N( 0x03FF, 2 ), |
102 |
| - HID_USAGE_MIN ( 0x00 ), |
103 |
| - HID_USAGE_MAX_N ( 0x03FF, 2 ), |
104 |
| - HID_REPORT_COUNT ( 1 ), |
105 |
| - HID_REPORT_SIZE ( 16 ), |
106 |
| - HID_INPUT ( HID_DATA | HID_ARRAY | HID_ABSOLUTE ), |
107 |
| - HID_COLLECTION_END, |
108 |
| - |
109 |
| - //------------- Mouse Report: buttons + dx + dy + scroll + pan -------------// |
110 |
| - HID_USAGE_PAGE ( HID_USAGE_PAGE_DESKTOP ), |
111 |
| - HID_USAGE ( HID_USAGE_DESKTOP_MOUSE ), |
112 |
| - HID_COLLECTION ( HID_COLLECTION_APPLICATION ), |
113 |
| - HID_REPORT_ID( REPORT_ID_MOUSE ), |
114 |
| - HID_USAGE (HID_USAGE_DESKTOP_POINTER ), |
115 |
| - HID_COLLECTION ( HID_COLLECTION_PHYSICAL ), |
116 |
| - HID_USAGE_PAGE ( HID_USAGE_PAGE_BUTTON ), |
117 |
| - HID_USAGE_MIN ( 1 ), |
118 |
| - HID_USAGE_MAX ( 5 ), |
119 |
| - HID_LOGICAL_MIN ( 0 ), |
120 |
| - HID_LOGICAL_MAX ( 1 ), |
121 |
| - |
122 |
| - HID_REPORT_COUNT ( 5 ), /* Forward, Backward, Middle, Right, Left */ |
123 |
| - HID_REPORT_SIZE ( 1 ), |
124 |
| - HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ), |
125 |
| - |
126 |
| - HID_REPORT_COUNT ( 1 ), |
127 |
| - HID_REPORT_SIZE ( 3 ), |
128 |
| - HID_INPUT ( HID_CONSTANT ), /* 5 bit padding followed 3 bit buttons */ |
129 |
| - |
130 |
| - HID_USAGE_PAGE ( HID_USAGE_PAGE_DESKTOP ), |
131 |
| - HID_USAGE ( HID_USAGE_DESKTOP_X ), |
132 |
| - HID_USAGE ( HID_USAGE_DESKTOP_Y ), |
133 |
| - HID_LOGICAL_MIN ( 0x81 ), /* -127 */ |
134 |
| - HID_LOGICAL_MAX ( 0x7f ), /* 127 */ |
135 |
| - |
136 |
| - HID_REPORT_COUNT ( 2 ), /* X, Y position */ |
137 |
| - HID_REPORT_SIZE ( 8 ), |
138 |
| - HID_INPUT ( HID_DATA | HID_VARIABLE | HID_RELATIVE ), /* relative values */ |
139 |
| - |
140 |
| - HID_USAGE ( HID_USAGE_DESKTOP_WHEEL ), /* mouse scroll */ |
141 |
| - HID_LOGICAL_MIN ( 0x81 ), /* -127 */ |
142 |
| - HID_LOGICAL_MAX ( 0x7f ), /* 127 */ |
143 |
| - HID_REPORT_COUNT( 1 ), |
144 |
| - HID_REPORT_SIZE ( 8 ), /* 8-bit value */ |
145 |
| - HID_INPUT ( HID_DATA | HID_VARIABLE | HID_RELATIVE ), /* relative values */ |
146 |
| - |
147 |
| - HID_USAGE_PAGE ( HID_USAGE_PAGE_CONSUMER ), |
148 |
| - HID_USAGE_N ( HID_USAGE_CONSUMER_AC_PAN, 2 ), /* Horizontal wheel scroll */ |
149 |
| - HID_LOGICAL_MIN ( 0x81 ), /* -127 */ |
150 |
| - HID_LOGICAL_MAX ( 0x7f ), /* 127 */ |
151 |
| - HID_REPORT_COUNT( 1 ), |
152 |
| - HID_REPORT_SIZE ( 8 ), /* 8-bit value */ |
153 |
| - HID_INPUT ( HID_DATA | HID_VARIABLE | HID_RELATIVE ), /* relative values */ |
154 |
| - HID_COLLECTION_END, |
155 |
| - HID_COLLECTION_END, |
156 |
| - |
157 |
| -#if 0 |
158 |
| - //------------- Gamepad Report -------------// |
159 |
| - /* Byte 0: 4 pad | 2 Y-axis | 2 X-axis |
160 |
| - * Byte 1: Button7-Button0 |
161 |
| - */ |
162 |
| - HID_USAGE_PAGE ( HID_USAGE_PAGE_DESKTOP ), |
163 |
| - HID_USAGE ( HID_USAGE_DESKTOP_GAMEPAD ), |
164 |
| - HID_COLLECTION ( HID_COLLECTION_APPLICATION ), |
165 |
| - HID_REPORT_ID ( REPORT_ID_GAMEPAD ), |
166 |
| - HID_USAGE (HID_USAGE_DESKTOP_POINTER ), |
167 |
| - HID_COLLECTION ( HID_COLLECTION_PHYSICAL ), |
168 |
| - // X,Y joystick |
169 |
| - HID_USAGE ( HID_USAGE_DESKTOP_X ), |
170 |
| - HID_USAGE ( HID_USAGE_DESKTOP_Y ), |
171 |
| - HID_LOGICAL_MIN ( 0xFF ), /* -1 */ |
172 |
| - HID_LOGICAL_MAX ( 0x01 ), /* 1 */ |
173 |
| - HID_REPORT_COUNT( 2 ), /* X, Y position */ |
174 |
| - HID_REPORT_SIZE ( 2 ), /* 2-bit value */ |
175 |
| - HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE ), /* input values */ |
176 |
| - HID_COLLECTION_END, |
177 |
| - |
178 |
| - /* X,Y padding */ |
179 |
| - HID_REPORT_COUNT ( 4 ), |
180 |
| - HID_REPORT_SIZE ( 1 ), |
181 |
| - HID_INPUT ( HID_CONSTANT | HID_VARIABLE | HID_ABSOLUTE), |
182 |
| - |
183 |
| - // Buttons |
184 |
| - HID_USAGE_PAGE ( HID_USAGE_PAGE_BUTTON ), |
185 |
| - HID_USAGE_MIN ( 1 ), |
186 |
| - HID_USAGE_MAX ( 8 ), |
187 |
| - HID_LOGICAL_MIN ( 0 ), |
188 |
| - HID_LOGICAL_MAX ( 1 ), |
189 |
| - HID_REPORT_COUNT ( 8 ), // Keyboard |
190 |
| - HID_REPORT_SIZE ( 1 ), |
191 |
| - HID_INPUT ( HID_DATA | HID_VARIABLE | HID_ABSOLUTE), |
192 |
| - HID_COLLECTION_END |
193 |
| -#endif |
| 49 | + TUD_HID_REPORT_DESC_KEYBOARD( HID_REPORT_ID(REPORT_ID_KEYBOARD) ), |
| 50 | + TUD_HID_REPORT_DESC_CONSUMER( HID_REPORT_ID(REPORT_ID_CONSUMER_CONTROL) ), |
| 51 | + TUD_HID_REPORT_DESC_MOUSE ( HID_REPORT_ID(REPORT_ID_MOUSE) ) |
194 | 52 | };
|
195 | 53 |
|
196 | 54 | BLEHidAdafruit::BLEHidAdafruit(void)
|
|
0 commit comments