260
258
static const uint8_t qemu_mouse_hid_report_descriptor[] = {
261
0x05, 0x01, /* Usage Page (Generic Desktop) */
262
0x09, 0x02, /* Usage (Mouse) */
263
0xa1, 0x01, /* Collection (Application) */
264
0x09, 0x01, /* Usage (Pointer) */
265
0xa1, 0x00, /* Collection (Physical) */
266
0x05, 0x09, /* Usage Page (Button) */
267
0x19, 0x01, /* Usage Minimum (1) */
268
0x29, 0x03, /* Usage Maximum (3) */
269
0x15, 0x00, /* Logical Minimum (0) */
270
0x25, 0x01, /* Logical Maximum (1) */
271
0x95, 0x03, /* Report Count (3) */
272
0x75, 0x01, /* Report Size (1) */
273
0x81, 0x02, /* Input (Data, Variable, Absolute) */
274
0x95, 0x01, /* Report Count (1) */
275
0x75, 0x05, /* Report Size (5) */
276
0x81, 0x01, /* Input (Constant) */
277
0x05, 0x01, /* Usage Page (Generic Desktop) */
278
0x09, 0x30, /* Usage (X) */
279
0x09, 0x31, /* Usage (Y) */
280
0x09, 0x38, /* Usage (Wheel) */
281
0x15, 0x81, /* Logical Minimum (-0x7f) */
282
0x25, 0x7f, /* Logical Maximum (0x7f) */
283
0x75, 0x08, /* Report Size (8) */
284
0x95, 0x03, /* Report Count (3) */
285
0x81, 0x06, /* Input (Data, Variable, Relative) */
286
0xc0, /* End Collection */
287
0xc0, /* End Collection */
259
0x05, 0x01, 0x09, 0x02, 0xA1, 0x01, 0x09, 0x01,
260
0xA1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03,
261
0x15, 0x00, 0x25, 0x01, 0x95, 0x03, 0x75, 0x01,
262
0x81, 0x02, 0x95, 0x01, 0x75, 0x05, 0x81, 0x01,
263
0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x15, 0x81,
264
0x25, 0x7F, 0x75, 0x08, 0x95, 0x02, 0x81, 0x06,
290
268
static const uint8_t qemu_tablet_hid_report_descriptor[] = {
291
0x05, 0x01, /* Usage Page (Generic Desktop) */
292
0x09, 0x01, /* Usage (Pointer) */
293
0xa1, 0x01, /* Collection (Application) */
294
0x09, 0x01, /* Usage (Pointer) */
295
0xa1, 0x00, /* Collection (Physical) */
296
0x05, 0x09, /* Usage Page (Button) */
297
0x19, 0x01, /* Usage Minimum (1) */
298
0x29, 0x03, /* Usage Maximum (3) */
299
0x15, 0x00, /* Logical Minimum (0) */
300
0x25, 0x01, /* Logical Maximum (1) */
301
0x95, 0x03, /* Report Count (3) */
302
0x75, 0x01, /* Report Size (1) */
303
0x81, 0x02, /* Input (Data, Variable, Absolute) */
304
0x95, 0x01, /* Report Count (1) */
305
0x75, 0x05, /* Report Size (5) */
306
0x81, 0x01, /* Input (Constant) */
307
0x05, 0x01, /* Usage Page (Generic Desktop) */
308
0x09, 0x30, /* Usage (X) */
309
0x09, 0x31, /* Usage (Y) */
310
0x15, 0x00, /* Logical Minimum (0) */
311
0x26, 0xff, 0x7f, /* Logical Maximum (0x7fff) */
312
0x35, 0x00, /* Physical Minimum (0) */
313
0x46, 0xff, 0x7f, /* Physical Maximum (0x7fff) */
314
0x75, 0x10, /* Report Size (16) */
315
0x95, 0x02, /* Report Count (2) */
316
0x81, 0x02, /* Input (Data, Variable, Absolute) */
317
0x05, 0x01, /* Usage Page (Generic Desktop) */
318
0x09, 0x38, /* Usage (Wheel) */
319
0x15, 0x81, /* Logical Minimum (-0x7f) */
320
0x25, 0x7f, /* Logical Maximum (0x7f) */
321
0x35, 0x00, /* Physical Minimum (same as logical) */
322
0x45, 0x00, /* Physical Maximum (same as logical) */
323
0x75, 0x08, /* Report Size (8) */
324
0x95, 0x01, /* Report Count (1) */
325
0x81, 0x06, /* Input (Data, Variable, Relative) */
326
0xc0, /* End Collection */
327
0xc0, /* End Collection */
269
0x05, 0x01, /* Usage Page Generic Desktop */
270
0x09, 0x01, /* Usage Mouse */
271
0xA1, 0x01, /* Collection Application */
272
0x09, 0x01, /* Usage Pointer */
273
0xA1, 0x00, /* Collection Physical */
274
0x05, 0x09, /* Usage Page Button */
275
0x19, 0x01, /* Usage Minimum Button 1 */
276
0x29, 0x03, /* Usage Maximum Button 3 */
277
0x15, 0x00, /* Logical Minimum 0 */
278
0x25, 0x01, /* Logical Maximum 1 */
279
0x95, 0x03, /* Report Count 3 */
280
0x75, 0x01, /* Report Size 1 */
281
0x81, 0x02, /* Input (Data, Var, Abs) */
282
0x95, 0x01, /* Report Count 1 */
283
0x75, 0x05, /* Report Size 5 */
284
0x81, 0x01, /* Input (Cnst, Var, Abs) */
285
0x05, 0x01, /* Usage Page Generic Desktop */
286
0x09, 0x30, /* Usage X */
287
0x09, 0x31, /* Usage Y */
288
0x15, 0x00, /* Logical Minimum 0 */
289
0x26, 0xFF, 0x7F, /* Logical Maximum 0x7fff */
290
0x35, 0x00, /* Physical Minimum 0 */
291
0x46, 0xFE, 0x7F, /* Physical Maximum 0x7fff */
292
0x75, 0x10, /* Report Size 16 */
293
0x95, 0x02, /* Report Count 2 */
294
0x81, 0x02, /* Input (Data, Var, Abs) */
295
0x05, 0x01, /* Usage Page Generic Desktop */
296
0x09, 0x38, /* Usage Wheel */
297
0x15, 0x81, /* Logical Minimum -127 */
298
0x25, 0x7F, /* Logical Maximum 127 */
299
0x35, 0x00, /* Physical Minimum 0 (same as logical) */
300
0x45, 0x00, /* Physical Maximum 0 (same as logical) */
301
0x75, 0x08, /* Report Size 8 */
302
0x95, 0x01, /* Report Count 1 */
303
0x81, 0x02, /* Input (Data, Var, Rel) */
304
0xC0, /* End Collection */
305
0xC0, /* End Collection */
330
308
static const uint8_t qemu_keyboard_hid_report_descriptor[] = {