@@ -153,52 +153,71 @@ static __u8 motion_rdesc[] = {
153
153
0xA1 , 0x01 , /* Collection (Application), */
154
154
0xA1 , 0x02 , /* Collection (Logical), */
155
155
0x85 , 0x01 , /* Report ID (1), */
156
- 0x75 , 0x08 , /* Report Size (8), */
157
- 0x95 , 0x01 , /* Report Count (1), */
158
- 0x15 , 0x00 , /* Logical Minimum (0), */
159
- 0x26 , 0xFF , 0x00 , /* Logical Maximum (255), */
160
- 0x81 , 0x03 , /* Input (Constant, Variable), */
161
156
0x75 , 0x01 , /* Report Size (1), */
162
- 0x95 , 0x13 , /* Report Count (19 ), */
157
+ 0x95 , 0x15 , /* Report Count (21 ), */
163
158
0x15 , 0x00 , /* Logical Minimum (0), */
164
159
0x25 , 0x01 , /* Logical Maximum (1), */
165
160
0x35 , 0x00 , /* Physical Minimum (0), */
166
161
0x45 , 0x01 , /* Physical Maximum (1), */
167
162
0x05 , 0x09 , /* Usage Page (Button), */
168
163
0x19 , 0x01 , /* Usage Minimum (01h), */
169
- 0x29 , 0x13 , /* Usage Maximum (13h), */
170
- 0x81 , 0x02 , /* Input (Variable), */
171
- 0x75 , 0x01 , /* Report Size (1), */
172
- 0x95 , 0x0D , /* Report Count (13), */
164
+ 0x29 , 0x15 , /* Usage Maximum (15h), */
165
+ 0x81 , 0x02 , /* Input (Variable), * Buttons */
166
+ 0x95 , 0x0B , /* Report Count (11), */
173
167
0x06 , 0x00 , 0xFF , /* Usage Page (FF00h), */
174
- 0x81 , 0x03 , /* Input (Constant, Variable), */
168
+ 0x81 , 0x03 , /* Input (Constant, Variable), * Padding * /
175
169
0x15 , 0x00 , /* Logical Minimum (0), */
176
170
0x26 , 0xFF , 0x00 , /* Logical Maximum (255), */
177
171
0x05 , 0x01 , /* Usage Page (Desktop), */
178
- 0x09 , 0x01 , /* Usage (Pointer), */
179
172
0xA1 , 0x00 , /* Collection (Physical), */
180
173
0x75 , 0x08 , /* Report Size (8), */
181
- 0x95 , 0x04 , /* Report Count (4 ), */
174
+ 0x95 , 0x01 , /* Report Count (1 ), */
182
175
0x35 , 0x00 , /* Physical Minimum (0), */
183
176
0x46 , 0xFF , 0x00 , /* Physical Maximum (255), */
184
177
0x09 , 0x30 , /* Usage (X), */
185
- 0x09 , 0x31 , /* Usage (Y), */
186
- 0x09 , 0x32 , /* Usage (Z), */
187
- 0x09 , 0x35 , /* Usage (Rz), */
188
- 0x81 , 0x02 , /* Input (Variable), */
178
+ 0x81 , 0x02 , /* Input (Variable), * Trigger */
189
179
0xC0 , /* End Collection, */
190
- 0x05 , 0x01 , /* Usage Page (Desktop), */
191
- 0x95 , 0x13 , /* Report Count (19), */
192
- 0x09 , 0x01 , /* Usage (Pointer ), */
180
+ 0x06 , 0x00 , 0xFF , /* Usage Page (FF00h), */
181
+ 0x75 , 0x08 , /* Report Size (8), */
182
+ 0x95 , 0x07 , /* Report Count (7 ), * skip 7 bytes */
193
183
0x81 , 0x02 , /* Input (Variable), */
194
- 0x95 , 0x0C , /* Report Count (12), */
195
- 0x81 , 0x01 , /* Input (Constant), */
184
+ 0x05 , 0x01 , /* Usage Page (Desktop), */
196
185
0x75 , 0x10 , /* Report Size (16), */
197
- 0x95 , 0x04 , /* Report Count (4), */
198
- 0x26 , 0xFF , 0x03 , /* Logical Maximum (1023), */
199
- 0x46 , 0xFF , 0x03 , /* Physical Maximum (1023), */
186
+ 0x46 , 0xFF , 0xFF , /* Physical Maximum (65535), */
187
+ 0x27 , 0xFF , 0xFF , 0x00 , 0x00 , /* Logical Maximum (65535), */
188
+ 0x95 , 0x03 , /* Report Count (3), * 3x Accels */
189
+ 0x09 , 0x33 , /* Usage (rX), */
190
+ 0x09 , 0x34 , /* Usage (rY), */
191
+ 0x09 , 0x35 , /* Usage (rZ), */
192
+ 0x81 , 0x02 , /* Input (Variable), */
193
+ 0x06 , 0x00 , 0xFF , /* Usage Page (FF00h), */
194
+ 0x95 , 0x03 , /* Report Count (3), * Skip Accels 2nd frame */
195
+ 0x81 , 0x02 , /* Input (Variable), */
196
+ 0x05 , 0x01 , /* Usage Page (Desktop), */
200
197
0x09 , 0x01 , /* Usage (Pointer), */
198
+ 0x95 , 0x03 , /* Report Count (3), * 3x Gyros */
199
+ 0x81 , 0x02 , /* Input (Variable), */
200
+ 0x06 , 0x00 , 0xFF , /* Usage Page (FF00h), */
201
+ 0x95 , 0x03 , /* Report Count (3), * Skip Gyros 2nd frame */
201
202
0x81 , 0x02 , /* Input (Variable), */
203
+ 0x75 , 0x0C , /* Report Size (12), */
204
+ 0x46 , 0xFF , 0x0F , /* Physical Maximum (4095), */
205
+ 0x26 , 0xFF , 0x0F , /* Logical Maximum (4095), */
206
+ 0x95 , 0x04 , /* Report Count (4), * Skip Temp and Magnetometers */
207
+ 0x81 , 0x02 , /* Input (Variable), */
208
+ 0x75 , 0x08 , /* Report Size (8), */
209
+ 0x46 , 0xFF , 0x00 , /* Physical Maximum (255), */
210
+ 0x26 , 0xFF , 0x00 , /* Logical Maximum (255), */
211
+ 0x95 , 0x06 , /* Report Count (6), * Skip Timestamp and Extension Bytes */
212
+ 0x81 , 0x02 , /* Input (Variable), */
213
+ 0x75 , 0x08 , /* Report Size (8), */
214
+ 0x95 , 0x30 , /* Report Count (48), */
215
+ 0x09 , 0x01 , /* Usage (Pointer), */
216
+ 0x91 , 0x02 , /* Output (Variable), */
217
+ 0x75 , 0x08 , /* Report Size (8), */
218
+ 0x95 , 0x30 , /* Report Count (48), */
219
+ 0x09 , 0x01 , /* Usage (Pointer), */
220
+ 0xB1 , 0x02 , /* Feature (Variable), */
202
221
0xC0 , /* End Collection, */
203
222
0xA1 , 0x02 , /* Collection (Logical), */
204
223
0x85 , 0x02 , /* Report ID (2), */
0 commit comments