Windows report descriptor reconstructor reengineered pp struct #306

Merged
JoergAtGithub merged 62 commits from windows_report_descriptor_reconstructor_reengineered_pp_struct into get-descriptor 2022-01-03 14:00:58 -06:00
JoergAtGithub commented 2021-07-18 07:51:59 -05:00 (Migrated from github.com)

This is a variant of #262, but based on the Google Chromium approach using a reengineered struct of the preparsed data returned by HIDP_PREPARSED_DATA.

The output of hidtest can be read by visualization tools like: https://eleccelerator.com/usbdescreqparser/

In ALL cases known to me the generated report descriptor is logical identical to the original, which I read using the free version of USBlyszer. But it's not byte wise identical. The order of the bytes differ, handling of reundant information differs and padding bits can be defined in a different way. And theoretical there might be also a different in report length, but only if somebody adds more constant padding bits at the end of the report than neccessary.

I developed this code with Windows7 64Bit Service Pack1 Windows7, and mcuee tested it on Windows 10 Enterprise x64 (version 20H2).

This is a variant of #262, but based on the Google Chromium approach using a reengineered struct of the preparsed data returned by HIDP_PREPARSED_DATA. The output of hidtest can be read by visualization tools like: https://eleccelerator.com/usbdescreqparser/ In ALL cases known to me the generated report descriptor is logical identical to the original, which I read using the free version of USBlyszer. But it's not byte wise identical. The order of the bytes differ, handling of reundant information differs and padding bits can be defined in a different way. And theoretical there might be also a different in report length, but only if somebody adds more constant padding bits at the end of the report than neccessary. I developed this code with Windows7 64Bit Service Pack1 Windows7, and mcuee tested it on Windows 10 Enterprise x64 (version 20H2).
mcuee commented 2021-07-18 09:18:42 -05:00 (Migrated from github.com)

Nice.

This is the output for my devices and the results look better than #262 at the first glance.

click to expand
C:\work\hid\hidapi_test2\windows\x64\Release [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> .\hidtest.exe
hidapi test/example tool. Compiled with hidapi version 0.11.0, runtime version 0.11.0.
Compile-time version matches runtime version of hidapi.

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col01#7&383a3a17&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 02            Report ID (2)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 10            Usage Maximum (16)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 10            Report Count (16)
81 02            Input (0x02)
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
16 01 F8         Logical Minimum (-2047)
26 FF 07         Logical Maximum (2047)
75 0C            Report Size (12)
95 02            Report Count (2)
81 06            Input (0x06)
09 38            Usage (56)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
05 0C            Usage Page (12)
0A 38 02         Usage (568)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(75 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01,
0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07,
0x75, 0x0c, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81,
0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0c,
0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95,
0x01, 0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col02#7&383a3a17&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 03            Report ID (3)
19 01            Usage Minimum (1)
2A 8C 02         Usage Maximum (652)
15 01            Logical Minimum (1)
26 8C 02         Logical Maximum (652)
75 10            Report Size (16)
95 02            Report Count (2)
81 00            Input (0x00)
C0               End Collection
(25 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x01,
0x2a, 0x8c, 0x02, 0x15, 0x01, 0x26, 0x8c, 0x02, 0x75, 0x10,
0x95, 0x02, 0x81, 0x00, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col03#7&383a3a17&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x80 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 80            Usage  (128)
A1 01            Collection (Application)
85 04            Report ID (4)
09 83            Usage (131)
09 81            Usage (129)
09 82            Usage (130)
15 01            Logical Minimum (1)
25 03            Logical Maximum (3)
75 02            Report Size (2)
95 03            Report Count (3)
81 60            Input (0x60)
Report Size (-2)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 01            Report Size (1)
95 01            Report Count (1)
81 03            Input (0x03) Padding
Report Size (-2)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 01            Report Size (1)
95 01            Report Count (1)
81 03            Input (0x03) Padding
Report Size (-1)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(55 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x83,
0x09, 0x81, 0x09, 0x82, 0x15, 0x01, 0x25, 0x03, 0x75, 0x02,
0x95, 0x03, 0x81, 0x60, 0x95, 0x01, 0x81, 0x03, 0x75, 0x01,
0x95, 0x01, 0x81, 0x03, 0x95, 0x01, 0x81, 0x03, 0x75, 0x01,
0x95, 0x01, 0x81, 0x03, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07,
0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col04#7&383a3a17&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xff00)
  Report Descriptor:
06 00 FF         Usage Page (65280)
09 01            Usage  (1)
A1 01            Collection (Application)
85 10            Report ID (16)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 06            Report Count (6)
91 00            Output (0x00)
C0               End Collection
(36 bytes)
0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x09,
0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06,
0x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75,
0x08, 0x95, 0x06, 0x91, 0x00, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col01#5&99b72d3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 01            Report ID (1)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
09 38            Usage (56)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 03            Report Count (3)
81 06            Input (0x06)
05 0C            Usage Page (12)
0A 38 02         Usage (568)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(69 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x01, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31,
0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03,
0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25,
0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 8087 0a1e
  path: \\?\hid#intc816&col01#3&36a7043c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xc (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 0C            Usage  (12)
A1 01            Collection (Application)
85 08            Report ID (8)
09 C6            Usage (198)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(27 bytes)
0x05, 0x01, 0x09, 0x0c, 0xa1, 0x01, 0x85, 0x08, 0x09, 0xc6,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 044e 1212
  path: \\?\hid#vid_044e&pid_1212&col01&col02#7&290aacae&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
85 07            Report ID (7)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)
95 01            Report Count (1)
81 03            Input (0x03) Padding
19 00            Usage Minimum (0)
29 75            Usage Maximum (117)
15 00            Logical Minimum (0)
25 FF            Logical Maximum (-1)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
C0               End Collection
(45 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x07, 0x05, 0x07,
0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03,
0x19, 0x00, 0x29, 0x75, 0x15, 0x00, 0x25, 0xff, 0x75, 0x08,
0x95, 0x06, 0x81, 0x00, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col05#7&383a3a17&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0xff00)
  Report Descriptor:
06 00 FF         Usage Page (65280)
09 02            Usage  (2)
A1 01            Collection (Application)
85 11            Report ID (17)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 13            Report Count (19)
81 00            Input (0x00)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 13            Report Count (19)
91 00            Output (0x00)
C0               End Collection
(36 bytes)
0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x09,
0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13,
0x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75,
0x08, 0x95, 0x13, 0x91, 0x00, 0xc0,

Device Found
  type: 8087 0a1e
  path: \\?\hid#intc816&col02#3&36a7043c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xd (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 0D            Usage  (13)
A1 01            Collection (Application)
09 0D            Usage  (13)
A1 02            Collection (Logical)
85 1C            Report ID (28)
09 81            Usage (129)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 02            Input (0x02)
09 CB            Usage (203)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 02            Feature (0x02)
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
C0               End Collection
(50 bytes)
0x05, 0x01, 0x09, 0x0d, 0xa1, 0x01, 0x09, 0x0d, 0xa1, 0x02,
0x85, 0x1c, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0x81, 0x02, 0x09, 0xcb, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0xb1, 0x02, 0x75, 0x07, 0x95, 0x01,
0x81, 0x03, 0x75, 0x07, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0,

Device Found
  type: 044e 1212
  path: \\?\hid#vid_044e&pid_1212&col01&col01#7&290aacae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 06            Report ID (6)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
16 00 FE         Logical Minimum (-512)
26 00 02         Logical Maximum (512)
75 10            Report Size (16)
95 02            Report Count (2)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(54 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x06, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31,
0x16, 0x00, 0xfe, 0x26, 0x00, 0x02, 0x75, 0x10, 0x95, 0x02,
0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col02#5&99b72d3&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x5 (0xd)
  Report Descriptor:
05 0D            Usage Page (13)
09 05            Usage  (5)
A1 01            Collection (Application)
09 22            Usage  (34)
A1 02            Collection (Logical)
85 08            Report ID (8)
09 47            Usage (71)
09 42            Usage (66)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 02            Input (0x02)
09 51            Usage (81)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
75 03            Report Size (3)
95 01            Report Count (1)
81 02            Input (0x02)
75 03            Report Size (3)
95 01            Report Count (1)
81 03            Input (0x03) Padding
05 01            Usage Page (1)
09 30            Usage (48)
15 00            Logical Minimum (0)
26 AF 04         Logical Maximum (1199)
35 00            Physical Minimum (0)
46 E8 03         Physical Maximum (1000)
55 0E            Unit Exponent (14)
65 11            Unit (17)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
09 31            Usage (49)
15 00            Logical Minimum (0)
26 7B 02         Logical Maximum (635)
35 00            Physical Minimum (0)
46 12 02         Physical Maximum (530)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
C0               End Collection
05 0D            Usage Page (13)
09 56            Usage (86)
15 00            Logical Minimum (0)
27 FF FF 00 00   Logical Maximum (65535)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
09 54            Usage (84)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
75 08            Report Size (8)
95 01            Report Count (1)
81 02            Input (0x02)
05 09            Usage Page (9)
09 02            Usage (2)
09 03            Usage (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
45 00            Physical Maximum (0)
55 00            Unit Exponent (0)
65 00            Unit (0)
81 02            Input (0x02)
85 09            Report ID (9)
05 0D            Usage Page (13)
09 55            Usage (85)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 01            Report Count (1)
B1 02            Feature (0x02)
85 0A            Report ID (10)
06 00 FF         Usage Page (65280)
09 C5            Usage (197)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
96 00 01         Report Count (256)
B1 02            Feature (0x02)
75 06            Report Size (6)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(204 bytes)
0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02,
0x85, 0x08, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00,
0x25, 0x05, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00,
0x26, 0xaf, 0x04, 0x35, 0x00, 0x46, 0xe8, 0x03, 0x55, 0x0e,
0x65, 0x11, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31,
0x15, 0x00, 0x26, 0x7b, 0x02, 0x35, 0x00, 0x46, 0x12, 0x02,
0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09,
0x56, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x35, 0x00,
0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10,
0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x54, 0x15, 0x00,
0x25, 0x05, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x05, 0x09,
0x09, 0x02, 0x09, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02,
0x85, 0x09, 0x05, 0x0d, 0x09, 0x55, 0x15, 0x00, 0x25, 0x05,
0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66,
0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0x85, 0x0a,
0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00,
0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0x75, 0x06, 0x95,
0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 04d8 0033
  path: \\?\hid#vid_04d8&pid_0033#e&bd5b18b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: pk2new
  Manufacturer: Microchip Technology Inc.
  Product:      PICkit 2 Microcontroller Programmer
  Release:      2
  Interface:    -1
  Usage (page): 0x1 (0xff00)
  Report Descriptor:
06 00 FF         Usage Page (65280)
09 01            Usage  (1)
A1 01            Collection (Application)
19 01            Usage Minimum (1)
29 40            Usage Maximum (64)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 40            Report Count (64)
81 02            Input (0x02)
19 01            Usage Minimum (1)
29 40            Usage Maximum (64)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 40            Report Count (64)
91 02            Output (0x02)
C0               End Collection
(38 bytes)
0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x19, 0x01, 0x29,
0x40, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x40,
0x81, 0x02, 0x19, 0x01, 0x29, 0x40, 0x15, 0x00, 0x26, 0xff,
0x00, 0x75, 0x08, 0x95, 0x40, 0x91, 0x02, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 02            Report ID (2)
09 E9            Usage (233)
09 EA            Usage (234)
0A 21 02         Usage (545)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(32 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x02, 0x09, 0xe9,
0x09, 0xea, 0x0a, 0x21, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75,
0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81,
0x03, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x80 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 80            Usage  (128)
A1 01            Collection (Application)
85 03            Report ID (3)
09 81            Usage (129)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 02            Input (0x02)
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(27 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x81,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col03#5&99b72d3&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x1 (0xff01)
  Report Descriptor:
06 01 FF         Usage Page (65281)
09 01            Usage  (1)
A1 01            Collection (Application)
85 03            Report ID (3)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 1B            Report Count (27)
81 02            Input (0x02)
85 04            Report ID (4)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 1B            Report Count (27)
81 02            Input (0x02)
85 06            Report ID (6)
09 04            Usage (4)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 07            Report Count (7)
81 02            Input (0x02)
85 05            Report ID (5)
09 03            Usage (3)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 07            Report Count (7)
B1 02            Feature (0x02)
C0               End Collection
(80 bytes)
0x06, 0x01, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x09,
0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff,
0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08,
0x95, 0x1b, 0x81, 0x02, 0x85, 0x04, 0x09, 0x02, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85,
0x06, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08,
0x95, 0x07, 0x81, 0x02, 0x85, 0x05, 0x09, 0x03, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0xb1, 0x02, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_00#7&1c54b96&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    0
  Usage (page): 0x6 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)
95 01            Report Count (1)
81 03            Input (0x03) Padding
19 00            Usage Minimum (0)
29 A4            Usage Maximum (164)
15 00            Logical Minimum (0)
26 A4 00         Logical Maximum (164)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
05 08            Usage Page (8)
19 01            Usage Minimum (1)
29 05            Usage Maximum (5)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
91 02            Output (0x02)
75 03            Report Size (3)
95 01            Report Count (1)
91 03            Output (0x03) Padding
C0               End Collection
(66 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0,
0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08,
0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00,
0x29, 0xa4, 0x15, 0x00, 0x26, 0xa4, 0x00, 0x75, 0x08, 0x95,
0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15,
0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75,
0x03, 0x95, 0x01, 0x91, 0x03, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col04#5&99b72d3&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x1 (0xff02)
  Report Descriptor:
06 02 FF         Usage Page (65282)
09 01            Usage  (1)
A1 01            Collection (Application)
85 07            Report ID (7)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 86            Report Count (134)
B1 02            Feature (0x02)
C0               End Collection
(35 bytes)
0x06, 0x02, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x09,
0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff,
0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08,
0x95, 0x86, 0xb1, 0x02, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col05#5&99b72d3&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0xe (0xd)
  Report Descriptor:
05 0D            Usage Page (13)
09 0E            Usage  (14)
A1 01            Collection (Application)
09 22            Usage  (34)
A1 02            Collection (Logical)
85 0B            Report ID (11)
09 52            Usage (82)
15 00            Logical Minimum (0)
25 0A            Logical Maximum (10)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 01            Report Count (1)
B1 02            Feature (0x02)
C0               End Collection
09 22            Usage  (34)
A1 00            Collection (Physical)
85 0C            Report ID (12)
09 57            Usage (87)
09 58            Usage (88)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
45 00            Physical Maximum (0)
55 00            Unit Exponent (0)
65 00            Unit (0)
B1 02            Feature (0x02)
75 06            Report Size (6)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
C0               End Collection
(71 bytes)
0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02,
0x85, 0x0b, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x35, 0x00,
0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10,
0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1,
0x00, 0x85, 0x0c, 0x09, 0x57, 0x09, 0x58, 0x15, 0x00, 0x25,
0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65,
0x00, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0xb1, 0x03, 0xc0,
0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col01#5&379854aa&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
85 01            Report ID (1)
05 07            Usage Page (7)
09 69            Usage (105)
09 6A            Usage (106)
09 6B            Usage (107)
09 6C            Usage (108)
09 E3            Usage (227)
09 4C            Usage (76)
09 E2            Usage (226)
09 E0            Usage (224)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
C0               End Collection
(37 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x01, 0x05, 0x07,
0x09, 0x69, 0x09, 0x6a, 0x09, 0x6b, 0x09, 0x6c, 0x09, 0xe3,
0x09, 0x4c, 0x09, 0xe2, 0x09, 0xe0, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0xc0,

Device Found
  type: 046d b010
  path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002046d_pid&b010&col01#8&1cf1c1b9&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 34885dab0c12
  Manufacturer: Logitech
  Product:      Logitech Bluetooth Wireless Mouse
  Release:      0
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 02            Report ID (2)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 08            Usage Maximum (8)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
16 01 F8         Logical Minimum (-2047)
26 FF 07         Logical Maximum (2047)
75 0C            Report Size (12)
95 02            Report Count (2)
81 06            Input (0x06)
09 38            Usage (56)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
05 0C            Usage Page (12)
0A 38 02         Usage (568)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(75 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x08, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x05, 0x01,
0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07,
0x75, 0x0c, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81,
0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0c,
0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95,
0x01, 0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 046d b010
  path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002046d_pid&b010&col02#8&1cf1c1b9&1&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 34885dab0c12
  Manufacturer: Logitech
  Product:      Logitech Bluetooth Wireless Mouse
  Release:      0
  Interface:    -1
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 03            Report ID (3)
05 06            Usage Page (6)
09 20            Usage (32)
15 00            Logical Minimum (0)
25 64            Logical Maximum (100)
75 08            Report Size (8)
95 01            Report Count (1)
81 02            Input (0x02)
C0               End Collection
(23 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x05, 0x06,
0x09, 0x20, 0x15, 0x00, 0x25, 0x64, 0x75, 0x08, 0x95, 0x01,
0x81, 0x02, 0xc0,

Device Found
  type: 046d b010
  path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002046d_pid&b010&col03#8&1cf1c1b9&1&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 34885dab0c12
  Manufacturer: Logitech
  Product:      Logitech Bluetooth Wireless Mouse
  Release:      0
  Interface:    -1
  Usage (page): 0x1 (0xff00)
  Report Descriptor:
06 00 FF         Usage Page (65280)
09 01            Usage  (1)
A1 01            Collection (Application)
85 10            Report ID (16)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 06            Report Count (6)
91 00            Output (0x00)
C0               End Collection
(36 bytes)
0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x09,
0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06,
0x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75,
0x08, 0x95, 0x06, 0x91, 0x00, 0xc0,

Device Found
  type: 046d b010
  path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002046d_pid&b010&col04#8&1cf1c1b9&1&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 34885dab0c12
  Manufacturer: Logitech
  Product:      Logitech Bluetooth Wireless Mouse
  Release:      0
  Interface:    -1
  Usage (page): 0x2 (0xff00)
  Report Descriptor:
06 00 FF         Usage Page (65280)
09 02            Usage  (2)
A1 01            Collection (Application)
85 11            Report ID (17)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 13            Report Count (19)
81 00            Input (0x00)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 13            Report Count (19)
91 00            Output (0x00)
C0               End Collection
(36 bytes)
0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x09,
0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13,
0x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75,
0x08, 0x95, 0x13, 0x91, 0x00, 0xc0,

Device Found
  type: 046d b010
  path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002046d_pid&b010&col05#8&1cf1c1b9&1&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number: 34885dab0c12
  Manufacturer: Logitech
  Product:      Logitech Bluetooth Wireless Mouse
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
85 04            Report ID (4)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)
95 01            Report Count (1)
81 03            Input (0x03) Padding
19 00            Usage Minimum (0)
29 FF            Usage Maximum (255)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
05 08            Usage Page (8)
19 01            Usage Minimum (1)
29 05            Usage Maximum (5)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
91 02            Output (0x02)
75 03            Report Size (3)
95 01            Report Count (1)
91 03            Output (0x03) Padding
C0               End Collection
(68 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x04, 0x05, 0x07,
0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03,
0x19, 0x00, 0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75,
0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29,
0x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91,
0x02, 0x75, 0x03, 0x95, 0x01, 0x91, 0x03, 0xc0,

Device Found
  type: 046d b010
  path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002046d_pid&b010&col06#8&1cf1c1b9&1&0005#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 34885dab0c12
  Manufacturer: Logitech
  Product:      Logitech Bluetooth Wireless Mouse
  Release:      0
  Interface:    -1
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 05            Report ID (5)
0A 25 02         Usage (549)
0A 24 02         Usage (548)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 02            Input (0x02)
75 06            Report Size (6)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(31 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x05, 0x0a, 0x25,
0x02, 0x0a, 0x24, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x81, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03,
0xc0,

unable to open device
Nice. This is the output for my devices and the results look better than #262 at the first glance. <details> <summary> click to expand </summary> ``` C:\work\hid\hidapi_test2\windows\x64\Release [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> .\hidtest.exe hidapi test/example tool. Compiled with hidapi version 0.11.0, runtime version 0.11.0. Compile-time version matches runtime version of hidapi. Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col01#7&383a3a17&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 02 Report ID (2) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 10 Usage Maximum (16) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 10 Report Count (16) 81 02 Input (0x02) 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 16 01 F8 Logical Minimum (-2047) 26 FF 07 Logical Maximum (2047) 75 0C Report Size (12) 95 02 Report Count (2) 81 06 Input (0x06) 09 38 Usage (56) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) 05 0C Usage Page (12) 0A 38 02 Usage (568) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) C0 End Collection C0 End Collection (75 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07, 0x75, 0x0c, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col02#7&383a3a17&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 03 Report ID (3) 19 01 Usage Minimum (1) 2A 8C 02 Usage Maximum (652) 15 01 Logical Minimum (1) 26 8C 02 Logical Maximum (652) 75 10 Report Size (16) 95 02 Report Count (2) 81 00 Input (0x00) C0 End Collection (25 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x01, 0x2a, 0x8c, 0x02, 0x15, 0x01, 0x26, 0x8c, 0x02, 0x75, 0x10, 0x95, 0x02, 0x81, 0x00, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col03#7&383a3a17&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x80 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 80 Usage (128) A1 01 Collection (Application) 85 04 Report ID (4) 09 83 Usage (131) 09 81 Usage (129) 09 82 Usage (130) 15 01 Logical Minimum (1) 25 03 Logical Maximum (3) 75 02 Report Size (2) 95 03 Report Count (3) 81 60 Input (0x60) Report Size (-2) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 01 Report Size (1) 95 01 Report Count (1) 81 03 Input (0x03) Padding Report Size (-2) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 01 Report Size (1) 95 01 Report Count (1) 81 03 Input (0x03) Padding Report Size (-1) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (55 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x83, 0x09, 0x81, 0x09, 0x82, 0x15, 0x01, 0x25, 0x03, 0x75, 0x02, 0x95, 0x03, 0x81, 0x60, 0x95, 0x01, 0x81, 0x03, 0x75, 0x01, 0x95, 0x01, 0x81, 0x03, 0x95, 0x01, 0x81, 0x03, 0x75, 0x01, 0x95, 0x01, 0x81, 0x03, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col04#7&383a3a17&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xff00) Report Descriptor: 06 00 FF Usage Page (65280) 09 01 Usage (1) A1 01 Collection (Application) 85 10 Report ID (16) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 06 Report Count (6) 91 00 Output (0x00) C0 End Collection (36 bytes) 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x91, 0x00, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col01#5&99b72d3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 01 Report ID (1) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 09 38 Usage (56) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 03 Report Count (3) 81 06 Input (0x06) 05 0C Usage Page (12) 0A 38 02 Usage (568) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) C0 End Collection C0 End Collection (69 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x01, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 8087 0a1e path: \\?\hid#intc816&col01#3&36a7043c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 200 Interface: -1 Usage (page): 0xc (0x1) Report Descriptor: 05 01 Usage Page (1) 09 0C Usage (12) A1 01 Collection (Application) 85 08 Report ID (8) 09 C6 Usage (198) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (27 bytes) 0x05, 0x01, 0x09, 0x0c, 0xa1, 0x01, 0x85, 0x08, 0x09, 0xc6, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 044e 1212 path: \\?\hid#vid_044e&pid_1212&col01&col02#7&290aacae&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 85 07 Report ID (7) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) 95 01 Report Count (1) 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 75 Usage Maximum (117) 15 00 Logical Minimum (0) 25 FF Logical Maximum (-1) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) C0 End Collection (45 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x07, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0x75, 0x15, 0x00, 0x25, 0xff, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col05#7&383a3a17&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0xff00) Report Descriptor: 06 00 FF Usage Page (65280) 09 02 Usage (2) A1 01 Collection (Application) 85 11 Report ID (17) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 13 Report Count (19) 81 00 Input (0x00) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 13 Report Count (19) 91 00 Output (0x00) C0 End Collection (36 bytes) 0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13, 0x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13, 0x91, 0x00, 0xc0, Device Found type: 8087 0a1e path: \\?\hid#intc816&col02#3&36a7043c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 200 Interface: -1 Usage (page): 0xd (0x1) Report Descriptor: 05 01 Usage Page (1) 09 0D Usage (13) A1 01 Collection (Application) 09 0D Usage (13) A1 02 Collection (Logical) 85 1C Report ID (28) 09 81 Usage (129) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 02 Input (0x02) 09 CB Usage (203) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 02 Feature (0x02) 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection C0 End Collection (50 bytes) 0x05, 0x01, 0x09, 0x0d, 0xa1, 0x01, 0x09, 0x0d, 0xa1, 0x02, 0x85, 0x1c, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x09, 0xcb, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, Device Found type: 044e 1212 path: \\?\hid#vid_044e&pid_1212&col01&col01#7&290aacae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 06 Report ID (6) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 16 00 FE Logical Minimum (-512) 26 00 02 Logical Maximum (512) 75 10 Report Size (16) 95 02 Report Count (2) 81 06 Input (0x06) C0 End Collection C0 End Collection (54 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x06, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x00, 0xfe, 0x26, 0x00, 0x02, 0x75, 0x10, 0x95, 0x02, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col02#5&99b72d3&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x5 (0xd) Report Descriptor: 05 0D Usage Page (13) 09 05 Usage (5) A1 01 Collection (Application) 09 22 Usage (34) A1 02 Collection (Logical) 85 08 Report ID (8) 09 47 Usage (71) 09 42 Usage (66) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 02 Input (0x02) 09 51 Usage (81) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 75 03 Report Size (3) 95 01 Report Count (1) 81 02 Input (0x02) 75 03 Report Size (3) 95 01 Report Count (1) 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 15 00 Logical Minimum (0) 26 AF 04 Logical Maximum (1199) 35 00 Physical Minimum (0) 46 E8 03 Physical Maximum (1000) 55 0E Unit Exponent (14) 65 11 Unit (17) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) 09 31 Usage (49) 15 00 Logical Minimum (0) 26 7B 02 Logical Maximum (635) 35 00 Physical Minimum (0) 46 12 02 Physical Maximum (530) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) C0 End Collection 05 0D Usage Page (13) 09 56 Usage (86) 15 00 Logical Minimum (0) 27 FF FF 00 00 Logical Maximum (65535) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) 09 54 Usage (84) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 75 08 Report Size (8) 95 01 Report Count (1) 81 02 Input (0x02) 05 09 Usage Page (9) 09 02 Usage (2) 09 03 Usage (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 45 00 Physical Maximum (0) 55 00 Unit Exponent (0) 65 00 Unit (0) 81 02 Input (0x02) 85 09 Report ID (9) 05 0D Usage Page (13) 09 55 Usage (85) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 01 Report Count (1) B1 02 Feature (0x02) 85 0A Report ID (10) 06 00 FF Usage Page (65280) 09 C5 Usage (197) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 96 00 01 Report Count (256) B1 02 Feature (0x02) 75 06 Report Size (6) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (204 bytes) 0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02, 0x85, 0x08, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00, 0x25, 0x05, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00, 0x26, 0xaf, 0x04, 0x35, 0x00, 0x46, 0xe8, 0x03, 0x55, 0x0e, 0x65, 0x11, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31, 0x15, 0x00, 0x26, 0x7b, 0x02, 0x35, 0x00, 0x46, 0x12, 0x02, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x56, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x54, 0x15, 0x00, 0x25, 0x05, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x05, 0x09, 0x09, 0x02, 0x09, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02, 0x85, 0x09, 0x05, 0x0d, 0x09, 0x55, 0x15, 0x00, 0x25, 0x05, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0x85, 0x0a, 0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 04d8 0033 path: \\?\hid#vid_04d8&pid_0033#e&bd5b18b&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: pk2new Manufacturer: Microchip Technology Inc. Product: PICkit 2 Microcontroller Programmer Release: 2 Interface: -1 Usage (page): 0x1 (0xff00) Report Descriptor: 06 00 FF Usage Page (65280) 09 01 Usage (1) A1 01 Collection (Application) 19 01 Usage Minimum (1) 29 40 Usage Maximum (64) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 40 Report Count (64) 81 02 Input (0x02) 19 01 Usage Minimum (1) 29 40 Usage Maximum (64) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 40 Report Count (64) 91 02 Output (0x02) C0 End Collection (38 bytes) 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x19, 0x01, 0x29, 0x40, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x40, 0x81, 0x02, 0x19, 0x01, 0x29, 0x40, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x40, 0x91, 0x02, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 02 Report ID (2) 09 E9 Usage (233) 09 EA Usage (234) 0A 21 02 Usage (545) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (32 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x02, 0x09, 0xe9, 0x09, 0xea, 0x0a, 0x21, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x80 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 80 Usage (128) A1 01 Collection (Application) 85 03 Report ID (3) 09 81 Usage (129) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 02 Input (0x02) 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (27 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col03#5&99b72d3&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x1 (0xff01) Report Descriptor: 06 01 FF Usage Page (65281) 09 01 Usage (1) A1 01 Collection (Application) 85 03 Report ID (3) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 1B Report Count (27) 81 02 Input (0x02) 85 04 Report ID (4) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 1B Report Count (27) 81 02 Input (0x02) 85 06 Report ID (6) 09 04 Usage (4) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 07 Report Count (7) 81 02 Input (0x02) 85 05 Report ID (5) 09 03 Usage (3) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 07 Report Count (7) B1 02 Feature (0x02) C0 End Collection (80 bytes) 0x06, 0x01, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85, 0x04, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85, 0x06, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0x81, 0x02, 0x85, 0x05, 0x09, 0x03, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0xb1, 0x02, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_00#7&1c54b96&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 0 Usage (page): 0x6 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) 95 01 Report Count (1) 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 A4 Usage Maximum (164) 15 00 Logical Minimum (0) 26 A4 00 Logical Maximum (164) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 05 08 Usage Page (8) 19 01 Usage Minimum (1) 29 05 Usage Maximum (5) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 91 02 Output (0x02) 75 03 Report Size (3) 95 01 Report Count (1) 91 03 Output (0x03) Padding C0 End Collection (66 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0xa4, 0x15, 0x00, 0x26, 0xa4, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75, 0x03, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col04#5&99b72d3&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x1 (0xff02) Report Descriptor: 06 02 FF Usage Page (65282) 09 01 Usage (1) A1 01 Collection (Application) 85 07 Report ID (7) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 86 Report Count (134) B1 02 Feature (0x02) C0 End Collection (35 bytes) 0x06, 0x02, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x86, 0xb1, 0x02, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col05#5&99b72d3&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0xe (0xd) Report Descriptor: 05 0D Usage Page (13) 09 0E Usage (14) A1 01 Collection (Application) 09 22 Usage (34) A1 02 Collection (Logical) 85 0B Report ID (11) 09 52 Usage (82) 15 00 Logical Minimum (0) 25 0A Logical Maximum (10) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 01 Report Count (1) B1 02 Feature (0x02) C0 End Collection 09 22 Usage (34) A1 00 Collection (Physical) 85 0C Report ID (12) 09 57 Usage (87) 09 58 Usage (88) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 45 00 Physical Maximum (0) 55 00 Unit Exponent (0) 65 00 Unit (0) B1 02 Feature (0x02) 75 06 Report Size (6) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection C0 End Collection (71 bytes) 0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02, 0x85, 0x0b, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1, 0x00, 0x85, 0x0c, 0x09, 0x57, 0x09, 0x58, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col01#5&379854aa&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 85 01 Report ID (1) 05 07 Usage Page (7) 09 69 Usage (105) 09 6A Usage (106) 09 6B Usage (107) 09 6C Usage (108) 09 E3 Usage (227) 09 4C Usage (76) 09 E2 Usage (226) 09 E0 Usage (224) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) C0 End Collection (37 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x01, 0x05, 0x07, 0x09, 0x69, 0x09, 0x6a, 0x09, 0x6b, 0x09, 0x6c, 0x09, 0xe3, 0x09, 0x4c, 0x09, 0xe2, 0x09, 0xe0, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0xc0, Device Found type: 046d b010 path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002046d_pid&b010&col01#8&1cf1c1b9&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 34885dab0c12 Manufacturer: Logitech Product: Logitech Bluetooth Wireless Mouse Release: 0 Interface: -1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 02 Report ID (2) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 08 Usage Maximum (8) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 16 01 F8 Logical Minimum (-2047) 26 FF 07 Logical Maximum (2047) 75 0C Report Size (12) 95 02 Report Count (2) 81 06 Input (0x06) 09 38 Usage (56) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) 05 0C Usage Page (12) 0A 38 02 Usage (568) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) C0 End Collection C0 End Collection (75 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x08, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07, 0x75, 0x0c, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 046d b010 path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002046d_pid&b010&col02#8&1cf1c1b9&1&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 34885dab0c12 Manufacturer: Logitech Product: Logitech Bluetooth Wireless Mouse Release: 0 Interface: -1 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 03 Report ID (3) 05 06 Usage Page (6) 09 20 Usage (32) 15 00 Logical Minimum (0) 25 64 Logical Maximum (100) 75 08 Report Size (8) 95 01 Report Count (1) 81 02 Input (0x02) C0 End Collection (23 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x05, 0x06, 0x09, 0x20, 0x15, 0x00, 0x25, 0x64, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0xc0, Device Found type: 046d b010 path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002046d_pid&b010&col03#8&1cf1c1b9&1&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 34885dab0c12 Manufacturer: Logitech Product: Logitech Bluetooth Wireless Mouse Release: 0 Interface: -1 Usage (page): 0x1 (0xff00) Report Descriptor: 06 00 FF Usage Page (65280) 09 01 Usage (1) A1 01 Collection (Application) 85 10 Report ID (16) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 06 Report Count (6) 91 00 Output (0x00) C0 End Collection (36 bytes) 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x91, 0x00, 0xc0, Device Found type: 046d b010 path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002046d_pid&b010&col04#8&1cf1c1b9&1&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 34885dab0c12 Manufacturer: Logitech Product: Logitech Bluetooth Wireless Mouse Release: 0 Interface: -1 Usage (page): 0x2 (0xff00) Report Descriptor: 06 00 FF Usage Page (65280) 09 02 Usage (2) A1 01 Collection (Application) 85 11 Report ID (17) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 13 Report Count (19) 81 00 Input (0x00) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 13 Report Count (19) 91 00 Output (0x00) C0 End Collection (36 bytes) 0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13, 0x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13, 0x91, 0x00, 0xc0, Device Found type: 046d b010 path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002046d_pid&b010&col05#8&1cf1c1b9&1&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: 34885dab0c12 Manufacturer: Logitech Product: Logitech Bluetooth Wireless Mouse Release: 0 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 85 04 Report ID (4) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) 95 01 Report Count (1) 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 FF Usage Maximum (255) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 05 08 Usage Page (8) 19 01 Usage Minimum (1) 29 05 Usage Maximum (5) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 91 02 Output (0x02) 75 03 Report Size (3) 95 01 Report Count (1) 91 03 Output (0x03) Padding C0 End Collection (68 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x04, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75, 0x03, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 046d b010 path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}_vid&0002046d_pid&b010&col06#8&1cf1c1b9&1&0005#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 34885dab0c12 Manufacturer: Logitech Product: Logitech Bluetooth Wireless Mouse Release: 0 Interface: -1 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 05 Report ID (5) 0A 25 02 Usage (549) 0A 24 02 Usage (548) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 02 Input (0x02) 75 06 Report Size (6) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (31 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x05, 0x0a, 0x25, 0x02, 0x0a, 0x24, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0, unable to open device ``` </details>
mcuee commented 2021-07-18 09:32:56 -05:00 (Migrated from github.com)

Result for Microsoft USB Nano Receiver.

click to expand
Device Found
  type: 045e 0773
  path: \\?\hid#vid_045e&pid_0773&mi_00#7&2f5f6ab5&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer:
  Product:
  Release:      674
  Interface:    0
  Usage (page): 0x6 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)
95 01            Report Count (1)
81 03            Input (0x03) Padding
19 00            Usage Minimum (0)
29 91            Usage Maximum (145)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
05 08            Usage Page (8)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
91 02            Output (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
91 03            Output (0x03) Padding
C0               End Collection
(66 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0,
0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08,
0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00,
0x29, 0x91, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95,
0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x03, 0x15,
0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x91, 0x02, 0x75,
0x05, 0x95, 0x01, 0x91, 0x03, 0xc0,

Device Found
  type: 045e 0773
  path: \\?\hid#vid_045e&pid_0773&mi_02&col01#7&3b731c32&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      674
  Interface:    2
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 21            Report ID (33)
06 00 FF         Usage Page (65280)
1A 10 FA         Usage Minimum (64016)
2A 1F FA         Usage Maximum (64031)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 10            Report Count (16)
81 02            Input (0x02)
85 27            Report ID (39)
0A 0A FA         Usage (64010)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 1F            Report Count (31)
81 02            Input (0x02)
85 14            Report ID (20)
0A 01 FE         Usage (65025)
15 00            Logical Minimum (0)
25 03            Logical Maximum (3)
75 02            Report Size (2)
95 01            Report Count (1)
81 02            Input (0x02)
85 04            Report ID (4)
0A 01 FE         Usage (65025)
15 00            Logical Minimum (0)
25 03            Logical Maximum (3)
75 02            Report Size (2)
95 01            Report Count (1)
81 02            Input (0x02)
85 20            Report ID (32)
0A 0A FA         Usage (64010)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 12            Report Count (18)
B1 02            Feature (0x02)
85 28            Report ID (40)
1A 10 FA         Usage Minimum (64016)
2A 1F FA         Usage Maximum (64031)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 10            Report Count (16)
B1 02            Feature (0x02)
85 22            Report ID (34)
0A 0A FA         Usage (64010)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 1A            Report Count (26)
B1 02            Feature (0x02)
85 23            Report ID (35)
0A 0A FA         Usage (64010)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 1A            Report Count (26)
B1 02            Feature (0x02)
85 24            Report ID (36)
0A 0A FA         Usage (64010)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 1F            Report Count (31)
B1 02            Feature (0x02)
85 25            Report ID (37)
0A 0A FA         Usage (64010)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 1F            Report Count (31)
B1 02            Feature (0x02)
85 26            Report ID (38)
0A 0A FA         Usage (64010)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 1F            Report Count (31)
B1 02            Feature (0x02)
75 06            Report Size (6)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 06            Report Size (6)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(200 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x21, 0x06, 0x00,
0xff, 0x1a, 0x10, 0xfa, 0x2a, 0x1f, 0xfa, 0x15, 0x00, 0x25,
0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x85, 0x27, 0x0a,
0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95,
0x1f, 0x81, 0x02, 0x85, 0x14, 0x0a, 0x01, 0xfe, 0x15, 0x00,
0x25, 0x03, 0x75, 0x02, 0x95, 0x01, 0x81, 0x02, 0x85, 0x04,
0x0a, 0x01, 0xfe, 0x15, 0x00, 0x25, 0x03, 0x75, 0x02, 0x95,
0x01, 0x81, 0x02, 0x85, 0x20, 0x0a, 0x0a, 0xfa, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x12, 0xb1, 0x02, 0x85,
0x28, 0x1a, 0x10, 0xfa, 0x2a, 0x1f, 0xfa, 0x15, 0x00, 0x25,
0x01, 0x75, 0x01, 0x95, 0x10, 0xb1, 0x02, 0x85, 0x22, 0x0a,
0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95,
0x1a, 0xb1, 0x02, 0x85, 0x23, 0x0a, 0x0a, 0xfa, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1a, 0xb1, 0x02, 0x85,
0x24, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75,
0x08, 0x95, 0x1f, 0xb1, 0x02, 0x85, 0x25, 0x0a, 0x0a, 0xfa,
0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1f, 0xb1,
0x02, 0x85, 0x26, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff,
0x00, 0x75, 0x08, 0x95, 0x1f, 0xb1, 0x02, 0x75, 0x06, 0x95,
0x01, 0x81, 0x03, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 045e 0773
  path: \\?\hid#vid_045e&pid_0773&mi_02&col02#7&3b731c32&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      674
  Interface:    2
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 07            Report ID (7)
19 00            Usage Minimum (0)
2A FF 03         Usage Maximum (1023)
15 00            Logical Minimum (0)
26 FF 03         Logical Maximum (1023)
75 10            Report Size (16)
95 01            Report Count (1)
81 00            Input (0x00)
05 07            Usage Page (7)
19 00            Usage Minimum (0)
29 FF            Usage Maximum (255)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 01            Report Count (1)
81 00            Input (0x00)
75 08            Report Size (8)
95 01            Report Count (1)
81 03            Input (0x03) Padding
06 00 FF         Usage Page (65280)
0A 03 FE         Usage (65027)
0A 04 FE         Usage (65028)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 02            Input (0x02)
0A 05 FF         Usage (65285)
15 00            Logical Minimum (0)
25 1F            Logical Maximum (31)
75 05            Report Size (5)
95 01            Report Count (1)
81 02            Input (0x02)
75 01            Report Size (1)
95 01            Report Count (1)
81 03            Input (0x03) Padding
1A 01 FD         Usage Minimum (64769)
2A FF FD         Usage Maximum (65023)
15 01            Logical Minimum (1)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 01            Report Count (1)
81 00            Input (0x00)
0A 02 FF         Usage (65282)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 01            Report Count (1)
81 02            Input (0x02)
C0               End Collection
(117 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x19, 0x00,
0x2a, 0xff, 0x03, 0x15, 0x00, 0x26, 0xff, 0x03, 0x75, 0x10,
0x95, 0x01, 0x81, 0x00, 0x05, 0x07, 0x19, 0x00, 0x29, 0xff,
0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81,
0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x06, 0x00, 0xff,
0x0a, 0x03, 0xfe, 0x0a, 0x04, 0xfe, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x0a, 0x05, 0xff, 0x15,
0x00, 0x25, 0x1f, 0x75, 0x05, 0x95, 0x01, 0x81, 0x02, 0x75,
0x01, 0x95, 0x01, 0x81, 0x03, 0x1a, 0x01, 0xfd, 0x2a, 0xff,
0xfd, 0x15, 0x01, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01,
0x81, 0x00, 0x0a, 0x02, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00,
0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0xc0,

Device Found
  type: 045e 0773
  path: \\?\hid#vid_045e&pid_0773&mi_02&col03#7&3b731c32&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      674
  Interface:    2
  Usage (page): 0x88 (0xffbc)
  Report Descriptor:
06 BC FF         Usage Page (65468)
09 88            Usage  (136)
A1 01            Collection (Application)
85 08            Report ID (8)
19 01            Usage Minimum (1)
29 FF            Usage Maximum (255)
15 01            Logical Minimum (1)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 01            Report Count (1)
81 00            Input (0x00)
C0               End Collection
(25 bytes)
0x06, 0xbc, 0xff, 0x09, 0x88, 0xa1, 0x01, 0x85, 0x08, 0x19,
0x01, 0x29, 0xff, 0x15, 0x01, 0x26, 0xff, 0x00, 0x75, 0x08,
0x95, 0x01, 0x81, 0x00, 0xc0,

Device Found
  type: 045e 0773
  path: \\?\hid#vid_045e&pid_0773&mi_02&col04#7&3b731c32&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      674
  Interface:    2
  Usage (page): 0x80 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 80            Usage  (128)
A1 01            Collection (Application)
85 03            Report ID (3)
19 00            Usage Minimum (0)
29 FF            Usage Maximum (255)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 01            Report Count (1)
81 00            Input (0x00)
C0               End Collection
(24 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x00,
0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95,
0x01, 0x81, 0x00, 0xc0,

Device Found
  type: 045e 0773
  path: \\?\hid#vid_045e&pid_0773&mi_01&col01#7&179bde70&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      674
  Interface:    1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 02            Usage  (2)
A1 02            Collection (Logical)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 1A            Report ID (26)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 05            Usage Maximum (5)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
81 02            Input (0x02)
75 03            Report Size (3)
95 01            Report Count (1)
81 03            Input (0x03) Padding
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
16 01 80         Logical Minimum (-32767)
26 FF 7F         Logical Maximum (32767)
75 10            Report Size (16)
95 02            Report Count (2)
81 06            Input (0x06)
09 00            Usage  (0)
A1 02            Collection (Logical)
09 38            Usage (56)
16 01 80         Logical Minimum (-32767)
26 FF 7F         Logical Maximum (32767)
75 10            Report Size (16)
95 01            Report Count (1)
81 06            Input (0x06)
85 12            Report ID (18)
09 48            Usage (72)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
35 01            Physical Minimum (1)
45 04            Physical Maximum (4)
75 02            Report Size (2)
95 01            Report Count (1)
B1 02            Feature (0x02)
C0               End Collection
09 00            Usage  (0)
A1 02            Collection (Logical)
85 1A            Report ID (26)
05 0C            Usage Page (12)
0A 38 02         Usage (568)
16 01 80         Logical Minimum (-32767)
26 FF 7F         Logical Maximum (32767)
35 00            Physical Minimum (0)
45 00            Physical Maximum (0)
75 10            Report Size (16)
95 01            Report Count (1)
81 06            Input (0x06)
85 12            Report ID (18)
05 01            Usage Page (1)
09 48            Usage (72)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
35 01            Physical Minimum (1)
45 04            Physical Maximum (4)
75 02            Report Size (2)
95 01            Report Count (1)
B1 02            Feature (0x02)
75 04            Report Size (4)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
C0               End Collection
C0               End Collection
C0               End Collection
(150 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x02, 0xa1, 0x02,
0x09, 0x01, 0xa1, 0x00, 0x85, 0x1a, 0x05, 0x09, 0x19, 0x01,
0x29, 0x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05,
0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01,
0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0x80, 0x26, 0xff, 0x7f,
0x75, 0x10, 0x95, 0x02, 0x81, 0x06, 0x09, 0x00, 0xa1, 0x02,
0x09, 0x38, 0x16, 0x01, 0x80, 0x26, 0xff, 0x7f, 0x75, 0x10,
0x95, 0x01, 0x81, 0x06, 0x85, 0x12, 0x09, 0x48, 0x15, 0x00,
0x25, 0x01, 0x35, 0x01, 0x45, 0x04, 0x75, 0x02, 0x95, 0x01,
0xb1, 0x02, 0xc0, 0x09, 0x00, 0xa1, 0x02, 0x85, 0x1a, 0x05,
0x0c, 0x0a, 0x38, 0x02, 0x16, 0x01, 0x80, 0x26, 0xff, 0x7f,
0x35, 0x00, 0x45, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81, 0x06,
0x85, 0x12, 0x05, 0x01, 0x09, 0x48, 0x15, 0x00, 0x25, 0x01,
0x35, 0x01, 0x45, 0x04, 0x75, 0x02, 0x95, 0x01, 0xb1, 0x02,
0x75, 0x04, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, 0xc0, 0xc0,

Device Found
  type: 045e 0773
  path: \\?\hid#vid_045e&pid_0773&mi_01&col02#7&179bde70&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      674
  Interface:    1
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
05 01            Usage Page (1)
09 02            Usage  (2)
A1 02            Collection (Logical)
85 1F            Report ID (31)
05 0C            Usage Page (12)
0A 38 02         Usage (568)
16 01 80         Logical Minimum (-32767)
26 FF 7F         Logical Maximum (32767)
75 10            Report Size (16)
95 01            Report Count (1)
81 06            Input (0x06)
85 17            Report ID (23)
06 00 FF         Usage Page (65280)
0A 06 FF         Usage (65286)
0A 0F FF         Usage (65295)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
35 01            Physical Minimum (1)
45 04            Physical Maximum (4)
75 02            Report Size (2)
95 02            Report Count (2)
B1 02            Feature (0x02)
0A 04 FF         Usage (65284)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
35 00            Physical Minimum (0)
45 00            Physical Maximum (0)
B1 02            Feature (0x02)
75 03            Report Size (3)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
85 16            Report ID (22)
05 0C            Usage Page (12)
19 00            Usage Minimum (0)
2A FF 03         Usage Maximum (1023)
15 00            Logical Minimum (0)
26 FF 03         Logical Maximum (1023)
75 10            Report Size (16)
95 01            Report Count (1)
81 00            Input (0x00)
06 00 FF         Usage Page (65280)
1A 01 FD         Usage Minimum (64769)
2A FF FD         Usage Maximum (65023)
15 01            Logical Minimum (1)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 01            Report Count (1)
81 00            Input (0x00)
85 1C            Report ID (28)
0A 25 FF         Usage (65317)
15 00            Logical Minimum (0)
25 04            Logical Maximum (4)
75 08            Report Size (8)
95 01            Report Count (1)
81 02            Input (0x02)
0A 26 FF         Usage (65318)
15 00            Logical Minimum (0)
27 FF FF 00 00   Logical Maximum (65535)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
C0               End Collection
(152 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x05, 0x01, 0x09, 0x02,
0xa1, 0x02, 0x85, 0x1f, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x16,
0x01, 0x80, 0x26, 0xff, 0x7f, 0x75, 0x10, 0x95, 0x01, 0x81,
0x06, 0x85, 0x17, 0x06, 0x00, 0xff, 0x0a, 0x06, 0xff, 0x0a,
0x0f, 0xff, 0x15, 0x00, 0x25, 0x01, 0x35, 0x01, 0x45, 0x04,
0x75, 0x02, 0x95, 0x02, 0xb1, 0x02, 0x0a, 0x04, 0xff, 0x15,
0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x35, 0x00, 0x45,
0x00, 0xb1, 0x02, 0x75, 0x03, 0x95, 0x01, 0xb1, 0x03, 0xc0,
0x85, 0x16, 0x05, 0x0c, 0x19, 0x00, 0x2a, 0xff, 0x03, 0x15,
0x00, 0x26, 0xff, 0x03, 0x75, 0x10, 0x95, 0x01, 0x81, 0x00,
0x06, 0x00, 0xff, 0x1a, 0x01, 0xfd, 0x2a, 0xff, 0xfd, 0x15,
0x01, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x00,
0x85, 0x1c, 0x0a, 0x25, 0xff, 0x15, 0x00, 0x25, 0x04, 0x75,
0x08, 0x95, 0x01, 0x81, 0x02, 0x0a, 0x26, 0xff, 0x15, 0x00,
0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81,
0x02, 0xc0,
Result for Microsoft USB Nano Receiver. <details> <summary> click to expand </summary> ``` Device Found type: 045e 0773 path: \\?\hid#vid_045e&pid_0773&mi_00#7&2f5f6ab5&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Product: Release: 674 Interface: 0 Usage (page): 0x6 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) 95 01 Report Count (1) 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 91 Usage Maximum (145) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 05 08 Usage Page (8) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 91 02 Output (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 91 03 Output (0x03) Padding C0 End Collection (66 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0x91, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x91, 0x02, 0x75, 0x05, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 045e 0773 path: \\?\hid#vid_045e&pid_0773&mi_02&col01#7&3b731c32&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 674 Interface: 2 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 21 Report ID (33) 06 00 FF Usage Page (65280) 1A 10 FA Usage Minimum (64016) 2A 1F FA Usage Maximum (64031) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 10 Report Count (16) 81 02 Input (0x02) 85 27 Report ID (39) 0A 0A FA Usage (64010) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 1F Report Count (31) 81 02 Input (0x02) 85 14 Report ID (20) 0A 01 FE Usage (65025) 15 00 Logical Minimum (0) 25 03 Logical Maximum (3) 75 02 Report Size (2) 95 01 Report Count (1) 81 02 Input (0x02) 85 04 Report ID (4) 0A 01 FE Usage (65025) 15 00 Logical Minimum (0) 25 03 Logical Maximum (3) 75 02 Report Size (2) 95 01 Report Count (1) 81 02 Input (0x02) 85 20 Report ID (32) 0A 0A FA Usage (64010) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 12 Report Count (18) B1 02 Feature (0x02) 85 28 Report ID (40) 1A 10 FA Usage Minimum (64016) 2A 1F FA Usage Maximum (64031) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 10 Report Count (16) B1 02 Feature (0x02) 85 22 Report ID (34) 0A 0A FA Usage (64010) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 1A Report Count (26) B1 02 Feature (0x02) 85 23 Report ID (35) 0A 0A FA Usage (64010) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 1A Report Count (26) B1 02 Feature (0x02) 85 24 Report ID (36) 0A 0A FA Usage (64010) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 1F Report Count (31) B1 02 Feature (0x02) 85 25 Report ID (37) 0A 0A FA Usage (64010) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 1F Report Count (31) B1 02 Feature (0x02) 85 26 Report ID (38) 0A 0A FA Usage (64010) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 1F Report Count (31) B1 02 Feature (0x02) 75 06 Report Size (6) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 06 Report Size (6) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (200 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x21, 0x06, 0x00, 0xff, 0x1a, 0x10, 0xfa, 0x2a, 0x1f, 0xfa, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x85, 0x27, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1f, 0x81, 0x02, 0x85, 0x14, 0x0a, 0x01, 0xfe, 0x15, 0x00, 0x25, 0x03, 0x75, 0x02, 0x95, 0x01, 0x81, 0x02, 0x85, 0x04, 0x0a, 0x01, 0xfe, 0x15, 0x00, 0x25, 0x03, 0x75, 0x02, 0x95, 0x01, 0x81, 0x02, 0x85, 0x20, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x12, 0xb1, 0x02, 0x85, 0x28, 0x1a, 0x10, 0xfa, 0x2a, 0x1f, 0xfa, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0xb1, 0x02, 0x85, 0x22, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1a, 0xb1, 0x02, 0x85, 0x23, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1a, 0xb1, 0x02, 0x85, 0x24, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1f, 0xb1, 0x02, 0x85, 0x25, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1f, 0xb1, 0x02, 0x85, 0x26, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1f, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 045e 0773 path: \\?\hid#vid_045e&pid_0773&mi_02&col02#7&3b731c32&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 674 Interface: 2 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 07 Report ID (7) 19 00 Usage Minimum (0) 2A FF 03 Usage Maximum (1023) 15 00 Logical Minimum (0) 26 FF 03 Logical Maximum (1023) 75 10 Report Size (16) 95 01 Report Count (1) 81 00 Input (0x00) 05 07 Usage Page (7) 19 00 Usage Minimum (0) 29 FF Usage Maximum (255) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 01 Report Count (1) 81 00 Input (0x00) 75 08 Report Size (8) 95 01 Report Count (1) 81 03 Input (0x03) Padding 06 00 FF Usage Page (65280) 0A 03 FE Usage (65027) 0A 04 FE Usage (65028) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 02 Input (0x02) 0A 05 FF Usage (65285) 15 00 Logical Minimum (0) 25 1F Logical Maximum (31) 75 05 Report Size (5) 95 01 Report Count (1) 81 02 Input (0x02) 75 01 Report Size (1) 95 01 Report Count (1) 81 03 Input (0x03) Padding 1A 01 FD Usage Minimum (64769) 2A FF FD Usage Maximum (65023) 15 01 Logical Minimum (1) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 01 Report Count (1) 81 00 Input (0x00) 0A 02 FF Usage (65282) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 01 Report Count (1) 81 02 Input (0x02) C0 End Collection (117 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x19, 0x00, 0x2a, 0xff, 0x03, 0x15, 0x00, 0x26, 0xff, 0x03, 0x75, 0x10, 0x95, 0x01, 0x81, 0x00, 0x05, 0x07, 0x19, 0x00, 0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x06, 0x00, 0xff, 0x0a, 0x03, 0xfe, 0x0a, 0x04, 0xfe, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x0a, 0x05, 0xff, 0x15, 0x00, 0x25, 0x1f, 0x75, 0x05, 0x95, 0x01, 0x81, 0x02, 0x75, 0x01, 0x95, 0x01, 0x81, 0x03, 0x1a, 0x01, 0xfd, 0x2a, 0xff, 0xfd, 0x15, 0x01, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x00, 0x0a, 0x02, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0xc0, Device Found type: 045e 0773 path: \\?\hid#vid_045e&pid_0773&mi_02&col03#7&3b731c32&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 674 Interface: 2 Usage (page): 0x88 (0xffbc) Report Descriptor: 06 BC FF Usage Page (65468) 09 88 Usage (136) A1 01 Collection (Application) 85 08 Report ID (8) 19 01 Usage Minimum (1) 29 FF Usage Maximum (255) 15 01 Logical Minimum (1) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 01 Report Count (1) 81 00 Input (0x00) C0 End Collection (25 bytes) 0x06, 0xbc, 0xff, 0x09, 0x88, 0xa1, 0x01, 0x85, 0x08, 0x19, 0x01, 0x29, 0xff, 0x15, 0x01, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x00, 0xc0, Device Found type: 045e 0773 path: \\?\hid#vid_045e&pid_0773&mi_02&col04#7&3b731c32&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 674 Interface: 2 Usage (page): 0x80 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 80 Usage (128) A1 01 Collection (Application) 85 03 Report ID (3) 19 00 Usage Minimum (0) 29 FF Usage Maximum (255) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 01 Report Count (1) 81 00 Input (0x00) C0 End Collection (24 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x00, 0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x00, 0xc0, Device Found type: 045e 0773 path: \\?\hid#vid_045e&pid_0773&mi_01&col01#7&179bde70&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 674 Interface: 1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 02 Usage (2) A1 02 Collection (Logical) 09 01 Usage (1) A1 00 Collection (Physical) 85 1A Report ID (26) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 05 Usage Maximum (5) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 81 02 Input (0x02) 75 03 Report Size (3) 95 01 Report Count (1) 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 16 01 80 Logical Minimum (-32767) 26 FF 7F Logical Maximum (32767) 75 10 Report Size (16) 95 02 Report Count (2) 81 06 Input (0x06) 09 00 Usage (0) A1 02 Collection (Logical) 09 38 Usage (56) 16 01 80 Logical Minimum (-32767) 26 FF 7F Logical Maximum (32767) 75 10 Report Size (16) 95 01 Report Count (1) 81 06 Input (0x06) 85 12 Report ID (18) 09 48 Usage (72) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 35 01 Physical Minimum (1) 45 04 Physical Maximum (4) 75 02 Report Size (2) 95 01 Report Count (1) B1 02 Feature (0x02) C0 End Collection 09 00 Usage (0) A1 02 Collection (Logical) 85 1A Report ID (26) 05 0C Usage Page (12) 0A 38 02 Usage (568) 16 01 80 Logical Minimum (-32767) 26 FF 7F Logical Maximum (32767) 35 00 Physical Minimum (0) 45 00 Physical Maximum (0) 75 10 Report Size (16) 95 01 Report Count (1) 81 06 Input (0x06) 85 12 Report ID (18) 05 01 Usage Page (1) 09 48 Usage (72) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 35 01 Physical Minimum (1) 45 04 Physical Maximum (4) 75 02 Report Size (2) 95 01 Report Count (1) B1 02 Feature (0x02) 75 04 Report Size (4) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection C0 End Collection C0 End Collection C0 End Collection (150 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x02, 0xa1, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x1a, 0x05, 0x09, 0x19, 0x01, 0x29, 0x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0x80, 0x26, 0xff, 0x7f, 0x75, 0x10, 0x95, 0x02, 0x81, 0x06, 0x09, 0x00, 0xa1, 0x02, 0x09, 0x38, 0x16, 0x01, 0x80, 0x26, 0xff, 0x7f, 0x75, 0x10, 0x95, 0x01, 0x81, 0x06, 0x85, 0x12, 0x09, 0x48, 0x15, 0x00, 0x25, 0x01, 0x35, 0x01, 0x45, 0x04, 0x75, 0x02, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x00, 0xa1, 0x02, 0x85, 0x1a, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x16, 0x01, 0x80, 0x26, 0xff, 0x7f, 0x35, 0x00, 0x45, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81, 0x06, 0x85, 0x12, 0x05, 0x01, 0x09, 0x48, 0x15, 0x00, 0x25, 0x01, 0x35, 0x01, 0x45, 0x04, 0x75, 0x02, 0x95, 0x01, 0xb1, 0x02, 0x75, 0x04, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, 0xc0, 0xc0, Device Found type: 045e 0773 path: \\?\hid#vid_045e&pid_0773&mi_01&col02#7&179bde70&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 674 Interface: 1 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 05 01 Usage Page (1) 09 02 Usage (2) A1 02 Collection (Logical) 85 1F Report ID (31) 05 0C Usage Page (12) 0A 38 02 Usage (568) 16 01 80 Logical Minimum (-32767) 26 FF 7F Logical Maximum (32767) 75 10 Report Size (16) 95 01 Report Count (1) 81 06 Input (0x06) 85 17 Report ID (23) 06 00 FF Usage Page (65280) 0A 06 FF Usage (65286) 0A 0F FF Usage (65295) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 35 01 Physical Minimum (1) 45 04 Physical Maximum (4) 75 02 Report Size (2) 95 02 Report Count (2) B1 02 Feature (0x02) 0A 04 FF Usage (65284) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 35 00 Physical Minimum (0) 45 00 Physical Maximum (0) B1 02 Feature (0x02) 75 03 Report Size (3) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection 85 16 Report ID (22) 05 0C Usage Page (12) 19 00 Usage Minimum (0) 2A FF 03 Usage Maximum (1023) 15 00 Logical Minimum (0) 26 FF 03 Logical Maximum (1023) 75 10 Report Size (16) 95 01 Report Count (1) 81 00 Input (0x00) 06 00 FF Usage Page (65280) 1A 01 FD Usage Minimum (64769) 2A FF FD Usage Maximum (65023) 15 01 Logical Minimum (1) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 01 Report Count (1) 81 00 Input (0x00) 85 1C Report ID (28) 0A 25 FF Usage (65317) 15 00 Logical Minimum (0) 25 04 Logical Maximum (4) 75 08 Report Size (8) 95 01 Report Count (1) 81 02 Input (0x02) 0A 26 FF Usage (65318) 15 00 Logical Minimum (0) 27 FF FF 00 00 Logical Maximum (65535) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) C0 End Collection (152 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x05, 0x01, 0x09, 0x02, 0xa1, 0x02, 0x85, 0x1f, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x16, 0x01, 0x80, 0x26, 0xff, 0x7f, 0x75, 0x10, 0x95, 0x01, 0x81, 0x06, 0x85, 0x17, 0x06, 0x00, 0xff, 0x0a, 0x06, 0xff, 0x0a, 0x0f, 0xff, 0x15, 0x00, 0x25, 0x01, 0x35, 0x01, 0x45, 0x04, 0x75, 0x02, 0x95, 0x02, 0xb1, 0x02, 0x0a, 0x04, 0xff, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x35, 0x00, 0x45, 0x00, 0xb1, 0x02, 0x75, 0x03, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0x85, 0x16, 0x05, 0x0c, 0x19, 0x00, 0x2a, 0xff, 0x03, 0x15, 0x00, 0x26, 0xff, 0x03, 0x75, 0x10, 0x95, 0x01, 0x81, 0x00, 0x06, 0x00, 0xff, 0x1a, 0x01, 0xfd, 0x2a, 0xff, 0xfd, 0x15, 0x01, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x00, 0x85, 0x1c, 0x0a, 0x25, 0xff, 0x15, 0x00, 0x25, 0x04, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x0a, 0x26, 0xff, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, ``` </details>
mcuee commented 2021-07-18 09:48:23 -05:00 (Migrated from github.com)

Microchip PICKit 2: checked, good

Logitech M557 Bluetooth Mouse: at least report ID, report size and report count are all correct with a quick check.

Logitech USB receiver: to be checked

Microsoft USB Nano Receiver: to be checked

Microchip PICKit 2: checked, good Logitech M557 Bluetooth Mouse: at least report ID, report size and report count are all correct with a quick check. Logitech USB receiver: to be checked Microsoft USB Nano Receiver: to be checked
JoergAtGithub commented 2021-07-18 09:55:29 -05:00 (Migrated from github.com)

Which Windows version did you use for the test? I think i is important, to check this with various Windows versions.
I developed it with: Windows7 64Bit Service Pack1

Which Windows version did you use for the test? I think i is important, to check this with various Windows versions. I developed it with: Windows7 64Bit Service Pack1
mcuee commented 2021-07-18 10:00:30 -05:00 (Migrated from github.com)

Windows 10 Enterprise x64 (version 20H2)

Windows 10 Enterprise x64 (version 20H2)
mcuee commented 2021-07-18 23:04:15 -05:00 (Migrated from github.com)

An old Logitech USB Keyboard: (Logitech Classic New Touch 200 USB, model number Y-UR83), at least the report ID, report size and count are all correct.

Device Found
  type: 046d c315
  path: \\?\hid#vid_046d&pid_c315#6&1731a1a&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer: Logitech
  Product:      Logitech USB Keyboard
  Release:      2800
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)
95 01            Report Count (1)
81 03            Input (0x03) Padding
19 00            Usage Minimum (0)
29 A4            Usage Maximum (164)
15 00            Logical Minimum (0)
26 A4 00         Logical Maximum (164)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
05 08            Usage Page (8)
19 01            Usage Minimum (1)
29 05            Usage Maximum (5)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
91 02            Output (0x02)
75 03            Report Size (3)
95 01            Report Count (1)
91 03            Output (0x03) Padding
C0               End Collection
(66 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0,
0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08,
0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00,
0x29, 0xa4, 0x15, 0x00, 0x26, 0xa4, 0x00, 0x75, 0x08, 0x95,
0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15,
0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75,
0x03, 0x95, 0x01, 0x91, 0x03, 0xc0,

Output from xusb mod using WinUSB driver.

Reading string descriptors:
   String (0x01): "Logitech"
   String (0x02): "Logitech USB Keyboard"

Reading HID Report Descriptors:

  00000000  05 01 09 06 a1 01 05 07 19 e0 29 e7 15 00 25 01  ..........)...%.
  00000010  75 01 95 08 81 02 95 01 75 08 81 01 95 05 75 01  u.......u.....u.
  00000020  05 08 19 01 29 05 91 02 95 01 75 03 91 01 95 06  ....).....u.....
  00000030  75 08 15 00 26 a4 00 05 07 19 00 29 a4 81 00 c0  u...&......)....

Parser output:

0x05, 0x01,        // Usage Page (Generic Desktop Ctrls)
0x09, 0x06,        // Usage (Keyboard)
0xA1, 0x01,        // Collection (Application)
0x05, 0x07,        //   Usage Page (Kbrd/Keypad)
0x19, 0xE0,        //   Usage Minimum (0xE0)
0x29, 0xE7,        //   Usage Maximum (0xE7)
0x15, 0x00,        //   Logical Minimum (0)
0x25, 0x01,        //   Logical Maximum (1)
0x75, 0x01,        //   Report Size (1)
0x95, 0x08,        //   Report Count (8)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x95, 0x01,        //   Report Count (1)
0x75, 0x08,        //   Report Size (8)
0x81, 0x01,        //   Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x95, 0x05,        //   Report Count (5)
0x75, 0x01,        //   Report Size (1)
0x05, 0x08,        //   Usage Page (LEDs)
0x19, 0x01,        //   Usage Minimum (Num Lock)
0x29, 0x05,        //   Usage Maximum (Kana)
0x91, 0x02,        //   Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x95, 0x01,        //   Report Count (1)
0x75, 0x03,        //   Report Size (3)
0x91, 0x01,        //   Output (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x95, 0x06,        //   Report Count (6)
0x75, 0x08,        //   Report Size (8)
0x15, 0x00,        //   Logical Minimum (0)
0x26, 0xA4, 0x00,  //   Logical Maximum (164)
0x05, 0x07,        //   Usage Page (Kbrd/Keypad)
0x19, 0x00,        //   Usage Minimum (0x00)
0x29, 0xA4,        //   Usage Maximum (0xA4)
0x81, 0x00,        //   Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0,              // End Collection

// 64 bytes
An old Logitech USB Keyboard: (Logitech Classic New Touch 200 USB, model number Y-UR83), at least the report ID, report size and count are all correct. ``` Device Found type: 046d c315 path: \\?\hid#vid_046d&pid_c315#6&1731a1a&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Logitech Product: Logitech USB Keyboard Release: 2800 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) 95 01 Report Count (1) 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 A4 Usage Maximum (164) 15 00 Logical Minimum (0) 26 A4 00 Logical Maximum (164) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 05 08 Usage Page (8) 19 01 Usage Minimum (1) 29 05 Usage Maximum (5) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 91 02 Output (0x02) 75 03 Report Size (3) 95 01 Report Count (1) 91 03 Output (0x03) Padding C0 End Collection (66 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0xa4, 0x15, 0x00, 0x26, 0xa4, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75, 0x03, 0x95, 0x01, 0x91, 0x03, 0xc0, ``` Output from xusb mod using WinUSB driver. ``` Reading string descriptors: String (0x01): "Logitech" String (0x02): "Logitech USB Keyboard" Reading HID Report Descriptors: 00000000 05 01 09 06 a1 01 05 07 19 e0 29 e7 15 00 25 01 ..........)...%. 00000010 75 01 95 08 81 02 95 01 75 08 81 01 95 05 75 01 u.......u.....u. 00000020 05 08 19 01 29 05 91 02 95 01 75 03 91 01 95 06 ....).....u..... 00000030 75 08 15 00 26 a4 00 05 07 19 00 29 a4 81 00 c0 u...&......).... ``` Parser output: ``` 0x05, 0x01, // Usage Page (Generic Desktop Ctrls) 0x09, 0x06, // Usage (Keyboard) 0xA1, 0x01, // Collection (Application) 0x05, 0x07, // Usage Page (Kbrd/Keypad) 0x19, 0xE0, // Usage Minimum (0xE0) 0x29, 0xE7, // Usage Maximum (0xE7) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x01, // Logical Maximum (1) 0x75, 0x01, // Report Size (1) 0x95, 0x08, // Report Count (8) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x95, 0x01, // Report Count (1) 0x75, 0x08, // Report Size (8) 0x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x95, 0x05, // Report Count (5) 0x75, 0x01, // Report Size (1) 0x05, 0x08, // Usage Page (LEDs) 0x19, 0x01, // Usage Minimum (Num Lock) 0x29, 0x05, // Usage Maximum (Kana) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x95, 0x01, // Report Count (1) 0x75, 0x03, // Report Size (3) 0x91, 0x01, // Output (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x95, 0x06, // Report Count (6) 0x75, 0x08, // Report Size (8) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xA4, 0x00, // Logical Maximum (164) 0x05, 0x07, // Usage Page (Kbrd/Keypad) 0x19, 0x00, // Usage Minimum (0x00) 0x29, 0xA4, // Usage Maximum (0xA4) 0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0xC0, // End Collection // 64 bytes ```
mcuee commented 2021-07-19 00:19:49 -05:00 (Migrated from github.com)

Logitech Dual Action Gamepad output, #306 output seems to be correct.

Device Found
  type: 046d c216
  path: \\?\hid#vid_046d&pid_c216#6&36fecf60&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      Logitech Dual Action
  Release:      300
  Interface:    -1
  Usage (page): 0x4 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 04            Usage  (4)
A1 01            Collection (Application)
09 00            Usage  (0)
A1 02            Collection (Logical)
09 30            Usage (48)
09 31            Usage (49)
09 32            Usage (50)
09 35            Usage (53)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
35 00            Physical Minimum (0)
46 FF 00         Physical Maximum (255)
75 08            Report Size (8)
95 04            Report Count (4)
81 02            Input (0x02)
09 39            Usage (57)
15 00            Logical Minimum (0)
25 07            Logical Maximum (7)
35 00            Physical Minimum (0)
46 3B 01         Physical Maximum (315)
65 14            Unit (20)
75 04            Report Size (4)
95 01            Report Count (1)
81 42            Input (0x42)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 0C            Usage Maximum (12)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 0C            Report Count (12)
45 00            Physical Maximum (0)
65 00            Unit (0)
81 02            Input (0x02)
06 00 FF         Usage Page (65280)
09 01            Usage (1)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 10            Report Count (16)
81 02            Input (0x02)
C0               End Collection
09 00            Usage  (0)
A1 02            Collection (Logical)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
35 00            Physical Minimum (0)
46 FF 00         Physical Maximum (255)
75 08            Report Size (8)
95 07            Report Count (7)
91 02            Output (0x02)
C0               End Collection
09 00            Usage  (0)
A1 02            Collection (Logical)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 05            Report Count (5)
B1 02            Feature (0x02)
C0               End Collection
C0               End Collection
(131 bytes)
0x05, 0x01, 0x09, 0x04, 0xa1, 0x01, 0x09, 0x00, 0xa1, 0x02,
0x09, 0x30, 0x09, 0x31, 0x09, 0x32, 0x09, 0x35, 0x15, 0x00,
0x26, 0xff, 0x00, 0x35, 0x00, 0x46, 0xff, 0x00, 0x75, 0x08,
0x95, 0x04, 0x81, 0x02, 0x09, 0x39, 0x15, 0x00, 0x25, 0x07,
0x35, 0x00, 0x46, 0x3b, 0x01, 0x65, 0x14, 0x75, 0x04, 0x95,
0x01, 0x81, 0x42, 0x05, 0x09, 0x19, 0x01, 0x29, 0x0c, 0x15,
0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x0c, 0x45, 0x00, 0x65,
0x00, 0x81, 0x02, 0x06, 0x00, 0xff, 0x09, 0x01, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0xc0, 0x09,
0x00, 0xa1, 0x02, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00,
0x35, 0x00, 0x46, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0x91,
0x02, 0xc0, 0x09, 0x00, 0xa1, 0x02, 0x09, 0x01, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x05, 0xb1, 0x02, 0xc0,
0xc0,

xusb output using WinUSB driver.

Reading string descriptors:
   String (0x01): "Logitech"
   String (0x02): "Logitech Dual Action"

Reading HID Report Descriptors:

  00000000  05 01 09 04 a1 01 a1 02 15 00 26 ff 00 35 00 46  ..........&..5.F
  00000010  ff 00 75 08 95 04 09 30 09 31 09 32 09 35 81 02  ..u....0.1.2.5..
  00000020  25 07 46 3b 01 75 04 95 01 65 14 09 39 81 42 65  %.F;.u...e..9.Be
  00000030  00 25 01 45 01 75 01 95 0c 05 09 19 01 29 0c 81  .%.E.u.......)..
  00000040  02 06 00 ff 75 01 95 10 25 01 45 01 09 01 81 02  ....u...%.E.....
  00000050  c0 a1 02 26 ff 00 46 ff 00 75 08 95 07 09 02 91  ...&..F..u......
  00000060  02 c0 a1 02 26 ff 00 46 ff 00 75 08 95 05 06 00  ....&..F..u.....
  00000070  ff 09 01 b1 02 c0 c0                             .......

Parser output

0x05, 0x01,        // Usage Page (Generic Desktop Ctrls)
0x09, 0x04,        // Usage (Joystick)
0xA1, 0x01,        // Collection (Application)
0xA1, 0x02,        //   Collection (Logical)
0x15, 0x00,        //     Logical Minimum (0)
0x26, 0xFF, 0x00,  //     Logical Maximum (255)
0x35, 0x00,        //     Physical Minimum (0)
0x46, 0xFF, 0x00,  //     Physical Maximum (255)
0x75, 0x08,        //     Report Size (8)
0x95, 0x04,        //     Report Count (4)
0x09, 0x30,        //     Usage (X)
0x09, 0x31,        //     Usage (Y)
0x09, 0x32,        //     Usage (Z)
0x09, 0x35,        //     Usage (Rz)
0x81, 0x02,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x25, 0x07,        //     Logical Maximum (7)
0x46, 0x3B, 0x01,  //     Physical Maximum (315)
0x75, 0x04,        //     Report Size (4)
0x95, 0x01,        //     Report Count (1)
0x65, 0x14,        //     Unit (System: English Rotation, Length: Centimeter)
0x09, 0x39,        //     Usage (Hat switch)
0x81, 0x42,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State)
0x65, 0x00,        //     Unit (None)
0x25, 0x01,        //     Logical Maximum (1)
0x45, 0x01,        //     Physical Maximum (1)
0x75, 0x01,        //     Report Size (1)
0x95, 0x0C,        //     Report Count (12)
0x05, 0x09,        //     Usage Page (Button)
0x19, 0x01,        //     Usage Minimum (0x01)
0x29, 0x0C,        //     Usage Maximum (0x0C)
0x81, 0x02,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x06, 0x00, 0xFF,  //     Usage Page (Vendor Defined 0xFF00)
0x75, 0x01,        //     Report Size (1)
0x95, 0x10,        //     Report Count (16)
0x25, 0x01,        //     Logical Maximum (1)
0x45, 0x01,        //     Physical Maximum (1)
0x09, 0x01,        //     Usage (0x01)
0x81, 0x02,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0,              //   End Collection
0xA1, 0x02,        //   Collection (Logical)
0x26, 0xFF, 0x00,  //     Logical Maximum (255)
0x46, 0xFF, 0x00,  //     Physical Maximum (255)
0x75, 0x08,        //     Report Size (8)
0x95, 0x07,        //     Report Count (7)
0x09, 0x02,        //     Usage (0x02)
0x91, 0x02,        //     Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0,              //   End Collection
0xA1, 0x02,        //   Collection (Logical)
0x26, 0xFF, 0x00,  //     Logical Maximum (255)
0x46, 0xFF, 0x00,  //     Physical Maximum (255)
0x75, 0x08,        //     Report Size (8)
0x95, 0x05,        //     Report Count (5)
0x06, 0x00, 0xFF,  //     Usage Page (Vendor Defined 0xFF00)
0x09, 0x01,        //     Usage (0x01)
0xB1, 0x02,        //     Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0,              //   End Collection
0xC0,              // End Collection

// 119 bytes

Logitech Dual Action Gamepad output, #306 output seems to be correct. ``` Device Found type: 046d c216 path: \\?\hid#vid_046d&pid_c216#6&36fecf60&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: Logitech Dual Action Release: 300 Interface: -1 Usage (page): 0x4 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 04 Usage (4) A1 01 Collection (Application) 09 00 Usage (0) A1 02 Collection (Logical) 09 30 Usage (48) 09 31 Usage (49) 09 32 Usage (50) 09 35 Usage (53) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 35 00 Physical Minimum (0) 46 FF 00 Physical Maximum (255) 75 08 Report Size (8) 95 04 Report Count (4) 81 02 Input (0x02) 09 39 Usage (57) 15 00 Logical Minimum (0) 25 07 Logical Maximum (7) 35 00 Physical Minimum (0) 46 3B 01 Physical Maximum (315) 65 14 Unit (20) 75 04 Report Size (4) 95 01 Report Count (1) 81 42 Input (0x42) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 0C Usage Maximum (12) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 0C Report Count (12) 45 00 Physical Maximum (0) 65 00 Unit (0) 81 02 Input (0x02) 06 00 FF Usage Page (65280) 09 01 Usage (1) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 10 Report Count (16) 81 02 Input (0x02) C0 End Collection 09 00 Usage (0) A1 02 Collection (Logical) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 35 00 Physical Minimum (0) 46 FF 00 Physical Maximum (255) 75 08 Report Size (8) 95 07 Report Count (7) 91 02 Output (0x02) C0 End Collection 09 00 Usage (0) A1 02 Collection (Logical) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 05 Report Count (5) B1 02 Feature (0x02) C0 End Collection C0 End Collection (131 bytes) 0x05, 0x01, 0x09, 0x04, 0xa1, 0x01, 0x09, 0x00, 0xa1, 0x02, 0x09, 0x30, 0x09, 0x31, 0x09, 0x32, 0x09, 0x35, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x46, 0xff, 0x00, 0x75, 0x08, 0x95, 0x04, 0x81, 0x02, 0x09, 0x39, 0x15, 0x00, 0x25, 0x07, 0x35, 0x00, 0x46, 0x3b, 0x01, 0x65, 0x14, 0x75, 0x04, 0x95, 0x01, 0x81, 0x42, 0x05, 0x09, 0x19, 0x01, 0x29, 0x0c, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x0c, 0x45, 0x00, 0x65, 0x00, 0x81, 0x02, 0x06, 0x00, 0xff, 0x09, 0x01, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0xc0, 0x09, 0x00, 0xa1, 0x02, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x46, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0x91, 0x02, 0xc0, 0x09, 0x00, 0xa1, 0x02, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x05, 0xb1, 0x02, 0xc0, 0xc0, ``` xusb output using WinUSB driver. ``` Reading string descriptors: String (0x01): "Logitech" String (0x02): "Logitech Dual Action" Reading HID Report Descriptors: 00000000 05 01 09 04 a1 01 a1 02 15 00 26 ff 00 35 00 46 ..........&..5.F 00000010 ff 00 75 08 95 04 09 30 09 31 09 32 09 35 81 02 ..u....0.1.2.5.. 00000020 25 07 46 3b 01 75 04 95 01 65 14 09 39 81 42 65 %.F;.u...e..9.Be 00000030 00 25 01 45 01 75 01 95 0c 05 09 19 01 29 0c 81 .%.E.u.......).. 00000040 02 06 00 ff 75 01 95 10 25 01 45 01 09 01 81 02 ....u...%.E..... 00000050 c0 a1 02 26 ff 00 46 ff 00 75 08 95 07 09 02 91 ...&..F..u...... 00000060 02 c0 a1 02 26 ff 00 46 ff 00 75 08 95 05 06 00 ....&..F..u..... 00000070 ff 09 01 b1 02 c0 c0 ....... ``` Parser output ``` 0x05, 0x01, // Usage Page (Generic Desktop Ctrls) 0x09, 0x04, // Usage (Joystick) 0xA1, 0x01, // Collection (Application) 0xA1, 0x02, // Collection (Logical) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x35, 0x00, // Physical Minimum (0) 0x46, 0xFF, 0x00, // Physical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x04, // Report Count (4) 0x09, 0x30, // Usage (X) 0x09, 0x31, // Usage (Y) 0x09, 0x32, // Usage (Z) 0x09, 0x35, // Usage (Rz) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x25, 0x07, // Logical Maximum (7) 0x46, 0x3B, 0x01, // Physical Maximum (315) 0x75, 0x04, // Report Size (4) 0x95, 0x01, // Report Count (1) 0x65, 0x14, // Unit (System: English Rotation, Length: Centimeter) 0x09, 0x39, // Usage (Hat switch) 0x81, 0x42, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State) 0x65, 0x00, // Unit (None) 0x25, 0x01, // Logical Maximum (1) 0x45, 0x01, // Physical Maximum (1) 0x75, 0x01, // Report Size (1) 0x95, 0x0C, // Report Count (12) 0x05, 0x09, // Usage Page (Button) 0x19, 0x01, // Usage Minimum (0x01) 0x29, 0x0C, // Usage Maximum (0x0C) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x75, 0x01, // Report Size (1) 0x95, 0x10, // Report Count (16) 0x25, 0x01, // Logical Maximum (1) 0x45, 0x01, // Physical Maximum (1) 0x09, 0x01, // Usage (0x01) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0xC0, // End Collection 0xA1, 0x02, // Collection (Logical) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x46, 0xFF, 0x00, // Physical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x07, // Report Count (7) 0x09, 0x02, // Usage (0x02) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0xA1, 0x02, // Collection (Logical) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x46, 0xFF, 0x00, // Physical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x05, // Report Count (5) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x09, 0x01, // Usage (0x01) 0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0xC0, // End Collection // 119 bytes ```
mcuee commented 2021-07-19 00:29:32 -05:00 (Migrated from github.com)

Microsoft USB Nano Receiver Output from macOS.

mac-hid-dump on  main ❯ ./mac-hid-dump 
mac-hid-dump:
045E 0773: Microsoft - Microsoft? Nano Transceiver v1.0
DESCRIPTOR:
  05  0c  09  01  a1  01  85  20  06  00  ff  15  00  26  ff  00 
  75  08  95  12  0a  0a  fa  b1  02  85  21  06  00  ff  15  00 
  25  01  75  01  95  10  1a  10  fa  2a  1f  fa  81  02  85  28 
  06  00  ff  1a  10  fa  2a  1f  fa  b1  02  85  22  06  00  ff 
  15  00  26  ff  00  75  08  95  1a  0a  0a  fa  b1  02  85  23 
  06  00  ff  0a  0a  fa  b1  02  85  24  06  00  ff  95  1f  0a 
  0a  fa  b1  02  85  25  06  00  ff  0a  0a  fa  b1  02  85  26 
  06  00  ff  0a  0a  fa  b1  02  85  27  06  00  ff  0a  0a  fa 
  81  02  85  14  06  00  ff  15  00  25  03  75  02  95  01  0a 
  01  fe  81  02  75  06  81  01  85  04  06  00  ff  15  00  25 
  03  75  02  95  01  0a  01  fe  81  02  75  06  81  01  c0  05 
  0c  09  01  a1  01  85  07  05  0c  19  00  2a  ff  03  95  01 
  75  10  15  00  26  ff  03  81  00  05  07  19  00  29  ff  75 
  08  26  ff  00  81  00  81  01  06  00  ff  0a  03  fe  0a  04 
  fe  75  01  95  02  25  01  81  02  0a  05  ff  95  01  75  05 
  25  1f  81  02  75  01  81  01  1a  01  fd  2a  ff  fd  15  01 
  26  ff  00  75  08  81  00  0a  02  ff  26  ff  00  15  00  81 
  02  c0  06  bc  ff  09  88  a1  01  85  08  19  01  29  ff  15 
  01  26  ff  00  95  01  75  08  81  00  c0  05  01  09  80  a1 
  01  85  03  19  00  29  ff  15  00  26  ff  00  81  00  c0  
  (319 bytes)

045E 0773: Microsoft - Microsoft? Nano Transceiver v1.0
DESCRIPTOR:
  05  01  09  02  a1  01  05  01  09  02  a1  02  85  1a  09  01 
  a1  00  05  09  19  01  29  05  95  05  75  01  15  00  25  01 
  81  02  75  03  95  01  81  01  05  01  09  30  09  31  95  02 
  75  10  16  01  80  26  ff  7f  81  06  a1  02  85  12  09  48 
  95  01  75  02  15  00  25  01  35  01  45  04  b1  02  85  1a 
  09  38  35  00  45  00  95  01  75  10  16  01  80  26  ff  7f 
  81  06  c0  a1  02  85  12  09  48  75  02  15  00  25  01  35 
  01  45  04  b1  02  35  00  45  00  75  04  b1  01  85  1a  05 
  0c  95  01  75  10  16  01  80  26  ff  7f  0a  38  02  81  06 
  c0  c0  c0  c0  05  0c  09  01  a1  01  05  01  09  02  a1  02 
  85  1f  05  0c  0a  38  02  95  01  75  10  16  01  80  26  ff 
  7f  81  06  85  17  06  00  ff  0a  06  ff  0a  0f  ff  15  00 
  25  01  35  01  45  04  95  02  75  02  b1  02  0a  04  ff  35 
  00  45  00  95  01  75  01  b1  02  75  03  b1  01  c0  85  16 
  05  0c  19  00  2a  ff  03  95  01  75  10  15  00  26  ff  03 
  81  00  06  00  ff  1a  01  fd  2a  ff  fd  15  01  26  ff  00 
  75  08  81  00  81  01  85  1c  06  00  ff  0a  25  ff  15  00 
  25  04  75  08  95  01  81  02  0a  26  ff  75  10  15  00  27 
  ff  ff  00  00  81  02  c0  
  (295 bytes)

045E 0773: Microsoft - Microsoft? Nano Transceiver v1.0
DESCRIPTOR:
  05  01  09  06  a1  01  05  08  19  01  29  03  15  00  25  01 
  75  01  95  03  91  02  95  05  91  01  05  07  1a  e0  00  2a 
  e7  00  95  08  81  02  75  08  95  01  81  01  19  00  2a  91 
  00  26  ff  00  95  06  81  00  c0  
  (57 bytes)

Parser output

click to expand
0x05, 0x0C,        // Usage Page (Consumer)
0x09, 0x01,        // Usage (Consumer Control)
0xA1, 0x01,        // Collection (Application)
0x85, 0x20,        //   Report ID (32)
0x06, 0x00, 0xFF,  //   Usage Page (Vendor Defined 0xFF00)
0x15, 0x00,        //   Logical Minimum (0)
0x26, 0xFF, 0x00,  //   Logical Maximum (255)
0x75, 0x08,        //   Report Size (8)
0x95, 0x12,        //   Report Count (18)
0x0A, 0x0A, 0xFA,  //   Usage (0xFA0A)
0xB1, 0x02,        //   Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x85, 0x21,        //   Report ID (33)
0x06, 0x00, 0xFF,  //   Usage Page (Vendor Defined 0xFF00)
0x15, 0x00,        //   Logical Minimum (0)
0x25, 0x01,        //   Logical Maximum (1)
0x75, 0x01,        //   Report Size (1)
0x95, 0x10,        //   Report Count (16)
0x1A, 0x10, 0xFA,  //   Usage Minimum (0xFA10)
0x2A, 0x1F, 0xFA,  //   Usage Maximum (0xFA1F)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x85, 0x28,        //   Report ID (40)
0x06, 0x00, 0xFF,  //   Usage Page (Vendor Defined 0xFF00)
0x1A, 0x10, 0xFA,  //   Usage Minimum (0xFA10)
0x2A, 0x1F, 0xFA,  //   Usage Maximum (0xFA1F)
0xB1, 0x02,        //   Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x85, 0x22,        //   Report ID (34)
0x06, 0x00, 0xFF,  //   Usage Page (Vendor Defined 0xFF00)
0x15, 0x00,        //   Logical Minimum (0)
0x26, 0xFF, 0x00,  //   Logical Maximum (255)
0x75, 0x08,        //   Report Size (8)
0x95, 0x1A,        //   Report Count (26)
0x0A, 0x0A, 0xFA,  //   Usage (0xFA0A)
0xB1, 0x02,        //   Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x85, 0x23,        //   Report ID (35)
0x06, 0x00, 0xFF,  //   Usage Page (Vendor Defined 0xFF00)
0x0A, 0x0A, 0xFA,  //   Usage (0xFA0A)
0xB1, 0x02,        //   Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x85, 0x24,        //   Report ID (36)
0x06, 0x00, 0xFF,  //   Usage Page (Vendor Defined 0xFF00)
0x95, 0x1F,        //   Report Count (31)
0x0A, 0x0A, 0xFA,  //   Usage (0xFA0A)
0xB1, 0x02,        //   Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x85, 0x25,        //   Report ID (37)
0x06, 0x00, 0xFF,  //   Usage Page (Vendor Defined 0xFF00)
0x0A, 0x0A, 0xFA,  //   Usage (0xFA0A)
0xB1, 0x02,        //   Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x85, 0x26,        //   Report ID (38)
0x06, 0x00, 0xFF,  //   Usage Page (Vendor Defined 0xFF00)
0x0A, 0x0A, 0xFA,  //   Usage (0xFA0A)
0xB1, 0x02,        //   Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x85, 0x27,        //   Report ID (39)
0x06, 0x00, 0xFF,  //   Usage Page (Vendor Defined 0xFF00)
0x0A, 0x0A, 0xFA,  //   Usage (0xFA0A)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x85, 0x14,        //   Report ID (20)
0x06, 0x00, 0xFF,  //   Usage Page (Vendor Defined 0xFF00)
0x15, 0x00,        //   Logical Minimum (0)
0x25, 0x03,        //   Logical Maximum (3)
0x75, 0x02,        //   Report Size (2)
0x95, 0x01,        //   Report Count (1)
0x0A, 0x01, 0xFE,  //   Usage (0xFE01)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x75, 0x06,        //   Report Size (6)
0x81, 0x01,        //   Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x85, 0x04,        //   Report ID (4)
0x06, 0x00, 0xFF,  //   Usage Page (Vendor Defined 0xFF00)
0x15, 0x00,        //   Logical Minimum (0)
0x25, 0x03,        //   Logical Maximum (3)
0x75, 0x02,        //   Report Size (2)
0x95, 0x01,        //   Report Count (1)
0x0A, 0x01, 0xFE,  //   Usage (0xFE01)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x75, 0x06,        //   Report Size (6)
0x81, 0x01,        //   Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0,              // End Collection
0x05, 0x0C,        // Usage Page (Consumer)
0x09, 0x01,        // Usage (Consumer Control)
0xA1, 0x01,        // Collection (Application)
0x85, 0x07,        //   Report ID (7)
0x05, 0x0C,        //   Usage Page (Consumer)
0x19, 0x00,        //   Usage Minimum (Unassigned)
0x2A, 0xFF, 0x03,  //   Usage Maximum (0x03FF)
0x95, 0x01,        //   Report Count (1)
0x75, 0x10,        //   Report Size (16)
0x15, 0x00,        //   Logical Minimum (0)
0x26, 0xFF, 0x03,  //   Logical Maximum (1023)
0x81, 0x00,        //   Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x05, 0x07,        //   Usage Page (Kbrd/Keypad)
0x19, 0x00,        //   Usage Minimum (0x00)
0x29, 0xFF,        //   Usage Maximum (0xFF)
0x75, 0x08,        //   Report Size (8)
0x26, 0xFF, 0x00,  //   Logical Maximum (255)
0x81, 0x00,        //   Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x81, 0x01,        //   Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x06, 0x00, 0xFF,  //   Usage Page (Vendor Defined 0xFF00)
0x0A, 0x03, 0xFE,  //   Usage (0xFE03)
0x0A, 0x04, 0xFE,  //   Usage (0xFE04)
0x75, 0x01,        //   Report Size (1)
0x95, 0x02,        //   Report Count (2)
0x25, 0x01,        //   Logical Maximum (1)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0x05, 0xFF,  //   Usage (0xFF05)
0x95, 0x01,        //   Report Count (1)
0x75, 0x05,        //   Report Size (5)
0x25, 0x1F,        //   Logical Maximum (31)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x75, 0x01,        //   Report Size (1)
0x81, 0x01,        //   Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x1A, 0x01, 0xFD,  //   Usage Minimum (0xFD01)
0x2A, 0xFF, 0xFD,  //   Usage Maximum (0xFDFF)
0x15, 0x01,        //   Logical Minimum (1)
0x26, 0xFF, 0x00,  //   Logical Maximum (255)
0x75, 0x08,        //   Report Size (8)
0x81, 0x00,        //   Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0x02, 0xFF,  //   Usage (0xFF02)
0x26, 0xFF, 0x00,  //   Logical Maximum (255)
0x15, 0x00,        //   Logical Minimum (0)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0,              // End Collection
0x06, 0xBC, 0xFF,  // Usage Page (Vendor Defined 0xFFBC)
0x09, 0x88,        // Usage (0x88)
0xA1, 0x01,        // Collection (Application)
0x85, 0x08,        //   Report ID (8)
0x19, 0x01,        //   Usage Minimum (0x01)
0x29, 0xFF,        //   Usage Maximum (0xFF)
0x15, 0x01,        //   Logical Minimum (1)
0x26, 0xFF, 0x00,  //   Logical Maximum (255)
0x95, 0x01,        //   Report Count (1)
0x75, 0x08,        //   Report Size (8)
0x81, 0x00,        //   Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0,              // End Collection
0x05, 0x01,        // Usage Page (Generic Desktop Ctrls)
0x09, 0x80,        // Usage (Sys Control)
0xA1, 0x01,        // Collection (Application)
0x85, 0x03,        //   Report ID (3)
0x19, 0x00,        //   Usage Minimum (Undefined)
0x29, 0xFF,        //   Usage Maximum (0xFF)
0x15, 0x00,        //   Logical Minimum (0)
0x26, 0xFF, 0x00,  //   Logical Maximum (255)
0x81, 0x00,        //   Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0,              // End Collection

// 319 bytes
0x05, 0x01,        // Usage Page (Generic Desktop Ctrls)
0x09, 0x02,        // Usage (Mouse)
0xA1, 0x01,        // Collection (Application)
0x05, 0x01,        //   Usage Page (Generic Desktop Ctrls)
0x09, 0x02,        //   Usage (Mouse)
0xA1, 0x02,        //   Collection (Logical)
0x85, 0x1A,        //     Report ID (26)
0x09, 0x01,        //     Usage (Pointer)
0xA1, 0x00,        //     Collection (Physical)
0x05, 0x09,        //       Usage Page (Button)
0x19, 0x01,        //       Usage Minimum (0x01)
0x29, 0x05,        //       Usage Maximum (0x05)
0x95, 0x05,        //       Report Count (5)
0x75, 0x01,        //       Report Size (1)
0x15, 0x00,        //       Logical Minimum (0)
0x25, 0x01,        //       Logical Maximum (1)
0x81, 0x02,        //       Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x75, 0x03,        //       Report Size (3)
0x95, 0x01,        //       Report Count (1)
0x81, 0x01,        //       Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x05, 0x01,        //       Usage Page (Generic Desktop Ctrls)
0x09, 0x30,        //       Usage (X)
0x09, 0x31,        //       Usage (Y)
0x95, 0x02,        //       Report Count (2)
0x75, 0x10,        //       Report Size (16)
0x16, 0x01, 0x80,  //       Logical Minimum (-32767)
0x26, 0xFF, 0x7F,  //       Logical Maximum (32767)
0x81, 0x06,        //       Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
0xA1, 0x02,        //       Collection (Logical)
0x85, 0x12,        //         Report ID (18)
0x09, 0x48,        //         Usage (0x48)
0x95, 0x01,        //         Report Count (1)
0x75, 0x02,        //         Report Size (2)
0x15, 0x00,        //         Logical Minimum (0)
0x25, 0x01,        //         Logical Maximum (1)
0x35, 0x01,        //         Physical Minimum (1)
0x45, 0x04,        //         Physical Maximum (4)
0xB1, 0x02,        //         Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x85, 0x1A,        //         Report ID (26)
0x09, 0x38,        //         Usage (Wheel)
0x35, 0x00,        //         Physical Minimum (0)
0x45, 0x00,        //         Physical Maximum (0)
0x95, 0x01,        //         Report Count (1)
0x75, 0x10,        //         Report Size (16)
0x16, 0x01, 0x80,  //         Logical Minimum (-32767)
0x26, 0xFF, 0x7F,  //         Logical Maximum (32767)
0x81, 0x06,        //         Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
0xC0,              //       End Collection
0xA1, 0x02,        //       Collection (Logical)
0x85, 0x12,        //         Report ID (18)
0x09, 0x48,        //         Usage (0x48)
0x75, 0x02,        //         Report Size (2)
0x15, 0x00,        //         Logical Minimum (0)
0x25, 0x01,        //         Logical Maximum (1)
0x35, 0x01,        //         Physical Minimum (1)
0x45, 0x04,        //         Physical Maximum (4)
0xB1, 0x02,        //         Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x35, 0x00,        //         Physical Minimum (0)
0x45, 0x00,        //         Physical Maximum (0)
0x75, 0x04,        //         Report Size (4)
0xB1, 0x01,        //         Feature (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x85, 0x1A,        //         Report ID (26)
0x05, 0x0C,        //         Usage Page (Consumer)
0x95, 0x01,        //         Report Count (1)
0x75, 0x10,        //         Report Size (16)
0x16, 0x01, 0x80,  //         Logical Minimum (-32767)
0x26, 0xFF, 0x7F,  //         Logical Maximum (32767)
0x0A, 0x38, 0x02,  //         Usage (AC Pan)
0x81, 0x06,        //         Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
0xC0,              //       End Collection
0xC0,              //     End Collection
0xC0,              //   End Collection
0xC0,              // End Collection
0x05, 0x0C,        // Usage Page (Consumer)
0x09, 0x01,        // Usage (Consumer Control)
0xA1, 0x01,        // Collection (Application)
0x05, 0x01,        //   Usage Page (Generic Desktop Ctrls)
0x09, 0x02,        //   Usage (Mouse)
0xA1, 0x02,        //   Collection (Logical)
0x85, 0x1F,        //     Report ID (31)
0x05, 0x0C,        //     Usage Page (Consumer)
0x0A, 0x38, 0x02,  //     Usage (AC Pan)
0x95, 0x01,        //     Report Count (1)
0x75, 0x10,        //     Report Size (16)
0x16, 0x01, 0x80,  //     Logical Minimum (-32767)
0x26, 0xFF, 0x7F,  //     Logical Maximum (32767)
0x81, 0x06,        //     Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position)
0x85, 0x17,        //     Report ID (23)
0x06, 0x00, 0xFF,  //     Usage Page (Vendor Defined 0xFF00)
0x0A, 0x06, 0xFF,  //     Usage (0xFF06)
0x0A, 0x0F, 0xFF,  //     Usage (0xFF0F)
0x15, 0x00,        //     Logical Minimum (0)
0x25, 0x01,        //     Logical Maximum (1)
0x35, 0x01,        //     Physical Minimum (1)
0x45, 0x04,        //     Physical Maximum (4)
0x95, 0x02,        //     Report Count (2)
0x75, 0x02,        //     Report Size (2)
0xB1, 0x02,        //     Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x0A, 0x04, 0xFF,  //     Usage (0xFF04)
0x35, 0x00,        //     Physical Minimum (0)
0x45, 0x00,        //     Physical Maximum (0)
0x95, 0x01,        //     Report Count (1)
0x75, 0x01,        //     Report Size (1)
0xB1, 0x02,        //     Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x75, 0x03,        //     Report Size (3)
0xB1, 0x01,        //     Feature (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0,              //   End Collection
0x85, 0x16,        //   Report ID (22)
0x05, 0x0C,        //   Usage Page (Consumer)
0x19, 0x00,        //   Usage Minimum (Unassigned)
0x2A, 0xFF, 0x03,  //   Usage Maximum (0x03FF)
0x95, 0x01,        //   Report Count (1)
0x75, 0x10,        //   Report Size (16)
0x15, 0x00,        //   Logical Minimum (0)
0x26, 0xFF, 0x03,  //   Logical Maximum (1023)
0x81, 0x00,        //   Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x06, 0x00, 0xFF,  //   Usage Page (Vendor Defined 0xFF00)
0x1A, 0x01, 0xFD,  //   Usage Minimum (0xFD01)
0x2A, 0xFF, 0xFD,  //   Usage Maximum (0xFDFF)
0x15, 0x01,        //   Logical Minimum (1)
0x26, 0xFF, 0x00,  //   Logical Maximum (255)
0x75, 0x08,        //   Report Size (8)
0x81, 0x00,        //   Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x81, 0x01,        //   Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x85, 0x1C,        //   Report ID (28)
0x06, 0x00, 0xFF,  //   Usage Page (Vendor Defined 0xFF00)
0x0A, 0x25, 0xFF,  //   Usage (0xFF25)
0x15, 0x00,        //   Logical Minimum (0)
0x25, 0x04,        //   Logical Maximum (4)
0x75, 0x08,        //   Report Size (8)
0x95, 0x01,        //   Report Count (1)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x0A, 0x26, 0xFF,  //   Usage (0xFF26)
0x75, 0x10,        //   Report Size (16)
0x15, 0x00,        //   Logical Minimum (0)
0x27, 0xFF, 0xFF, 0x00, 0x00,  //   Logical Maximum (65534)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0,              // End Collection

// 295 bytes

0x05, 0x01,        // Usage Page (Generic Desktop Ctrls)
0x09, 0x06,        // Usage (Keyboard)
0xA1, 0x01,        // Collection (Application)
0x05, 0x08,        //   Usage Page (LEDs)
0x19, 0x01,        //   Usage Minimum (Num Lock)
0x29, 0x03,        //   Usage Maximum (Scroll Lock)
0x15, 0x00,        //   Logical Minimum (0)
0x25, 0x01,        //   Logical Maximum (1)
0x75, 0x01,        //   Report Size (1)
0x95, 0x03,        //   Report Count (3)
0x91, 0x02,        //   Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x95, 0x05,        //   Report Count (5)
0x91, 0x01,        //   Output (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x05, 0x07,        //   Usage Page (Kbrd/Keypad)
0x1A, 0xE0, 0x00,  //   Usage Minimum (0xE0)
0x2A, 0xE7, 0x00,  //   Usage Maximum (0xE7)
0x95, 0x08,        //   Report Count (8)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x75, 0x08,        //   Report Size (8)
0x95, 0x01,        //   Report Count (1)
0x81, 0x01,        //   Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x19, 0x00,        //   Usage Minimum (0x00)
0x2A, 0x91, 0x00,  //   Usage Maximum (0x91)
0x26, 0xFF, 0x00,  //   Logical Maximum (255)
0x95, 0x06,        //   Report Count (6)
0x81, 0x00,        //   Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0,              // End Collection

// 57 bytes

Microsoft USB Nano Receiver Output from macOS. ``` mac-hid-dump on  main ❯ ./mac-hid-dump mac-hid-dump: 045E 0773: Microsoft - Microsoft? Nano Transceiver v1.0 DESCRIPTOR: 05 0c 09 01 a1 01 85 20 06 00 ff 15 00 26 ff 00 75 08 95 12 0a 0a fa b1 02 85 21 06 00 ff 15 00 25 01 75 01 95 10 1a 10 fa 2a 1f fa 81 02 85 28 06 00 ff 1a 10 fa 2a 1f fa b1 02 85 22 06 00 ff 15 00 26 ff 00 75 08 95 1a 0a 0a fa b1 02 85 23 06 00 ff 0a 0a fa b1 02 85 24 06 00 ff 95 1f 0a 0a fa b1 02 85 25 06 00 ff 0a 0a fa b1 02 85 26 06 00 ff 0a 0a fa b1 02 85 27 06 00 ff 0a 0a fa 81 02 85 14 06 00 ff 15 00 25 03 75 02 95 01 0a 01 fe 81 02 75 06 81 01 85 04 06 00 ff 15 00 25 03 75 02 95 01 0a 01 fe 81 02 75 06 81 01 c0 05 0c 09 01 a1 01 85 07 05 0c 19 00 2a ff 03 95 01 75 10 15 00 26 ff 03 81 00 05 07 19 00 29 ff 75 08 26 ff 00 81 00 81 01 06 00 ff 0a 03 fe 0a 04 fe 75 01 95 02 25 01 81 02 0a 05 ff 95 01 75 05 25 1f 81 02 75 01 81 01 1a 01 fd 2a ff fd 15 01 26 ff 00 75 08 81 00 0a 02 ff 26 ff 00 15 00 81 02 c0 06 bc ff 09 88 a1 01 85 08 19 01 29 ff 15 01 26 ff 00 95 01 75 08 81 00 c0 05 01 09 80 a1 01 85 03 19 00 29 ff 15 00 26 ff 00 81 00 c0 (319 bytes) 045E 0773: Microsoft - Microsoft? Nano Transceiver v1.0 DESCRIPTOR: 05 01 09 02 a1 01 05 01 09 02 a1 02 85 1a 09 01 a1 00 05 09 19 01 29 05 95 05 75 01 15 00 25 01 81 02 75 03 95 01 81 01 05 01 09 30 09 31 95 02 75 10 16 01 80 26 ff 7f 81 06 a1 02 85 12 09 48 95 01 75 02 15 00 25 01 35 01 45 04 b1 02 85 1a 09 38 35 00 45 00 95 01 75 10 16 01 80 26 ff 7f 81 06 c0 a1 02 85 12 09 48 75 02 15 00 25 01 35 01 45 04 b1 02 35 00 45 00 75 04 b1 01 85 1a 05 0c 95 01 75 10 16 01 80 26 ff 7f 0a 38 02 81 06 c0 c0 c0 c0 05 0c 09 01 a1 01 05 01 09 02 a1 02 85 1f 05 0c 0a 38 02 95 01 75 10 16 01 80 26 ff 7f 81 06 85 17 06 00 ff 0a 06 ff 0a 0f ff 15 00 25 01 35 01 45 04 95 02 75 02 b1 02 0a 04 ff 35 00 45 00 95 01 75 01 b1 02 75 03 b1 01 c0 85 16 05 0c 19 00 2a ff 03 95 01 75 10 15 00 26 ff 03 81 00 06 00 ff 1a 01 fd 2a ff fd 15 01 26 ff 00 75 08 81 00 81 01 85 1c 06 00 ff 0a 25 ff 15 00 25 04 75 08 95 01 81 02 0a 26 ff 75 10 15 00 27 ff ff 00 00 81 02 c0 (295 bytes) 045E 0773: Microsoft - Microsoft? Nano Transceiver v1.0 DESCRIPTOR: 05 01 09 06 a1 01 05 08 19 01 29 03 15 00 25 01 75 01 95 03 91 02 95 05 91 01 05 07 1a e0 00 2a e7 00 95 08 81 02 75 08 95 01 81 01 19 00 2a 91 00 26 ff 00 95 06 81 00 c0 (57 bytes) ``` Parser output <details> <summary> click to expand </summary> ``` 0x05, 0x0C, // Usage Page (Consumer) 0x09, 0x01, // Usage (Consumer Control) 0xA1, 0x01, // Collection (Application) 0x85, 0x20, // Report ID (32) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x12, // Report Count (18) 0x0A, 0x0A, 0xFA, // Usage (0xFA0A) 0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x85, 0x21, // Report ID (33) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x01, // Logical Maximum (1) 0x75, 0x01, // Report Size (1) 0x95, 0x10, // Report Count (16) 0x1A, 0x10, 0xFA, // Usage Minimum (0xFA10) 0x2A, 0x1F, 0xFA, // Usage Maximum (0xFA1F) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x85, 0x28, // Report ID (40) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x1A, 0x10, 0xFA, // Usage Minimum (0xFA10) 0x2A, 0x1F, 0xFA, // Usage Maximum (0xFA1F) 0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x85, 0x22, // Report ID (34) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x1A, // Report Count (26) 0x0A, 0x0A, 0xFA, // Usage (0xFA0A) 0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x85, 0x23, // Report ID (35) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x0A, 0x0A, 0xFA, // Usage (0xFA0A) 0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x85, 0x24, // Report ID (36) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x95, 0x1F, // Report Count (31) 0x0A, 0x0A, 0xFA, // Usage (0xFA0A) 0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x85, 0x25, // Report ID (37) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x0A, 0x0A, 0xFA, // Usage (0xFA0A) 0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x85, 0x26, // Report ID (38) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x0A, 0x0A, 0xFA, // Usage (0xFA0A) 0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x85, 0x27, // Report ID (39) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x0A, 0x0A, 0xFA, // Usage (0xFA0A) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x85, 0x14, // Report ID (20) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x03, // Logical Maximum (3) 0x75, 0x02, // Report Size (2) 0x95, 0x01, // Report Count (1) 0x0A, 0x01, 0xFE, // Usage (0xFE01) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x75, 0x06, // Report Size (6) 0x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x85, 0x04, // Report ID (4) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x03, // Logical Maximum (3) 0x75, 0x02, // Report Size (2) 0x95, 0x01, // Report Count (1) 0x0A, 0x01, 0xFE, // Usage (0xFE01) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x75, 0x06, // Report Size (6) 0x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0xC0, // End Collection 0x05, 0x0C, // Usage Page (Consumer) 0x09, 0x01, // Usage (Consumer Control) 0xA1, 0x01, // Collection (Application) 0x85, 0x07, // Report ID (7) 0x05, 0x0C, // Usage Page (Consumer) 0x19, 0x00, // Usage Minimum (Unassigned) 0x2A, 0xFF, 0x03, // Usage Maximum (0x03FF) 0x95, 0x01, // Report Count (1) 0x75, 0x10, // Report Size (16) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x03, // Logical Maximum (1023) 0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x05, 0x07, // Usage Page (Kbrd/Keypad) 0x19, 0x00, // Usage Minimum (0x00) 0x29, 0xFF, // Usage Maximum (0xFF) 0x75, 0x08, // Report Size (8) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x0A, 0x03, 0xFE, // Usage (0xFE03) 0x0A, 0x04, 0xFE, // Usage (0xFE04) 0x75, 0x01, // Report Size (1) 0x95, 0x02, // Report Count (2) 0x25, 0x01, // Logical Maximum (1) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x0A, 0x05, 0xFF, // Usage (0xFF05) 0x95, 0x01, // Report Count (1) 0x75, 0x05, // Report Size (5) 0x25, 0x1F, // Logical Maximum (31) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x75, 0x01, // Report Size (1) 0x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x1A, 0x01, 0xFD, // Usage Minimum (0xFD01) 0x2A, 0xFF, 0xFD, // Usage Maximum (0xFDFF) 0x15, 0x01, // Logical Minimum (1) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x75, 0x08, // Report Size (8) 0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x0A, 0x02, 0xFF, // Usage (0xFF02) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x15, 0x00, // Logical Minimum (0) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0xC0, // End Collection 0x06, 0xBC, 0xFF, // Usage Page (Vendor Defined 0xFFBC) 0x09, 0x88, // Usage (0x88) 0xA1, 0x01, // Collection (Application) 0x85, 0x08, // Report ID (8) 0x19, 0x01, // Usage Minimum (0x01) 0x29, 0xFF, // Usage Maximum (0xFF) 0x15, 0x01, // Logical Minimum (1) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x95, 0x01, // Report Count (1) 0x75, 0x08, // Report Size (8) 0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0xC0, // End Collection 0x05, 0x01, // Usage Page (Generic Desktop Ctrls) 0x09, 0x80, // Usage (Sys Control) 0xA1, 0x01, // Collection (Application) 0x85, 0x03, // Report ID (3) 0x19, 0x00, // Usage Minimum (Undefined) 0x29, 0xFF, // Usage Maximum (0xFF) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0xC0, // End Collection // 319 bytes ``` ``` 0x05, 0x01, // Usage Page (Generic Desktop Ctrls) 0x09, 0x02, // Usage (Mouse) 0xA1, 0x01, // Collection (Application) 0x05, 0x01, // Usage Page (Generic Desktop Ctrls) 0x09, 0x02, // Usage (Mouse) 0xA1, 0x02, // Collection (Logical) 0x85, 0x1A, // Report ID (26) 0x09, 0x01, // Usage (Pointer) 0xA1, 0x00, // Collection (Physical) 0x05, 0x09, // Usage Page (Button) 0x19, 0x01, // Usage Minimum (0x01) 0x29, 0x05, // Usage Maximum (0x05) 0x95, 0x05, // Report Count (5) 0x75, 0x01, // Report Size (1) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x01, // Logical Maximum (1) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x75, 0x03, // Report Size (3) 0x95, 0x01, // Report Count (1) 0x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x05, 0x01, // Usage Page (Generic Desktop Ctrls) 0x09, 0x30, // Usage (X) 0x09, 0x31, // Usage (Y) 0x95, 0x02, // Report Count (2) 0x75, 0x10, // Report Size (16) 0x16, 0x01, 0x80, // Logical Minimum (-32767) 0x26, 0xFF, 0x7F, // Logical Maximum (32767) 0x81, 0x06, // Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position) 0xA1, 0x02, // Collection (Logical) 0x85, 0x12, // Report ID (18) 0x09, 0x48, // Usage (0x48) 0x95, 0x01, // Report Count (1) 0x75, 0x02, // Report Size (2) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x01, // Logical Maximum (1) 0x35, 0x01, // Physical Minimum (1) 0x45, 0x04, // Physical Maximum (4) 0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x85, 0x1A, // Report ID (26) 0x09, 0x38, // Usage (Wheel) 0x35, 0x00, // Physical Minimum (0) 0x45, 0x00, // Physical Maximum (0) 0x95, 0x01, // Report Count (1) 0x75, 0x10, // Report Size (16) 0x16, 0x01, 0x80, // Logical Minimum (-32767) 0x26, 0xFF, 0x7F, // Logical Maximum (32767) 0x81, 0x06, // Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position) 0xC0, // End Collection 0xA1, 0x02, // Collection (Logical) 0x85, 0x12, // Report ID (18) 0x09, 0x48, // Usage (0x48) 0x75, 0x02, // Report Size (2) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x01, // Logical Maximum (1) 0x35, 0x01, // Physical Minimum (1) 0x45, 0x04, // Physical Maximum (4) 0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x35, 0x00, // Physical Minimum (0) 0x45, 0x00, // Physical Maximum (0) 0x75, 0x04, // Report Size (4) 0xB1, 0x01, // Feature (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x85, 0x1A, // Report ID (26) 0x05, 0x0C, // Usage Page (Consumer) 0x95, 0x01, // Report Count (1) 0x75, 0x10, // Report Size (16) 0x16, 0x01, 0x80, // Logical Minimum (-32767) 0x26, 0xFF, 0x7F, // Logical Maximum (32767) 0x0A, 0x38, 0x02, // Usage (AC Pan) 0x81, 0x06, // Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position) 0xC0, // End Collection 0xC0, // End Collection 0xC0, // End Collection 0xC0, // End Collection 0x05, 0x0C, // Usage Page (Consumer) 0x09, 0x01, // Usage (Consumer Control) 0xA1, 0x01, // Collection (Application) 0x05, 0x01, // Usage Page (Generic Desktop Ctrls) 0x09, 0x02, // Usage (Mouse) 0xA1, 0x02, // Collection (Logical) 0x85, 0x1F, // Report ID (31) 0x05, 0x0C, // Usage Page (Consumer) 0x0A, 0x38, 0x02, // Usage (AC Pan) 0x95, 0x01, // Report Count (1) 0x75, 0x10, // Report Size (16) 0x16, 0x01, 0x80, // Logical Minimum (-32767) 0x26, 0xFF, 0x7F, // Logical Maximum (32767) 0x81, 0x06, // Input (Data,Var,Rel,No Wrap,Linear,Preferred State,No Null Position) 0x85, 0x17, // Report ID (23) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x0A, 0x06, 0xFF, // Usage (0xFF06) 0x0A, 0x0F, 0xFF, // Usage (0xFF0F) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x01, // Logical Maximum (1) 0x35, 0x01, // Physical Minimum (1) 0x45, 0x04, // Physical Maximum (4) 0x95, 0x02, // Report Count (2) 0x75, 0x02, // Report Size (2) 0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x0A, 0x04, 0xFF, // Usage (0xFF04) 0x35, 0x00, // Physical Minimum (0) 0x45, 0x00, // Physical Maximum (0) 0x95, 0x01, // Report Count (1) 0x75, 0x01, // Report Size (1) 0xB1, 0x02, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x75, 0x03, // Report Size (3) 0xB1, 0x01, // Feature (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0x85, 0x16, // Report ID (22) 0x05, 0x0C, // Usage Page (Consumer) 0x19, 0x00, // Usage Minimum (Unassigned) 0x2A, 0xFF, 0x03, // Usage Maximum (0x03FF) 0x95, 0x01, // Report Count (1) 0x75, 0x10, // Report Size (16) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x03, // Logical Maximum (1023) 0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x1A, 0x01, 0xFD, // Usage Minimum (0xFD01) 0x2A, 0xFF, 0xFD, // Usage Maximum (0xFDFF) 0x15, 0x01, // Logical Minimum (1) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x75, 0x08, // Report Size (8) 0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x85, 0x1C, // Report ID (28) 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x0A, 0x25, 0xFF, // Usage (0xFF25) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x04, // Logical Maximum (4) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x0A, 0x26, 0xFF, // Usage (0xFF26) 0x75, 0x10, // Report Size (16) 0x15, 0x00, // Logical Minimum (0) 0x27, 0xFF, 0xFF, 0x00, 0x00, // Logical Maximum (65534) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0xC0, // End Collection // 295 bytes ``` ``` 0x05, 0x01, // Usage Page (Generic Desktop Ctrls) 0x09, 0x06, // Usage (Keyboard) 0xA1, 0x01, // Collection (Application) 0x05, 0x08, // Usage Page (LEDs) 0x19, 0x01, // Usage Minimum (Num Lock) 0x29, 0x03, // Usage Maximum (Scroll Lock) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x01, // Logical Maximum (1) 0x75, 0x01, // Report Size (1) 0x95, 0x03, // Report Count (3) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x95, 0x05, // Report Count (5) 0x91, 0x01, // Output (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x05, 0x07, // Usage Page (Kbrd/Keypad) 0x1A, 0xE0, 0x00, // Usage Minimum (0xE0) 0x2A, 0xE7, 0x00, // Usage Maximum (0xE7) 0x95, 0x08, // Report Count (8) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x81, 0x01, // Input (Const,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x19, 0x00, // Usage Minimum (0x00) 0x2A, 0x91, 0x00, // Usage Maximum (0x91) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x95, 0x06, // Report Count (6) 0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0xC0, // End Collection // 57 bytes ``` </details>
mcuee commented 2021-07-19 00:33:48 -05:00 (Migrated from github.com)

macOS USB prober output for Logitech USB Receiver

click to expand
Full Speed device @ 22 (0x02146000): .............................................   Composite device: "USB Receiver"
    Port Information:   0x0018
           Not Captive
           External Device
           Connected
           Enabled
    Number Of Endpoints (includes EP0):   
        Total Endpoints for Configuration 1 (current):   3
    Device Descriptor   
        Descriptor Version Number:   0x0200
        Device Class:   0   (Composite)
        Device Subclass:   0
        Device Protocol:   0
        Device MaxPacketSize:   8
        Device VendorID/ProductID:   0x046D/0xC534   (Logitech Inc.)
        Device Version Number:   0x2901
        Number of Configurations:   1
        Manufacturer String:   1 "Logitech"
        Product String:   2 "USB Receiver"
        Serial Number String:   0 (none)
    Configuration Descriptor (current config): ......................   "RQR29.01_B0016"
        Length (and contents):   59
            Raw Descriptor (hex)    0000: 09 02 3B 00 02 01 04 A0  31 09 04 00 00 01 03 01  
            Raw Descriptor (hex)    0010: 01 00 09 21 11 01 00 01  22 3B 00 07 05 81 03 08  
            Raw Descriptor (hex)    0020: 00 08 09 04 01 00 01 03  01 02 00 09 21 11 01 00  
            Raw Descriptor (hex)    0030: 01 22 B1 00 07 05 82 03  14 00 02 
        Number of Interfaces:   2
        Configuration Value:   1
        Attributes:   0xA0 (bus-powered, remote wakeup)
        MaxPower:   98 mA
        Interface #0 - HID/Boot Interface   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   3   (HID)
            Interface Subclass;   1   (Boot Interface)
            Interface Protocol:   1
            HID Descriptor   
                Descriptor Version Number:   0x0111
                Country Code:   0
                Descriptor Count:   1
                Descriptor 1   
                    Type:   0x22  (Report Descriptor)
                    Length (and contents):   59
                        Raw Descriptor (hex)    0000: 05 01 09 06 A1 01 05 07  19 E0 29 E7 15 00 25 01  
                        Raw Descriptor (hex)    0010: 75 01 95 08 81 02 81 03  95 05 05 08 19 01 29 05  
                        Raw Descriptor (hex)    0020: 91 02 95 01 75 03 91 01  95 06 75 08 15 00 26 A4  
                        Raw Descriptor (hex)    0030: 00 05 07 19 00 2A A4 00  81 00 C0 
                    Parsed Report Descriptor:   
                          Usage Page    (Generic Desktop) 
                          Usage (Keyboard)    
                              Collection (Application)    
                                Usage Page    (Keyboard/Keypad) 
                                Usage Minimum...........    (224)  
                                Usage Maximum...........    (231)  
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (1)  
                                Report Size.............    (1)  
                                Report Count............    (8)  
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                Input...................   (Constant, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                Report Count............    (5)  
                                Usage Page    (LED) 
                                Usage Minimum...........    (1)  
                                Usage Maximum...........    (5)  
                                Output..................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Report Count............    (1)  
                                Report Size.............    (3)  
                                Output..................   (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Report Count............    (6)  
                                Report Size.............    (8)  
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (164)  
                                Usage Page    (Keyboard/Keypad) 
                                Usage Minimum...........    (0)  
                                Usage Maximum...........    (164)  
                                Input...................   (Data, Array, Absolute) 
                              End Collection     
            Endpoint 0x81 - Interrupt Input   
                Address:   0x81  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   8
                Polling Interval:   8 ms
        Interface #1 - HID/Boot Interface   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   3   (HID)
            Interface Subclass;   1   (Boot Interface)
            Interface Protocol:   2
            HID Descriptor   
                Descriptor Version Number:   0x0111
                Country Code:   0
                Descriptor Count:   1
                Descriptor 1   
                    Type:   0x22  (Report Descriptor)
                    Length (and contents):   177
                        Raw Descriptor (hex)    0000: 05 01 09 02 A1 01 85 02  09 01 A1 00 05 09 19 01  
                        Raw Descriptor (hex)    0010: 29 10 15 00 25 01 95 10  75 01 81 02 05 01 16 01  
                        Raw Descriptor (hex)    0020: F8 26 FF 07 75 0C 95 02  09 30 09 31 81 06 15 81  
                        Raw Descriptor (hex)    0030: 25 7F 75 08 95 01 09 38  81 06 05 0C 0A 38 02 95  
                        Raw Descriptor (hex)    0040: 01 81 06 C0 C0 05 0C 09  01 A1 01 85 03 75 10 95  
                        Raw Descriptor (hex)    0050: 02 15 01 26 8C 02 19 01  2A 8C 02 81 00 C0 05 01  
                        Raw Descriptor (hex)    0060: 09 80 A1 01 85 04 75 02  95 01 15 01 25 03 09 82  
                        Raw Descriptor (hex)    0070: 09 81 09 83 81 60 75 06  81 03 C0 06 00 FF 09 01  
                        Raw Descriptor (hex)    0080: A1 01 85 10 75 08 95 06  15 00 26 FF 00 09 01 81  
                        Raw Descriptor (hex)    0090: 00 09 01 91 00 C0 06 00  FF 09 02 A1 01 85 11 75  
                        Raw Descriptor (hex)    00a0: 08 95 13 15 00 26 FF 00  09 02 81 00 09 02 91 00  
                        Raw Descriptor (hex)    00b0: C0 
                    Parsed Report Descriptor:   
                          Usage Page    (Generic Desktop) 
                          Usage (Mouse)    
                              Collection (Application)    
                                ReportID................    (2)  
                                Usage (Pointer)    
                                    Collection (Physical)    
                                      Usage Page    (Button) 
                                      Usage Minimum...........    (1)  
                                      Usage Maximum...........    (16)  
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Report Count............    (16)  
                                      Report Size.............    (1)  
                                      Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage Page    (Generic Desktop) 
                                      Logical Minimum.........    (-2047)  
                                      Logical Maximum.........    (2047)  
                                      Report Size.............    (12)  
                                      Report Count............    (2)  
                                      Usage (X)    
                                      Usage (Y)    
                                      Input...................   (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Logical Minimum.........    (-127)  
                                      Logical Maximum.........    (127)  
                                      Report Size.............    (8)  
                                      Report Count............    (1)  
                                      Usage (Wheel)    
                                      Input...................   (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      Usage Page    (Consumer) 
                                      Usage 568 (0x238)    
                                      Report Count............    (1)  
                                      Input...................   (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                    End Collection     
                              End Collection     
                          Usage Page    (Consumer) 
                          Usage 1 (0x1)    
                              Collection (Application)    
                                ReportID................    (3)  
                                Report Size.............    (16)  
                                Report Count............    (2)  
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (652)  
                                Usage Minimum...........    (1)  
                                Usage Maximum...........    (652)  
                                Input...................   (Data, Array, Absolute) 
                              End Collection     
                          Usage Page    (Generic Desktop) 
                          Usage (System Control)    
                              Collection (Application)    
                                ReportID................    (4)  
                                Report Size.............    (2)  
                                Report Count............    (1)  
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (3)  
                                Usage (System Sleep)    
                                Usage (System Power Down)    
                                Usage (System Wakeup)    
                                Input...................   (Data, Array, Absolute) 
                                Report Size.............    (6)  
                                Input...................   (Constant, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                              End Collection     
                          Usage Page    (Vendor defined 0) 
                          Usage 1 (0x1)    
                              Collection (Application)    
                                ReportID................    (16)  
                                Report Size.............    (8)  
                                Report Count............    (6)  
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (255)  
                                Usage 1 (0x1)    
                                Input...................   (Data, Array, Absolute) 
                                Usage 1 (0x1)    
                                Output..................   (Data, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                              End Collection     
                          Usage Page    (Vendor defined 0) 
                          Usage 2 (0x2)    
                              Collection (Application)    
                                ReportID................    (17)  
                                Report Size.............    (8)  
                                Report Count............    (19)  
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (255)  
                                Usage 2 (0x2)    
                                Input...................   (Data, Array, Absolute) 
                                Usage 2 (0x2)    
                                Output..................   (Data, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                              End Collection     
            Endpoint 0x82 - Interrupt Input   
                Address:   0x82  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   20
                Polling Interval:   2 ms
macOS USB prober output for Logitech USB Receiver <details> <summary> click to expand </summary> ``` Full Speed device @ 22 (0x02146000): ............................................. Composite device: "USB Receiver" Port Information: 0x0018 Not Captive External Device Connected Enabled Number Of Endpoints (includes EP0): Total Endpoints for Configuration 1 (current): 3 Device Descriptor Descriptor Version Number: 0x0200 Device Class: 0 (Composite) Device Subclass: 0 Device Protocol: 0 Device MaxPacketSize: 8 Device VendorID/ProductID: 0x046D/0xC534 (Logitech Inc.) Device Version Number: 0x2901 Number of Configurations: 1 Manufacturer String: 1 "Logitech" Product String: 2 "USB Receiver" Serial Number String: 0 (none) Configuration Descriptor (current config): ...................... "RQR29.01_B0016" Length (and contents): 59 Raw Descriptor (hex) 0000: 09 02 3B 00 02 01 04 A0 31 09 04 00 00 01 03 01 Raw Descriptor (hex) 0010: 01 00 09 21 11 01 00 01 22 3B 00 07 05 81 03 08 Raw Descriptor (hex) 0020: 00 08 09 04 01 00 01 03 01 02 00 09 21 11 01 00 Raw Descriptor (hex) 0030: 01 22 B1 00 07 05 82 03 14 00 02 Number of Interfaces: 2 Configuration Value: 1 Attributes: 0xA0 (bus-powered, remote wakeup) MaxPower: 98 mA Interface #0 - HID/Boot Interface Alternate Setting 0 Number of Endpoints 1 Interface Class: 3 (HID) Interface Subclass; 1 (Boot Interface) Interface Protocol: 1 HID Descriptor Descriptor Version Number: 0x0111 Country Code: 0 Descriptor Count: 1 Descriptor 1 Type: 0x22 (Report Descriptor) Length (and contents): 59 Raw Descriptor (hex) 0000: 05 01 09 06 A1 01 05 07 19 E0 29 E7 15 00 25 01 Raw Descriptor (hex) 0010: 75 01 95 08 81 02 81 03 95 05 05 08 19 01 29 05 Raw Descriptor (hex) 0020: 91 02 95 01 75 03 91 01 95 06 75 08 15 00 26 A4 Raw Descriptor (hex) 0030: 00 05 07 19 00 2A A4 00 81 00 C0 Parsed Report Descriptor: Usage Page (Generic Desktop) Usage (Keyboard) Collection (Application) Usage Page (Keyboard/Keypad) Usage Minimum........... (224) Usage Maximum........... (231) Logical Minimum......... (0) Logical Maximum......... (1) Report Size............. (1) Report Count............ (8) Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) Input................... (Constant, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) Report Count............ (5) Usage Page (LED) Usage Minimum........... (1) Usage Maximum........... (5) Output.................. (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) Report Count............ (1) Report Size............. (3) Output.................. (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) Report Count............ (6) Report Size............. (8) Logical Minimum......... (0) Logical Maximum......... (164) Usage Page (Keyboard/Keypad) Usage Minimum........... (0) Usage Maximum........... (164) Input................... (Data, Array, Absolute) End Collection Endpoint 0x81 - Interrupt Input Address: 0x81 (IN) Attributes: 0x03 (Interrupt) Max Packet Size: 8 Polling Interval: 8 ms Interface #1 - HID/Boot Interface Alternate Setting 0 Number of Endpoints 1 Interface Class: 3 (HID) Interface Subclass; 1 (Boot Interface) Interface Protocol: 2 HID Descriptor Descriptor Version Number: 0x0111 Country Code: 0 Descriptor Count: 1 Descriptor 1 Type: 0x22 (Report Descriptor) Length (and contents): 177 Raw Descriptor (hex) 0000: 05 01 09 02 A1 01 85 02 09 01 A1 00 05 09 19 01 Raw Descriptor (hex) 0010: 29 10 15 00 25 01 95 10 75 01 81 02 05 01 16 01 Raw Descriptor (hex) 0020: F8 26 FF 07 75 0C 95 02 09 30 09 31 81 06 15 81 Raw Descriptor (hex) 0030: 25 7F 75 08 95 01 09 38 81 06 05 0C 0A 38 02 95 Raw Descriptor (hex) 0040: 01 81 06 C0 C0 05 0C 09 01 A1 01 85 03 75 10 95 Raw Descriptor (hex) 0050: 02 15 01 26 8C 02 19 01 2A 8C 02 81 00 C0 05 01 Raw Descriptor (hex) 0060: 09 80 A1 01 85 04 75 02 95 01 15 01 25 03 09 82 Raw Descriptor (hex) 0070: 09 81 09 83 81 60 75 06 81 03 C0 06 00 FF 09 01 Raw Descriptor (hex) 0080: A1 01 85 10 75 08 95 06 15 00 26 FF 00 09 01 81 Raw Descriptor (hex) 0090: 00 09 01 91 00 C0 06 00 FF 09 02 A1 01 85 11 75 Raw Descriptor (hex) 00a0: 08 95 13 15 00 26 FF 00 09 02 81 00 09 02 91 00 Raw Descriptor (hex) 00b0: C0 Parsed Report Descriptor: Usage Page (Generic Desktop) Usage (Mouse) Collection (Application) ReportID................ (2) Usage (Pointer) Collection (Physical) Usage Page (Button) Usage Minimum........... (1) Usage Maximum........... (16) Logical Minimum......... (0) Logical Maximum......... (1) Report Count............ (16) Report Size............. (1) Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) Usage Page (Generic Desktop) Logical Minimum......... (-2047) Logical Maximum......... (2047) Report Size............. (12) Report Count............ (2) Usage (X) Usage (Y) Input................... (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) Logical Minimum......... (-127) Logical Maximum......... (127) Report Size............. (8) Report Count............ (1) Usage (Wheel) Input................... (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) Usage Page (Consumer) Usage 568 (0x238) Report Count............ (1) Input................... (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) End Collection End Collection Usage Page (Consumer) Usage 1 (0x1) Collection (Application) ReportID................ (3) Report Size............. (16) Report Count............ (2) Logical Minimum......... (1) Logical Maximum......... (652) Usage Minimum........... (1) Usage Maximum........... (652) Input................... (Data, Array, Absolute) End Collection Usage Page (Generic Desktop) Usage (System Control) Collection (Application) ReportID................ (4) Report Size............. (2) Report Count............ (1) Logical Minimum......... (1) Logical Maximum......... (3) Usage (System Sleep) Usage (System Power Down) Usage (System Wakeup) Input................... (Data, Array, Absolute) Report Size............. (6) Input................... (Constant, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) End Collection Usage Page (Vendor defined 0) Usage 1 (0x1) Collection (Application) ReportID................ (16) Report Size............. (8) Report Count............ (6) Logical Minimum......... (0) Logical Maximum......... (255) Usage 1 (0x1) Input................... (Data, Array, Absolute) Usage 1 (0x1) Output.................. (Data, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) End Collection Usage Page (Vendor defined 0) Usage 2 (0x2) Collection (Application) ReportID................ (17) Report Size............. (8) Report Count............ (19) Logical Minimum......... (0) Logical Maximum......... (255) Usage 2 (0x2) Input................... (Data, Array, Absolute) Usage 2 (0x2) Output.................. (Data, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) End Collection Endpoint 0x82 - Interrupt Input Address: 0x82 (IN) Attributes: 0x03 (Interrupt) Max Packet Size: 20 Polling Interval: 2 ms ``` </details>
mcuee commented 2021-07-19 03:20:57 -05:00 (Migrated from github.com)

Another USB device: Plantronics Blackwire 3220 Series USB Headset

click to expand
Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 01            Report ID (1)
09 E9            Usage (233)
09 EA            Usage (234)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 06            Input (0x06)
85 02            Report ID (2)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 10            Report Count (16)
81 02            Input (0x02)
85 05            Report ID (5)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 07            Report ID (7)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 04            Report ID (4)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 24            Report Count (36)
91 02            Output (0x02)
85 06            Report ID (6)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 24            Report Count (36)
91 02            Output (0x02)
75 06            Report Size (6)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(99 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xe9,
0x09, 0xea, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02,
0x81, 0x06, 0x85, 0x02, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x85, 0x05, 0x09, 0x00,
0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02,
0x85, 0x07, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08,
0x95, 0x20, 0x81, 0x02, 0x85, 0x04, 0x09, 0x00, 0x15, 0x00,
0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x85, 0x06,
0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24,
0x91, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0,


Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x5 (0xb)
  Report Descriptor:
05 0B            Usage Page (11)
09 05            Usage  (5)
A1 01            Collection (Application)
85 08            Report ID (8)
09 2F            Usage (47)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
09 20            Usage (32)
09 21            Usage (33)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 22            Input (0x22)
85 09            Report ID (9)
05 08            Usage Page (8)
09 09            Usage (9)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 17            Report ID (23)
09 17            Usage (23)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 18            Report ID (24)
09 18            Usage (24)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 1E            Report ID (30)
09 1E            Usage (30)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 20            Report ID (32)
09 20            Usage (32)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 2A            Report ID (42)
09 2A            Usage (42)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
C0               End Collection
(163 bytes)
0x05, 0x0b, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x08, 0x09, 0x2f,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x81, 0x22, 0x85, 0x09, 0x05, 0x08, 0x09, 0x09,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22,
0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0x91, 0x22, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x1e,
0x09, 0x1e, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01,
0x91, 0x22, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x2a, 0x09, 0x2a,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22,
0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07,
0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03,
0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0xc0,


Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x3 (0xffa0)
  Report Descriptor:
06 A0 FF         Usage Page (65440)
09 03            Usage  (3)
A1 01            Collection (Application)
85 03            Report ID (3)
09 30            Usage (48)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 14            Report ID (20)
09 B1            Usage (177)
09 B2            Usage (178)
09 B5            Usage (181)
09 B7            Usage (183)
09 B3            Usage (179)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
81 06            Input (0x06)
85 15            Report ID (21)
09 8C            Usage (140)
15 00            Logical Minimum (0)
27 FF FF 00 00   Logical Maximum (65535)
75 10            Report Size (16)
95 01            Report Count (1)
81 22            Input (0x22)
85 1F            Report ID (31)
09 9C            Usage (156)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
85 03            Report ID (3)
09 30            Usage (48)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
91 02            Output (0x02)
85 19            Report ID (25)
09 8D            Usage (141)
09 8F            Usage (143)
09 9E            Usage (158)
09 DC            Usage (220)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 04            Report Count (4)
91 22            Output (0x22)
09 D2            Usage (210)
09 D9            Usage (217)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
91 06            Output (0x06)
85 1A            Report ID (26)
09 B5            Usage (181)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 1B            Report ID (27)
09 CF            Usage (207)
09 B5            Usage (181)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
B1 22            Feature (0x22)
09 DE            Usage (222)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 23            Feature (0x23)
09 D8            Usage (216)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 22            Feature (0x22)
75 04            Report Size (4)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
09 09            Usage (9)
09 17            Usage (23)
09 18            Usage (24)
09 1E            Usage (30)
09 20            Usage (32)
09 2A            Usage (42)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 06            Report Count (6)
B1 22            Feature (0x22)
75 03            Report Size (3)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 02            Report Size (2)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 02            Report Size (2)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
(235 bytes)
0x06, 0xa0, 0xff, 0x09, 0x03, 0xa1, 0x01, 0x85, 0x03, 0x09,
0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81,
0x02, 0x85, 0x14, 0x09, 0xb1, 0x09, 0xb2, 0x09, 0xb5, 0x09,
0xb7, 0x09, 0xb3, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
0x05, 0x81, 0x06, 0x85, 0x15, 0x09, 0x8c, 0x15, 0x00, 0x27,
0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81, 0x22,
0x85, 0x1f, 0x09, 0x9c, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0x81, 0x06, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00,
0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x91, 0x02, 0x85, 0x19,
0x09, 0x8d, 0x09, 0x8f, 0x09, 0x9e, 0x09, 0xdc, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x91, 0x22, 0x09, 0xd2,
0x09, 0xd9, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02,
0x91, 0x06, 0x85, 0x1a, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x1b, 0x09, 0xcf,
0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02,
0xb1, 0x22, 0x09, 0xde, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0xb1, 0x23, 0x09, 0xd8, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0xb1, 0x22, 0x75, 0x04, 0x95, 0x01,
0xb1, 0x03, 0x09, 0x09, 0x09, 0x17, 0x09, 0x18, 0x09, 0x1e,
0x09, 0x20, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x06, 0xb1, 0x22, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x75, 0x02, 0x95, 0x01,
0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x02,
0x95, 0x01, 0xb1, 0x03, 0xc0,

Another USB device: Plantronics Blackwire 3220 Series USB Headset <details> <summary> click to expand </summary> ``` Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 01 Report ID (1) 09 E9 Usage (233) 09 EA Usage (234) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 06 Input (0x06) 85 02 Report ID (2) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 10 Report Count (16) 81 02 Input (0x02) 85 05 Report ID (5) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 07 Report ID (7) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 04 Report ID (4) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 24 Report Count (36) 91 02 Output (0x02) 85 06 Report ID (6) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 24 Report Count (36) 91 02 Output (0x02) 75 06 Report Size (6) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (99 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xe9, 0x09, 0xea, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x06, 0x85, 0x02, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x85, 0x05, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x07, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x04, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x85, 0x06, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x5 (0xb) Report Descriptor: 05 0B Usage Page (11) 09 05 Usage (5) A1 01 Collection (Application) 85 08 Report ID (8) 09 2F Usage (47) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 09 20 Usage (32) 09 21 Usage (33) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 22 Input (0x22) 85 09 Report ID (9) 05 08 Usage Page (8) 09 09 Usage (9) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 17 Report ID (23) 09 17 Usage (23) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 18 Report ID (24) 09 18 Usage (24) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 1E Report ID (30) 09 1E Usage (30) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 20 Report ID (32) 09 20 Usage (32) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 2A Report ID (42) 09 2A Usage (42) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding C0 End Collection (163 bytes) 0x05, 0x0b, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x08, 0x09, 0x2f, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x22, 0x85, 0x09, 0x05, 0x08, 0x09, 0x09, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x1e, 0x09, 0x1e, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x2a, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x3 (0xffa0) Report Descriptor: 06 A0 FF Usage Page (65440) 09 03 Usage (3) A1 01 Collection (Application) 85 03 Report ID (3) 09 30 Usage (48) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 14 Report ID (20) 09 B1 Usage (177) 09 B2 Usage (178) 09 B5 Usage (181) 09 B7 Usage (183) 09 B3 Usage (179) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 81 06 Input (0x06) 85 15 Report ID (21) 09 8C Usage (140) 15 00 Logical Minimum (0) 27 FF FF 00 00 Logical Maximum (65535) 75 10 Report Size (16) 95 01 Report Count (1) 81 22 Input (0x22) 85 1F Report ID (31) 09 9C Usage (156) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 85 03 Report ID (3) 09 30 Usage (48) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 91 02 Output (0x02) 85 19 Report ID (25) 09 8D Usage (141) 09 8F Usage (143) 09 9E Usage (158) 09 DC Usage (220) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 04 Report Count (4) 91 22 Output (0x22) 09 D2 Usage (210) 09 D9 Usage (217) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 91 06 Output (0x06) 85 1A Report ID (26) 09 B5 Usage (181) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 1B Report ID (27) 09 CF Usage (207) 09 B5 Usage (181) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) B1 22 Feature (0x22) 09 DE Usage (222) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 23 Feature (0x23) 09 D8 Usage (216) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 22 Feature (0x22) 75 04 Report Size (4) 95 01 Report Count (1) B1 03 Feature (0x03) Padding 09 09 Usage (9) 09 17 Usage (23) 09 18 Usage (24) 09 1E Usage (30) 09 20 Usage (32) 09 2A Usage (42) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 06 Report Count (6) B1 22 Feature (0x22) 75 03 Report Size (3) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 02 Report Size (2) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 02 Report Size (2) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection (235 bytes) 0x06, 0xa0, 0xff, 0x09, 0x03, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x14, 0x09, 0xb1, 0x09, 0xb2, 0x09, 0xb5, 0x09, 0xb7, 0x09, 0xb3, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x81, 0x06, 0x85, 0x15, 0x09, 0x8c, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81, 0x22, 0x85, 0x1f, 0x09, 0x9c, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x91, 0x02, 0x85, 0x19, 0x09, 0x8d, 0x09, 0x8f, 0x09, 0x9e, 0x09, 0xdc, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x91, 0x22, 0x09, 0xd2, 0x09, 0xd9, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x91, 0x06, 0x85, 0x1a, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x1b, 0x09, 0xcf, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0xb1, 0x22, 0x09, 0xde, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x23, 0x09, 0xd8, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x22, 0x75, 0x04, 0x95, 0x01, 0xb1, 0x03, 0x09, 0x09, 0x09, 0x17, 0x09, 0x18, 0x09, 0x1e, 0x09, 0x20, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x06, 0xb1, 0x22, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x75, 0x02, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x02, 0x95, 0x01, 0xb1, 0x03, 0xc0, ``` </details>
JoergAtGithub commented 2021-07-19 13:21:36 -05:00 (Migrated from github.com)

I saw all Padding items placed at the end of the reconstructed descriptor of the Plantronics Blackwire 3220 Series USB Headset, I commited a change, which hopefully fixes this. Could you please repeat the test with this device.

I saw all Padding items placed at the end of the reconstructed descriptor of the Plantronics Blackwire 3220 Series USB Headset, I commited a change, which hopefully fixes this. Could you please repeat the test with this device.
mcuee commented 2021-07-19 23:02:15 -05:00 (Migrated from github.com)

macOS USB Prober output for the Plantronics C320-M USB Headset (Blackwire 3220 Series USB Headset). This is a pretty complicated device.

click to expand
Full Speed device @ 11 (0x02112600): .............................................   Composite device: "Plantronics C320-M"
    Port Information:   0x0018
           Not Captive
           External Device
           Connected
           Enabled
    Number Of Endpoints (includes EP0):   
        Total Endpoints for Configuration 1 (current):   4
    Device Descriptor   
        Descriptor Version Number:   0x0200
        Device Class:   0   (Composite)
        Device Subclass:   0
        Device Protocol:   0
        Device MaxPacketSize:   64
        Device VendorID/ProductID:   0x047F/0xC025   (Plantronics, Inc.)
        Device Version Number:   0x0135
        Number of Configurations:   1
        Manufacturer String:   1 "Plantronics"
        Product String:   2 "Plantronics C320-M"
        Serial Number String:   3 "CB13A3E40E8E47D6A40769C27E90A38E"
    Configuration Descriptor (current config)   
        Length (and contents):   288
            Raw Descriptor (hex)    0000: 09 02 20 01 04 01 00 A0  32 09 04 00 00 00 01 01  
            Raw Descriptor (hex)    0010: 00 00 0A 24 01 00 01 72  00 02 01 02 0C 24 02 0A  
            Raw Descriptor (hex)    0020: 01 02 00 02 03 00 00 06  0A 24 06 0B 0A 01 03 00  
            Raw Descriptor (hex)    0030: 00 00 0C 24 02 01 02 04  06 02 03 00 00 00 0A 24  
            Raw Descriptor (hex)    0040: 06 02 01 01 03 00 00 00  07 24 05 08 01 02 00 09  
            Raw Descriptor (hex)    0050: 24 03 03 01 01 00 08 00  0C 24 02 04 01 01 00 02  
            Raw Descriptor (hex)    0060: 03 00 00 00 0A 24 06 05  0C 01 01 02 02 00 09 24  
            Raw Descriptor (hex)    0070: 03 06 02 04 01 05 00 0D  24 04 0C 02 04 0B 02 03  
            Raw Descriptor (hex)    0080: 00 00 00 00 09 04 01 00  00 01 02 00 00 09 04 01  
            Raw Descriptor (hex)    0090: 01 01 01 02 00 00 07 24  01 03 01 01 00 17 24 02  
            Raw Descriptor (hex)    00a0: 01 02 02 10 05 40 1F 00  80 3E 00 00 7D 00 44 AC  
            Raw Descriptor (hex)    00b0: 00 80 BB 00 09 05 81 05  C8 00 01 00 00 07 25 01  
            Raw Descriptor (hex)    00c0: 01 00 00 00 09 04 02 00  00 01 02 00 00 09 04 02  
            Raw Descriptor (hex)    00d0: 01 01 01 02 00 00 07 24  01 04 03 01 00 1A 24 02  
            Raw Descriptor (hex)    00e0: 01 02 02 10 06 40 1F 00  80 3E 00 C0 5D 00 00 7D  
            Raw Descriptor (hex)    00f0: 00 44 AC 00 80 BB 00 09  05 01 09 C0 00 01 00 00  
            Raw Descriptor (hex)    0100: 07 25 01 01 01 04 00 09  04 03 00 01 03 00 00 00  
            Raw Descriptor (hex)    0110: 09 21 11 01 00 01 22 6F  01 07 05 84 03 25 00 01  
            Unknown Descriptor   0120: 
        Number of Interfaces:   4
        Configuration Value:   1
        Attributes:   0xA0 (bus-powered, remote wakeup)
        MaxPower:   100 mA
        Interface #0 - Audio/Control   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   1   (Audio)
            Interface Subclass;   1   (Control)
            Interface Protocol:   0
            Audio Control Class Specific Header   
                Descriptor Version Number:   01.00
                Class Specific Size:   114
                Number of Audio Interfaces:   2
                Audio Interface Number:   1
                Audio Interface Number:   2
                Dump Contents (hex):   0A 24 01 00 01 72 00 02 01 02 
            Audio Class Specific Input Terminal   
                Terminal ID:   10
                Input Terminal Type:   0x201 (Microphone)
                OutTerminal ID:   0 [NONE]
                Number of Channels:   2
                Spatial config of channels:   0000000000000011
                                  ^.  Left Front
                                 ^..  Right Front
                String index for first logical channel:   0
                Terminal Name String Index:   6
            Audio Class Specific Feature   
                Unit ID:   11
                Source ID:   10
                Control Size:   1
                Number of Channels (ch):   2
                    Master Channel:......................... ( Volume, Mute )
                    Left Front:............................. (  )
                    Right Front:............................ (  )
                Feature Unit Name String Index:   0
                Dump Contents (hex):   0A 24 06 0B 0A 01 03 00 00 00 
            Audio Class Specific Input Terminal   
                Terminal ID:   1
                Input Terminal Type:   0x402 (Bi-directional Headset)
                OutTerminal ID:   6
                Number of Channels:   2
                Spatial config of channels:   0000000000000011
                                  ^.  Left Front
                                 ^..  Right Front
                String index for first logical channel:   0
                Terminal Name String Index:   0 [NONE]
            Audio Class Specific Feature   
                Unit ID:   2
                Source ID:   1
                Control Size:   1
                Number of Channels (ch):   2
                    Master Channel:......................... ( Volume, Mute )
                    Left Front:............................. (  )
                    Right Front:............................ (  )
                Feature Unit Name String Index:   0
                Dump Contents (hex):   0A 24 06 02 01 01 03 00 00 00 
            Audio Class Specific Selector Unit   
                Unit ID:   8
                Number of pins:   1
                Source ID Pin[0]:   2
                Dump Contents (hex):   07 24 05 08 01 02 00 
            Audio Class Specific Output Terminal   
                Terminal ID:   3
                Output Terminal Type:   0x101 (USB Isochronous Stream)
                InTerminal ID:   0 [NONE]
                Source ID:   8
                Terminal Name String Index:   0 [NONE]
            Audio Class Specific Input Terminal   
                Terminal ID:   4
                Input Terminal Type:   0x101 (USB streaming)
                OutTerminal ID:   0 [NONE]
                Number of Channels:   2
                Spatial config of channels:   0000000000000011
                                  ^.  Left Front
                                 ^..  Right Front
                String index for first logical channel:   0
                Terminal Name String Index:   0 [NONE]
            Audio Class Specific Feature   
                Unit ID:   5
                Source ID:   12
                Control Size:   1
                Number of Channels (ch):   2
                    Master Channel:......................... ( Mute )
                    Left Front:............................. ( Volume )
                    Right Front:............................ ( Volume )
                Feature Unit Name String Index:   0
                Dump Contents (hex):   0A 24 06 05 0C 01 01 02 02 00 
            Audio Class Specific Output Terminal   
                Terminal ID:   6
                Output Terminal Type:   0x402 (Bi-directional Headset)
                InTerminal ID:   1
                Source ID:   5
                Terminal Name String Index:   0 [NONE]
            Audio Class Specific Mixer Unit   
                Unit ID:   12
                Number of pins:   2
                Source ID Pin[1]:   4
                Source ID Pin[2]:   11
                Dump Contents (hex):   0D 24 04 0C 02 04 0B 02 03 00 00 00 00 
        Interface #1 - Audio/Streaming   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   1   (Audio)
            Interface Subclass;   2   (Streaming)
            Interface Protocol:   0
        Interface #1 - Audio/Streaming (#1)   
            Alternate Setting   1
            Number of Endpoints   1
            Interface Class:   1   (Audio)
            Interface Subclass;   2   (Streaming)
            Interface Protocol:   0
            Audio Control Class Specific Header   
                Audio Stream General   
                    Endpoint Terminal ID:   3
                    Delay:   1 frames     
                    Format Tag:   0x0001 (PCM)
            Audio Class Specific Audio Data Format   
                Audio Stream Format Type Desc.   
                    Format Type:   1 PCM
                    Number Of Channels:   2 STEREO
                    Sub Frame Size:   2
                    Bit Resolution:   16
                    Sample Frequency Type:   0x05 (Discrete)
                    Sample Frequency:    8000 Hz
                    Sample Frequency:   16000 Hz
                    Sample Frequency:   32000 Hz
                    Sample Frequency:   44100 Hz
                    Sample Frequency:   48000 Hz
            Endpoint 0x81 - Isochronous Input   
                Address:   0x81  (IN)
                Attributes:   0x05  (Isochronous asynchronous data endpoint)
                Max Packet Size:   200
                Polling Interval:   1 ms
            Class-Specific AS Audio EndPoint   
                Attributes:   0x01  Sample Frequency,  
                bLockDelayUnits:   0x00  (UNDEFINED)
                wLockDelay:   0 
        Interface #2 - Audio/Streaming   
            Alternate Setting   0
            Number of Endpoints   0
            Interface Class:   1   (Audio)
            Interface Subclass;   2   (Streaming)
            Interface Protocol:   0
        Interface #2 - Audio/Streaming (#1)   
            Alternate Setting   1
            Number of Endpoints   1
            Interface Class:   1   (Audio)
            Interface Subclass;   2   (Streaming)
            Interface Protocol:   0
            Audio Control Class Specific Header   
                Audio Stream General   
                    Endpoint Terminal ID:   4
                    Delay:   3 frames     
                    Format Tag:   0x0001 (PCM)
            Audio Class Specific Audio Data Format   
                Audio Stream Format Type Desc.   
                    Format Type:   1 PCM
                    Number Of Channels:   2 STEREO
                    Sub Frame Size:   2
                    Bit Resolution:   16
                    Sample Frequency Type:   0x06 (Discrete)
                    Sample Frequency:    8000 Hz
                    Sample Frequency:   16000 Hz
                    Sample Frequency:   24000 Hz
                    Sample Frequency:   32000 Hz
                    Sample Frequency:   44100 Hz
                    Sample Frequency:   48000 Hz
            Endpoint 0x01 - Isochronous Output   
                Address:   0x01  (OUT)
                Attributes:   0x09  (Isochronous adaptive data endpoint)
                Max Packet Size:   192
                Polling Interval:   1 ms
            Class-Specific AS Audio EndPoint   
                Attributes:   0x01  Sample Frequency,  
                bLockDelayUnits:   0x01  (Milliseconds)
                wLockDelay:   4 ms
        Interface #3 - HID   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   3   (HID)
            Interface Subclass;   0
            Interface Protocol:   0
            HID Descriptor   
                Descriptor Version Number:   0x0111
                Country Code:   0
                Descriptor Count:   1
                Descriptor 1   
                    Type:   0x22  (Report Descriptor)
                    Length (and contents):   367
                        Raw Descriptor (hex)    0000: 05 0C 09 01 A1 01 85 01  15 00 25 01 09 E9 09 EA  
                        Raw Descriptor (hex)    0010: 75 01 95 02 81 06 95 06  81 01 85 02 05 0C 09 00  
                        Raw Descriptor (hex)    0020: 95 10 81 02 85 04 09 00  75 08 95 24 91 02 85 05  
                        Raw Descriptor (hex)    0030: 09 00 95 20 81 02 85 06  09 00 95 24 91 02 85 07  
                        Raw Descriptor (hex)    0040: 09 00 95 20 81 02 C0 05  0B 09 05 A1 01 85 08 15  
                        Raw Descriptor (hex)    0050: 00 25 01 09 2F 75 01 95  01 81 06 09 20 09 21 75  
                        Raw Descriptor (hex)    0060: 01 95 02 81 22 95 05 81  01 05 08 85 09 09 09 95  
                        Raw Descriptor (hex)    0070: 01 91 22 95 07 91 01 85  17 09 17 95 01 91 22 95  
                        Raw Descriptor (hex)    0080: 07 91 01 85 18 09 18 95  01 91 22 95 07 91 01 85  
                        Raw Descriptor (hex)    0090: 1E 09 1E 95 01 91 22 95  07 91 01 85 20 09 20 95  
                        Raw Descriptor (hex)    00a0: 01 91 22 95 07 91 01 85  2A 09 2A 95 01 91 22 95  
                        Raw Descriptor (hex)    00b0: 07 91 01 C0 06 A0 FF 09  01 A1 01 85 03 09 30 75  
                        Raw Descriptor (hex)    00c0: 08 95 20 91 02 85 03 09  30 75 08 95 20 81 02 85  
                        Raw Descriptor (hex)    00d0: 14 09 B1 09 B2 09 B5 09  B7 09 B3 15 00 25 01 75  
                        Raw Descriptor (hex)    00e0: 01 95 05 81 06 95 03 81  01 85 15 09 8C 15 00 27  
                        Raw Descriptor (hex)    00f0: FF FF 00 00 75 10 95 01  81 22 85 19 09 8D 09 8F  
                        Raw Descriptor (hex)    0100: 09 9E 09 DC 15 00 25 01  75 01 95 04 91 22 09 D2  
                        Raw Descriptor (hex)    0110: 09 D9 15 00 25 01 75 01  95 02 91 06 95 02 91 01  
                        Raw Descriptor (hex)    0120: 85 1A 09 B5 15 00 25 01  75 01 95 01 91 22 95 07  
                        Raw Descriptor (hex)    0130: 91 01 85 1B 09 CF 09 B5  09 DE 75 01 95 03 B1 22  
                        Raw Descriptor (hex)    0140: 09 D8 95 01 B1 23 95 04  B1 01 09 09 09 17 09 18  
                        Raw Descriptor (hex)    0150: 09 1E 09 20 09 2A 75 01  95 06 B1 22 95 02 B1 01  
                        Raw Descriptor (hex)    0160: 85 1F 09 9C 75 01 95 01  81 06 95 07 81 01 C0 
                    Parsed Report Descriptor:   
                          Usage Page    (Consumer) 
                          Usage 1 (0x1)    
                              Collection (Application)    
                                ReportID................    (1)  
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (1)  
                                Usage 233 (0xe9)    
                                Usage 234 (0xea)    
                                Report Size.............    (1)  
                                Report Count............    (2)  
                                Input...................   (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                Report Count............    (6)  
                                Input...................   (Constant, Array, Absolute) 
                                ReportID................    (2)  
                                Usage Page    (Consumer) 
                                Usage 0 (0x0)    
                                Report Count............    (16)  
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                ReportID................    (4)  
                                Usage 0 (0x0)    
                                Report Size.............    (8)  
                                Report Count............    (36)  
                                Output..................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (5)  
                                Usage 0 (0x0)    
                                Report Count............    (32)  
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                ReportID................    (6)  
                                Usage 0 (0x0)    
                                Report Count............    (36)  
                                Output..................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (7)  
                                Usage 0 (0x0)    
                                Report Count............    (32)  
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                              End Collection     
                          Usage Page    (Telephony Device) 
                          Usage 5 (0x5)    
                              Collection (Application)    
                                ReportID................    (8)  
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (1)  
                                Usage 47 (0x2f)    
                                Report Size.............    (1)  
                                Report Count............    (1)  
                                Input...................   (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                Usage 32 (0x20)    
                                Usage 33 (0x21)    
                                Report Size.............    (1)  
                                Report Count............    (2)  
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Bitfield) 
                                Report Count............    (5)  
                                Input...................   (Constant, Array, Absolute) 
                                Usage Page    (LED) 
                                ReportID................    (9)  
                                Usage 9 (0x9)    
                                Report Count............    (1)  
                                Output..................   (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) 
                                Report Count............    (7)  
                                Output..................   (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (23)  
                                Usage 23 (0x17)    
                                Report Count............    (1)  
                                Output..................   (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) 
                                Report Count............    (7)  
                                Output..................   (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (24)  
                                Usage 24 (0x18)    
                                Report Count............    (1)  
                                Output..................   (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) 
                                Report Count............    (7)  
                                Output..................   (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (30)  
                                Usage 30 (0x1e)    
                                Report Count............    (1)  
                                Output..................   (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) 
                                Report Count............    (7)  
                                Output..................   (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (32)  
                                Usage 32 (0x20)    
                                Report Count............    (1)  
                                Output..................   (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) 
                                Report Count............    (7)  
                                Output..................   (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (42)  
                                Usage 42 (0x2a)    
                                Report Count............    (1)  
                                Output..................   (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) 
                                Report Count............    (7)  
                                Output..................   (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                              End Collection     
                          Usage Page    (Vendor defined 160) 
                          Usage 1 (0x1)    
                              Collection (Application)    
                                ReportID................    (3)  
                                Usage 48 (0x30)    
                                Report Size.............    (8)  
                                Report Count............    (32)  
                                Output..................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (3)  
                                Usage 48 (0x30)    
                                Report Size.............    (8)  
                                Report Count............    (32)  
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                ReportID................    (20)  
                                Usage 177 (0xb1)    
                                Usage 178 (0xb2)    
                                Usage 181 (0xb5)    
                                Usage 183 (0xb7)    
                                Usage 179 (0xb3)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (1)  
                                Report Size.............    (1)  
                                Report Count............    (5)  
                                Input...................   (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                Report Count............    (3)  
                                Input...................   (Constant, Array, Absolute) 
                                ReportID................    (21)  
                                Usage 140 (0x8c)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (65535)  
                                Report Size.............    (16)  
                                Report Count............    (1)  
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Bitfield) 
                                ReportID................    (25)  
                                Usage 141 (0x8d)    
                                Usage 143 (0x8f)    
                                Usage 158 (0x9e)    
                                Usage 220 (0xdc)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (1)  
                                Report Size.............    (1)  
                                Report Count............    (4)  
                                Output..................   (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) 
                                Usage 210 (0xd2)    
                                Usage 217 (0xd9)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (1)  
                                Report Size.............    (1)  
                                Report Count............    (2)  
                                Output..................   (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Report Count............    (2)  
                                Output..................   (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (26)  
                                Usage 181 (0xb5)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (1)  
                                Report Size.............    (1)  
                                Report Count............    (1)  
                                Output..................   (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) 
                                Report Count............    (7)  
                                Output..................   (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (27)  
                                Usage 207 (0xcf)    
                                Usage 181 (0xb5)    
                                Usage 222 (0xde)    
                                Report Size.............    (1)  
                                Report Count............    (3)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) 
                                Usage 216 (0xd8)    
                                Report Count............    (1)  
                                Feature.................   (Constant, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) 
                                Report Count............    (4)  
                                Feature.................   (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage 9 (0x9)    
                                Usage 23 (0x17)    
                                Usage 24 (0x18)    
                                Usage 30 (0x1e)    
                                Usage 32 (0x20)    
                                Usage 42 (0x2a)    
                                Report Size.............    (1)  
                                Report Count............    (6)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) 
                                Report Count............    (2)  
                                Feature.................   (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (31)  
                                Usage 156 (0x9c)    
                                Report Size.............    (1)  
                                Report Count............    (1)  
                                Input...................   (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                Report Count............    (7)  
                                Input...................   (Constant, Array, Absolute) 
                              End Collection     
            Endpoint 0x84 - Interrupt Input   
                Address:   0x84  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   37
                Polling Interval:   1 ms```

</details>


macOS USB Prober output for the Plantronics C320-M USB Headset (Blackwire 3220 Series USB Headset). This is a pretty complicated device. <details> <summary> click to expand </summary> ``` Full Speed device @ 11 (0x02112600): ............................................. Composite device: "Plantronics C320-M" Port Information: 0x0018 Not Captive External Device Connected Enabled Number Of Endpoints (includes EP0): Total Endpoints for Configuration 1 (current): 4 Device Descriptor Descriptor Version Number: 0x0200 Device Class: 0 (Composite) Device Subclass: 0 Device Protocol: 0 Device MaxPacketSize: 64 Device VendorID/ProductID: 0x047F/0xC025 (Plantronics, Inc.) Device Version Number: 0x0135 Number of Configurations: 1 Manufacturer String: 1 "Plantronics" Product String: 2 "Plantronics C320-M" Serial Number String: 3 "CB13A3E40E8E47D6A40769C27E90A38E" Configuration Descriptor (current config) Length (and contents): 288 Raw Descriptor (hex) 0000: 09 02 20 01 04 01 00 A0 32 09 04 00 00 00 01 01 Raw Descriptor (hex) 0010: 00 00 0A 24 01 00 01 72 00 02 01 02 0C 24 02 0A Raw Descriptor (hex) 0020: 01 02 00 02 03 00 00 06 0A 24 06 0B 0A 01 03 00 Raw Descriptor (hex) 0030: 00 00 0C 24 02 01 02 04 06 02 03 00 00 00 0A 24 Raw Descriptor (hex) 0040: 06 02 01 01 03 00 00 00 07 24 05 08 01 02 00 09 Raw Descriptor (hex) 0050: 24 03 03 01 01 00 08 00 0C 24 02 04 01 01 00 02 Raw Descriptor (hex) 0060: 03 00 00 00 0A 24 06 05 0C 01 01 02 02 00 09 24 Raw Descriptor (hex) 0070: 03 06 02 04 01 05 00 0D 24 04 0C 02 04 0B 02 03 Raw Descriptor (hex) 0080: 00 00 00 00 09 04 01 00 00 01 02 00 00 09 04 01 Raw Descriptor (hex) 0090: 01 01 01 02 00 00 07 24 01 03 01 01 00 17 24 02 Raw Descriptor (hex) 00a0: 01 02 02 10 05 40 1F 00 80 3E 00 00 7D 00 44 AC Raw Descriptor (hex) 00b0: 00 80 BB 00 09 05 81 05 C8 00 01 00 00 07 25 01 Raw Descriptor (hex) 00c0: 01 00 00 00 09 04 02 00 00 01 02 00 00 09 04 02 Raw Descriptor (hex) 00d0: 01 01 01 02 00 00 07 24 01 04 03 01 00 1A 24 02 Raw Descriptor (hex) 00e0: 01 02 02 10 06 40 1F 00 80 3E 00 C0 5D 00 00 7D Raw Descriptor (hex) 00f0: 00 44 AC 00 80 BB 00 09 05 01 09 C0 00 01 00 00 Raw Descriptor (hex) 0100: 07 25 01 01 01 04 00 09 04 03 00 01 03 00 00 00 Raw Descriptor (hex) 0110: 09 21 11 01 00 01 22 6F 01 07 05 84 03 25 00 01 Unknown Descriptor 0120: Number of Interfaces: 4 Configuration Value: 1 Attributes: 0xA0 (bus-powered, remote wakeup) MaxPower: 100 mA Interface #0 - Audio/Control Alternate Setting 0 Number of Endpoints 0 Interface Class: 1 (Audio) Interface Subclass; 1 (Control) Interface Protocol: 0 Audio Control Class Specific Header Descriptor Version Number: 01.00 Class Specific Size: 114 Number of Audio Interfaces: 2 Audio Interface Number: 1 Audio Interface Number: 2 Dump Contents (hex): 0A 24 01 00 01 72 00 02 01 02 Audio Class Specific Input Terminal Terminal ID: 10 Input Terminal Type: 0x201 (Microphone) OutTerminal ID: 0 [NONE] Number of Channels: 2 Spatial config of channels: 0000000000000011 ^. Left Front ^.. Right Front String index for first logical channel: 0 Terminal Name String Index: 6 Audio Class Specific Feature Unit ID: 11 Source ID: 10 Control Size: 1 Number of Channels (ch): 2 Master Channel:......................... ( Volume, Mute ) Left Front:............................. ( ) Right Front:............................ ( ) Feature Unit Name String Index: 0 Dump Contents (hex): 0A 24 06 0B 0A 01 03 00 00 00 Audio Class Specific Input Terminal Terminal ID: 1 Input Terminal Type: 0x402 (Bi-directional Headset) OutTerminal ID: 6 Number of Channels: 2 Spatial config of channels: 0000000000000011 ^. Left Front ^.. Right Front String index for first logical channel: 0 Terminal Name String Index: 0 [NONE] Audio Class Specific Feature Unit ID: 2 Source ID: 1 Control Size: 1 Number of Channels (ch): 2 Master Channel:......................... ( Volume, Mute ) Left Front:............................. ( ) Right Front:............................ ( ) Feature Unit Name String Index: 0 Dump Contents (hex): 0A 24 06 02 01 01 03 00 00 00 Audio Class Specific Selector Unit Unit ID: 8 Number of pins: 1 Source ID Pin[0]: 2 Dump Contents (hex): 07 24 05 08 01 02 00 Audio Class Specific Output Terminal Terminal ID: 3 Output Terminal Type: 0x101 (USB Isochronous Stream) InTerminal ID: 0 [NONE] Source ID: 8 Terminal Name String Index: 0 [NONE] Audio Class Specific Input Terminal Terminal ID: 4 Input Terminal Type: 0x101 (USB streaming) OutTerminal ID: 0 [NONE] Number of Channels: 2 Spatial config of channels: 0000000000000011 ^. Left Front ^.. Right Front String index for first logical channel: 0 Terminal Name String Index: 0 [NONE] Audio Class Specific Feature Unit ID: 5 Source ID: 12 Control Size: 1 Number of Channels (ch): 2 Master Channel:......................... ( Mute ) Left Front:............................. ( Volume ) Right Front:............................ ( Volume ) Feature Unit Name String Index: 0 Dump Contents (hex): 0A 24 06 05 0C 01 01 02 02 00 Audio Class Specific Output Terminal Terminal ID: 6 Output Terminal Type: 0x402 (Bi-directional Headset) InTerminal ID: 1 Source ID: 5 Terminal Name String Index: 0 [NONE] Audio Class Specific Mixer Unit Unit ID: 12 Number of pins: 2 Source ID Pin[1]: 4 Source ID Pin[2]: 11 Dump Contents (hex): 0D 24 04 0C 02 04 0B 02 03 00 00 00 00 Interface #1 - Audio/Streaming Alternate Setting 0 Number of Endpoints 0 Interface Class: 1 (Audio) Interface Subclass; 2 (Streaming) Interface Protocol: 0 Interface #1 - Audio/Streaming (#1) Alternate Setting 1 Number of Endpoints 1 Interface Class: 1 (Audio) Interface Subclass; 2 (Streaming) Interface Protocol: 0 Audio Control Class Specific Header Audio Stream General Endpoint Terminal ID: 3 Delay: 1 frames Format Tag: 0x0001 (PCM) Audio Class Specific Audio Data Format Audio Stream Format Type Desc. Format Type: 1 PCM Number Of Channels: 2 STEREO Sub Frame Size: 2 Bit Resolution: 16 Sample Frequency Type: 0x05 (Discrete) Sample Frequency: 8000 Hz Sample Frequency: 16000 Hz Sample Frequency: 32000 Hz Sample Frequency: 44100 Hz Sample Frequency: 48000 Hz Endpoint 0x81 - Isochronous Input Address: 0x81 (IN) Attributes: 0x05 (Isochronous asynchronous data endpoint) Max Packet Size: 200 Polling Interval: 1 ms Class-Specific AS Audio EndPoint Attributes: 0x01 Sample Frequency, bLockDelayUnits: 0x00 (UNDEFINED) wLockDelay: 0 Interface #2 - Audio/Streaming Alternate Setting 0 Number of Endpoints 0 Interface Class: 1 (Audio) Interface Subclass; 2 (Streaming) Interface Protocol: 0 Interface #2 - Audio/Streaming (#1) Alternate Setting 1 Number of Endpoints 1 Interface Class: 1 (Audio) Interface Subclass; 2 (Streaming) Interface Protocol: 0 Audio Control Class Specific Header Audio Stream General Endpoint Terminal ID: 4 Delay: 3 frames Format Tag: 0x0001 (PCM) Audio Class Specific Audio Data Format Audio Stream Format Type Desc. Format Type: 1 PCM Number Of Channels: 2 STEREO Sub Frame Size: 2 Bit Resolution: 16 Sample Frequency Type: 0x06 (Discrete) Sample Frequency: 8000 Hz Sample Frequency: 16000 Hz Sample Frequency: 24000 Hz Sample Frequency: 32000 Hz Sample Frequency: 44100 Hz Sample Frequency: 48000 Hz Endpoint 0x01 - Isochronous Output Address: 0x01 (OUT) Attributes: 0x09 (Isochronous adaptive data endpoint) Max Packet Size: 192 Polling Interval: 1 ms Class-Specific AS Audio EndPoint Attributes: 0x01 Sample Frequency, bLockDelayUnits: 0x01 (Milliseconds) wLockDelay: 4 ms Interface #3 - HID Alternate Setting 0 Number of Endpoints 1 Interface Class: 3 (HID) Interface Subclass; 0 Interface Protocol: 0 HID Descriptor Descriptor Version Number: 0x0111 Country Code: 0 Descriptor Count: 1 Descriptor 1 Type: 0x22 (Report Descriptor) Length (and contents): 367 Raw Descriptor (hex) 0000: 05 0C 09 01 A1 01 85 01 15 00 25 01 09 E9 09 EA Raw Descriptor (hex) 0010: 75 01 95 02 81 06 95 06 81 01 85 02 05 0C 09 00 Raw Descriptor (hex) 0020: 95 10 81 02 85 04 09 00 75 08 95 24 91 02 85 05 Raw Descriptor (hex) 0030: 09 00 95 20 81 02 85 06 09 00 95 24 91 02 85 07 Raw Descriptor (hex) 0040: 09 00 95 20 81 02 C0 05 0B 09 05 A1 01 85 08 15 Raw Descriptor (hex) 0050: 00 25 01 09 2F 75 01 95 01 81 06 09 20 09 21 75 Raw Descriptor (hex) 0060: 01 95 02 81 22 95 05 81 01 05 08 85 09 09 09 95 Raw Descriptor (hex) 0070: 01 91 22 95 07 91 01 85 17 09 17 95 01 91 22 95 Raw Descriptor (hex) 0080: 07 91 01 85 18 09 18 95 01 91 22 95 07 91 01 85 Raw Descriptor (hex) 0090: 1E 09 1E 95 01 91 22 95 07 91 01 85 20 09 20 95 Raw Descriptor (hex) 00a0: 01 91 22 95 07 91 01 85 2A 09 2A 95 01 91 22 95 Raw Descriptor (hex) 00b0: 07 91 01 C0 06 A0 FF 09 01 A1 01 85 03 09 30 75 Raw Descriptor (hex) 00c0: 08 95 20 91 02 85 03 09 30 75 08 95 20 81 02 85 Raw Descriptor (hex) 00d0: 14 09 B1 09 B2 09 B5 09 B7 09 B3 15 00 25 01 75 Raw Descriptor (hex) 00e0: 01 95 05 81 06 95 03 81 01 85 15 09 8C 15 00 27 Raw Descriptor (hex) 00f0: FF FF 00 00 75 10 95 01 81 22 85 19 09 8D 09 8F Raw Descriptor (hex) 0100: 09 9E 09 DC 15 00 25 01 75 01 95 04 91 22 09 D2 Raw Descriptor (hex) 0110: 09 D9 15 00 25 01 75 01 95 02 91 06 95 02 91 01 Raw Descriptor (hex) 0120: 85 1A 09 B5 15 00 25 01 75 01 95 01 91 22 95 07 Raw Descriptor (hex) 0130: 91 01 85 1B 09 CF 09 B5 09 DE 75 01 95 03 B1 22 Raw Descriptor (hex) 0140: 09 D8 95 01 B1 23 95 04 B1 01 09 09 09 17 09 18 Raw Descriptor (hex) 0150: 09 1E 09 20 09 2A 75 01 95 06 B1 22 95 02 B1 01 Raw Descriptor (hex) 0160: 85 1F 09 9C 75 01 95 01 81 06 95 07 81 01 C0 Parsed Report Descriptor: Usage Page (Consumer) Usage 1 (0x1) Collection (Application) ReportID................ (1) Logical Minimum......... (0) Logical Maximum......... (1) Usage 233 (0xe9) Usage 234 (0xea) Report Size............. (1) Report Count............ (2) Input................... (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) Report Count............ (6) Input................... (Constant, Array, Absolute) ReportID................ (2) Usage Page (Consumer) Usage 0 (0x0) Report Count............ (16) Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) ReportID................ (4) Usage 0 (0x0) Report Size............. (8) Report Count............ (36) Output.................. (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (5) Usage 0 (0x0) Report Count............ (32) Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) ReportID................ (6) Usage 0 (0x0) Report Count............ (36) Output.................. (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (7) Usage 0 (0x0) Report Count............ (32) Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) End Collection Usage Page (Telephony Device) Usage 5 (0x5) Collection (Application) ReportID................ (8) Logical Minimum......... (0) Logical Maximum......... (1) Usage 47 (0x2f) Report Size............. (1) Report Count............ (1) Input................... (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) Usage 32 (0x20) Usage 33 (0x21) Report Size............. (1) Report Count............ (2) Input................... (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Bitfield) Report Count............ (5) Input................... (Constant, Array, Absolute) Usage Page (LED) ReportID................ (9) Usage 9 (0x9) Report Count............ (1) Output.................. (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) Report Count............ (7) Output.................. (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (23) Usage 23 (0x17) Report Count............ (1) Output.................. (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) Report Count............ (7) Output.................. (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (24) Usage 24 (0x18) Report Count............ (1) Output.................. (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) Report Count............ (7) Output.................. (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (30) Usage 30 (0x1e) Report Count............ (1) Output.................. (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) Report Count............ (7) Output.................. (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (32) Usage 32 (0x20) Report Count............ (1) Output.................. (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) Report Count............ (7) Output.................. (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (42) Usage 42 (0x2a) Report Count............ (1) Output.................. (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) Report Count............ (7) Output.................. (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) End Collection Usage Page (Vendor defined 160) Usage 1 (0x1) Collection (Application) ReportID................ (3) Usage 48 (0x30) Report Size............. (8) Report Count............ (32) Output.................. (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (3) Usage 48 (0x30) Report Size............. (8) Report Count............ (32) Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) ReportID................ (20) Usage 177 (0xb1) Usage 178 (0xb2) Usage 181 (0xb5) Usage 183 (0xb7) Usage 179 (0xb3) Logical Minimum......... (0) Logical Maximum......... (1) Report Size............. (1) Report Count............ (5) Input................... (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) Report Count............ (3) Input................... (Constant, Array, Absolute) ReportID................ (21) Usage 140 (0x8c) Logical Minimum......... (0) Logical Maximum......... (65535) Report Size............. (16) Report Count............ (1) Input................... (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Bitfield) ReportID................ (25) Usage 141 (0x8d) Usage 143 (0x8f) Usage 158 (0x9e) Usage 220 (0xdc) Logical Minimum......... (0) Logical Maximum......... (1) Report Size............. (1) Report Count............ (4) Output.................. (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) Usage 210 (0xd2) Usage 217 (0xd9) Logical Minimum......... (0) Logical Maximum......... (1) Report Size............. (1) Report Count............ (2) Output.................. (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) Report Count............ (2) Output.................. (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (26) Usage 181 (0xb5) Logical Minimum......... (0) Logical Maximum......... (1) Report Size............. (1) Report Count............ (1) Output.................. (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) Report Count............ (7) Output.................. (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (27) Usage 207 (0xcf) Usage 181 (0xb5) Usage 222 (0xde) Report Size............. (1) Report Count............ (3) Feature................. (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) Usage 216 (0xd8) Report Count............ (1) Feature................. (Constant, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) Report Count............ (4) Feature................. (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) Usage 9 (0x9) Usage 23 (0x17) Usage 24 (0x18) Usage 30 (0x1e) Usage 32 (0x20) Usage 42 (0x2a) Report Size............. (1) Report Count............ (6) Feature................. (Data, Variable, Absolute, No Wrap, Linear, No Preferred, No Null Position, Nonvolatile, Bitfield) Report Count............ (2) Feature................. (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (31) Usage 156 (0x9c) Report Size............. (1) Report Count............ (1) Input................... (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) Report Count............ (7) Input................... (Constant, Array, Absolute) End Collection Endpoint 0x84 - Interrupt Input Address: 0x84 (IN) Attributes: 0x03 (Interrupt) Max Packet Size: 37 Polling Interval: 1 ms``` </details>
mcuee commented 2021-07-19 23:05:29 -05:00 (Migrated from github.com)

macOS USBProber output for the Microsoft USB Nano Receiver

click to expand

Full Speed device @ 21 (0x02112550): .............................................   Composite device: "Microsoft® Nano Transceiver v1.0"
    Port Information:   0x0018
           Not Captive
           External Device
           Connected
           Enabled
    Number Of Endpoints (includes EP0):   
        Total Endpoints for Configuration 1 (current):   4
    Device Descriptor   
        Descriptor Version Number:   0x0200
        Device Class:   0   (Composite)
        Device Subclass:   0
        Device Protocol:   0
        Device MaxPacketSize:   64
        Device VendorID/ProductID:   0x045E/0x0773   (Microsoft Corporation)
        Device Version Number:   0x0674
        Number of Configurations:   1
        Manufacturer String:   1 "Microsoft"
        Product String:   2 "Microsoft® Nano Transceiver v1.0"
        Serial Number String:   0 (none)
    Configuration Descriptor (current config)   
        Length (and contents):   84
            Raw Descriptor (hex)    0000: 09 02 54 00 03 01 00 A0  32 09 04 00 00 01 03 01  
            Raw Descriptor (hex)    0010: 01 00 09 21 11 01 00 01  22 39 00 07 05 81 03 08  
            Raw Descriptor (hex)    0020: 00 04 09 04 01 00 01 03  01 02 00 09 21 11 01 00  
            Raw Descriptor (hex)    0030: 01 22 27 01 07 05 82 03  0A 00 01 09 04 02 00 01  
            Raw Descriptor (hex)    0040: 03 00 00 00 09 21 11 01  00 01 22 3F 01 07 05 83  
            Raw Descriptor (hex)    0050: 03 20 00 01 
        Number of Interfaces:   3
        Configuration Value:   1
        Attributes:   0xA0 (bus-powered, remote wakeup)
        MaxPower:   100 mA
        Interface #0 - HID/Boot Interface   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   3   (HID)
            Interface Subclass;   1   (Boot Interface)
            Interface Protocol:   1
            HID Descriptor   
                Descriptor Version Number:   0x0111
                Country Code:   0
                Descriptor Count:   1
                Descriptor 1   
                    Type:   0x22  (Report Descriptor)
                    Length (and contents):   57
                        Raw Descriptor (hex)    0000: 05 01 09 06 A1 01 05 08  19 01 29 03 15 00 25 01  
                        Raw Descriptor (hex)    0010: 75 01 95 03 91 02 95 05  91 01 05 07 1A E0 00 2A  
                        Raw Descriptor (hex)    0020: E7 00 95 08 81 02 75 08  95 01 81 01 19 00 2A 91  
                        Raw Descriptor (hex)    0030: 00 26 FF 00 95 06 81 00  C0 
                    Parsed Report Descriptor:   
                          Usage Page    (Generic Desktop) 
                          Usage (Keyboard)    
                              Collection (Application)    
                                Usage Page    (LED) 
                                Usage Minimum...........    (1)  
                                Usage Maximum...........    (3)  
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (1)  
                                Report Size.............    (1)  
                                Report Count............    (3)  
                                Output..................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Report Count............    (5)  
                                Output..................   (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                Usage Page    (Keyboard/Keypad) 
                                Usage Minimum...........    (224)  
                                Usage Maximum...........    (231)  
                                Report Count............    (8)  
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                Report Size.............    (8)  
                                Report Count............    (1)  
                                Input...................   (Constant, Array, Absolute) 
                                Usage Minimum...........    (0)  
                                Usage Maximum...........    (145)  
                                Logical Maximum.........    (255)  
                                Report Count............    (6)  
                                Input...................   (Data, Array, Absolute) 
                              End Collection     
            Endpoint 0x81 - Interrupt Input   
                Address:   0x81  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   8
                Polling Interval:   4 ms
        Interface #1 - HID/Boot Interface   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   3   (HID)
            Interface Subclass;   1   (Boot Interface)
            Interface Protocol:   2
            HID Descriptor   
                Descriptor Version Number:   0x0111
                Country Code:   0
                Descriptor Count:   1
                Descriptor 1   
                    Type:   0x22  (Report Descriptor)
                    Length (and contents):   295
                        Raw Descriptor (hex)    0000: 05 01 09 02 A1 01 05 01  09 02 A1 02 85 1A 09 01  
                        Raw Descriptor (hex)    0010: A1 00 05 09 19 01 29 05  95 05 75 01 15 00 25 01  
                        Raw Descriptor (hex)    0020: 81 02 75 03 95 01 81 01  05 01 09 30 09 31 95 02  
                        Raw Descriptor (hex)    0030: 75 10 16 01 80 26 FF 7F  81 06 A1 02 85 12 09 48  
                        Raw Descriptor (hex)    0040: 95 01 75 02 15 00 25 01  35 01 45 04 B1 02 85 1A  
                        Raw Descriptor (hex)    0050: 09 38 35 00 45 00 95 01  75 10 16 01 80 26 FF 7F  
                        Raw Descriptor (hex)    0060: 81 06 C0 A1 02 85 12 09  48 75 02 15 00 25 01 35  
                        Raw Descriptor (hex)    0070: 01 45 04 B1 02 35 00 45  00 75 04 B1 01 85 1A 05  
                        Raw Descriptor (hex)    0080: 0C 95 01 75 10 16 01 80  26 FF 7F 0A 38 02 81 06  
                        Raw Descriptor (hex)    0090: C0 C0 C0 C0 05 0C 09 01  A1 01 05 01 09 02 A1 02  
                        Raw Descriptor (hex)    00a0: 85 1F 05 0C 0A 38 02 95  01 75 10 16 01 80 26 FF  
                        Raw Descriptor (hex)    00b0: 7F 81 06 85 17 06 00 FF  0A 06 FF 0A 0F FF 15 00  
                        Raw Descriptor (hex)    00c0: 25 01 35 01 45 04 95 02  75 02 B1 02 0A 04 FF 35  
                        Raw Descriptor (hex)    00d0: 00 45 00 95 01 75 01 B1  02 75 03 B1 01 C0 85 16  
                        Raw Descriptor (hex)    00e0: 05 0C 19 00 2A FF 03 95  01 75 10 15 00 26 FF 03  
                        Raw Descriptor (hex)    00f0: 81 00 06 00 FF 1A 01 FD  2A FF FD 15 01 26 FF 00  
                        Raw Descriptor (hex)    0100: 75 08 81 00 81 01 85 1C  06 00 FF 0A 25 FF 15 00  
                        Raw Descriptor (hex)    0110: 25 04 75 08 95 01 81 02  0A 26 FF 75 10 15 00 27  
                        Raw Descriptor (hex)    0120: FF FF 00 00 81 02 C0 
                    Parsed Report Descriptor:   
                          Usage Page    (Generic Desktop) 
                          Usage (Mouse)    
                              Collection (Application)    
                                Usage Page    (Generic Desktop) 
                                Usage (Mouse)    
                                    Collection (Logical)    
                                      ReportID................    (26)  
                                      Usage (Pointer)    
                                          Collection (Physical)    
                                            Usage Page    (Button) 
                                            Usage Minimum...........    (1)  
                                            Usage Maximum...........    (5)  
                                            Report Count............    (5)  
                                            Report Size.............    (1)  
                                            Logical Minimum.........    (0)  
                                            Logical Maximum.........    (1)  
                                            Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                            Report Size.............    (3)  
                                            Report Count............    (1)  
                                            Input...................   (Constant, Array, Absolute) 
                                            Usage Page    (Generic Desktop) 
                                            Usage (X)    
                                            Usage (Y)    
                                            Report Count............    (2)  
                                            Report Size.............    (16)  
                                            Logical Minimum.........    (-32767)  
                                            Logical Maximum.........    (32767)  
                                            Input...................   (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                                Collection (Logical)    
                                                  ReportID................    (18)  
                                                  Usage (72 (0x48))    
                                                  Report Count............    (1)  
                                                  Report Size.............    (2)  
                                                  Logical Minimum.........    (0)  
                                                  Logical Maximum.........    (1)  
                                                  Physical Minimum........    (1)  
                                                  Physical Maximum........    (4)  
                                                  Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                                  ReportID................    (26)  
                                                  Usage (Wheel)    
                                                  Physical Minimum........    (0)  
                                                  Physical Maximum........    (0)  
                                                  Report Count............    (1)  
                                                  Report Size.............    (16)  
                                                  Logical Minimum.........    (32769)  
                                                  Logical Maximum.........    (32767)  
                                                  Input...................   (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                                End Collection     
                                                Collection (Logical)    
                                                  ReportID................    (18)  
                                                  Usage (72 (0x48))    
                                                  Report Size.............    (2)  
                                                  Logical Minimum.........    (0)  
                                                  Logical Maximum.........    (1)  
                                                  Physical Minimum........    (1)  
                                                  Physical Maximum........    (4)  
                                                  Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                                  Physical Minimum........    (0)  
                                                  Physical Maximum........    (0)  
                                                  Report Size.............    (4)  
                                                  Feature.................   (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                                  ReportID................    (26)  
                                                  Usage Page    (Consumer) 
                                                  Report Count............    (1)  
                                                  Report Size.............    (16)  
                                                  Logical Minimum.........    (-32767)  
                                                  Logical Maximum.........    (32767)  
                                                  Usage 568 (0x238)    
                                                  Input...................   (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                                End Collection     
                                          End Collection     
                                    End Collection     
                              End Collection     
                          Usage Page    (Consumer) 
                          Usage 1 (0x1)    
                              Collection (Application)    
                                Usage Page    (Generic Desktop) 
                                Usage (Mouse)    
                                    Collection (Logical)    
                                      ReportID................    (31)  
                                      Usage Page    (Consumer) 
                                      Usage 568 (0x238)    
                                      Report Count............    (1)  
                                      Report Size.............    (16)  
                                      Logical Minimum.........    (-32767)  
                                      Logical Maximum.........    (32767)  
                                      Input...................   (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                      ReportID................    (23)  
                                      Usage Page    (Vendor defined 0) 
                                      Usage 65286 (0xff06)    
                                      Usage 65295 (0xff0f)    
                                      Logical Minimum.........    (0)  
                                      Logical Maximum.........    (1)  
                                      Physical Minimum........    (1)  
                                      Physical Maximum........    (4)  
                                      Report Count............    (2)  
                                      Report Size.............    (2)  
                                      Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                      Usage 65284 (0xff04)    
                                      Physical Minimum........    (0)  
                                      Physical Maximum........    (0)  
                                      Report Count............    (1)  
                                      Report Size.............    (1)  
                                      Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                      Report Size.............    (3)  
                                      Feature.................   (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                    End Collection     
                                ReportID................    (22)  
                                Usage Page    (Consumer) 
                                Usage Minimum...........    (0)  
                                Usage Maximum...........    (1023)  
                                Report Count............    (1)  
                                Report Size.............    (16)  
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (1023)  
                                Input...................   (Data, Array, Absolute) 
                                Usage Page    (Vendor defined 0) 
                                Usage Minimum...........    (-767)  
                                Usage Maximum...........    (-513)  
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (255)  
                                Report Size.............    (8)  
                                Input...................   (Data, Array, Absolute) 
                                Input...................   (Constant, Array, Absolute) 
                                ReportID................    (28)  
                                Usage Page    (Vendor defined 0) 
                                Usage 65317 (0xff25)    
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (4)  
                                Report Size.............    (8)  
                                Report Count............    (1)  
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                Usage 65318 (0xff26)    
                                Report Size.............    (16)  
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (65535)  
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                              End Collection     
            Endpoint 0x82 - Interrupt Input   
                Address:   0x82  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   10
                Polling Interval:   1 ms
        Interface #2 - HID   
            Alternate Setting   0
            Number of Endpoints   1
            Interface Class:   3   (HID)
            Interface Subclass;   0
            Interface Protocol:   0
            HID Descriptor   
                Descriptor Version Number:   0x0111
                Country Code:   0
                Descriptor Count:   1
                Descriptor 1   
                    Type:   0x22  (Report Descriptor)
                    Length (and contents):   319
                        Raw Descriptor (hex)    0000: 05 0C 09 01 A1 01 85 20  06 00 FF 15 00 26 FF 00  
                        Raw Descriptor (hex)    0010: 75 08 95 12 0A 0A FA B1  02 85 21 06 00 FF 15 00  
                        Raw Descriptor (hex)    0020: 25 01 75 01 95 10 1A 10  FA 2A 1F FA 81 02 85 28  
                        Raw Descriptor (hex)    0030: 06 00 FF 1A 10 FA 2A 1F  FA B1 02 85 22 06 00 FF  
                        Raw Descriptor (hex)    0040: 15 00 26 FF 00 75 08 95  1A 0A 0A FA B1 02 85 23  
                        Raw Descriptor (hex)    0050: 06 00 FF 0A 0A FA B1 02  85 24 06 00 FF 95 1F 0A  
                        Raw Descriptor (hex)    0060: 0A FA B1 02 85 25 06 00  FF 0A 0A FA B1 02 85 26  
                        Raw Descriptor (hex)    0070: 06 00 FF 0A 0A FA B1 02  85 27 06 00 FF 0A 0A FA  
                        Raw Descriptor (hex)    0080: 81 02 85 14 06 00 FF 15  00 25 03 75 02 95 01 0A  
                        Raw Descriptor (hex)    0090: 01 FE 81 02 75 06 81 01  85 04 06 00 FF 15 00 25  
                        Raw Descriptor (hex)    00a0: 03 75 02 95 01 0A 01 FE  81 02 75 06 81 01 C0 05  
                        Raw Descriptor (hex)    00b0: 0C 09 01 A1 01 85 07 05  0C 19 00 2A FF 03 95 01  
                        Raw Descriptor (hex)    00c0: 75 10 15 00 26 FF 03 81  00 05 07 19 00 29 FF 75  
                        Raw Descriptor (hex)    00d0: 08 26 FF 00 81 00 81 01  06 00 FF 0A 03 FE 0A 04  
                        Raw Descriptor (hex)    00e0: FE 75 01 95 02 25 01 81  02 0A 05 FF 95 01 75 05  
                        Raw Descriptor (hex)    00f0: 25 1F 81 02 75 01 81 01  1A 01 FD 2A FF FD 15 01  
                        Raw Descriptor (hex)    0100: 26 FF 00 75 08 81 00 0A  02 FF 26 FF 00 15 00 81  
                        Raw Descriptor (hex)    0110: 02 C0 06 BC FF 09 88 A1  01 85 08 19 01 29 FF 15  
                        Raw Descriptor (hex)    0120: 01 26 FF 00 95 01 75 08  81 00 C0 05 01 09 80 A1  
                        Raw Descriptor (hex)    0130: 01 85 03 19 00 29 FF 15  00 26 FF 00 81 00 C0 
                    Parsed Report Descriptor:   
                          Usage Page    (Consumer) 
                          Usage 1 (0x1)    
                              Collection (Application)    
                                ReportID................    (32)  
                                Usage Page    (Vendor defined 0) 
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (255)  
                                Report Size.............    (8)  
                                Report Count............    (18)  
                                Usage 64010 (0xfa0a)    
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (33)  
                                Usage Page    (Vendor defined 0) 
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (1)  
                                Report Size.............    (1)  
                                Report Count............    (16)  
                                Usage Minimum...........    (-1520)  
                                Usage Maximum...........    (-1505)  
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                ReportID................    (40)  
                                Usage Page    (Vendor defined 0) 
                                Usage Minimum...........    (-1520)  
                                Usage Maximum...........    (-1505)  
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (34)  
                                Usage Page    (Vendor defined 0) 
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (255)  
                                Report Size.............    (8)  
                                Report Count............    (26)  
                                Usage 64010 (0xfa0a)    
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (35)  
                                Usage Page    (Vendor defined 0) 
                                Usage 64010 (0xfa0a)    
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (36)  
                                Usage Page    (Vendor defined 0) 
                                Report Count............    (31)  
                                Usage 64010 (0xfa0a)    
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (37)  
                                Usage Page    (Vendor defined 0) 
                                Usage 64010 (0xfa0a)    
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (38)  
                                Usage Page    (Vendor defined 0) 
                                Usage 64010 (0xfa0a)    
                                Feature.................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) 
                                ReportID................    (39)  
                                Usage Page    (Vendor defined 0) 
                                Usage 64010 (0xfa0a)    
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                ReportID................    (20)  
                                Usage Page    (Vendor defined 0) 
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (3)  
                                Report Size.............    (2)  
                                Report Count............    (1)  
                                Usage 65025 (0xfe01)    
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                Report Size.............    (6)  
                                Input...................   (Constant, Array, Absolute) 
                                ReportID................    (4)  
                                Usage Page    (Vendor defined 0) 
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (3)  
                                Report Size.............    (2)  
                                Report Count............    (1)  
                                Usage 65025 (0xfe01)    
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                Report Size.............    (6)  
                                Input...................   (Constant, Array, Absolute) 
                              End Collection     
                          Usage Page    (Consumer) 
                          Usage 1 (0x1)    
                              Collection (Application)    
                                ReportID................    (7)  
                                Usage Page    (Consumer) 
                                Usage Minimum...........    (0)  
                                Usage Maximum...........    (1023)  
                                Report Count............    (1)  
                                Report Size.............    (16)  
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (1023)  
                                Input...................   (Data, Array, Absolute) 
                                Usage Page    (Keyboard/Keypad) 
                                Usage Minimum...........    (0)  
                                Usage Maximum...........    (255)  
                                Report Size.............    (8)  
                                Logical Maximum.........    (255)  
                                Input...................   (Data, Array, Absolute) 
                                Input...................   (Constant, Array, Absolute) 
                                Usage Page    (Vendor defined 0) 
                                Usage 65027 (0xfe03)    
                                Usage 65028 (0xfe04)    
                                Report Size.............    (1)  
                                Report Count............    (2)  
                                Logical Maximum.........    (1)  
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                Usage 65285 (0xff05)    
                                Report Count............    (1)  
                                Report Size.............    (5)  
                                Logical Maximum.........    (31)  
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                                Report Size.............    (1)  
                                Input...................   (Constant, Array, Absolute) 
                                Usage Minimum...........    (-767)  
                                Usage Maximum...........    (-513)  
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (255)  
                                Report Size.............    (8)  
                                Input...................   (Data, Array, Absolute) 
                                Usage 65282 (0xff02)    
                                Logical Maximum.........    (255)  
                                Logical Minimum.........    (0)  
                                Input...................   (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                              End Collection     
                          Usage Page    (Vendor defined 188) 
                          Usage 136 (0x88)    
                              Collection (Application)    
                                ReportID................    (8)  
                                Usage Minimum...........    (1)  
                                Usage Maximum...........    (255)  
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (255)  
                                Report Count............    (1)  
                                Report Size.............    (8)  
                                Input...................   (Data, Array, Absolute) 
                              End Collection     
                          Usage Page    (Generic Desktop) 
                          Usage (System Control)    
                              Collection (Application)    
                                ReportID................    (3)  
                                Usage Minimum...........    (0)  
                                Usage Maximum...........    (255)  
                                Logical Minimum.........    (0)  
                                Logical Maximum.........    (255)  
                                Input...................   (Data, Array, Absolute) 
                              End Collection     
            Endpoint 0x83 - Interrupt Input   
                Address:   0x83  (IN)
                Attributes:   0x03  (Interrupt)
                Max Packet Size:   32
                Polling Interval:   1 ms
macOS USBProber output for the Microsoft USB Nano Receiver <details> <summary> click to expand </summary> ``` Full Speed device @ 21 (0x02112550): ............................................. Composite device: "Microsoft® Nano Transceiver v1.0" Port Information: 0x0018 Not Captive External Device Connected Enabled Number Of Endpoints (includes EP0): Total Endpoints for Configuration 1 (current): 4 Device Descriptor Descriptor Version Number: 0x0200 Device Class: 0 (Composite) Device Subclass: 0 Device Protocol: 0 Device MaxPacketSize: 64 Device VendorID/ProductID: 0x045E/0x0773 (Microsoft Corporation) Device Version Number: 0x0674 Number of Configurations: 1 Manufacturer String: 1 "Microsoft" Product String: 2 "Microsoft® Nano Transceiver v1.0" Serial Number String: 0 (none) Configuration Descriptor (current config) Length (and contents): 84 Raw Descriptor (hex) 0000: 09 02 54 00 03 01 00 A0 32 09 04 00 00 01 03 01 Raw Descriptor (hex) 0010: 01 00 09 21 11 01 00 01 22 39 00 07 05 81 03 08 Raw Descriptor (hex) 0020: 00 04 09 04 01 00 01 03 01 02 00 09 21 11 01 00 Raw Descriptor (hex) 0030: 01 22 27 01 07 05 82 03 0A 00 01 09 04 02 00 01 Raw Descriptor (hex) 0040: 03 00 00 00 09 21 11 01 00 01 22 3F 01 07 05 83 Raw Descriptor (hex) 0050: 03 20 00 01 Number of Interfaces: 3 Configuration Value: 1 Attributes: 0xA0 (bus-powered, remote wakeup) MaxPower: 100 mA Interface #0 - HID/Boot Interface Alternate Setting 0 Number of Endpoints 1 Interface Class: 3 (HID) Interface Subclass; 1 (Boot Interface) Interface Protocol: 1 HID Descriptor Descriptor Version Number: 0x0111 Country Code: 0 Descriptor Count: 1 Descriptor 1 Type: 0x22 (Report Descriptor) Length (and contents): 57 Raw Descriptor (hex) 0000: 05 01 09 06 A1 01 05 08 19 01 29 03 15 00 25 01 Raw Descriptor (hex) 0010: 75 01 95 03 91 02 95 05 91 01 05 07 1A E0 00 2A Raw Descriptor (hex) 0020: E7 00 95 08 81 02 75 08 95 01 81 01 19 00 2A 91 Raw Descriptor (hex) 0030: 00 26 FF 00 95 06 81 00 C0 Parsed Report Descriptor: Usage Page (Generic Desktop) Usage (Keyboard) Collection (Application) Usage Page (LED) Usage Minimum........... (1) Usage Maximum........... (3) Logical Minimum......... (0) Logical Maximum......... (1) Report Size............. (1) Report Count............ (3) Output.................. (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) Report Count............ (5) Output.................. (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) Usage Page (Keyboard/Keypad) Usage Minimum........... (224) Usage Maximum........... (231) Report Count............ (8) Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) Report Size............. (8) Report Count............ (1) Input................... (Constant, Array, Absolute) Usage Minimum........... (0) Usage Maximum........... (145) Logical Maximum......... (255) Report Count............ (6) Input................... (Data, Array, Absolute) End Collection Endpoint 0x81 - Interrupt Input Address: 0x81 (IN) Attributes: 0x03 (Interrupt) Max Packet Size: 8 Polling Interval: 4 ms Interface #1 - HID/Boot Interface Alternate Setting 0 Number of Endpoints 1 Interface Class: 3 (HID) Interface Subclass; 1 (Boot Interface) Interface Protocol: 2 HID Descriptor Descriptor Version Number: 0x0111 Country Code: 0 Descriptor Count: 1 Descriptor 1 Type: 0x22 (Report Descriptor) Length (and contents): 295 Raw Descriptor (hex) 0000: 05 01 09 02 A1 01 05 01 09 02 A1 02 85 1A 09 01 Raw Descriptor (hex) 0010: A1 00 05 09 19 01 29 05 95 05 75 01 15 00 25 01 Raw Descriptor (hex) 0020: 81 02 75 03 95 01 81 01 05 01 09 30 09 31 95 02 Raw Descriptor (hex) 0030: 75 10 16 01 80 26 FF 7F 81 06 A1 02 85 12 09 48 Raw Descriptor (hex) 0040: 95 01 75 02 15 00 25 01 35 01 45 04 B1 02 85 1A Raw Descriptor (hex) 0050: 09 38 35 00 45 00 95 01 75 10 16 01 80 26 FF 7F Raw Descriptor (hex) 0060: 81 06 C0 A1 02 85 12 09 48 75 02 15 00 25 01 35 Raw Descriptor (hex) 0070: 01 45 04 B1 02 35 00 45 00 75 04 B1 01 85 1A 05 Raw Descriptor (hex) 0080: 0C 95 01 75 10 16 01 80 26 FF 7F 0A 38 02 81 06 Raw Descriptor (hex) 0090: C0 C0 C0 C0 05 0C 09 01 A1 01 05 01 09 02 A1 02 Raw Descriptor (hex) 00a0: 85 1F 05 0C 0A 38 02 95 01 75 10 16 01 80 26 FF Raw Descriptor (hex) 00b0: 7F 81 06 85 17 06 00 FF 0A 06 FF 0A 0F FF 15 00 Raw Descriptor (hex) 00c0: 25 01 35 01 45 04 95 02 75 02 B1 02 0A 04 FF 35 Raw Descriptor (hex) 00d0: 00 45 00 95 01 75 01 B1 02 75 03 B1 01 C0 85 16 Raw Descriptor (hex) 00e0: 05 0C 19 00 2A FF 03 95 01 75 10 15 00 26 FF 03 Raw Descriptor (hex) 00f0: 81 00 06 00 FF 1A 01 FD 2A FF FD 15 01 26 FF 00 Raw Descriptor (hex) 0100: 75 08 81 00 81 01 85 1C 06 00 FF 0A 25 FF 15 00 Raw Descriptor (hex) 0110: 25 04 75 08 95 01 81 02 0A 26 FF 75 10 15 00 27 Raw Descriptor (hex) 0120: FF FF 00 00 81 02 C0 Parsed Report Descriptor: Usage Page (Generic Desktop) Usage (Mouse) Collection (Application) Usage Page (Generic Desktop) Usage (Mouse) Collection (Logical) ReportID................ (26) Usage (Pointer) Collection (Physical) Usage Page (Button) Usage Minimum........... (1) Usage Maximum........... (5) Report Count............ (5) Report Size............. (1) Logical Minimum......... (0) Logical Maximum......... (1) Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) Report Size............. (3) Report Count............ (1) Input................... (Constant, Array, Absolute) Usage Page (Generic Desktop) Usage (X) Usage (Y) Report Count............ (2) Report Size............. (16) Logical Minimum......... (-32767) Logical Maximum......... (32767) Input................... (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) Collection (Logical) ReportID................ (18) Usage (72 (0x48)) Report Count............ (1) Report Size............. (2) Logical Minimum......... (0) Logical Maximum......... (1) Physical Minimum........ (1) Physical Maximum........ (4) Feature................. (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (26) Usage (Wheel) Physical Minimum........ (0) Physical Maximum........ (0) Report Count............ (1) Report Size............. (16) Logical Minimum......... (32769) Logical Maximum......... (32767) Input................... (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) End Collection Collection (Logical) ReportID................ (18) Usage (72 (0x48)) Report Size............. (2) Logical Minimum......... (0) Logical Maximum......... (1) Physical Minimum........ (1) Physical Maximum........ (4) Feature................. (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) Physical Minimum........ (0) Physical Maximum........ (0) Report Size............. (4) Feature................. (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (26) Usage Page (Consumer) Report Count............ (1) Report Size............. (16) Logical Minimum......... (-32767) Logical Maximum......... (32767) Usage 568 (0x238) Input................... (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) End Collection End Collection End Collection End Collection Usage Page (Consumer) Usage 1 (0x1) Collection (Application) Usage Page (Generic Desktop) Usage (Mouse) Collection (Logical) ReportID................ (31) Usage Page (Consumer) Usage 568 (0x238) Report Count............ (1) Report Size............. (16) Logical Minimum......... (-32767) Logical Maximum......... (32767) Input................... (Data, Variable, Relative, No Wrap, Linear, Preferred State, No Null Position, Bitfield) ReportID................ (23) Usage Page (Vendor defined 0) Usage 65286 (0xff06) Usage 65295 (0xff0f) Logical Minimum......... (0) Logical Maximum......... (1) Physical Minimum........ (1) Physical Maximum........ (4) Report Count............ (2) Report Size............. (2) Feature................. (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) Usage 65284 (0xff04) Physical Minimum........ (0) Physical Maximum........ (0) Report Count............ (1) Report Size............. (1) Feature................. (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) Report Size............. (3) Feature................. (Constant, Array, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) End Collection ReportID................ (22) Usage Page (Consumer) Usage Minimum........... (0) Usage Maximum........... (1023) Report Count............ (1) Report Size............. (16) Logical Minimum......... (0) Logical Maximum......... (1023) Input................... (Data, Array, Absolute) Usage Page (Vendor defined 0) Usage Minimum........... (-767) Usage Maximum........... (-513) Logical Minimum......... (1) Logical Maximum......... (255) Report Size............. (8) Input................... (Data, Array, Absolute) Input................... (Constant, Array, Absolute) ReportID................ (28) Usage Page (Vendor defined 0) Usage 65317 (0xff25) Logical Minimum......... (0) Logical Maximum......... (4) Report Size............. (8) Report Count............ (1) Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) Usage 65318 (0xff26) Report Size............. (16) Logical Minimum......... (0) Logical Maximum......... (65535) Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) End Collection Endpoint 0x82 - Interrupt Input Address: 0x82 (IN) Attributes: 0x03 (Interrupt) Max Packet Size: 10 Polling Interval: 1 ms Interface #2 - HID Alternate Setting 0 Number of Endpoints 1 Interface Class: 3 (HID) Interface Subclass; 0 Interface Protocol: 0 HID Descriptor Descriptor Version Number: 0x0111 Country Code: 0 Descriptor Count: 1 Descriptor 1 Type: 0x22 (Report Descriptor) Length (and contents): 319 Raw Descriptor (hex) 0000: 05 0C 09 01 A1 01 85 20 06 00 FF 15 00 26 FF 00 Raw Descriptor (hex) 0010: 75 08 95 12 0A 0A FA B1 02 85 21 06 00 FF 15 00 Raw Descriptor (hex) 0020: 25 01 75 01 95 10 1A 10 FA 2A 1F FA 81 02 85 28 Raw Descriptor (hex) 0030: 06 00 FF 1A 10 FA 2A 1F FA B1 02 85 22 06 00 FF Raw Descriptor (hex) 0040: 15 00 26 FF 00 75 08 95 1A 0A 0A FA B1 02 85 23 Raw Descriptor (hex) 0050: 06 00 FF 0A 0A FA B1 02 85 24 06 00 FF 95 1F 0A Raw Descriptor (hex) 0060: 0A FA B1 02 85 25 06 00 FF 0A 0A FA B1 02 85 26 Raw Descriptor (hex) 0070: 06 00 FF 0A 0A FA B1 02 85 27 06 00 FF 0A 0A FA Raw Descriptor (hex) 0080: 81 02 85 14 06 00 FF 15 00 25 03 75 02 95 01 0A Raw Descriptor (hex) 0090: 01 FE 81 02 75 06 81 01 85 04 06 00 FF 15 00 25 Raw Descriptor (hex) 00a0: 03 75 02 95 01 0A 01 FE 81 02 75 06 81 01 C0 05 Raw Descriptor (hex) 00b0: 0C 09 01 A1 01 85 07 05 0C 19 00 2A FF 03 95 01 Raw Descriptor (hex) 00c0: 75 10 15 00 26 FF 03 81 00 05 07 19 00 29 FF 75 Raw Descriptor (hex) 00d0: 08 26 FF 00 81 00 81 01 06 00 FF 0A 03 FE 0A 04 Raw Descriptor (hex) 00e0: FE 75 01 95 02 25 01 81 02 0A 05 FF 95 01 75 05 Raw Descriptor (hex) 00f0: 25 1F 81 02 75 01 81 01 1A 01 FD 2A FF FD 15 01 Raw Descriptor (hex) 0100: 26 FF 00 75 08 81 00 0A 02 FF 26 FF 00 15 00 81 Raw Descriptor (hex) 0110: 02 C0 06 BC FF 09 88 A1 01 85 08 19 01 29 FF 15 Raw Descriptor (hex) 0120: 01 26 FF 00 95 01 75 08 81 00 C0 05 01 09 80 A1 Raw Descriptor (hex) 0130: 01 85 03 19 00 29 FF 15 00 26 FF 00 81 00 C0 Parsed Report Descriptor: Usage Page (Consumer) Usage 1 (0x1) Collection (Application) ReportID................ (32) Usage Page (Vendor defined 0) Logical Minimum......... (0) Logical Maximum......... (255) Report Size............. (8) Report Count............ (18) Usage 64010 (0xfa0a) Feature................. (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (33) Usage Page (Vendor defined 0) Logical Minimum......... (0) Logical Maximum......... (1) Report Size............. (1) Report Count............ (16) Usage Minimum........... (-1520) Usage Maximum........... (-1505) Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) ReportID................ (40) Usage Page (Vendor defined 0) Usage Minimum........... (-1520) Usage Maximum........... (-1505) Feature................. (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (34) Usage Page (Vendor defined 0) Logical Minimum......... (0) Logical Maximum......... (255) Report Size............. (8) Report Count............ (26) Usage 64010 (0xfa0a) Feature................. (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (35) Usage Page (Vendor defined 0) Usage 64010 (0xfa0a) Feature................. (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (36) Usage Page (Vendor defined 0) Report Count............ (31) Usage 64010 (0xfa0a) Feature................. (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (37) Usage Page (Vendor defined 0) Usage 64010 (0xfa0a) Feature................. (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (38) Usage Page (Vendor defined 0) Usage 64010 (0xfa0a) Feature................. (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Nonvolatile, Bitfield) ReportID................ (39) Usage Page (Vendor defined 0) Usage 64010 (0xfa0a) Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) ReportID................ (20) Usage Page (Vendor defined 0) Logical Minimum......... (0) Logical Maximum......... (3) Report Size............. (2) Report Count............ (1) Usage 65025 (0xfe01) Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) Report Size............. (6) Input................... (Constant, Array, Absolute) ReportID................ (4) Usage Page (Vendor defined 0) Logical Minimum......... (0) Logical Maximum......... (3) Report Size............. (2) Report Count............ (1) Usage 65025 (0xfe01) Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) Report Size............. (6) Input................... (Constant, Array, Absolute) End Collection Usage Page (Consumer) Usage 1 (0x1) Collection (Application) ReportID................ (7) Usage Page (Consumer) Usage Minimum........... (0) Usage Maximum........... (1023) Report Count............ (1) Report Size............. (16) Logical Minimum......... (0) Logical Maximum......... (1023) Input................... (Data, Array, Absolute) Usage Page (Keyboard/Keypad) Usage Minimum........... (0) Usage Maximum........... (255) Report Size............. (8) Logical Maximum......... (255) Input................... (Data, Array, Absolute) Input................... (Constant, Array, Absolute) Usage Page (Vendor defined 0) Usage 65027 (0xfe03) Usage 65028 (0xfe04) Report Size............. (1) Report Count............ (2) Logical Maximum......... (1) Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) Usage 65285 (0xff05) Report Count............ (1) Report Size............. (5) Logical Maximum......... (31) Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) Report Size............. (1) Input................... (Constant, Array, Absolute) Usage Minimum........... (-767) Usage Maximum........... (-513) Logical Minimum......... (1) Logical Maximum......... (255) Report Size............. (8) Input................... (Data, Array, Absolute) Usage 65282 (0xff02) Logical Maximum......... (255) Logical Minimum......... (0) Input................... (Data, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) End Collection Usage Page (Vendor defined 188) Usage 136 (0x88) Collection (Application) ReportID................ (8) Usage Minimum........... (1) Usage Maximum........... (255) Logical Minimum......... (1) Logical Maximum......... (255) Report Count............ (1) Report Size............. (8) Input................... (Data, Array, Absolute) End Collection Usage Page (Generic Desktop) Usage (System Control) Collection (Application) ReportID................ (3) Usage Minimum........... (0) Usage Maximum........... (255) Logical Minimum......... (0) Logical Maximum......... (255) Input................... (Data, Array, Absolute) End Collection Endpoint 0x83 - Interrupt Input Address: 0x83 (IN) Attributes: 0x03 (Interrupt) Max Packet Size: 32 Polling Interval: 1 ms ``` </details>
mcuee commented 2021-07-20 02:23:28 -05:00 (Migrated from github.com)

Latest output for Plantronics USB Headset.

click to expand
Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 01            Report ID (1)
09 E9            Usage (233)
09 EA            Usage (234)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 06            Input (0x06)
85 02            Report ID (2)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 10            Report Count (16)
81 02            Input (0x02)
85 05            Report ID (5)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 07            Report ID (7)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 04            Report ID (4)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 24            Report Count (36)
91 02            Output (0x02)
85 06            Report ID (6)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 24            Report Count (36)
91 02            Output (0x02)
75 06            Report Size (6)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(99 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xe9,
0x09, 0xea, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02,
0x81, 0x06, 0x85, 0x02, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x85, 0x05, 0x09, 0x00,
0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02,
0x85, 0x07, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08,
0x95, 0x20, 0x81, 0x02, 0x85, 0x04, 0x09, 0x00, 0x15, 0x00,
0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x85, 0x06,
0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24,
0x91, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0,


Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x5 (0xb)
  Report Descriptor:
05 0B            Usage Page (11)
09 05            Usage  (5)
A1 01            Collection (Application)
85 08            Report ID (8)
09 2F            Usage (47)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
09 20            Usage (32)
09 21            Usage (33)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 22            Input (0x22)
85 09            Report ID (9)
05 08            Usage Page (8)
09 09            Usage (9)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 17            Report ID (23)
09 17            Usage (23)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 18            Report ID (24)
09 18            Usage (24)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 1E            Report ID (30)
09 1E            Usage (30)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 20            Report ID (32)
09 20            Usage (32)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 2A            Report ID (42)
09 2A            Usage (42)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
C0               End Collection
(163 bytes)
0x05, 0x0b, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x08, 0x09, 0x2f,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x81, 0x22, 0x85, 0x09, 0x05, 0x08, 0x09, 0x09,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22,
0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0x91, 0x22, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x1e,
0x09, 0x1e, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01,
0x91, 0x22, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x2a, 0x09, 0x2a,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22,
0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07,
0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03,
0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x3 (0xffa0)
  Report Descriptor:
06 A0 FF         Usage Page (65440)
09 03            Usage  (3)
A1 01            Collection (Application)
85 03            Report ID (3)
09 30            Usage (48)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 14            Report ID (20)
09 B1            Usage (177)
09 B2            Usage (178)
09 B5            Usage (181)
09 B7            Usage (183)
09 B3            Usage (179)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
81 06            Input (0x06)
85 15            Report ID (21)
09 8C            Usage (140)
15 00            Logical Minimum (0)
27 FF FF 00 00   Logical Maximum (65535)
75 10            Report Size (16)
95 01            Report Count (1)
81 22            Input (0x22)
85 1F            Report ID (31)
09 9C            Usage (156)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
85 03            Report ID (3)
09 30            Usage (48)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
91 02            Output (0x02)
85 19            Report ID (25)
09 8D            Usage (141)
09 8F            Usage (143)
09 9E            Usage (158)
09 DC            Usage (220)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 04            Report Count (4)
91 22            Output (0x22)
09 D2            Usage (210)
09 D9            Usage (217)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
91 06            Output (0x06)
85 1A            Report ID (26)
09 B5            Usage (181)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 1B            Report ID (27)
09 CF            Usage (207)
09 B5            Usage (181)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
B1 22            Feature (0x22)
09 DE            Usage (222)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 23            Feature (0x23)
09 D8            Usage (216)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 22            Feature (0x22)
75 04            Report Size (4)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
09 09            Usage (9)
09 17            Usage (23)
09 18            Usage (24)
09 1E            Usage (30)
09 20            Usage (32)
09 2A            Usage (42)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 06            Report Count (6)
B1 22            Feature (0x22)
75 03            Report Size (3)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 02            Report Size (2)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 02            Report Size (2)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
(235 bytes)
0x06, 0xa0, 0xff, 0x09, 0x03, 0xa1, 0x01, 0x85, 0x03, 0x09,
0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81,
0x02, 0x85, 0x14, 0x09, 0xb1, 0x09, 0xb2, 0x09, 0xb5, 0x09,
0xb7, 0x09, 0xb3, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
0x05, 0x81, 0x06, 0x85, 0x15, 0x09, 0x8c, 0x15, 0x00, 0x27,
0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81, 0x22,
0x85, 0x1f, 0x09, 0x9c, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0x81, 0x06, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00,
0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x91, 0x02, 0x85, 0x19,
0x09, 0x8d, 0x09, 0x8f, 0x09, 0x9e, 0x09, 0xdc, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x91, 0x22, 0x09, 0xd2,
0x09, 0xd9, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02,
0x91, 0x06, 0x85, 0x1a, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x1b, 0x09, 0xcf,
0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02,
0xb1, 0x22, 0x09, 0xde, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0xb1, 0x23, 0x09, 0xd8, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0xb1, 0x22, 0x75, 0x04, 0x95, 0x01,
0xb1, 0x03, 0x09, 0x09, 0x09, 0x17, 0x09, 0x18, 0x09, 0x1e,
0x09, 0x20, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x06, 0xb1, 0x22, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x75, 0x02, 0x95, 0x01,
0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x02,
0x95, 0x01, 0xb1, 0x03, 0xc0,
Latest output for Plantronics USB Headset. <details> <summary> click to expand </summary> ``` Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 01 Report ID (1) 09 E9 Usage (233) 09 EA Usage (234) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 06 Input (0x06) 85 02 Report ID (2) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 10 Report Count (16) 81 02 Input (0x02) 85 05 Report ID (5) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 07 Report ID (7) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 04 Report ID (4) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 24 Report Count (36) 91 02 Output (0x02) 85 06 Report ID (6) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 24 Report Count (36) 91 02 Output (0x02) 75 06 Report Size (6) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (99 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xe9, 0x09, 0xea, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x06, 0x85, 0x02, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x85, 0x05, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x07, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x04, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x85, 0x06, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x5 (0xb) Report Descriptor: 05 0B Usage Page (11) 09 05 Usage (5) A1 01 Collection (Application) 85 08 Report ID (8) 09 2F Usage (47) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 09 20 Usage (32) 09 21 Usage (33) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 22 Input (0x22) 85 09 Report ID (9) 05 08 Usage Page (8) 09 09 Usage (9) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 17 Report ID (23) 09 17 Usage (23) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 18 Report ID (24) 09 18 Usage (24) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 1E Report ID (30) 09 1E Usage (30) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 20 Report ID (32) 09 20 Usage (32) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 2A Report ID (42) 09 2A Usage (42) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding C0 End Collection (163 bytes) 0x05, 0x0b, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x08, 0x09, 0x2f, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x22, 0x85, 0x09, 0x05, 0x08, 0x09, 0x09, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x1e, 0x09, 0x1e, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x2a, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x3 (0xffa0) Report Descriptor: 06 A0 FF Usage Page (65440) 09 03 Usage (3) A1 01 Collection (Application) 85 03 Report ID (3) 09 30 Usage (48) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 14 Report ID (20) 09 B1 Usage (177) 09 B2 Usage (178) 09 B5 Usage (181) 09 B7 Usage (183) 09 B3 Usage (179) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 81 06 Input (0x06) 85 15 Report ID (21) 09 8C Usage (140) 15 00 Logical Minimum (0) 27 FF FF 00 00 Logical Maximum (65535) 75 10 Report Size (16) 95 01 Report Count (1) 81 22 Input (0x22) 85 1F Report ID (31) 09 9C Usage (156) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 85 03 Report ID (3) 09 30 Usage (48) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 91 02 Output (0x02) 85 19 Report ID (25) 09 8D Usage (141) 09 8F Usage (143) 09 9E Usage (158) 09 DC Usage (220) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 04 Report Count (4) 91 22 Output (0x22) 09 D2 Usage (210) 09 D9 Usage (217) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 91 06 Output (0x06) 85 1A Report ID (26) 09 B5 Usage (181) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 1B Report ID (27) 09 CF Usage (207) 09 B5 Usage (181) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) B1 22 Feature (0x22) 09 DE Usage (222) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 23 Feature (0x23) 09 D8 Usage (216) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 22 Feature (0x22) 75 04 Report Size (4) 95 01 Report Count (1) B1 03 Feature (0x03) Padding 09 09 Usage (9) 09 17 Usage (23) 09 18 Usage (24) 09 1E Usage (30) 09 20 Usage (32) 09 2A Usage (42) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 06 Report Count (6) B1 22 Feature (0x22) 75 03 Report Size (3) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 02 Report Size (2) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 02 Report Size (2) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection (235 bytes) 0x06, 0xa0, 0xff, 0x09, 0x03, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x14, 0x09, 0xb1, 0x09, 0xb2, 0x09, 0xb5, 0x09, 0xb7, 0x09, 0xb3, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x81, 0x06, 0x85, 0x15, 0x09, 0x8c, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81, 0x22, 0x85, 0x1f, 0x09, 0x9c, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x91, 0x02, 0x85, 0x19, 0x09, 0x8d, 0x09, 0x8f, 0x09, 0x9e, 0x09, 0xdc, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x91, 0x22, 0x09, 0xd2, 0x09, 0xd9, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x91, 0x06, 0x85, 0x1a, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x1b, 0x09, 0xcf, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0xb1, 0x22, 0x09, 0xde, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x23, 0x09, 0xd8, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x22, 0x75, 0x04, 0x95, 0x01, 0xb1, 0x03, 0x09, 0x09, 0x09, 0x17, 0x09, 0x18, 0x09, 0x1e, 0x09, 0x20, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x06, 0xb1, 0x22, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x75, 0x02, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x02, 0x95, 0x01, 0xb1, 0x03, 0xc0, ``` </details>
mcuee commented 2021-07-20 02:27:08 -05:00 (Migrated from github.com)

Full output with my Dell Windows laptop (Windows 10 x64 Enterprise 20H2), the external HID devices include the Plantronics USB Headset, Logitech USB Receiver and Microsoft Nano USB Receiver.

click to expand

C:\work\hid\hidapi_test2\windows\x64\Release [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> .\hidtest.exe
hidapi test/example tool. Compiled with hidapi version 0.11.0, runtime version 0.11.0.
Compile-time version matches runtime version of hidapi.

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col03#7&1ebb799e&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x80 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 80            Usage  (128)
A1 01            Collection (Application)
85 04            Report ID (4)
09 82            Usage (130)
15 01            Logical Minimum (1)
25 03            Logical Maximum (3)
75 02            Report Size (2)
95 01            Report Count (1)
81 60            Input (0x60)
Report Size (-2)
95 01            Report Count (1)
81 03            Input (0x03) Padding
09 81            Usage (129)
15 01            Logical Minimum (1)
25 03            Logical Maximum (3)
75 02            Report Size (2)
95 01            Report Count (1)
81 60            Input (0x60)
Report Size (-2)
95 01            Report Count (1)
81 03            Input (0x03) Padding
09 83            Usage (131)
15 01            Logical Minimum (1)
25 03            Logical Maximum (3)
75 02            Report Size (2)
95 01            Report Count (1)
81 60            Input (0x60)
75 06            Report Size (6)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(59 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x82,
0x15, 0x01, 0x25, 0x03, 0x75, 0x02, 0x95, 0x01, 0x81, 0x60,
0x95, 0x01, 0x81, 0x03, 0x09, 0x81, 0x15, 0x01, 0x25, 0x03,
0x75, 0x02, 0x95, 0x01, 0x81, 0x60, 0x95, 0x01, 0x81, 0x03,
0x09, 0x83, 0x15, 0x01, 0x25, 0x03, 0x75, 0x02, 0x95, 0x01,
0x81, 0x60, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col04#7&1ebb799e&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xff00)
  Report Descriptor:
06 00 FF         Usage Page (65280)
09 01            Usage  (1)
A1 01            Collection (Application)
85 10            Report ID (16)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 06            Report Count (6)
91 00            Output (0x00)
C0               End Collection
(36 bytes)
0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x09,
0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06,
0x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75,
0x08, 0x95, 0x06, 0x91, 0x00, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col05#7&1ebb799e&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0xff00)
  Report Descriptor:
06 00 FF         Usage Page (65280)
09 02            Usage  (2)
A1 01            Collection (Application)
85 11            Report ID (17)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 13            Report Count (19)
81 00            Input (0x00)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 13            Report Count (19)
91 00            Output (0x00)
C0               End Collection
(36 bytes)
0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x09,
0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13,
0x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75,
0x08, 0x95, 0x13, 0x91, 0x00, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col01#5&99b72d3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 01            Report ID (1)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
09 38            Usage (56)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 03            Report Count (3)
81 06            Input (0x06)
05 0C            Usage Page (12)
0A 38 02         Usage (568)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(69 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x01, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31,
0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03,
0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25,
0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 8087 0a1e
  path: \\?\hid#intc816&col01#3&36a7043c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xc (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 0C            Usage  (12)
A1 01            Collection (Application)
85 08            Report ID (8)
09 C6            Usage (198)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(27 bytes)
0x05, 0x01, 0x09, 0x0c, 0xa1, 0x01, 0x85, 0x08, 0x09, 0xc6,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 044e 1212
  path: \\?\hid#vid_044e&pid_1212&col01&col02#7&290aacae&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
85 07            Report ID (7)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)
95 01            Report Count (1)
81 03            Input (0x03) Padding
19 00            Usage Minimum (0)
29 75            Usage Maximum (117)
15 00            Logical Minimum (0)
25 FF            Logical Maximum (-1)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
C0               End Collection
(45 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x07, 0x05, 0x07,
0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03,
0x19, 0x00, 0x29, 0x75, 0x15, 0x00, 0x25, 0xff, 0x75, 0x08,
0x95, 0x06, 0x81, 0x00, 0xc0,

Device Found
  type: 8087 0a1e
  path: \\?\hid#intc816&col02#3&36a7043c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xd (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 0D            Usage  (13)
A1 01            Collection (Application)
09 0D            Usage  (13)
A1 02            Collection (Logical)
85 1C            Report ID (28)
09 81            Usage (129)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 02            Input (0x02)
09 CB            Usage (203)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 02            Feature (0x02)
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
C0               End Collection
(50 bytes)
0x05, 0x01, 0x09, 0x0d, 0xa1, 0x01, 0x09, 0x0d, 0xa1, 0x02,
0x85, 0x1c, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0x81, 0x02, 0x09, 0xcb, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0xb1, 0x02, 0x75, 0x07, 0x95, 0x01,
0x81, 0x03, 0x75, 0x07, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0,

Device Found
  type: 044e 1212
  path: \\?\hid#vid_044e&pid_1212&col01&col01#7&290aacae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 06            Report ID (6)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
16 00 FE         Logical Minimum (-512)
26 00 02         Logical Maximum (512)
75 10            Report Size (16)
95 02            Report Count (2)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(54 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x06, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31,
0x16, 0x00, 0xfe, 0x26, 0x00, 0x02, 0x75, 0x10, 0x95, 0x02,
0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col02#5&99b72d3&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x5 (0xd)
  Report Descriptor:
05 0D            Usage Page (13)
09 05            Usage  (5)
A1 01            Collection (Application)
09 22            Usage  (34)
A1 02            Collection (Logical)
85 08            Report ID (8)
09 47            Usage (71)
09 42            Usage (66)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 02            Input (0x02)
09 51            Usage (81)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
75 03            Report Size (3)
95 01            Report Count (1)
81 02            Input (0x02)
75 03            Report Size (3)
95 01            Report Count (1)
81 03            Input (0x03) Padding
05 01            Usage Page (1)
09 30            Usage (48)
15 00            Logical Minimum (0)
26 AF 04         Logical Maximum (1199)
35 00            Physical Minimum (0)
46 E8 03         Physical Maximum (1000)
55 0E            Unit Exponent (14)
65 11            Unit (17)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
09 31            Usage (49)
15 00            Logical Minimum (0)
26 7B 02         Logical Maximum (635)
35 00            Physical Minimum (0)
46 12 02         Physical Maximum (530)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
C0               End Collection
05 0D            Usage Page (13)
09 56            Usage (86)
15 00            Logical Minimum (0)
27 FF FF 00 00   Logical Maximum (65535)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
09 54            Usage (84)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
75 08            Report Size (8)
95 01            Report Count (1)
81 02            Input (0x02)
05 09            Usage Page (9)
09 02            Usage (2)
09 03            Usage (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
45 00            Physical Maximum (0)
55 00            Unit Exponent (0)
65 00            Unit (0)
81 02            Input (0x02)
85 09            Report ID (9)
05 0D            Usage Page (13)
09 55            Usage (85)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 01            Report Count (1)
B1 02            Feature (0x02)
85 0A            Report ID (10)
06 00 FF         Usage Page (65280)
09 C5            Usage (197)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
96 00 01         Report Count (256)
B1 02            Feature (0x02)
75 06            Report Size (6)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(204 bytes)
0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02,
0x85, 0x08, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00,
0x25, 0x05, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00,
0x26, 0xaf, 0x04, 0x35, 0x00, 0x46, 0xe8, 0x03, 0x55, 0x0e,
0x65, 0x11, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31,
0x15, 0x00, 0x26, 0x7b, 0x02, 0x35, 0x00, 0x46, 0x12, 0x02,
0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09,
0x56, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x35, 0x00,
0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10,
0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x54, 0x15, 0x00,
0x25, 0x05, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x05, 0x09,
0x09, 0x02, 0x09, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02,
0x85, 0x09, 0x05, 0x0d, 0x09, 0x55, 0x15, 0x00, 0x25, 0x05,
0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66,
0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0x85, 0x0a,
0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00,
0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0x75, 0x06, 0x95,
0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 01            Report ID (1)
09 E9            Usage (233)
09 EA            Usage (234)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 06            Input (0x06)
85 02            Report ID (2)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 10            Report Count (16)
81 02            Input (0x02)
85 05            Report ID (5)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 07            Report ID (7)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 04            Report ID (4)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 24            Report Count (36)
91 02            Output (0x02)
85 06            Report ID (6)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 24            Report Count (36)
91 02            Output (0x02)
75 06            Report Size (6)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(99 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xe9,
0x09, 0xea, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02,
0x81, 0x06, 0x85, 0x02, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x85, 0x05, 0x09, 0x00,
0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02,
0x85, 0x07, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08,
0x95, 0x20, 0x81, 0x02, 0x85, 0x04, 0x09, 0x00, 0x15, 0x00,
0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x85, 0x06,
0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24,
0x91, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 02            Report ID (2)
09 E9            Usage (233)
09 EA            Usage (234)
0A 21 02         Usage (545)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(32 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x02, 0x09, 0xe9,
0x09, 0xea, 0x0a, 0x21, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75,
0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81,
0x03, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x5 (0xb)
  Report Descriptor:
05 0B            Usage Page (11)
09 05            Usage  (5)
A1 01            Collection (Application)
85 08            Report ID (8)
09 2F            Usage (47)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
09 20            Usage (32)
09 21            Usage (33)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 22            Input (0x22)
85 09            Report ID (9)
05 08            Usage Page (8)
09 09            Usage (9)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 17            Report ID (23)
09 17            Usage (23)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 18            Report ID (24)
09 18            Usage (24)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 1E            Report ID (30)
09 1E            Usage (30)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 20            Report ID (32)
09 20            Usage (32)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 2A            Report ID (42)
09 2A            Usage (42)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
C0               End Collection
(163 bytes)
0x05, 0x0b, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x08, 0x09, 0x2f,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x81, 0x22, 0x85, 0x09, 0x05, 0x08, 0x09, 0x09,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22,
0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0x91, 0x22, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x1e,
0x09, 0x1e, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01,
0x91, 0x22, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x2a, 0x09, 0x2a,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22,
0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07,
0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03,
0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x80 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 80            Usage  (128)
A1 01            Collection (Application)
85 03            Report ID (3)
09 81            Usage (129)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 02            Input (0x02)
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(27 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x81,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x3 (0xffa0)
  Report Descriptor:
06 A0 FF         Usage Page (65440)
09 03            Usage  (3)
A1 01            Collection (Application)
85 03            Report ID (3)
09 30            Usage (48)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 14            Report ID (20)
09 B1            Usage (177)
09 B2            Usage (178)
09 B5            Usage (181)
09 B7            Usage (183)
09 B3            Usage (179)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
81 06            Input (0x06)
85 15            Report ID (21)
09 8C            Usage (140)
15 00            Logical Minimum (0)
27 FF FF 00 00   Logical Maximum (65535)
75 10            Report Size (16)
95 01            Report Count (1)
81 22            Input (0x22)
85 1F            Report ID (31)
09 9C            Usage (156)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
85 03            Report ID (3)
09 30            Usage (48)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
91 02            Output (0x02)
85 19            Report ID (25)
09 8D            Usage (141)
09 8F            Usage (143)
09 9E            Usage (158)
09 DC            Usage (220)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 04            Report Count (4)
91 22            Output (0x22)
09 D2            Usage (210)
09 D9            Usage (217)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
91 06            Output (0x06)
85 1A            Report ID (26)
09 B5            Usage (181)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 1B            Report ID (27)
09 CF            Usage (207)
09 B5            Usage (181)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
B1 22            Feature (0x22)
09 DE            Usage (222)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 23            Feature (0x23)
09 D8            Usage (216)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 22            Feature (0x22)
75 04            Report Size (4)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
09 09            Usage (9)
09 17            Usage (23)
09 18            Usage (24)
09 1E            Usage (30)
09 20            Usage (32)
09 2A            Usage (42)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 06            Report Count (6)
B1 22            Feature (0x22)
75 03            Report Size (3)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 02            Report Size (2)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 02            Report Size (2)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
(235 bytes)
0x06, 0xa0, 0xff, 0x09, 0x03, 0xa1, 0x01, 0x85, 0x03, 0x09,
0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81,
0x02, 0x85, 0x14, 0x09, 0xb1, 0x09, 0xb2, 0x09, 0xb5, 0x09,
0xb7, 0x09, 0xb3, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
0x05, 0x81, 0x06, 0x85, 0x15, 0x09, 0x8c, 0x15, 0x00, 0x27,
0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81, 0x22,
0x85, 0x1f, 0x09, 0x9c, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0x81, 0x06, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00,
0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x91, 0x02, 0x85, 0x19,
0x09, 0x8d, 0x09, 0x8f, 0x09, 0x9e, 0x09, 0xdc, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x91, 0x22, 0x09, 0xd2,
0x09, 0xd9, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02,
0x91, 0x06, 0x85, 0x1a, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x1b, 0x09, 0xcf,
0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02,
0xb1, 0x22, 0x09, 0xde, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0xb1, 0x23, 0x09, 0xd8, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0xb1, 0x22, 0x75, 0x04, 0x95, 0x01,
0xb1, 0x03, 0x09, 0x09, 0x09, 0x17, 0x09, 0x18, 0x09, 0x1e,
0x09, 0x20, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x06, 0xb1, 0x22, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x75, 0x02, 0x95, 0x01,
0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x02,
0x95, 0x01, 0xb1, 0x03, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col03#5&99b72d3&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x1 (0xff01)
  Report Descriptor:
06 01 FF         Usage Page (65281)
09 01            Usage  (1)
A1 01            Collection (Application)
85 03            Report ID (3)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 1B            Report Count (27)
81 02            Input (0x02)
85 04            Report ID (4)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 1B            Report Count (27)
81 02            Input (0x02)
85 06            Report ID (6)
09 04            Usage (4)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 07            Report Count (7)
81 02            Input (0x02)
85 05            Report ID (5)
09 03            Usage (3)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 07            Report Count (7)
B1 02            Feature (0x02)
C0               End Collection
(80 bytes)
0x06, 0x01, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x09,
0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff,
0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08,
0x95, 0x1b, 0x81, 0x02, 0x85, 0x04, 0x09, 0x02, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85,
0x06, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08,
0x95, 0x07, 0x81, 0x02, 0x85, 0x05, 0x09, 0x03, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0xb1, 0x02, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col04#5&99b72d3&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x1 (0xff02)
  Report Descriptor:
06 02 FF         Usage Page (65282)
09 01            Usage  (1)
A1 01            Collection (Application)
85 07            Report ID (7)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 86            Report Count (134)
B1 02            Feature (0x02)
C0               End Collection
(35 bytes)
0x06, 0x02, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x09,
0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff,
0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08,
0x95, 0x86, 0xb1, 0x02, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_00#7&51bc424&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    0
  Usage (page): 0x6 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)
95 01            Report Count (1)
81 03            Input (0x03) Padding
19 00            Usage Minimum (0)
29 A4            Usage Maximum (164)
15 00            Logical Minimum (0)
26 A4 00         Logical Maximum (164)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
05 08            Usage Page (8)
19 01            Usage Minimum (1)
29 05            Usage Maximum (5)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
91 02            Output (0x02)
75 03            Report Size (3)
95 01            Report Count (1)
91 03            Output (0x03) Padding
C0               End Collection
(66 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0,
0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08,
0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00,
0x29, 0xa4, 0x15, 0x00, 0x26, 0xa4, 0x00, 0x75, 0x08, 0x95,
0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15,
0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75,
0x03, 0x95, 0x01, 0x91, 0x03, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col05#5&99b72d3&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0xe (0xd)
  Report Descriptor:
05 0D            Usage Page (13)
09 0E            Usage  (14)
A1 01            Collection (Application)
09 22            Usage  (34)
A1 02            Collection (Logical)
85 0B            Report ID (11)
09 52            Usage (82)
15 00            Logical Minimum (0)
25 0A            Logical Maximum (10)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 01            Report Count (1)
B1 02            Feature (0x02)
C0               End Collection
09 22            Usage  (34)
A1 00            Collection (Physical)
85 0C            Report ID (12)
09 57            Usage (87)
09 58            Usage (88)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
45 00            Physical Maximum (0)
55 00            Unit Exponent (0)
65 00            Unit (0)
B1 02            Feature (0x02)
75 06            Report Size (6)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
C0               End Collection
(71 bytes)
0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02,
0x85, 0x0b, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x35, 0x00,
0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10,
0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1,
0x00, 0x85, 0x0c, 0x09, 0x57, 0x09, 0x58, 0x15, 0x00, 0x25,
0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65,
0x00, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0xb1, 0x03, 0xc0,
0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col01#7&1ebb799e&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 02            Report ID (2)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 10            Usage Maximum (16)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 10            Report Count (16)
81 02            Input (0x02)
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
16 01 F8         Logical Minimum (-2047)
26 FF 07         Logical Maximum (2047)
75 0C            Report Size (12)
95 02            Report Count (2)
81 06            Input (0x06)
09 38            Usage (56)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
05 0C            Usage Page (12)
0A 38 02         Usage (568)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(75 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01,
0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07,
0x75, 0x0c, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81,
0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0c,
0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95,
0x01, 0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col02#7&1ebb799e&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 03            Report ID (3)
19 01            Usage Minimum (1)
2A 8C 02         Usage Maximum (652)
15 01            Logical Minimum (1)
26 8C 02         Logical Maximum (652)
75 10            Report Size (16)
95 02            Report Count (2)
81 00            Input (0x00)
C0               End Collection
(25 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x01,
0x2a, 0x8c, 0x02, 0x15, 0x01, 0x26, 0x8c, 0x02, 0x75, 0x10,
0x95, 0x02, 0x81, 0x00, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col01#5&379854aa&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
85 01            Report ID (1)
05 07            Usage Page (7)
09 69            Usage (105)
09 6A            Usage (106)
09 6B            Usage (107)
09 6C            Usage (108)
09 E3            Usage (227)
09 4C            Usage (76)
09 E2            Usage (226)
09 E0            Usage (224)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
C0               End Collection
(37 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x01, 0x05, 0x07,
0x09, 0x69, 0x09, 0x6a, 0x09, 0x6b, 0x09, 0x6c, 0x09, 0xe3,
0x09, 0x4c, 0x09, 0xe2, 0x09, 0xe0, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0xc0,

Device Found
  type: 045e 0773
  path: \\?\hid#vid_045e&pid_0773&mi_00#7&163547f9&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer:
  Product:
  Release:      674
  Interface:    0
  Usage (page): 0x6 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)
95 01            Report Count (1)
81 03            Input (0x03) Padding
19 00            Usage Minimum (0)
29 91            Usage Maximum (145)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
05 08            Usage Page (8)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
91 02            Output (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
91 03            Output (0x03) Padding
C0               End Collection
(66 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0,
0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08,
0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00,
0x29, 0x91, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95,
0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x03, 0x15,
0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x91, 0x02, 0x75,
0x05, 0x95, 0x01, 0x91, 0x03, 0xc0,

Device Found
  type: 045e 0773
  path: \\?\hid#vid_045e&pid_0773&mi_02&col01#7&a21967c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      674
  Interface:    2
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 21            Report ID (33)
06 00 FF         Usage Page (65280)
1A 10 FA         Usage Minimum (64016)
2A 1F FA         Usage Maximum (64031)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 10            Report Count (16)
81 02            Input (0x02)
85 27            Report ID (39)
0A 0A FA         Usage (64010)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 1F            Report Count (31)
81 02            Input (0x02)
85 14            Report ID (20)
0A 01 FE         Usage (65025)
15 00            Logical Minimum (0)
25 03            Logical Maximum (3)
75 02            Report Size (2)
95 01            Report Count (1)
81 02            Input (0x02)
85 04            Report ID (4)
0A 01 FE         Usage (65025)
15 00            Logical Minimum (0)
25 03            Logical Maximum (3)
75 02            Report Size (2)
95 01            Report Count (1)
81 02            Input (0x02)
85 20            Report ID (32)
0A 0A FA         Usage (64010)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 12            Report Count (18)
B1 02            Feature (0x02)
85 28            Report ID (40)
1A 10 FA         Usage Minimum (64016)
2A 1F FA         Usage Maximum (64031)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 10            Report Count (16)
B1 02            Feature (0x02)
85 22            Report ID (34)
0A 0A FA         Usage (64010)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 1A            Report Count (26)
B1 02            Feature (0x02)
85 23            Report ID (35)
0A 0A FA         Usage (64010)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 1A            Report Count (26)
B1 02            Feature (0x02)
85 24            Report ID (36)
0A 0A FA         Usage (64010)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 1F            Report Count (31)
B1 02            Feature (0x02)
85 25            Report ID (37)
0A 0A FA         Usage (64010)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 1F            Report Count (31)
B1 02            Feature (0x02)
85 26            Report ID (38)
0A 0A FA         Usage (64010)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 1F            Report Count (31)
B1 02            Feature (0x02)
75 06            Report Size (6)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 06            Report Size (6)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(200 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x21, 0x06, 0x00,
0xff, 0x1a, 0x10, 0xfa, 0x2a, 0x1f, 0xfa, 0x15, 0x00, 0x25,
0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x85, 0x27, 0x0a,
0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95,
0x1f, 0x81, 0x02, 0x85, 0x14, 0x0a, 0x01, 0xfe, 0x15, 0x00,
0x25, 0x03, 0x75, 0x02, 0x95, 0x01, 0x81, 0x02, 0x85, 0x04,
0x0a, 0x01, 0xfe, 0x15, 0x00, 0x25, 0x03, 0x75, 0x02, 0x95,
0x01, 0x81, 0x02, 0x85, 0x20, 0x0a, 0x0a, 0xfa, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x12, 0xb1, 0x02, 0x85,
0x28, 0x1a, 0x10, 0xfa, 0x2a, 0x1f, 0xfa, 0x15, 0x00, 0x25,
0x01, 0x75, 0x01, 0x95, 0x10, 0xb1, 0x02, 0x85, 0x22, 0x0a,
0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95,
0x1a, 0xb1, 0x02, 0x85, 0x23, 0x0a, 0x0a, 0xfa, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1a, 0xb1, 0x02, 0x85,
0x24, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75,
0x08, 0x95, 0x1f, 0xb1, 0x02, 0x85, 0x25, 0x0a, 0x0a, 0xfa,
0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1f, 0xb1,
0x02, 0x85, 0x26, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff,
0x00, 0x75, 0x08, 0x95, 0x1f, 0xb1, 0x02, 0x75, 0x06, 0x95,
0x01, 0x81, 0x03, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 045e 0773
  path: \\?\hid#vid_045e&pid_0773&mi_02&col02#7&a21967c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      674
  Interface:    2
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 07            Report ID (7)
19 00            Usage Minimum (0)
2A FF 03         Usage Maximum (1023)
15 00            Logical Minimum (0)
26 FF 03         Logical Maximum (1023)
75 10            Report Size (16)
95 01            Report Count (1)
81 00            Input (0x00)
05 07            Usage Page (7)
19 00            Usage Minimum (0)
29 FF            Usage Maximum (255)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 01            Report Count (1)
81 00            Input (0x00)
75 08            Report Size (8)
95 01            Report Count (1)
81 03            Input (0x03) Padding
06 00 FF         Usage Page (65280)
0A 03 FE         Usage (65027)
0A 04 FE         Usage (65028)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 02            Input (0x02)
0A 05 FF         Usage (65285)
15 00            Logical Minimum (0)
25 1F            Logical Maximum (31)
75 05            Report Size (5)
95 01            Report Count (1)
81 02            Input (0x02)
75 01            Report Size (1)
95 01            Report Count (1)
81 03            Input (0x03) Padding
1A 01 FD         Usage Minimum (64769)
2A FF FD         Usage Maximum (65023)
15 01            Logical Minimum (1)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 01            Report Count (1)
81 00            Input (0x00)
0A 02 FF         Usage (65282)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 01            Report Count (1)
81 02            Input (0x02)
C0               End Collection
(117 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x19, 0x00,
0x2a, 0xff, 0x03, 0x15, 0x00, 0x26, 0xff, 0x03, 0x75, 0x10,
0x95, 0x01, 0x81, 0x00, 0x05, 0x07, 0x19, 0x00, 0x29, 0xff,
0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81,
0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x06, 0x00, 0xff,
0x0a, 0x03, 0xfe, 0x0a, 0x04, 0xfe, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x0a, 0x05, 0xff, 0x15,
0x00, 0x25, 0x1f, 0x75, 0x05, 0x95, 0x01, 0x81, 0x02, 0x75,
0x01, 0x95, 0x01, 0x81, 0x03, 0x1a, 0x01, 0xfd, 0x2a, 0xff,
0xfd, 0x15, 0x01, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01,
0x81, 0x00, 0x0a, 0x02, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00,
0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0xc0,

Device Found
  type: 045e 0773
  path: \\?\hid#vid_045e&pid_0773&mi_02&col03#7&a21967c&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      674
  Interface:    2
  Usage (page): 0x88 (0xffbc)
  Report Descriptor:
06 BC FF         Usage Page (65468)
09 88            Usage  (136)
A1 01            Collection (Application)
85 08            Report ID (8)
19 01            Usage Minimum (1)
29 FF            Usage Maximum (255)
15 01            Logical Minimum (1)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 01            Report Count (1)
81 00            Input (0x00)
C0               End Collection
(25 bytes)
0x06, 0xbc, 0xff, 0x09, 0x88, 0xa1, 0x01, 0x85, 0x08, 0x19,
0x01, 0x29, 0xff, 0x15, 0x01, 0x26, 0xff, 0x00, 0x75, 0x08,
0x95, 0x01, 0x81, 0x00, 0xc0,

Device Found
  type: 045e 0773
  path: \\?\hid#vid_045e&pid_0773&mi_02&col04#7&a21967c&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      674
  Interface:    2
  Usage (page): 0x80 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 80            Usage  (128)
A1 01            Collection (Application)
85 03            Report ID (3)
19 00            Usage Minimum (0)
29 FF            Usage Maximum (255)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 01            Report Count (1)
81 00            Input (0x00)
C0               End Collection
(24 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x00,
0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95,
0x01, 0x81, 0x00, 0xc0,

Device Found
  type: 045e 0773
  path: \\?\hid#vid_045e&pid_0773&mi_01&col01#7&2df8d43e&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      674
  Interface:    1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 02            Usage  (2)
A1 02            Collection (Logical)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 1A            Report ID (26)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 05            Usage Maximum (5)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
81 02            Input (0x02)
75 03            Report Size (3)
95 01            Report Count (1)
81 03            Input (0x03) Padding
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
16 01 80         Logical Minimum (-32767)
26 FF 7F         Logical Maximum (32767)
75 10            Report Size (16)
95 02            Report Count (2)
81 06            Input (0x06)
09 00            Usage  (0)
A1 02            Collection (Logical)
09 38            Usage (56)
16 01 80         Logical Minimum (-32767)
26 FF 7F         Logical Maximum (32767)
75 10            Report Size (16)
95 01            Report Count (1)
81 06            Input (0x06)
85 12            Report ID (18)
09 48            Usage (72)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
35 01            Physical Minimum (1)
45 04            Physical Maximum (4)
75 02            Report Size (2)
95 01            Report Count (1)
B1 02            Feature (0x02)
C0               End Collection
09 00            Usage  (0)
A1 02            Collection (Logical)
85 1A            Report ID (26)
05 0C            Usage Page (12)
0A 38 02         Usage (568)
16 01 80         Logical Minimum (-32767)
26 FF 7F         Logical Maximum (32767)
35 00            Physical Minimum (0)
45 00            Physical Maximum (0)
75 10            Report Size (16)
95 01            Report Count (1)
81 06            Input (0x06)
85 12            Report ID (18)
05 01            Usage Page (1)
09 48            Usage (72)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
35 01            Physical Minimum (1)
45 04            Physical Maximum (4)
75 02            Report Size (2)
95 01            Report Count (1)
B1 02            Feature (0x02)
75 04            Report Size (4)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
C0               End Collection
C0               End Collection
C0               End Collection
(150 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x02, 0xa1, 0x02,
0x09, 0x01, 0xa1, 0x00, 0x85, 0x1a, 0x05, 0x09, 0x19, 0x01,
0x29, 0x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05,
0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01,
0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0x80, 0x26, 0xff, 0x7f,
0x75, 0x10, 0x95, 0x02, 0x81, 0x06, 0x09, 0x00, 0xa1, 0x02,
0x09, 0x38, 0x16, 0x01, 0x80, 0x26, 0xff, 0x7f, 0x75, 0x10,
0x95, 0x01, 0x81, 0x06, 0x85, 0x12, 0x09, 0x48, 0x15, 0x00,
0x25, 0x01, 0x35, 0x01, 0x45, 0x04, 0x75, 0x02, 0x95, 0x01,
0xb1, 0x02, 0xc0, 0x09, 0x00, 0xa1, 0x02, 0x85, 0x1a, 0x05,
0x0c, 0x0a, 0x38, 0x02, 0x16, 0x01, 0x80, 0x26, 0xff, 0x7f,
0x35, 0x00, 0x45, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81, 0x06,
0x85, 0x12, 0x05, 0x01, 0x09, 0x48, 0x15, 0x00, 0x25, 0x01,
0x35, 0x01, 0x45, 0x04, 0x75, 0x02, 0x95, 0x01, 0xb1, 0x02,
0x75, 0x04, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, 0xc0, 0xc0,

Device Found
  type: 045e 0773
  path: \\?\hid#vid_045e&pid_0773&mi_01&col02#7&2df8d43e&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      674
  Interface:    1
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
05 01            Usage Page (1)
09 02            Usage  (2)
A1 02            Collection (Logical)
85 1F            Report ID (31)
05 0C            Usage Page (12)
0A 38 02         Usage (568)
16 01 80         Logical Minimum (-32767)
26 FF 7F         Logical Maximum (32767)
75 10            Report Size (16)
95 01            Report Count (1)
81 06            Input (0x06)
85 17            Report ID (23)
06 00 FF         Usage Page (65280)
0A 06 FF         Usage (65286)
0A 0F FF         Usage (65295)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
35 01            Physical Minimum (1)
45 04            Physical Maximum (4)
75 02            Report Size (2)
95 02            Report Count (2)
B1 02            Feature (0x02)
0A 04 FF         Usage (65284)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
35 00            Physical Minimum (0)
45 00            Physical Maximum (0)
B1 02            Feature (0x02)
75 03            Report Size (3)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
85 16            Report ID (22)
05 0C            Usage Page (12)
19 00            Usage Minimum (0)
2A FF 03         Usage Maximum (1023)
15 00            Logical Minimum (0)
26 FF 03         Logical Maximum (1023)
75 10            Report Size (16)
95 01            Report Count (1)
81 00            Input (0x00)
06 00 FF         Usage Page (65280)
1A 01 FD         Usage Minimum (64769)
2A FF FD         Usage Maximum (65023)
15 01            Logical Minimum (1)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 01            Report Count (1)
81 00            Input (0x00)
85 1C            Report ID (28)
0A 25 FF         Usage (65317)
15 00            Logical Minimum (0)
25 04            Logical Maximum (4)
75 08            Report Size (8)
95 01            Report Count (1)
81 02            Input (0x02)
0A 26 FF         Usage (65318)
15 00            Logical Minimum (0)
27 FF FF 00 00   Logical Maximum (65535)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
C0               End Collection
(152 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x05, 0x01, 0x09, 0x02,
0xa1, 0x02, 0x85, 0x1f, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x16,
0x01, 0x80, 0x26, 0xff, 0x7f, 0x75, 0x10, 0x95, 0x01, 0x81,
0x06, 0x85, 0x17, 0x06, 0x00, 0xff, 0x0a, 0x06, 0xff, 0x0a,
0x0f, 0xff, 0x15, 0x00, 0x25, 0x01, 0x35, 0x01, 0x45, 0x04,
0x75, 0x02, 0x95, 0x02, 0xb1, 0x02, 0x0a, 0x04, 0xff, 0x15,
0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x35, 0x00, 0x45,
0x00, 0xb1, 0x02, 0x75, 0x03, 0x95, 0x01, 0xb1, 0x03, 0xc0,
0x85, 0x16, 0x05, 0x0c, 0x19, 0x00, 0x2a, 0xff, 0x03, 0x15,
0x00, 0x26, 0xff, 0x03, 0x75, 0x10, 0x95, 0x01, 0x81, 0x00,
0x06, 0x00, 0xff, 0x1a, 0x01, 0xfd, 0x2a, 0xff, 0xfd, 0x15,
0x01, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x00,
0x85, 0x1c, 0x0a, 0x25, 0xff, 0x15, 0x00, 0x25, 0x04, 0x75,
0x08, 0x95, 0x01, 0x81, 0x02, 0x0a, 0x26, 0xff, 0x15, 0x00,
0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81,
0x02, 0xc0,

unable to open device
Full output with my Dell Windows laptop (Windows 10 x64 Enterprise 20H2), the external HID devices include the Plantronics USB Headset, Logitech USB Receiver and Microsoft Nano USB Receiver. <details> <summary> click to expand </summary> ``` C:\work\hid\hidapi_test2\windows\x64\Release [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> .\hidtest.exe hidapi test/example tool. Compiled with hidapi version 0.11.0, runtime version 0.11.0. Compile-time version matches runtime version of hidapi. Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col03#7&1ebb799e&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x80 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 80 Usage (128) A1 01 Collection (Application) 85 04 Report ID (4) 09 82 Usage (130) 15 01 Logical Minimum (1) 25 03 Logical Maximum (3) 75 02 Report Size (2) 95 01 Report Count (1) 81 60 Input (0x60) Report Size (-2) 95 01 Report Count (1) 81 03 Input (0x03) Padding 09 81 Usage (129) 15 01 Logical Minimum (1) 25 03 Logical Maximum (3) 75 02 Report Size (2) 95 01 Report Count (1) 81 60 Input (0x60) Report Size (-2) 95 01 Report Count (1) 81 03 Input (0x03) Padding 09 83 Usage (131) 15 01 Logical Minimum (1) 25 03 Logical Maximum (3) 75 02 Report Size (2) 95 01 Report Count (1) 81 60 Input (0x60) 75 06 Report Size (6) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (59 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x82, 0x15, 0x01, 0x25, 0x03, 0x75, 0x02, 0x95, 0x01, 0x81, 0x60, 0x95, 0x01, 0x81, 0x03, 0x09, 0x81, 0x15, 0x01, 0x25, 0x03, 0x75, 0x02, 0x95, 0x01, 0x81, 0x60, 0x95, 0x01, 0x81, 0x03, 0x09, 0x83, 0x15, 0x01, 0x25, 0x03, 0x75, 0x02, 0x95, 0x01, 0x81, 0x60, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col04#7&1ebb799e&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xff00) Report Descriptor: 06 00 FF Usage Page (65280) 09 01 Usage (1) A1 01 Collection (Application) 85 10 Report ID (16) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 06 Report Count (6) 91 00 Output (0x00) C0 End Collection (36 bytes) 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x91, 0x00, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col05#7&1ebb799e&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0xff00) Report Descriptor: 06 00 FF Usage Page (65280) 09 02 Usage (2) A1 01 Collection (Application) 85 11 Report ID (17) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 13 Report Count (19) 81 00 Input (0x00) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 13 Report Count (19) 91 00 Output (0x00) C0 End Collection (36 bytes) 0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13, 0x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13, 0x91, 0x00, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col01#5&99b72d3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 01 Report ID (1) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 09 38 Usage (56) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 03 Report Count (3) 81 06 Input (0x06) 05 0C Usage Page (12) 0A 38 02 Usage (568) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) C0 End Collection C0 End Collection (69 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x01, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 8087 0a1e path: \\?\hid#intc816&col01#3&36a7043c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 200 Interface: -1 Usage (page): 0xc (0x1) Report Descriptor: 05 01 Usage Page (1) 09 0C Usage (12) A1 01 Collection (Application) 85 08 Report ID (8) 09 C6 Usage (198) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (27 bytes) 0x05, 0x01, 0x09, 0x0c, 0xa1, 0x01, 0x85, 0x08, 0x09, 0xc6, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 044e 1212 path: \\?\hid#vid_044e&pid_1212&col01&col02#7&290aacae&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 85 07 Report ID (7) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) 95 01 Report Count (1) 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 75 Usage Maximum (117) 15 00 Logical Minimum (0) 25 FF Logical Maximum (-1) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) C0 End Collection (45 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x07, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0x75, 0x15, 0x00, 0x25, 0xff, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0xc0, Device Found type: 8087 0a1e path: \\?\hid#intc816&col02#3&36a7043c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 200 Interface: -1 Usage (page): 0xd (0x1) Report Descriptor: 05 01 Usage Page (1) 09 0D Usage (13) A1 01 Collection (Application) 09 0D Usage (13) A1 02 Collection (Logical) 85 1C Report ID (28) 09 81 Usage (129) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 02 Input (0x02) 09 CB Usage (203) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 02 Feature (0x02) 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection C0 End Collection (50 bytes) 0x05, 0x01, 0x09, 0x0d, 0xa1, 0x01, 0x09, 0x0d, 0xa1, 0x02, 0x85, 0x1c, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x09, 0xcb, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, Device Found type: 044e 1212 path: \\?\hid#vid_044e&pid_1212&col01&col01#7&290aacae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 06 Report ID (6) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 16 00 FE Logical Minimum (-512) 26 00 02 Logical Maximum (512) 75 10 Report Size (16) 95 02 Report Count (2) 81 06 Input (0x06) C0 End Collection C0 End Collection (54 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x06, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x00, 0xfe, 0x26, 0x00, 0x02, 0x75, 0x10, 0x95, 0x02, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col02#5&99b72d3&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x5 (0xd) Report Descriptor: 05 0D Usage Page (13) 09 05 Usage (5) A1 01 Collection (Application) 09 22 Usage (34) A1 02 Collection (Logical) 85 08 Report ID (8) 09 47 Usage (71) 09 42 Usage (66) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 02 Input (0x02) 09 51 Usage (81) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 75 03 Report Size (3) 95 01 Report Count (1) 81 02 Input (0x02) 75 03 Report Size (3) 95 01 Report Count (1) 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 15 00 Logical Minimum (0) 26 AF 04 Logical Maximum (1199) 35 00 Physical Minimum (0) 46 E8 03 Physical Maximum (1000) 55 0E Unit Exponent (14) 65 11 Unit (17) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) 09 31 Usage (49) 15 00 Logical Minimum (0) 26 7B 02 Logical Maximum (635) 35 00 Physical Minimum (0) 46 12 02 Physical Maximum (530) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) C0 End Collection 05 0D Usage Page (13) 09 56 Usage (86) 15 00 Logical Minimum (0) 27 FF FF 00 00 Logical Maximum (65535) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) 09 54 Usage (84) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 75 08 Report Size (8) 95 01 Report Count (1) 81 02 Input (0x02) 05 09 Usage Page (9) 09 02 Usage (2) 09 03 Usage (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 45 00 Physical Maximum (0) 55 00 Unit Exponent (0) 65 00 Unit (0) 81 02 Input (0x02) 85 09 Report ID (9) 05 0D Usage Page (13) 09 55 Usage (85) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 01 Report Count (1) B1 02 Feature (0x02) 85 0A Report ID (10) 06 00 FF Usage Page (65280) 09 C5 Usage (197) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 96 00 01 Report Count (256) B1 02 Feature (0x02) 75 06 Report Size (6) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (204 bytes) 0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02, 0x85, 0x08, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00, 0x25, 0x05, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00, 0x26, 0xaf, 0x04, 0x35, 0x00, 0x46, 0xe8, 0x03, 0x55, 0x0e, 0x65, 0x11, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31, 0x15, 0x00, 0x26, 0x7b, 0x02, 0x35, 0x00, 0x46, 0x12, 0x02, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x56, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x54, 0x15, 0x00, 0x25, 0x05, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x05, 0x09, 0x09, 0x02, 0x09, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02, 0x85, 0x09, 0x05, 0x0d, 0x09, 0x55, 0x15, 0x00, 0x25, 0x05, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0x85, 0x0a, 0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 01 Report ID (1) 09 E9 Usage (233) 09 EA Usage (234) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 06 Input (0x06) 85 02 Report ID (2) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 10 Report Count (16) 81 02 Input (0x02) 85 05 Report ID (5) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 07 Report ID (7) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 04 Report ID (4) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 24 Report Count (36) 91 02 Output (0x02) 85 06 Report ID (6) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 24 Report Count (36) 91 02 Output (0x02) 75 06 Report Size (6) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (99 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xe9, 0x09, 0xea, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x06, 0x85, 0x02, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x85, 0x05, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x07, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x04, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x85, 0x06, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 02 Report ID (2) 09 E9 Usage (233) 09 EA Usage (234) 0A 21 02 Usage (545) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (32 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x02, 0x09, 0xe9, 0x09, 0xea, 0x0a, 0x21, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x5 (0xb) Report Descriptor: 05 0B Usage Page (11) 09 05 Usage (5) A1 01 Collection (Application) 85 08 Report ID (8) 09 2F Usage (47) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 09 20 Usage (32) 09 21 Usage (33) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 22 Input (0x22) 85 09 Report ID (9) 05 08 Usage Page (8) 09 09 Usage (9) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 17 Report ID (23) 09 17 Usage (23) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 18 Report ID (24) 09 18 Usage (24) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 1E Report ID (30) 09 1E Usage (30) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 20 Report ID (32) 09 20 Usage (32) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 2A Report ID (42) 09 2A Usage (42) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding C0 End Collection (163 bytes) 0x05, 0x0b, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x08, 0x09, 0x2f, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x22, 0x85, 0x09, 0x05, 0x08, 0x09, 0x09, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x1e, 0x09, 0x1e, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x2a, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x80 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 80 Usage (128) A1 01 Collection (Application) 85 03 Report ID (3) 09 81 Usage (129) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 02 Input (0x02) 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (27 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x3 (0xffa0) Report Descriptor: 06 A0 FF Usage Page (65440) 09 03 Usage (3) A1 01 Collection (Application) 85 03 Report ID (3) 09 30 Usage (48) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 14 Report ID (20) 09 B1 Usage (177) 09 B2 Usage (178) 09 B5 Usage (181) 09 B7 Usage (183) 09 B3 Usage (179) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 81 06 Input (0x06) 85 15 Report ID (21) 09 8C Usage (140) 15 00 Logical Minimum (0) 27 FF FF 00 00 Logical Maximum (65535) 75 10 Report Size (16) 95 01 Report Count (1) 81 22 Input (0x22) 85 1F Report ID (31) 09 9C Usage (156) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 85 03 Report ID (3) 09 30 Usage (48) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 91 02 Output (0x02) 85 19 Report ID (25) 09 8D Usage (141) 09 8F Usage (143) 09 9E Usage (158) 09 DC Usage (220) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 04 Report Count (4) 91 22 Output (0x22) 09 D2 Usage (210) 09 D9 Usage (217) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 91 06 Output (0x06) 85 1A Report ID (26) 09 B5 Usage (181) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 1B Report ID (27) 09 CF Usage (207) 09 B5 Usage (181) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) B1 22 Feature (0x22) 09 DE Usage (222) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 23 Feature (0x23) 09 D8 Usage (216) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 22 Feature (0x22) 75 04 Report Size (4) 95 01 Report Count (1) B1 03 Feature (0x03) Padding 09 09 Usage (9) 09 17 Usage (23) 09 18 Usage (24) 09 1E Usage (30) 09 20 Usage (32) 09 2A Usage (42) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 06 Report Count (6) B1 22 Feature (0x22) 75 03 Report Size (3) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 02 Report Size (2) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 02 Report Size (2) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection (235 bytes) 0x06, 0xa0, 0xff, 0x09, 0x03, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x14, 0x09, 0xb1, 0x09, 0xb2, 0x09, 0xb5, 0x09, 0xb7, 0x09, 0xb3, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x81, 0x06, 0x85, 0x15, 0x09, 0x8c, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81, 0x22, 0x85, 0x1f, 0x09, 0x9c, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x91, 0x02, 0x85, 0x19, 0x09, 0x8d, 0x09, 0x8f, 0x09, 0x9e, 0x09, 0xdc, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x91, 0x22, 0x09, 0xd2, 0x09, 0xd9, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x91, 0x06, 0x85, 0x1a, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x1b, 0x09, 0xcf, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0xb1, 0x22, 0x09, 0xde, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x23, 0x09, 0xd8, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x22, 0x75, 0x04, 0x95, 0x01, 0xb1, 0x03, 0x09, 0x09, 0x09, 0x17, 0x09, 0x18, 0x09, 0x1e, 0x09, 0x20, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x06, 0xb1, 0x22, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x75, 0x02, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x02, 0x95, 0x01, 0xb1, 0x03, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col03#5&99b72d3&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x1 (0xff01) Report Descriptor: 06 01 FF Usage Page (65281) 09 01 Usage (1) A1 01 Collection (Application) 85 03 Report ID (3) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 1B Report Count (27) 81 02 Input (0x02) 85 04 Report ID (4) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 1B Report Count (27) 81 02 Input (0x02) 85 06 Report ID (6) 09 04 Usage (4) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 07 Report Count (7) 81 02 Input (0x02) 85 05 Report ID (5) 09 03 Usage (3) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 07 Report Count (7) B1 02 Feature (0x02) C0 End Collection (80 bytes) 0x06, 0x01, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85, 0x04, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85, 0x06, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0x81, 0x02, 0x85, 0x05, 0x09, 0x03, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0xb1, 0x02, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col04#5&99b72d3&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x1 (0xff02) Report Descriptor: 06 02 FF Usage Page (65282) 09 01 Usage (1) A1 01 Collection (Application) 85 07 Report ID (7) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 86 Report Count (134) B1 02 Feature (0x02) C0 End Collection (35 bytes) 0x06, 0x02, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x86, 0xb1, 0x02, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_00#7&51bc424&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 0 Usage (page): 0x6 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) 95 01 Report Count (1) 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 A4 Usage Maximum (164) 15 00 Logical Minimum (0) 26 A4 00 Logical Maximum (164) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 05 08 Usage Page (8) 19 01 Usage Minimum (1) 29 05 Usage Maximum (5) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 91 02 Output (0x02) 75 03 Report Size (3) 95 01 Report Count (1) 91 03 Output (0x03) Padding C0 End Collection (66 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0xa4, 0x15, 0x00, 0x26, 0xa4, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75, 0x03, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col05#5&99b72d3&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0xe (0xd) Report Descriptor: 05 0D Usage Page (13) 09 0E Usage (14) A1 01 Collection (Application) 09 22 Usage (34) A1 02 Collection (Logical) 85 0B Report ID (11) 09 52 Usage (82) 15 00 Logical Minimum (0) 25 0A Logical Maximum (10) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 01 Report Count (1) B1 02 Feature (0x02) C0 End Collection 09 22 Usage (34) A1 00 Collection (Physical) 85 0C Report ID (12) 09 57 Usage (87) 09 58 Usage (88) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 45 00 Physical Maximum (0) 55 00 Unit Exponent (0) 65 00 Unit (0) B1 02 Feature (0x02) 75 06 Report Size (6) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection C0 End Collection (71 bytes) 0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02, 0x85, 0x0b, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1, 0x00, 0x85, 0x0c, 0x09, 0x57, 0x09, 0x58, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col01#7&1ebb799e&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 02 Report ID (2) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 10 Usage Maximum (16) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 10 Report Count (16) 81 02 Input (0x02) 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 16 01 F8 Logical Minimum (-2047) 26 FF 07 Logical Maximum (2047) 75 0C Report Size (12) 95 02 Report Count (2) 81 06 Input (0x06) 09 38 Usage (56) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) 05 0C Usage Page (12) 0A 38 02 Usage (568) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) C0 End Collection C0 End Collection (75 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07, 0x75, 0x0c, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col02#7&1ebb799e&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 03 Report ID (3) 19 01 Usage Minimum (1) 2A 8C 02 Usage Maximum (652) 15 01 Logical Minimum (1) 26 8C 02 Logical Maximum (652) 75 10 Report Size (16) 95 02 Report Count (2) 81 00 Input (0x00) C0 End Collection (25 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x01, 0x2a, 0x8c, 0x02, 0x15, 0x01, 0x26, 0x8c, 0x02, 0x75, 0x10, 0x95, 0x02, 0x81, 0x00, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col01#5&379854aa&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 85 01 Report ID (1) 05 07 Usage Page (7) 09 69 Usage (105) 09 6A Usage (106) 09 6B Usage (107) 09 6C Usage (108) 09 E3 Usage (227) 09 4C Usage (76) 09 E2 Usage (226) 09 E0 Usage (224) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) C0 End Collection (37 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x01, 0x05, 0x07, 0x09, 0x69, 0x09, 0x6a, 0x09, 0x6b, 0x09, 0x6c, 0x09, 0xe3, 0x09, 0x4c, 0x09, 0xe2, 0x09, 0xe0, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0xc0, Device Found type: 045e 0773 path: \\?\hid#vid_045e&pid_0773&mi_00#7&163547f9&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Product: Release: 674 Interface: 0 Usage (page): 0x6 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) 95 01 Report Count (1) 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 91 Usage Maximum (145) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 05 08 Usage Page (8) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 91 02 Output (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 91 03 Output (0x03) Padding C0 End Collection (66 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0x91, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x91, 0x02, 0x75, 0x05, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 045e 0773 path: \\?\hid#vid_045e&pid_0773&mi_02&col01#7&a21967c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 674 Interface: 2 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 21 Report ID (33) 06 00 FF Usage Page (65280) 1A 10 FA Usage Minimum (64016) 2A 1F FA Usage Maximum (64031) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 10 Report Count (16) 81 02 Input (0x02) 85 27 Report ID (39) 0A 0A FA Usage (64010) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 1F Report Count (31) 81 02 Input (0x02) 85 14 Report ID (20) 0A 01 FE Usage (65025) 15 00 Logical Minimum (0) 25 03 Logical Maximum (3) 75 02 Report Size (2) 95 01 Report Count (1) 81 02 Input (0x02) 85 04 Report ID (4) 0A 01 FE Usage (65025) 15 00 Logical Minimum (0) 25 03 Logical Maximum (3) 75 02 Report Size (2) 95 01 Report Count (1) 81 02 Input (0x02) 85 20 Report ID (32) 0A 0A FA Usage (64010) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 12 Report Count (18) B1 02 Feature (0x02) 85 28 Report ID (40) 1A 10 FA Usage Minimum (64016) 2A 1F FA Usage Maximum (64031) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 10 Report Count (16) B1 02 Feature (0x02) 85 22 Report ID (34) 0A 0A FA Usage (64010) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 1A Report Count (26) B1 02 Feature (0x02) 85 23 Report ID (35) 0A 0A FA Usage (64010) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 1A Report Count (26) B1 02 Feature (0x02) 85 24 Report ID (36) 0A 0A FA Usage (64010) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 1F Report Count (31) B1 02 Feature (0x02) 85 25 Report ID (37) 0A 0A FA Usage (64010) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 1F Report Count (31) B1 02 Feature (0x02) 85 26 Report ID (38) 0A 0A FA Usage (64010) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 1F Report Count (31) B1 02 Feature (0x02) 75 06 Report Size (6) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 06 Report Size (6) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (200 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x21, 0x06, 0x00, 0xff, 0x1a, 0x10, 0xfa, 0x2a, 0x1f, 0xfa, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x85, 0x27, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1f, 0x81, 0x02, 0x85, 0x14, 0x0a, 0x01, 0xfe, 0x15, 0x00, 0x25, 0x03, 0x75, 0x02, 0x95, 0x01, 0x81, 0x02, 0x85, 0x04, 0x0a, 0x01, 0xfe, 0x15, 0x00, 0x25, 0x03, 0x75, 0x02, 0x95, 0x01, 0x81, 0x02, 0x85, 0x20, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x12, 0xb1, 0x02, 0x85, 0x28, 0x1a, 0x10, 0xfa, 0x2a, 0x1f, 0xfa, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0xb1, 0x02, 0x85, 0x22, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1a, 0xb1, 0x02, 0x85, 0x23, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1a, 0xb1, 0x02, 0x85, 0x24, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1f, 0xb1, 0x02, 0x85, 0x25, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1f, 0xb1, 0x02, 0x85, 0x26, 0x0a, 0x0a, 0xfa, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1f, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 045e 0773 path: \\?\hid#vid_045e&pid_0773&mi_02&col02#7&a21967c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 674 Interface: 2 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 07 Report ID (7) 19 00 Usage Minimum (0) 2A FF 03 Usage Maximum (1023) 15 00 Logical Minimum (0) 26 FF 03 Logical Maximum (1023) 75 10 Report Size (16) 95 01 Report Count (1) 81 00 Input (0x00) 05 07 Usage Page (7) 19 00 Usage Minimum (0) 29 FF Usage Maximum (255) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 01 Report Count (1) 81 00 Input (0x00) 75 08 Report Size (8) 95 01 Report Count (1) 81 03 Input (0x03) Padding 06 00 FF Usage Page (65280) 0A 03 FE Usage (65027) 0A 04 FE Usage (65028) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 02 Input (0x02) 0A 05 FF Usage (65285) 15 00 Logical Minimum (0) 25 1F Logical Maximum (31) 75 05 Report Size (5) 95 01 Report Count (1) 81 02 Input (0x02) 75 01 Report Size (1) 95 01 Report Count (1) 81 03 Input (0x03) Padding 1A 01 FD Usage Minimum (64769) 2A FF FD Usage Maximum (65023) 15 01 Logical Minimum (1) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 01 Report Count (1) 81 00 Input (0x00) 0A 02 FF Usage (65282) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 01 Report Count (1) 81 02 Input (0x02) C0 End Collection (117 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x19, 0x00, 0x2a, 0xff, 0x03, 0x15, 0x00, 0x26, 0xff, 0x03, 0x75, 0x10, 0x95, 0x01, 0x81, 0x00, 0x05, 0x07, 0x19, 0x00, 0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x06, 0x00, 0xff, 0x0a, 0x03, 0xfe, 0x0a, 0x04, 0xfe, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x0a, 0x05, 0xff, 0x15, 0x00, 0x25, 0x1f, 0x75, 0x05, 0x95, 0x01, 0x81, 0x02, 0x75, 0x01, 0x95, 0x01, 0x81, 0x03, 0x1a, 0x01, 0xfd, 0x2a, 0xff, 0xfd, 0x15, 0x01, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x00, 0x0a, 0x02, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0xc0, Device Found type: 045e 0773 path: \\?\hid#vid_045e&pid_0773&mi_02&col03#7&a21967c&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 674 Interface: 2 Usage (page): 0x88 (0xffbc) Report Descriptor: 06 BC FF Usage Page (65468) 09 88 Usage (136) A1 01 Collection (Application) 85 08 Report ID (8) 19 01 Usage Minimum (1) 29 FF Usage Maximum (255) 15 01 Logical Minimum (1) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 01 Report Count (1) 81 00 Input (0x00) C0 End Collection (25 bytes) 0x06, 0xbc, 0xff, 0x09, 0x88, 0xa1, 0x01, 0x85, 0x08, 0x19, 0x01, 0x29, 0xff, 0x15, 0x01, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x00, 0xc0, Device Found type: 045e 0773 path: \\?\hid#vid_045e&pid_0773&mi_02&col04#7&a21967c&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 674 Interface: 2 Usage (page): 0x80 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 80 Usage (128) A1 01 Collection (Application) 85 03 Report ID (3) 19 00 Usage Minimum (0) 29 FF Usage Maximum (255) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 01 Report Count (1) 81 00 Input (0x00) C0 End Collection (24 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x00, 0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x00, 0xc0, Device Found type: 045e 0773 path: \\?\hid#vid_045e&pid_0773&mi_01&col01#7&2df8d43e&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 674 Interface: 1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 02 Usage (2) A1 02 Collection (Logical) 09 01 Usage (1) A1 00 Collection (Physical) 85 1A Report ID (26) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 05 Usage Maximum (5) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 81 02 Input (0x02) 75 03 Report Size (3) 95 01 Report Count (1) 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 16 01 80 Logical Minimum (-32767) 26 FF 7F Logical Maximum (32767) 75 10 Report Size (16) 95 02 Report Count (2) 81 06 Input (0x06) 09 00 Usage (0) A1 02 Collection (Logical) 09 38 Usage (56) 16 01 80 Logical Minimum (-32767) 26 FF 7F Logical Maximum (32767) 75 10 Report Size (16) 95 01 Report Count (1) 81 06 Input (0x06) 85 12 Report ID (18) 09 48 Usage (72) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 35 01 Physical Minimum (1) 45 04 Physical Maximum (4) 75 02 Report Size (2) 95 01 Report Count (1) B1 02 Feature (0x02) C0 End Collection 09 00 Usage (0) A1 02 Collection (Logical) 85 1A Report ID (26) 05 0C Usage Page (12) 0A 38 02 Usage (568) 16 01 80 Logical Minimum (-32767) 26 FF 7F Logical Maximum (32767) 35 00 Physical Minimum (0) 45 00 Physical Maximum (0) 75 10 Report Size (16) 95 01 Report Count (1) 81 06 Input (0x06) 85 12 Report ID (18) 05 01 Usage Page (1) 09 48 Usage (72) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 35 01 Physical Minimum (1) 45 04 Physical Maximum (4) 75 02 Report Size (2) 95 01 Report Count (1) B1 02 Feature (0x02) 75 04 Report Size (4) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection C0 End Collection C0 End Collection C0 End Collection (150 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x02, 0xa1, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x1a, 0x05, 0x09, 0x19, 0x01, 0x29, 0x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0x80, 0x26, 0xff, 0x7f, 0x75, 0x10, 0x95, 0x02, 0x81, 0x06, 0x09, 0x00, 0xa1, 0x02, 0x09, 0x38, 0x16, 0x01, 0x80, 0x26, 0xff, 0x7f, 0x75, 0x10, 0x95, 0x01, 0x81, 0x06, 0x85, 0x12, 0x09, 0x48, 0x15, 0x00, 0x25, 0x01, 0x35, 0x01, 0x45, 0x04, 0x75, 0x02, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x00, 0xa1, 0x02, 0x85, 0x1a, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x16, 0x01, 0x80, 0x26, 0xff, 0x7f, 0x35, 0x00, 0x45, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81, 0x06, 0x85, 0x12, 0x05, 0x01, 0x09, 0x48, 0x15, 0x00, 0x25, 0x01, 0x35, 0x01, 0x45, 0x04, 0x75, 0x02, 0x95, 0x01, 0xb1, 0x02, 0x75, 0x04, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, 0xc0, 0xc0, Device Found type: 045e 0773 path: \\?\hid#vid_045e&pid_0773&mi_01&col02#7&2df8d43e&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 674 Interface: 1 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 05 01 Usage Page (1) 09 02 Usage (2) A1 02 Collection (Logical) 85 1F Report ID (31) 05 0C Usage Page (12) 0A 38 02 Usage (568) 16 01 80 Logical Minimum (-32767) 26 FF 7F Logical Maximum (32767) 75 10 Report Size (16) 95 01 Report Count (1) 81 06 Input (0x06) 85 17 Report ID (23) 06 00 FF Usage Page (65280) 0A 06 FF Usage (65286) 0A 0F FF Usage (65295) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 35 01 Physical Minimum (1) 45 04 Physical Maximum (4) 75 02 Report Size (2) 95 02 Report Count (2) B1 02 Feature (0x02) 0A 04 FF Usage (65284) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 35 00 Physical Minimum (0) 45 00 Physical Maximum (0) B1 02 Feature (0x02) 75 03 Report Size (3) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection 85 16 Report ID (22) 05 0C Usage Page (12) 19 00 Usage Minimum (0) 2A FF 03 Usage Maximum (1023) 15 00 Logical Minimum (0) 26 FF 03 Logical Maximum (1023) 75 10 Report Size (16) 95 01 Report Count (1) 81 00 Input (0x00) 06 00 FF Usage Page (65280) 1A 01 FD Usage Minimum (64769) 2A FF FD Usage Maximum (65023) 15 01 Logical Minimum (1) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 01 Report Count (1) 81 00 Input (0x00) 85 1C Report ID (28) 0A 25 FF Usage (65317) 15 00 Logical Minimum (0) 25 04 Logical Maximum (4) 75 08 Report Size (8) 95 01 Report Count (1) 81 02 Input (0x02) 0A 26 FF Usage (65318) 15 00 Logical Minimum (0) 27 FF FF 00 00 Logical Maximum (65535) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) C0 End Collection (152 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x05, 0x01, 0x09, 0x02, 0xa1, 0x02, 0x85, 0x1f, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x16, 0x01, 0x80, 0x26, 0xff, 0x7f, 0x75, 0x10, 0x95, 0x01, 0x81, 0x06, 0x85, 0x17, 0x06, 0x00, 0xff, 0x0a, 0x06, 0xff, 0x0a, 0x0f, 0xff, 0x15, 0x00, 0x25, 0x01, 0x35, 0x01, 0x45, 0x04, 0x75, 0x02, 0x95, 0x02, 0xb1, 0x02, 0x0a, 0x04, 0xff, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x35, 0x00, 0x45, 0x00, 0xb1, 0x02, 0x75, 0x03, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0x85, 0x16, 0x05, 0x0c, 0x19, 0x00, 0x2a, 0xff, 0x03, 0x15, 0x00, 0x26, 0xff, 0x03, 0x75, 0x10, 0x95, 0x01, 0x81, 0x00, 0x06, 0x00, 0xff, 0x1a, 0x01, 0xfd, 0x2a, 0xff, 0xfd, 0x15, 0x01, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0x81, 0x00, 0x85, 0x1c, 0x0a, 0x25, 0xff, 0x15, 0x00, 0x25, 0x04, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x0a, 0x26, 0xff, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, unable to open device ``` </details>
JoergAtGithub commented 2021-07-20 15:44:25 -05:00 (Migrated from github.com)

My patch for the Plantronics headset seems not to work - but this is solveable for sure (for both #306 and for #262).

My patch for the Plantronics headset seems not to work - but this is solveable for sure (for both #306 and for #262).
mcuee commented 2021-07-25 00:02:12 -05:00 (Migrated from github.com)

My patch for the Plantronics headset seems not to work - but this is solveable for sure (for both #306 and for #262).

Great work. I think this is not an easy task but #306 seems to be pretty promissing.

> My patch for the Plantronics headset seems not to work - but this is solveable for sure (for both #306 and for #262). Great work. I think this is not an easy task but #306 seems to be pretty promissing.
mcuee commented 2021-07-25 01:10:51 -05:00 (Migrated from github.com)

Output from the ESP32 BLE HID example FW. This probably needs the fix from #309 first.

First report seems to be correct. $306 failed to get the second report.

Device Found
  type: 16c0 05df
  path: \\?\hid#{00001812-0000-1000-8000-00805f9b34fb}_dev_vid&0216c0_pid&05df_rev&0100_30aea44c4efa#9&38bb9e5a&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      100
  Interface:    -1
  Usage (page): 0x100 (0xff00)
  Report Descriptor:
06 00 FF         Usage Page (65280)
0A 00 01         Usage  (256)
A1 01            Collection (Application)
85 01            Report ID (1)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 08            Report Count (8)
82 02 01         Input (0x102)
09 03            Usage (3)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 08            Report Count (8)
91 02            Output (0x02)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 08            Report Count (8)
B2 02 01         Feature (0x102)
C0               End Collection
(52 bytes)
0x06, 0x00, 0xff, 0x0a, 0x00, 0x01, 0xa1, 0x01, 0x85, 0x01,
0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95,
0x08, 0x82, 0x02, 0x01, 0x09, 0x03, 0x15, 0x00, 0x26, 0xff,
0x00, 0x75, 0x08, 0x95, 0x08, 0x91, 0x02, 0x09, 0x02, 0x15,
0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x08, 0xb2, 0x02,
0x01, 0xc0,

Device Found
  type: 16c0 05df
  path: \\?\hid#{00001812-0000-1000-8000-00805f9b34fb}_dev_vid&0216c0_pid&05df_rev&0100_30aea44c4efa#9&f97cf65&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      100
  Interface:    -1
  Usage (page): 0x1 (0xc)
  Report Descriptor: **(Note: no output)**

The FW source code is here.
https://github.com/espressif/esp-idf/blob/master/examples/bluetooth/esp_hid_device/main/esp_hid_device_main.c

const unsigned char hidapiReportMap[] = { //8 bytes input, 8 bytes feature
    0x06, 0x00, 0xFF,  // Usage Page (Vendor Defined 0xFF00)
    0x0A, 0x00, 0x01,  // Usage (0x0100)
    0xA1, 0x01,        // Collection (Application)
    0x85, 0x01,        //   Report ID (1)
    0x15, 0x00,        //   Logical Minimum (0)
    0x26, 0xFF, 0x00,  //   Logical Maximum (255)
    0x75, 0x08,        //   Report Size (8)
    0x95, 0x08,        //   Report Count (8)
    0x09, 0x01,        //   Usage (0x01)
    0x82, 0x02, 0x01,  //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Buffered Bytes)
    0x95, 0x08,        //   Report Count (8)
    0x09, 0x02,        //   Usage (0x02)
    0xB2, 0x02, 0x01,  //   Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile,Buffered Bytes)
    0x95, 0x08,        //   Report Count (8)
    0x09, 0x03,        //   Usage (0x03)
    0x91, 0x02,        //   Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
    0xC0,              // End Collection

    // 38 bytes
};

const unsigned char mediaReportMap[] = {
    0x05, 0x0C,        // Usage Page (Consumer)
    0x09, 0x01,        // Usage (Consumer Control)
    0xA1, 0x01,        // Collection (Application)
    0x85, 0x03,        //   Report ID (3)
    0x09, 0x02,        //   Usage (Numeric Key Pad)
    0xA1, 0x02,        //   Collection (Logical)
    0x05, 0x09,        //     Usage Page (Button)
    0x19, 0x01,        //     Usage Minimum (0x01)
    0x29, 0x0A,        //     Usage Maximum (0x0A)
    0x15, 0x01,        //     Logical Minimum (1)
    0x25, 0x0A,        //     Logical Maximum (10)
    0x75, 0x04,        //     Report Size (4)
    0x95, 0x01,        //     Report Count (1)
    0x81, 0x00,        //     Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
    0xC0,              //   End Collection
    0x05, 0x0C,        //   Usage Page (Consumer)
    0x09, 0x86,        //   Usage (Channel)
    0x15, 0xFF,        //   Logical Minimum (-1)
    0x25, 0x01,        //   Logical Maximum (1)
    0x75, 0x02,        //   Report Size (2)
    0x95, 0x01,        //   Report Count (1)
    0x81, 0x46,        //   Input (Data,Var,Rel,No Wrap,Linear,Preferred State,Null State)
    0x09, 0xE9,        //   Usage (Volume Increment)
    0x09, 0xEA,        //   Usage (Volume Decrement)
    0x15, 0x00,        //   Logical Minimum (0)
    0x75, 0x01,        //   Report Size (1)
    0x95, 0x02,        //   Report Count (2)
    0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
    0x09, 0xE2,        //   Usage (Mute)
    0x09, 0x30,        //   Usage (Power)
    0x09, 0x83,        //   Usage (Recall Last)
    0x09, 0x81,        //   Usage (Assign Selection)
    0x09, 0xB0,        //   Usage (Play)
    0x09, 0xB1,        //   Usage (Pause)
    0x09, 0xB2,        //   Usage (Record)
    0x09, 0xB3,        //   Usage (Fast Forward)
    0x09, 0xB4,        //   Usage (Rewind)
    0x09, 0xB5,        //   Usage (Scan Next Track)
    0x09, 0xB6,        //   Usage (Scan Previous Track)
    0x09, 0xB7,        //   Usage (Stop)
    0x15, 0x01,        //   Logical Minimum (1)
    0x25, 0x0C,        //   Logical Maximum (12)
    0x75, 0x04,        //   Report Size (4)
    0x95, 0x01,        //   Report Count (1)
    0x81, 0x00,        //   Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
    0x09, 0x80,        //   Usage (Selection)
    0xA1, 0x02,        //   Collection (Logical)
    0x05, 0x09,        //     Usage Page (Button)
    0x19, 0x01,        //     Usage Minimum (0x01)
    0x29, 0x03,        //     Usage Maximum (0x03)
    0x15, 0x01,        //     Logical Minimum (1)
    0x25, 0x03,        //     Logical Maximum (3)
    0x75, 0x02,        //     Report Size (2)
    0x81, 0x00,        //     Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position)
    0xC0,              //   End Collection
    0x81, 0x03,        //   Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
    0xC0,              // End Collection
};

Output from the ESP32 BLE HID example FW. This probably needs the fix from #309 first. First report seems to be correct. $306 failed to get the second report. ``` Device Found type: 16c0 05df path: \\?\hid#{00001812-0000-1000-8000-00805f9b34fb}_dev_vid&0216c0_pid&05df_rev&0100_30aea44c4efa#9&38bb9e5a&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 100 Interface: -1 Usage (page): 0x100 (0xff00) Report Descriptor: 06 00 FF Usage Page (65280) 0A 00 01 Usage (256) A1 01 Collection (Application) 85 01 Report ID (1) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 08 Report Count (8) 82 02 01 Input (0x102) 09 03 Usage (3) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 08 Report Count (8) 91 02 Output (0x02) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 08 Report Count (8) B2 02 01 Feature (0x102) C0 End Collection (52 bytes) 0x06, 0x00, 0xff, 0x0a, 0x00, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x08, 0x82, 0x02, 0x01, 0x09, 0x03, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x08, 0x91, 0x02, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x08, 0xb2, 0x02, 0x01, 0xc0, Device Found type: 16c0 05df path: \\?\hid#{00001812-0000-1000-8000-00805f9b34fb}_dev_vid&0216c0_pid&05df_rev&0100_30aea44c4efa#9&f97cf65&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 100 Interface: -1 Usage (page): 0x1 (0xc) Report Descriptor: **(Note: no output)** ``` The FW source code is here. https://github.com/espressif/esp-idf/blob/master/examples/bluetooth/esp_hid_device/main/esp_hid_device_main.c ``` const unsigned char hidapiReportMap[] = { //8 bytes input, 8 bytes feature 0x06, 0x00, 0xFF, // Usage Page (Vendor Defined 0xFF00) 0x0A, 0x00, 0x01, // Usage (0x0100) 0xA1, 0x01, // Collection (Application) 0x85, 0x01, // Report ID (1) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x08, // Report Count (8) 0x09, 0x01, // Usage (0x01) 0x82, 0x02, 0x01, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Buffered Bytes) 0x95, 0x08, // Report Count (8) 0x09, 0x02, // Usage (0x02) 0xB2, 0x02, 0x01, // Feature (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile,Buffered Bytes) 0x95, 0x08, // Report Count (8) 0x09, 0x03, // Usage (0x03) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection // 38 bytes }; const unsigned char mediaReportMap[] = { 0x05, 0x0C, // Usage Page (Consumer) 0x09, 0x01, // Usage (Consumer Control) 0xA1, 0x01, // Collection (Application) 0x85, 0x03, // Report ID (3) 0x09, 0x02, // Usage (Numeric Key Pad) 0xA1, 0x02, // Collection (Logical) 0x05, 0x09, // Usage Page (Button) 0x19, 0x01, // Usage Minimum (0x01) 0x29, 0x0A, // Usage Maximum (0x0A) 0x15, 0x01, // Logical Minimum (1) 0x25, 0x0A, // Logical Maximum (10) 0x75, 0x04, // Report Size (4) 0x95, 0x01, // Report Count (1) 0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0xC0, // End Collection 0x05, 0x0C, // Usage Page (Consumer) 0x09, 0x86, // Usage (Channel) 0x15, 0xFF, // Logical Minimum (-1) 0x25, 0x01, // Logical Maximum (1) 0x75, 0x02, // Report Size (2) 0x95, 0x01, // Report Count (1) 0x81, 0x46, // Input (Data,Var,Rel,No Wrap,Linear,Preferred State,Null State) 0x09, 0xE9, // Usage (Volume Increment) 0x09, 0xEA, // Usage (Volume Decrement) 0x15, 0x00, // Logical Minimum (0) 0x75, 0x01, // Report Size (1) 0x95, 0x02, // Report Count (2) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x09, 0xE2, // Usage (Mute) 0x09, 0x30, // Usage (Power) 0x09, 0x83, // Usage (Recall Last) 0x09, 0x81, // Usage (Assign Selection) 0x09, 0xB0, // Usage (Play) 0x09, 0xB1, // Usage (Pause) 0x09, 0xB2, // Usage (Record) 0x09, 0xB3, // Usage (Fast Forward) 0x09, 0xB4, // Usage (Rewind) 0x09, 0xB5, // Usage (Scan Next Track) 0x09, 0xB6, // Usage (Scan Previous Track) 0x09, 0xB7, // Usage (Stop) 0x15, 0x01, // Logical Minimum (1) 0x25, 0x0C, // Logical Maximum (12) 0x75, 0x04, // Report Size (4) 0x95, 0x01, // Report Count (1) 0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x09, 0x80, // Usage (Selection) 0xA1, 0x02, // Collection (Logical) 0x05, 0x09, // Usage Page (Button) 0x19, 0x01, // Usage Minimum (0x01) 0x29, 0x03, // Usage Maximum (0x03) 0x15, 0x01, // Logical Minimum (1) 0x25, 0x03, // Logical Maximum (3) 0x75, 0x02, // Report Size (2) 0x81, 0x00, // Input (Data,Array,Abs,No Wrap,Linear,Preferred State,No Null Position) 0xC0, // End Collection 0x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0xC0, // End Collection }; ```
JoergAtGithub commented 2021-07-25 04:42:22 -05:00 (Migrated from github.com)

I commited a new patch for the padding issue with the Plantronics headset. Could you please retest with this device again.

I commited a new patch for the padding issue with the Plantronics headset. Could you please retest with this device again.
mcuee commented 2021-07-25 07:08:15 -05:00 (Migrated from github.com)

Here is the output. You can probably ignore the \?\hid#converteddevice entries.

click for the log for Plantronics Blackwire 3220 Series USB headset
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 01            Report ID (1)
09 E9            Usage (233)
09 EA            Usage (234)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 06            Input (0x06)
75 06            Report Size (6)
95 01            Report Count (1)
81 03            Input (0x03) Padding
85 02            Report ID (2)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 10            Report Count (16)
81 02            Input (0x02)
85 05            Report ID (5)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 07            Report ID (7)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 04            Report ID (4)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 24            Report Count (36)
91 02            Output (0x02)
85 06            Report ID (6)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 24            Report Count (36)
91 02            Output (0x02)
C0               End Collection
(99 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xe9,
0x09, 0xea, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02,
0x81, 0x06, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x85, 0x02,
0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10,
0x81, 0x02, 0x85, 0x05, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01,
0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x07, 0x09, 0x00,
0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02,
0x85, 0x04, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08,
0x95, 0x24, 0x91, 0x02, 0x85, 0x06, 0x09, 0x00, 0x15, 0x00,
0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 02            Report ID (2)
09 E9            Usage (233)
09 EA            Usage (234)
0A 21 02         Usage (545)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(32 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x02, 0x09, 0xe9,
0x09, 0xea, 0x0a, 0x21, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75,
0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81,
0x03, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x5 (0xb)
  Report Descriptor:
05 0B            Usage Page (11)
09 05            Usage  (5)
A1 01            Collection (Application)
85 08            Report ID (8)
09 2F            Usage (47)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
09 20            Usage (32)
09 21            Usage (33)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 22            Input (0x22)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
85 09            Report ID (9)
05 08            Usage Page (8)
09 09            Usage (9)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
85 17            Report ID (23)
09 17            Usage (23)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
85 18            Report ID (24)
09 18            Usage (24)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
85 1E            Report ID (30)
09 1E            Usage (30)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
85 20            Report ID (32)
09 20            Usage (32)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
85 2A            Report ID (42)
09 2A            Usage (42)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
C0               End Collection
(163 bytes)
0x05, 0x0b, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x08, 0x09, 0x2f,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x81, 0x22, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03,
0x85, 0x09, 0x05, 0x08, 0x09, 0x09, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x1e, 0x09, 0x1e, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x2a, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x80 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 80            Usage  (128)
A1 01            Collection (Application)
85 03            Report ID (3)
09 81            Usage (129)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 02            Input (0x02)
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(27 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x81,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x3 (0xffa0)
  Report Descriptor:
06 A0 FF         Usage Page (65440)
09 03            Usage  (3)
A1 01            Collection (Application)
85 03            Report ID (3)
09 30            Usage (48)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 14            Report ID (20)
09 B1            Usage (177)
09 B2            Usage (178)
09 B5            Usage (181)
09 B7            Usage (183)
09 B3            Usage (179)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
81 06            Input (0x06)
75 03            Report Size (3)
95 01            Report Count (1)
81 03            Input (0x03) Padding
85 15            Report ID (21)
09 8C            Usage (140)
15 00            Logical Minimum (0)
27 FF FF 00 00   Logical Maximum (65535)
75 10            Report Size (16)
95 01            Report Count (1)
81 22            Input (0x22)
85 1F            Report ID (31)
09 9C            Usage (156)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
85 03            Report ID (3)
09 30            Usage (48)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
91 02            Output (0x02)
85 19            Report ID (25)
09 8D            Usage (141)
09 8F            Usage (143)
09 9E            Usage (158)
09 DC            Usage (220)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 04            Report Count (4)
91 22            Output (0x22)
09 D2            Usage (210)
09 D9            Usage (217)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
91 06            Output (0x06)
75 02            Report Size (2)
95 01            Report Count (1)
91 03            Output (0x03) Padding
85 1A            Report ID (26)
09 B5            Usage (181)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
85 1B            Report ID (27)
09 CF            Usage (207)
09 B5            Usage (181)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
B1 22            Feature (0x22)
09 DE            Usage (222)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 23            Feature (0x23)
09 D8            Usage (216)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 22            Feature (0x22)
75 04            Report Size (4)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
09 09            Usage (9)
09 17            Usage (23)
09 18            Usage (24)
09 1E            Usage (30)
09 20            Usage (32)
09 2A            Usage (42)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 06            Report Count (6)
B1 22            Feature (0x22)
75 02            Report Size (2)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
(235 bytes)
0x06, 0xa0, 0xff, 0x09, 0x03, 0xa1, 0x01, 0x85, 0x03, 0x09,
0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81,
0x02, 0x85, 0x14, 0x09, 0xb1, 0x09, 0xb2, 0x09, 0xb5, 0x09,
0xb7, 0x09, 0xb3, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
0x05, 0x81, 0x06, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x85,
0x15, 0x09, 0x8c, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00,
0x75, 0x10, 0x95, 0x01, 0x81, 0x22, 0x85, 0x1f, 0x09, 0x9c,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x85, 0x03, 0x09, 0x30,
0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x91, 0x02,
0x85, 0x19, 0x09, 0x8d, 0x09, 0x8f, 0x09, 0x9e, 0x09, 0xdc,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x91, 0x22,
0x09, 0xd2, 0x09, 0xd9, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x91, 0x06, 0x75, 0x02, 0x95, 0x01, 0x91, 0x03,
0x85, 0x1a, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03,
0x85, 0x1b, 0x09, 0xcf, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x02, 0xb1, 0x22, 0x09, 0xde, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x23, 0x09, 0xd8,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x22,
0x75, 0x04, 0x95, 0x01, 0xb1, 0x03, 0x09, 0x09, 0x09, 0x17,
0x09, 0x18, 0x09, 0x1e, 0x09, 0x20, 0x09, 0x2a, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x06, 0xb1, 0x22, 0x75, 0x02,
0x95, 0x01, 0xb1, 0x03, 0xc0,

Full debug log for other devices as well.

click to expand for full log for other devices as well
C:\work\hid\hidapi_test2\windows\x64\Release [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> .\hidtest.exe
hidapi test/example tool. Compiled with hidapi version 0.11.0, runtime version 0.11.0.
Compile-time version matches runtime version of hidapi.

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col01#7&383a3a17&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 02            Report ID (2)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 10            Usage Maximum (16)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 10            Report Count (16)
81 02            Input (0x02)
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
16 01 F8         Logical Minimum (-2047)
26 FF 07         Logical Maximum (2047)
75 0C            Report Size (12)
95 02            Report Count (2)
81 06            Input (0x06)
09 38            Usage (56)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
05 0C            Usage Page (12)
0A 38 02         Usage (568)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(75 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01,
0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07,
0x75, 0x0c, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81,
0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0c,
0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95,
0x01, 0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col02#7&383a3a17&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 03            Report ID (3)
19 01            Usage Minimum (1)
2A 8C 02         Usage Maximum (652)
15 01            Logical Minimum (1)
26 8C 02         Logical Maximum (652)
75 10            Report Size (16)
95 02            Report Count (2)
81 00            Input (0x00)
C0               End Collection
(25 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x01,
0x2a, 0x8c, 0x02, 0x15, 0x01, 0x26, 0x8c, 0x02, 0x75, 0x10,
0x95, 0x02, 0x81, 0x00, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col03#7&383a3a17&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x80 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 80            Usage  (128)
A1 01            Collection (Application)
85 04            Report ID (4)
09 82            Usage (130)
15 01            Logical Minimum (1)
25 03            Logical Maximum (3)
75 02            Report Size (2)
95 01            Report Count (1)
81 60            Input (0x60)
Report Size (-2)
95 01            Report Count (1)
81 03            Input (0x03) Padding
09 81            Usage (129)
15 01            Logical Minimum (1)
25 03            Logical Maximum (3)
75 02            Report Size (2)
95 01            Report Count (1)
81 60            Input (0x60)
Report Size (-2)
95 01            Report Count (1)
81 03            Input (0x03) Padding
09 83            Usage (131)
15 01            Logical Minimum (1)
25 03            Logical Maximum (3)
75 02            Report Size (2)
95 01            Report Count (1)
81 60            Input (0x60)
75 06            Report Size (6)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(59 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x82,
0x15, 0x01, 0x25, 0x03, 0x75, 0x02, 0x95, 0x01, 0x81, 0x60,
0x95, 0x01, 0x81, 0x03, 0x09, 0x81, 0x15, 0x01, 0x25, 0x03,
0x75, 0x02, 0x95, 0x01, 0x81, 0x60, 0x95, 0x01, 0x81, 0x03,
0x09, 0x83, 0x15, 0x01, 0x25, 0x03, 0x75, 0x02, 0x95, 0x01,
0x81, 0x60, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col04#7&383a3a17&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xff00)
  Report Descriptor:
06 00 FF         Usage Page (65280)
09 01            Usage  (1)
A1 01            Collection (Application)
85 10            Report ID (16)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 06            Report Count (6)
91 00            Output (0x00)
C0               End Collection
(36 bytes)
0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x09,
0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06,
0x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75,
0x08, 0x95, 0x06, 0x91, 0x00, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col01#5&99b72d3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 01            Report ID (1)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
09 38            Usage (56)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 03            Report Count (3)
81 06            Input (0x06)
05 0C            Usage Page (12)
0A 38 02         Usage (568)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(69 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x01, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31,
0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03,
0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25,
0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 8087 0a1e
  path: \\?\hid#intc816&col01#3&36a7043c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xc (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 0C            Usage  (12)
A1 01            Collection (Application)
85 08            Report ID (8)
09 C6            Usage (198)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(27 bytes)
0x05, 0x01, 0x09, 0x0c, 0xa1, 0x01, 0x85, 0x08, 0x09, 0xc6,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 044e 1212
  path: \\?\hid#vid_044e&pid_1212&col01&col02#7&290aacae&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
85 07            Report ID (7)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)
95 01            Report Count (1)
81 03            Input (0x03) Padding
19 00            Usage Minimum (0)
29 75            Usage Maximum (117)
15 00            Logical Minimum (0)
25 FF            Logical Maximum (-1)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
C0               End Collection
(45 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x07, 0x05, 0x07,
0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03,
0x19, 0x00, 0x29, 0x75, 0x15, 0x00, 0x25, 0xff, 0x75, 0x08,
0x95, 0x06, 0x81, 0x00, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col05#7&383a3a17&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0xff00)
  Report Descriptor:
06 00 FF         Usage Page (65280)
09 02            Usage  (2)
A1 01            Collection (Application)
85 11            Report ID (17)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 13            Report Count (19)
81 00            Input (0x00)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 13            Report Count (19)
91 00            Output (0x00)
C0               End Collection
(36 bytes)
0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x09,
0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13,
0x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75,
0x08, 0x95, 0x13, 0x91, 0x00, 0xc0,

Device Found
  type: 8087 0a1e
  path: \\?\hid#intc816&col02#3&36a7043c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xd (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 0D            Usage  (13)
A1 01            Collection (Application)
09 0D            Usage  (13)
A1 02            Collection (Logical)
85 1C            Report ID (28)
09 81            Usage (129)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 02            Input (0x02)
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
09 CB            Usage (203)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 02            Feature (0x02)
75 07            Report Size (7)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
C0               End Collection
(50 bytes)
0x05, 0x01, 0x09, 0x0d, 0xa1, 0x01, 0x09, 0x0d, 0xa1, 0x02,
0x85, 0x1c, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03,
0x09, 0xcb, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01,
0xb1, 0x02, 0x75, 0x07, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0,

Device Found
  type: 044e 1212
  path: \\?\hid#vid_044e&pid_1212&col01&col01#7&290aacae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 06            Report ID (6)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
16 00 FE         Logical Minimum (-512)
26 00 02         Logical Maximum (512)
75 10            Report Size (16)
95 02            Report Count (2)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(54 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x06, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31,
0x16, 0x00, 0xfe, 0x26, 0x00, 0x02, 0x75, 0x10, 0x95, 0x02,
0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col02#5&99b72d3&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x5 (0xd)
  Report Descriptor:
05 0D            Usage Page (13)
09 05            Usage  (5)
A1 01            Collection (Application)
09 22            Usage  (34)
A1 02            Collection (Logical)
85 08            Report ID (8)
09 47            Usage (71)
09 42            Usage (66)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 02            Input (0x02)
09 51            Usage (81)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
75 03            Report Size (3)
95 01            Report Count (1)
81 02            Input (0x02)
75 03            Report Size (3)
95 01            Report Count (1)
81 03            Input (0x03) Padding
05 01            Usage Page (1)
09 30            Usage (48)
15 00            Logical Minimum (0)
26 AF 04         Logical Maximum (1199)
35 00            Physical Minimum (0)
46 E8 03         Physical Maximum (1000)
55 0E            Unit Exponent (14)
65 11            Unit (17)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
09 31            Usage (49)
15 00            Logical Minimum (0)
26 7B 02         Logical Maximum (635)
35 00            Physical Minimum (0)
46 12 02         Physical Maximum (530)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
C0               End Collection
05 0D            Usage Page (13)
09 56            Usage (86)
15 00            Logical Minimum (0)
27 FF FF 00 00   Logical Maximum (65535)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
09 54            Usage (84)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
75 08            Report Size (8)
95 01            Report Count (1)
81 02            Input (0x02)
05 09            Usage Page (9)
09 02            Usage (2)
09 03            Usage (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
45 00            Physical Maximum (0)
55 00            Unit Exponent (0)
65 00            Unit (0)
81 02            Input (0x02)
75 06            Report Size (6)
95 01            Report Count (1)
81 03            Input (0x03) Padding
85 09            Report ID (9)
05 0D            Usage Page (13)
09 55            Usage (85)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 01            Report Count (1)
B1 02            Feature (0x02)
85 0A            Report ID (10)
06 00 FF         Usage Page (65280)
09 C5            Usage (197)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
96 00 01         Report Count (256)
B1 02            Feature (0x02)
C0               End Collection
(204 bytes)
0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02,
0x85, 0x08, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00,
0x25, 0x05, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00,
0x26, 0xaf, 0x04, 0x35, 0x00, 0x46, 0xe8, 0x03, 0x55, 0x0e,
0x65, 0x11, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31,
0x15, 0x00, 0x26, 0x7b, 0x02, 0x35, 0x00, 0x46, 0x12, 0x02,
0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09,
0x56, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x35, 0x00,
0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10,
0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x54, 0x15, 0x00,
0x25, 0x05, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x05, 0x09,
0x09, 0x02, 0x09, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02,
0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x85, 0x09, 0x05, 0x0d,
0x09, 0x55, 0x15, 0x00, 0x25, 0x05, 0x35, 0x00, 0x47, 0xff,
0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08,
0x95, 0x01, 0xb1, 0x02, 0x85, 0x0a, 0x06, 0x00, 0xff, 0x09,
0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x96, 0x00,
0x01, 0xb1, 0x02, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 01            Report ID (1)
09 E9            Usage (233)
09 EA            Usage (234)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 06            Input (0x06)
75 06            Report Size (6)
95 01            Report Count (1)
81 03            Input (0x03) Padding
85 02            Report ID (2)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 10            Report Count (16)
81 02            Input (0x02)
85 05            Report ID (5)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 07            Report ID (7)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 04            Report ID (4)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 24            Report Count (36)
91 02            Output (0x02)
85 06            Report ID (6)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 24            Report Count (36)
91 02            Output (0x02)
C0               End Collection
(99 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xe9,
0x09, 0xea, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02,
0x81, 0x06, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x85, 0x02,
0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10,
0x81, 0x02, 0x85, 0x05, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01,
0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x07, 0x09, 0x00,
0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02,
0x85, 0x04, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08,
0x95, 0x24, 0x91, 0x02, 0x85, 0x06, 0x09, 0x00, 0x15, 0x00,
0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 02            Report ID (2)
09 E9            Usage (233)
09 EA            Usage (234)
0A 21 02         Usage (545)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(32 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x02, 0x09, 0xe9,
0x09, 0xea, 0x0a, 0x21, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75,
0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81,
0x03, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x5 (0xb)
  Report Descriptor:
05 0B            Usage Page (11)
09 05            Usage  (5)
A1 01            Collection (Application)
85 08            Report ID (8)
09 2F            Usage (47)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
09 20            Usage (32)
09 21            Usage (33)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 22            Input (0x22)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
85 09            Report ID (9)
05 08            Usage Page (8)
09 09            Usage (9)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
85 17            Report ID (23)
09 17            Usage (23)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
85 18            Report ID (24)
09 18            Usage (24)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
85 1E            Report ID (30)
09 1E            Usage (30)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
85 20            Report ID (32)
09 20            Usage (32)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
85 2A            Report ID (42)
09 2A            Usage (42)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
C0               End Collection
(163 bytes)
0x05, 0x0b, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x08, 0x09, 0x2f,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x81, 0x22, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03,
0x85, 0x09, 0x05, 0x08, 0x09, 0x09, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x1e, 0x09, 0x1e, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x2a, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x80 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 80            Usage  (128)
A1 01            Collection (Application)
85 03            Report ID (3)
09 81            Usage (129)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 02            Input (0x02)
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(27 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x81,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x3 (0xffa0)
  Report Descriptor:
06 A0 FF         Usage Page (65440)
09 03            Usage  (3)
A1 01            Collection (Application)
85 03            Report ID (3)
09 30            Usage (48)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 14            Report ID (20)
09 B1            Usage (177)
09 B2            Usage (178)
09 B5            Usage (181)
09 B7            Usage (183)
09 B3            Usage (179)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
81 06            Input (0x06)
75 03            Report Size (3)
95 01            Report Count (1)
81 03            Input (0x03) Padding
85 15            Report ID (21)
09 8C            Usage (140)
15 00            Logical Minimum (0)
27 FF FF 00 00   Logical Maximum (65535)
75 10            Report Size (16)
95 01            Report Count (1)
81 22            Input (0x22)
85 1F            Report ID (31)
09 9C            Usage (156)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
85 03            Report ID (3)
09 30            Usage (48)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
91 02            Output (0x02)
85 19            Report ID (25)
09 8D            Usage (141)
09 8F            Usage (143)
09 9E            Usage (158)
09 DC            Usage (220)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 04            Report Count (4)
91 22            Output (0x22)
09 D2            Usage (210)
09 D9            Usage (217)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
91 06            Output (0x06)
75 02            Report Size (2)
95 01            Report Count (1)
91 03            Output (0x03) Padding
85 1A            Report ID (26)
09 B5            Usage (181)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
85 1B            Report ID (27)
09 CF            Usage (207)
09 B5            Usage (181)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
B1 22            Feature (0x22)
09 DE            Usage (222)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 23            Feature (0x23)
09 D8            Usage (216)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 22            Feature (0x22)
75 04            Report Size (4)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
09 09            Usage (9)
09 17            Usage (23)
09 18            Usage (24)
09 1E            Usage (30)
09 20            Usage (32)
09 2A            Usage (42)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 06            Report Count (6)
B1 22            Feature (0x22)
75 02            Report Size (2)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
(235 bytes)
0x06, 0xa0, 0xff, 0x09, 0x03, 0xa1, 0x01, 0x85, 0x03, 0x09,
0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81,
0x02, 0x85, 0x14, 0x09, 0xb1, 0x09, 0xb2, 0x09, 0xb5, 0x09,
0xb7, 0x09, 0xb3, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
0x05, 0x81, 0x06, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x85,
0x15, 0x09, 0x8c, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00,
0x75, 0x10, 0x95, 0x01, 0x81, 0x22, 0x85, 0x1f, 0x09, 0x9c,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x85, 0x03, 0x09, 0x30,
0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x91, 0x02,
0x85, 0x19, 0x09, 0x8d, 0x09, 0x8f, 0x09, 0x9e, 0x09, 0xdc,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x91, 0x22,
0x09, 0xd2, 0x09, 0xd9, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x91, 0x06, 0x75, 0x02, 0x95, 0x01, 0x91, 0x03,
0x85, 0x1a, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03,
0x85, 0x1b, 0x09, 0xcf, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x02, 0xb1, 0x22, 0x09, 0xde, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x23, 0x09, 0xd8,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x22,
0x75, 0x04, 0x95, 0x01, 0xb1, 0x03, 0x09, 0x09, 0x09, 0x17,
0x09, 0x18, 0x09, 0x1e, 0x09, 0x20, 0x09, 0x2a, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x06, 0xb1, 0x22, 0x75, 0x02,
0x95, 0x01, 0xb1, 0x03, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col03#5&99b72d3&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x1 (0xff01)
  Report Descriptor:
06 01 FF         Usage Page (65281)
09 01            Usage  (1)
A1 01            Collection (Application)
85 03            Report ID (3)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 1B            Report Count (27)
81 02            Input (0x02)
85 04            Report ID (4)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 1B            Report Count (27)
81 02            Input (0x02)
85 06            Report ID (6)
09 04            Usage (4)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 07            Report Count (7)
81 02            Input (0x02)
85 05            Report ID (5)
09 03            Usage (3)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 07            Report Count (7)
B1 02            Feature (0x02)
C0               End Collection
(80 bytes)
0x06, 0x01, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x09,
0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff,
0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08,
0x95, 0x1b, 0x81, 0x02, 0x85, 0x04, 0x09, 0x02, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85,
0x06, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08,
0x95, 0x07, 0x81, 0x02, 0x85, 0x05, 0x09, 0x03, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0xb1, 0x02, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_00#7&1c54b96&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    0
  Usage (page): 0x6 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)
95 01            Report Count (1)
81 03            Input (0x03) Padding
19 00            Usage Minimum (0)
29 A4            Usage Maximum (164)
15 00            Logical Minimum (0)
26 A4 00         Logical Maximum (164)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
05 08            Usage Page (8)
19 01            Usage Minimum (1)
29 05            Usage Maximum (5)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
91 02            Output (0x02)
75 03            Report Size (3)
95 01            Report Count (1)
91 03            Output (0x03) Padding
C0               End Collection
(66 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0,
0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08,
0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00,
0x29, 0xa4, 0x15, 0x00, 0x26, 0xa4, 0x00, 0x75, 0x08, 0x95,
0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15,
0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75,
0x03, 0x95, 0x01, 0x91, 0x03, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col04#5&99b72d3&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x1 (0xff02)
  Report Descriptor:
06 02 FF         Usage Page (65282)
09 01            Usage  (1)
A1 01            Collection (Application)
85 07            Report ID (7)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 86            Report Count (134)
B1 02            Feature (0x02)
C0               End Collection
(35 bytes)
0x06, 0x02, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x09,
0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff,
0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08,
0x95, 0x86, 0xb1, 0x02, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col05#5&99b72d3&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0xe (0xd)
  Report Descriptor:
05 0D            Usage Page (13)
09 0E            Usage  (14)
A1 01            Collection (Application)
09 22            Usage  (34)
A1 02            Collection (Logical)
85 0B            Report ID (11)
09 52            Usage (82)
15 00            Logical Minimum (0)
25 0A            Logical Maximum (10)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 01            Report Count (1)
B1 02            Feature (0x02)
C0               End Collection
09 22            Usage  (34)
A1 00            Collection (Physical)
85 0C            Report ID (12)
09 57            Usage (87)
09 58            Usage (88)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
45 00            Physical Maximum (0)
55 00            Unit Exponent (0)
65 00            Unit (0)
B1 02            Feature (0x02)
75 06            Report Size (6)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
C0               End Collection
(71 bytes)
0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02,
0x85, 0x0b, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x35, 0x00,
0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10,
0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1,
0x00, 0x85, 0x0c, 0x09, 0x57, 0x09, 0x58, 0x15, 0x00, 0x25,
0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65,
0x00, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0xb1, 0x03, 0xc0,
0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col01#5&379854aa&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
85 01            Report ID (1)
05 07            Usage Page (7)
09 69            Usage (105)
09 6A            Usage (106)
09 6B            Usage (107)
09 6C            Usage (108)
09 E3            Usage (227)
09 4C            Usage (76)
09 E2            Usage (226)
09 E0            Usage (224)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
C0               End Collection
(37 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x01, 0x05, 0x07,
0x09, 0x69, 0x09, 0x6a, 0x09, 0x6b, 0x09, 0x6c, 0x09, 0xe3,
0x09, 0x4c, 0x09, 0xe2, 0x09, 0xe0, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0xc0,

unable to open device
Here is the output. You can probably ignore the \\?\hid#converteddevice entries. <details> <summary> click for the log for Plantronics Blackwire 3220 Series USB headset</summary> ``` type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 01 Report ID (1) 09 E9 Usage (233) 09 EA Usage (234) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 06 Input (0x06) 75 06 Report Size (6) 95 01 Report Count (1) 81 03 Input (0x03) Padding 85 02 Report ID (2) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 10 Report Count (16) 81 02 Input (0x02) 85 05 Report ID (5) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 07 Report ID (7) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 04 Report ID (4) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 24 Report Count (36) 91 02 Output (0x02) 85 06 Report ID (6) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 24 Report Count (36) 91 02 Output (0x02) C0 End Collection (99 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xe9, 0x09, 0xea, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x06, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x85, 0x02, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x85, 0x05, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x07, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x04, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x85, 0x06, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 02 Report ID (2) 09 E9 Usage (233) 09 EA Usage (234) 0A 21 02 Usage (545) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (32 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x02, 0x09, 0xe9, 0x09, 0xea, 0x0a, 0x21, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x5 (0xb) Report Descriptor: 05 0B Usage Page (11) 09 05 Usage (5) A1 01 Collection (Application) 85 08 Report ID (8) 09 2F Usage (47) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 09 20 Usage (32) 09 21 Usage (33) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 22 Input (0x22) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding 85 09 Report ID (9) 05 08 Usage Page (8) 09 09 Usage (9) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 85 17 Report ID (23) 09 17 Usage (23) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 85 18 Report ID (24) 09 18 Usage (24) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 85 1E Report ID (30) 09 1E Usage (30) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 85 20 Report ID (32) 09 20 Usage (32) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 85 2A Report ID (42) 09 2A Usage (42) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding C0 End Collection (163 bytes) 0x05, 0x0b, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x08, 0x09, 0x2f, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x22, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x85, 0x09, 0x05, 0x08, 0x09, 0x09, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x1e, 0x09, 0x1e, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x2a, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x80 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 80 Usage (128) A1 01 Collection (Application) 85 03 Report ID (3) 09 81 Usage (129) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 02 Input (0x02) 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (27 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x3 (0xffa0) Report Descriptor: 06 A0 FF Usage Page (65440) 09 03 Usage (3) A1 01 Collection (Application) 85 03 Report ID (3) 09 30 Usage (48) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 14 Report ID (20) 09 B1 Usage (177) 09 B2 Usage (178) 09 B5 Usage (181) 09 B7 Usage (183) 09 B3 Usage (179) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 81 06 Input (0x06) 75 03 Report Size (3) 95 01 Report Count (1) 81 03 Input (0x03) Padding 85 15 Report ID (21) 09 8C Usage (140) 15 00 Logical Minimum (0) 27 FF FF 00 00 Logical Maximum (65535) 75 10 Report Size (16) 95 01 Report Count (1) 81 22 Input (0x22) 85 1F Report ID (31) 09 9C Usage (156) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding 85 03 Report ID (3) 09 30 Usage (48) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 91 02 Output (0x02) 85 19 Report ID (25) 09 8D Usage (141) 09 8F Usage (143) 09 9E Usage (158) 09 DC Usage (220) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 04 Report Count (4) 91 22 Output (0x22) 09 D2 Usage (210) 09 D9 Usage (217) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 91 06 Output (0x06) 75 02 Report Size (2) 95 01 Report Count (1) 91 03 Output (0x03) Padding 85 1A Report ID (26) 09 B5 Usage (181) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 85 1B Report ID (27) 09 CF Usage (207) 09 B5 Usage (181) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) B1 22 Feature (0x22) 09 DE Usage (222) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 23 Feature (0x23) 09 D8 Usage (216) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 22 Feature (0x22) 75 04 Report Size (4) 95 01 Report Count (1) B1 03 Feature (0x03) Padding 09 09 Usage (9) 09 17 Usage (23) 09 18 Usage (24) 09 1E Usage (30) 09 20 Usage (32) 09 2A Usage (42) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 06 Report Count (6) B1 22 Feature (0x22) 75 02 Report Size (2) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection (235 bytes) 0x06, 0xa0, 0xff, 0x09, 0x03, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x14, 0x09, 0xb1, 0x09, 0xb2, 0x09, 0xb5, 0x09, 0xb7, 0x09, 0xb3, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x81, 0x06, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x85, 0x15, 0x09, 0x8c, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81, 0x22, 0x85, 0x1f, 0x09, 0x9c, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x91, 0x02, 0x85, 0x19, 0x09, 0x8d, 0x09, 0x8f, 0x09, 0x9e, 0x09, 0xdc, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x91, 0x22, 0x09, 0xd2, 0x09, 0xd9, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x91, 0x06, 0x75, 0x02, 0x95, 0x01, 0x91, 0x03, 0x85, 0x1a, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x1b, 0x09, 0xcf, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0xb1, 0x22, 0x09, 0xde, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x23, 0x09, 0xd8, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x22, 0x75, 0x04, 0x95, 0x01, 0xb1, 0x03, 0x09, 0x09, 0x09, 0x17, 0x09, 0x18, 0x09, 0x1e, 0x09, 0x20, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x06, 0xb1, 0x22, 0x75, 0x02, 0x95, 0x01, 0xb1, 0x03, 0xc0, ``` </details> Full debug log for other devices as well. <details> <summary> click to expand for full log for other devices as well </summary> ``` C:\work\hid\hidapi_test2\windows\x64\Release [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> .\hidtest.exe hidapi test/example tool. Compiled with hidapi version 0.11.0, runtime version 0.11.0. Compile-time version matches runtime version of hidapi. Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col01#7&383a3a17&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 02 Report ID (2) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 10 Usage Maximum (16) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 10 Report Count (16) 81 02 Input (0x02) 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 16 01 F8 Logical Minimum (-2047) 26 FF 07 Logical Maximum (2047) 75 0C Report Size (12) 95 02 Report Count (2) 81 06 Input (0x06) 09 38 Usage (56) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) 05 0C Usage Page (12) 0A 38 02 Usage (568) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) C0 End Collection C0 End Collection (75 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07, 0x75, 0x0c, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col02#7&383a3a17&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 03 Report ID (3) 19 01 Usage Minimum (1) 2A 8C 02 Usage Maximum (652) 15 01 Logical Minimum (1) 26 8C 02 Logical Maximum (652) 75 10 Report Size (16) 95 02 Report Count (2) 81 00 Input (0x00) C0 End Collection (25 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x01, 0x2a, 0x8c, 0x02, 0x15, 0x01, 0x26, 0x8c, 0x02, 0x75, 0x10, 0x95, 0x02, 0x81, 0x00, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col03#7&383a3a17&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x80 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 80 Usage (128) A1 01 Collection (Application) 85 04 Report ID (4) 09 82 Usage (130) 15 01 Logical Minimum (1) 25 03 Logical Maximum (3) 75 02 Report Size (2) 95 01 Report Count (1) 81 60 Input (0x60) Report Size (-2) 95 01 Report Count (1) 81 03 Input (0x03) Padding 09 81 Usage (129) 15 01 Logical Minimum (1) 25 03 Logical Maximum (3) 75 02 Report Size (2) 95 01 Report Count (1) 81 60 Input (0x60) Report Size (-2) 95 01 Report Count (1) 81 03 Input (0x03) Padding 09 83 Usage (131) 15 01 Logical Minimum (1) 25 03 Logical Maximum (3) 75 02 Report Size (2) 95 01 Report Count (1) 81 60 Input (0x60) 75 06 Report Size (6) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (59 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x82, 0x15, 0x01, 0x25, 0x03, 0x75, 0x02, 0x95, 0x01, 0x81, 0x60, 0x95, 0x01, 0x81, 0x03, 0x09, 0x81, 0x15, 0x01, 0x25, 0x03, 0x75, 0x02, 0x95, 0x01, 0x81, 0x60, 0x95, 0x01, 0x81, 0x03, 0x09, 0x83, 0x15, 0x01, 0x25, 0x03, 0x75, 0x02, 0x95, 0x01, 0x81, 0x60, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col04#7&383a3a17&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xff00) Report Descriptor: 06 00 FF Usage Page (65280) 09 01 Usage (1) A1 01 Collection (Application) 85 10 Report ID (16) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 06 Report Count (6) 91 00 Output (0x00) C0 End Collection (36 bytes) 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x91, 0x00, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col01#5&99b72d3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 01 Report ID (1) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 09 38 Usage (56) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 03 Report Count (3) 81 06 Input (0x06) 05 0C Usage Page (12) 0A 38 02 Usage (568) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) C0 End Collection C0 End Collection (69 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x01, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 8087 0a1e path: \\?\hid#intc816&col01#3&36a7043c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 200 Interface: -1 Usage (page): 0xc (0x1) Report Descriptor: 05 01 Usage Page (1) 09 0C Usage (12) A1 01 Collection (Application) 85 08 Report ID (8) 09 C6 Usage (198) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (27 bytes) 0x05, 0x01, 0x09, 0x0c, 0xa1, 0x01, 0x85, 0x08, 0x09, 0xc6, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 044e 1212 path: \\?\hid#vid_044e&pid_1212&col01&col02#7&290aacae&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 85 07 Report ID (7) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) 95 01 Report Count (1) 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 75 Usage Maximum (117) 15 00 Logical Minimum (0) 25 FF Logical Maximum (-1) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) C0 End Collection (45 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x07, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0x75, 0x15, 0x00, 0x25, 0xff, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col05#7&383a3a17&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0xff00) Report Descriptor: 06 00 FF Usage Page (65280) 09 02 Usage (2) A1 01 Collection (Application) 85 11 Report ID (17) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 13 Report Count (19) 81 00 Input (0x00) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 13 Report Count (19) 91 00 Output (0x00) C0 End Collection (36 bytes) 0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13, 0x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13, 0x91, 0x00, 0xc0, Device Found type: 8087 0a1e path: \\?\hid#intc816&col02#3&36a7043c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 200 Interface: -1 Usage (page): 0xd (0x1) Report Descriptor: 05 01 Usage Page (1) 09 0D Usage (13) A1 01 Collection (Application) 09 0D Usage (13) A1 02 Collection (Logical) 85 1C Report ID (28) 09 81 Usage (129) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 02 Input (0x02) 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding 09 CB Usage (203) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 02 Feature (0x02) 75 07 Report Size (7) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection C0 End Collection (50 bytes) 0x05, 0x01, 0x09, 0x0d, 0xa1, 0x01, 0x09, 0x0d, 0xa1, 0x02, 0x85, 0x1c, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x09, 0xcb, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x02, 0x75, 0x07, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, Device Found type: 044e 1212 path: \\?\hid#vid_044e&pid_1212&col01&col01#7&290aacae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 06 Report ID (6) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 16 00 FE Logical Minimum (-512) 26 00 02 Logical Maximum (512) 75 10 Report Size (16) 95 02 Report Count (2) 81 06 Input (0x06) C0 End Collection C0 End Collection (54 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x06, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x00, 0xfe, 0x26, 0x00, 0x02, 0x75, 0x10, 0x95, 0x02, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col02#5&99b72d3&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x5 (0xd) Report Descriptor: 05 0D Usage Page (13) 09 05 Usage (5) A1 01 Collection (Application) 09 22 Usage (34) A1 02 Collection (Logical) 85 08 Report ID (8) 09 47 Usage (71) 09 42 Usage (66) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 02 Input (0x02) 09 51 Usage (81) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 75 03 Report Size (3) 95 01 Report Count (1) 81 02 Input (0x02) 75 03 Report Size (3) 95 01 Report Count (1) 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 15 00 Logical Minimum (0) 26 AF 04 Logical Maximum (1199) 35 00 Physical Minimum (0) 46 E8 03 Physical Maximum (1000) 55 0E Unit Exponent (14) 65 11 Unit (17) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) 09 31 Usage (49) 15 00 Logical Minimum (0) 26 7B 02 Logical Maximum (635) 35 00 Physical Minimum (0) 46 12 02 Physical Maximum (530) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) C0 End Collection 05 0D Usage Page (13) 09 56 Usage (86) 15 00 Logical Minimum (0) 27 FF FF 00 00 Logical Maximum (65535) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) 09 54 Usage (84) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 75 08 Report Size (8) 95 01 Report Count (1) 81 02 Input (0x02) 05 09 Usage Page (9) 09 02 Usage (2) 09 03 Usage (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 45 00 Physical Maximum (0) 55 00 Unit Exponent (0) 65 00 Unit (0) 81 02 Input (0x02) 75 06 Report Size (6) 95 01 Report Count (1) 81 03 Input (0x03) Padding 85 09 Report ID (9) 05 0D Usage Page (13) 09 55 Usage (85) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 01 Report Count (1) B1 02 Feature (0x02) 85 0A Report ID (10) 06 00 FF Usage Page (65280) 09 C5 Usage (197) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 96 00 01 Report Count (256) B1 02 Feature (0x02) C0 End Collection (204 bytes) 0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02, 0x85, 0x08, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00, 0x25, 0x05, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00, 0x26, 0xaf, 0x04, 0x35, 0x00, 0x46, 0xe8, 0x03, 0x55, 0x0e, 0x65, 0x11, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31, 0x15, 0x00, 0x26, 0x7b, 0x02, 0x35, 0x00, 0x46, 0x12, 0x02, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x56, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x54, 0x15, 0x00, 0x25, 0x05, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x05, 0x09, 0x09, 0x02, 0x09, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x85, 0x09, 0x05, 0x0d, 0x09, 0x55, 0x15, 0x00, 0x25, 0x05, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0x85, 0x0a, 0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 01 Report ID (1) 09 E9 Usage (233) 09 EA Usage (234) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 06 Input (0x06) 75 06 Report Size (6) 95 01 Report Count (1) 81 03 Input (0x03) Padding 85 02 Report ID (2) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 10 Report Count (16) 81 02 Input (0x02) 85 05 Report ID (5) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 07 Report ID (7) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 04 Report ID (4) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 24 Report Count (36) 91 02 Output (0x02) 85 06 Report ID (6) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 24 Report Count (36) 91 02 Output (0x02) C0 End Collection (99 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xe9, 0x09, 0xea, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x06, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x85, 0x02, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x85, 0x05, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x07, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x04, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x85, 0x06, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 02 Report ID (2) 09 E9 Usage (233) 09 EA Usage (234) 0A 21 02 Usage (545) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (32 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x02, 0x09, 0xe9, 0x09, 0xea, 0x0a, 0x21, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x5 (0xb) Report Descriptor: 05 0B Usage Page (11) 09 05 Usage (5) A1 01 Collection (Application) 85 08 Report ID (8) 09 2F Usage (47) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 09 20 Usage (32) 09 21 Usage (33) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 22 Input (0x22) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding 85 09 Report ID (9) 05 08 Usage Page (8) 09 09 Usage (9) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 85 17 Report ID (23) 09 17 Usage (23) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 85 18 Report ID (24) 09 18 Usage (24) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 85 1E Report ID (30) 09 1E Usage (30) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 85 20 Report ID (32) 09 20 Usage (32) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 85 2A Report ID (42) 09 2A Usage (42) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding C0 End Collection (163 bytes) 0x05, 0x0b, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x08, 0x09, 0x2f, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x22, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x85, 0x09, 0x05, 0x08, 0x09, 0x09, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x1e, 0x09, 0x1e, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x2a, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x80 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 80 Usage (128) A1 01 Collection (Application) 85 03 Report ID (3) 09 81 Usage (129) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 02 Input (0x02) 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (27 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x3 (0xffa0) Report Descriptor: 06 A0 FF Usage Page (65440) 09 03 Usage (3) A1 01 Collection (Application) 85 03 Report ID (3) 09 30 Usage (48) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 14 Report ID (20) 09 B1 Usage (177) 09 B2 Usage (178) 09 B5 Usage (181) 09 B7 Usage (183) 09 B3 Usage (179) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 81 06 Input (0x06) 75 03 Report Size (3) 95 01 Report Count (1) 81 03 Input (0x03) Padding 85 15 Report ID (21) 09 8C Usage (140) 15 00 Logical Minimum (0) 27 FF FF 00 00 Logical Maximum (65535) 75 10 Report Size (16) 95 01 Report Count (1) 81 22 Input (0x22) 85 1F Report ID (31) 09 9C Usage (156) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding 85 03 Report ID (3) 09 30 Usage (48) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 91 02 Output (0x02) 85 19 Report ID (25) 09 8D Usage (141) 09 8F Usage (143) 09 9E Usage (158) 09 DC Usage (220) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 04 Report Count (4) 91 22 Output (0x22) 09 D2 Usage (210) 09 D9 Usage (217) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 91 06 Output (0x06) 75 02 Report Size (2) 95 01 Report Count (1) 91 03 Output (0x03) Padding 85 1A Report ID (26) 09 B5 Usage (181) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 85 1B Report ID (27) 09 CF Usage (207) 09 B5 Usage (181) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) B1 22 Feature (0x22) 09 DE Usage (222) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 23 Feature (0x23) 09 D8 Usage (216) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 22 Feature (0x22) 75 04 Report Size (4) 95 01 Report Count (1) B1 03 Feature (0x03) Padding 09 09 Usage (9) 09 17 Usage (23) 09 18 Usage (24) 09 1E Usage (30) 09 20 Usage (32) 09 2A Usage (42) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 06 Report Count (6) B1 22 Feature (0x22) 75 02 Report Size (2) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection (235 bytes) 0x06, 0xa0, 0xff, 0x09, 0x03, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x14, 0x09, 0xb1, 0x09, 0xb2, 0x09, 0xb5, 0x09, 0xb7, 0x09, 0xb3, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x81, 0x06, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x85, 0x15, 0x09, 0x8c, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81, 0x22, 0x85, 0x1f, 0x09, 0x9c, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x91, 0x02, 0x85, 0x19, 0x09, 0x8d, 0x09, 0x8f, 0x09, 0x9e, 0x09, 0xdc, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x91, 0x22, 0x09, 0xd2, 0x09, 0xd9, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x91, 0x06, 0x75, 0x02, 0x95, 0x01, 0x91, 0x03, 0x85, 0x1a, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x1b, 0x09, 0xcf, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0xb1, 0x22, 0x09, 0xde, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x23, 0x09, 0xd8, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x22, 0x75, 0x04, 0x95, 0x01, 0xb1, 0x03, 0x09, 0x09, 0x09, 0x17, 0x09, 0x18, 0x09, 0x1e, 0x09, 0x20, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x06, 0xb1, 0x22, 0x75, 0x02, 0x95, 0x01, 0xb1, 0x03, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col03#5&99b72d3&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x1 (0xff01) Report Descriptor: 06 01 FF Usage Page (65281) 09 01 Usage (1) A1 01 Collection (Application) 85 03 Report ID (3) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 1B Report Count (27) 81 02 Input (0x02) 85 04 Report ID (4) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 1B Report Count (27) 81 02 Input (0x02) 85 06 Report ID (6) 09 04 Usage (4) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 07 Report Count (7) 81 02 Input (0x02) 85 05 Report ID (5) 09 03 Usage (3) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 07 Report Count (7) B1 02 Feature (0x02) C0 End Collection (80 bytes) 0x06, 0x01, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85, 0x04, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85, 0x06, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0x81, 0x02, 0x85, 0x05, 0x09, 0x03, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0xb1, 0x02, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_00#7&1c54b96&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 0 Usage (page): 0x6 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) 95 01 Report Count (1) 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 A4 Usage Maximum (164) 15 00 Logical Minimum (0) 26 A4 00 Logical Maximum (164) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 05 08 Usage Page (8) 19 01 Usage Minimum (1) 29 05 Usage Maximum (5) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 91 02 Output (0x02) 75 03 Report Size (3) 95 01 Report Count (1) 91 03 Output (0x03) Padding C0 End Collection (66 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0xa4, 0x15, 0x00, 0x26, 0xa4, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75, 0x03, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col04#5&99b72d3&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x1 (0xff02) Report Descriptor: 06 02 FF Usage Page (65282) 09 01 Usage (1) A1 01 Collection (Application) 85 07 Report ID (7) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 86 Report Count (134) B1 02 Feature (0x02) C0 End Collection (35 bytes) 0x06, 0x02, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x86, 0xb1, 0x02, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col05#5&99b72d3&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0xe (0xd) Report Descriptor: 05 0D Usage Page (13) 09 0E Usage (14) A1 01 Collection (Application) 09 22 Usage (34) A1 02 Collection (Logical) 85 0B Report ID (11) 09 52 Usage (82) 15 00 Logical Minimum (0) 25 0A Logical Maximum (10) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 01 Report Count (1) B1 02 Feature (0x02) C0 End Collection 09 22 Usage (34) A1 00 Collection (Physical) 85 0C Report ID (12) 09 57 Usage (87) 09 58 Usage (88) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 45 00 Physical Maximum (0) 55 00 Unit Exponent (0) 65 00 Unit (0) B1 02 Feature (0x02) 75 06 Report Size (6) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection C0 End Collection (71 bytes) 0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02, 0x85, 0x0b, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1, 0x00, 0x85, 0x0c, 0x09, 0x57, 0x09, 0x58, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col01#5&379854aa&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 85 01 Report ID (1) 05 07 Usage Page (7) 09 69 Usage (105) 09 6A Usage (106) 09 6B Usage (107) 09 6C Usage (108) 09 E3 Usage (227) 09 4C Usage (76) 09 E2 Usage (226) 09 E0 Usage (224) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) C0 End Collection (37 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x01, 0x05, 0x07, 0x09, 0x69, 0x09, 0x6a, 0x09, 0x6b, 0x09, 0x6c, 0x09, 0xe3, 0x09, 0x4c, 0x09, 0xe2, 0x09, 0xe0, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0xc0, unable to open device ``` </details>
JoergAtGithub commented 2021-07-25 08:21:08 -05:00 (Migrated from github.com)

The padding for the Plantronics headset is now at the correct position, but something is still wrong (Negative Report Size for the padding and multiple padding entries, where should be only one). Could you please provide me the original Report Descriptor of this devices:

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col03#7&383a3a17&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x80 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 80            Usage  (128)
A1 01            Collection (Application)
85 04            **Report ID (4)**
09 83            Usage (131)
09 81            Usage (129)
09 82            Usage (130)
15 01            Logical Minimum (1)
25 03            Logical Maximum (3)
75 02            Report Size (2)
95 03            Report Count (3)
81 60            Input (0x60)
Report Size (-2)
95 01            Report Count (1)
81 03            Input (0x03) Padding
...
The padding for the Plantronics headset is now at the correct position, but something is still wrong (Negative Report Size for the padding and multiple padding entries, where should be only one). Could you please provide me the original Report Descriptor of this devices: ``` Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col03#7&383a3a17&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x80 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 80 Usage (128) A1 01 Collection (Application) 85 04 **Report ID (4)** 09 83 Usage (131) 09 81 Usage (129) 09 82 Usage (130) 15 01 Logical Minimum (1) 25 03 Logical Maximum (3) 75 02 Report Size (2) 95 03 Report Count (3) 81 60 Input (0x60) Report Size (-2) 95 01 Report Count (1) 81 03 Input (0x03) Padding ... ```
mcuee commented 2021-07-25 08:24:02 -05:00 (Migrated from github.com)

Could you please provide me the original Report Descriptor of this devices?

Device Found
type: 046d c534
path: ?\hid#vid_046d&pid_c534&mi_01&col03#7&383a3a17&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
serial_number:
Manufacturer: Logitech
Product: USB Receiver
Release: 2901

Please refer to the macOS US Prober output in the previous comment.
https://github.com/libusb/hidapi/pull/306#issuecomment-882251672

Usage Page    (Generic Desktop) 
                          Usage (System Control)    
                              Collection (Application)    
                                ReportID................    (4)  
                                Report Size.............    (2)  
                                Report Count............    (1)  
                                Logical Minimum.........    (1)  
                                Logical Maximum.........    (3)  
                                Usage (System Sleep)    
                                Usage (System Power Down)    
                                Usage (System Wakeup)    
                                Input...................   (Data, Array, Absolute) 
                                Report Size.............    (6)  
                                Input...................   (Constant, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) 
                              End Collection     ```
Could you please provide me the original Report Descriptor of this devices? > Device Found > type: 046d c534 > path: \?\hid#vid_046d&pid_c534&mi_01&col03#7&383a3a17&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} > serial_number: > Manufacturer: Logitech > Product: USB Receiver > Release: 2901 Please refer to the macOS US Prober output in the previous comment. https://github.com/libusb/hidapi/pull/306#issuecomment-882251672 ``` Usage Page (Generic Desktop) Usage (System Control) Collection (Application) ReportID................ (4) Report Size............. (2) Report Count............ (1) Logical Minimum......... (1) Logical Maximum......... (3) Usage (System Sleep) Usage (System Power Down) Usage (System Wakeup) Input................... (Data, Array, Absolute) Report Size............. (6) Input................... (Constant, Variable, Absolute, No Wrap, Linear, Preferred State, No Null Position, Bitfield) End Collection ```
JoergAtGithub commented 2021-07-25 09:00:51 -05:00 (Migrated from github.com)

The issue seems to be that a field of 2 bits has 3 Usages assigned, but not in ascending order. Therefore the UsageMin-UsageMax range structure of the WIN32 API isn't fitting here:
0x85, 0x04, // Report ID (4)
0x75, 0x02, // Report Size (2)
0x95, 0x01, // Report Count (1)
0x15, 0x01, // Logical Minimum (1)
0x25, 0x03, // Logical Maximum (3)
0x09, 0x82, // Usage (Sys Sleep)
0x09, 0x81, // Usage (Sys Power Down)
0x09, 0x83, // Usage (Sys Wake Up)
I added some debug outputs to the code, to understand the preparsed data for this device. Could you please run it for this again.

The issue seems to be that a field of 2 bits has 3 Usages assigned, but not in ascending order. Therefore the UsageMin-UsageMax range structure of the WIN32 API isn't fitting here: 0x85, 0x04, // Report ID (4) 0x75, 0x02, // Report Size (2) 0x95, 0x01, // Report Count (1) 0x15, 0x01, // Logical Minimum (1) 0x25, 0x03, // Logical Maximum (3) 0x09, **0x82**, // Usage (Sys Sleep) 0x09, **0x81**, // Usage (Sys Power Down) 0x09, **0x83**, // Usage (Sys Wake Up) I added some debug outputs to the code, to understand the preparsed data for this device. Could you please run it for this again.
JoergAtGithub commented 2021-07-25 10:25:06 -05:00 (Migrated from github.com)

The debug output was helpful. I commited a patch, which hopefully fixes the issue with this device.
Debug output is not removed yet.

The debug output was helpful. I commited a patch, which hopefully fixes the issue with this device. Debug output is not removed yet.
mcuee commented 2021-07-25 21:27:45 -05:00 (Migrated from github.com)

Full debug log with the latest git with quite some devices attached, including the Logitech USB Receiver, Dell USB Mouse, Dell USB Keyboard and the Plantronics USB headset.

Click to expand for the full debug log
C:\work\hid\hidapi_test1\windows\x64\Release [windows_report_descriptor_reconstructor ≡]> .\hidtest.exe
hidapi test/example tool. Compiled with hidapi version 0.11.0, runtime version 0.11.0.
Compile-time version matches runtime version of hidapi.

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col01#7&383a3a17&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 02            Report ID (2)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 10            Usage Maximum (16)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 10            Report Count (16)
81 02            Input (0x02)
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
16 01 F8         Logical Minimum (-2047)
26 FF 07         Logical Maximum (2047)
75 0C            Report Size (12)
95 02            Report Count (2)
81 06            Input (0x06)
09 38            Usage (56)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
05 0C            Usage Page (12)
0A 38 02         Usage (568)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(75 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01,
0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07,
0x75, 0x0c, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81,
0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0c,
0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95,
0x01, 0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col02#7&383a3a17&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xc)
  Report Descriptor: HIDP_STATUS_BUFFER_TOO_SMALL
HIDP_STATUS_BUFFER_TOO_SMALL

05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 03            Report ID (3)
19 01            Usage Minimum (1)
2A 8C 02         Usage Maximum (652)
15 01            Logical Minimum (1)
26 8C 02         Logical Maximum (652)
75 10            Report Size (16)
95 02            Report Count (2)
81 00            Input (0x00)
C0               End Collection
(25 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x01,
0x2a, 0x8c, 0x02, 0x15, 0x01, 0x26, 0x8c, 0x02, 0x75, 0x10,
0x95, 0x02, 0x81, 0x00, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col03#7&383a3a17&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x80 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 80            Usage  (128)
A1 01            Collection (Application)
85 04            Report ID (4)
09 83            Usage (131)
09 81            Usage (129)
09 82            Usage (130)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 60            Input (0x60)
C0               End Collection
(25 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x83,
0x09, 0x81, 0x09, 0x82, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x03, 0x81, 0x60, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col04#7&383a3a17&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xff00)
  Report Descriptor:
06 00 FF         Usage Page (65280)
09 01            Usage  (1)
A1 01            Collection (Application)
85 10            Report ID (16)
09 01            Usage (1)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 00            Input (0x00)
09 01            Usage (1)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 00            Output (0x00)
C0               End Collection
(34 bytes)
0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x09,
0x01, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81,
0x00, 0x09, 0x01, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
0x01, 0x91, 0x00, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col01#5&99b72d3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 01            Report ID (1)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
09 38            Usage (56)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 03            Report Count (3)
81 06            Input (0x06)
05 0C            Usage Page (12)
0A 38 02         Usage (568)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(69 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x01, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31,
0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03,
0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25,
0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 8087 0a1e
  path: \\?\hid#intc816&col01#3&36a7043c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xc (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 0C            Usage  (12)
A1 01            Collection (Application)
85 08            Report ID (8)
09 C6            Usage (198)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(27 bytes)
0x05, 0x01, 0x09, 0x0c, 0xa1, 0x01, 0x85, 0x08, 0x09, 0xc6,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 044e 1212
  path: \\?\hid#vid_044e&pid_1212&col01&col02#7&290aacae&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor: HIDP_STATUS_BUFFER_TOO_SMALL
HIDP_STATUS_BUFFER_TOO_SMALL

05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
85 07            Report ID (7)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)
95 01            Report Count (1)
81 03            Input (0x03) Padding
19 00            Usage Minimum (0)
29 75            Usage Maximum (117)
15 00            Logical Minimum (0)
25 75            Logical Maximum (117)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
C0               End Collection
(45 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x07, 0x05, 0x07,
0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03,
0x19, 0x00, 0x29, 0x75, 0x15, 0x00, 0x25, 0x75, 0x75, 0x08,
0x95, 0x06, 0x81, 0x00, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col05#7&383a3a17&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0xff00)
  Report Descriptor:
06 00 FF         Usage Page (65280)
09 02            Usage  (2)
A1 01            Collection (Application)
85 11            Report ID (17)
09 02            Usage (2)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 00            Input (0x00)
09 02            Usage (2)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 00            Output (0x00)
C0               End Collection
(34 bytes)
0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x09,
0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81,
0x00, 0x09, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
0x01, 0x91, 0x00, 0xc0,

Device Found
  type: 8087 0a1e
  path: \\?\hid#intc816&col02#3&36a7043c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xd (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 0D            Usage  (13)
A1 01            Collection (Application)
09 0D            Usage  (13)
A1 02            Collection (Logical)
85 1C            Report ID (28)
09 81            Usage (129)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 02            Input (0x02)
09 CB            Usage (203)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 02            Feature (0x02)
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
C0               End Collection
(50 bytes)
0x05, 0x01, 0x09, 0x0d, 0xa1, 0x01, 0x09, 0x0d, 0xa1, 0x02,
0x85, 0x1c, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0x81, 0x02, 0x09, 0xcb, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0xb1, 0x02, 0x75, 0x07, 0x95, 0x01,
0x81, 0x03, 0x75, 0x07, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0,

Device Found
  type: 044e 1212
  path: \\?\hid#vid_044e&pid_1212&col01&col01#7&290aacae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 06            Report ID (6)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
16 00 FE         Logical Minimum (-512)
26 00 02         Logical Maximum (512)
75 10            Report Size (16)
95 02            Report Count (2)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(54 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x06, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31,
0x16, 0x00, 0xfe, 0x26, 0x00, 0x02, 0x75, 0x10, 0x95, 0x02,
0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col02#5&99b72d3&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x5 (0xd)
  Report Descriptor:
05 0D            Usage Page (13)
09 05            Usage  (5)
A1 01            Collection (Application)
09 22            Usage  (34)
A1 02            Collection (Logical)
85 08            Report ID (8)
09 47            Usage (71)
09 42            Usage (66)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 02            Input (0x02)
09 51            Usage (81)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
75 03            Report Size (3)
95 01            Report Count (1)
81 02            Input (0x02)
75 03            Report Size (3)
95 01            Report Count (1)
81 03            Input (0x03) Padding
05 01            Usage Page (1)
09 30            Usage (48)
15 00            Logical Minimum (0)
26 AF 04         Logical Maximum (1199)
35 00            Physical Minimum (0)
46 E8 03         Physical Maximum (1000)
55 0E            Unit Exponent (14)
65 11            Unit (17)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
09 31            Usage (49)
15 00            Logical Minimum (0)
26 7B 02         Logical Maximum (635)
35 00            Physical Minimum (0)
46 12 02         Physical Maximum (530)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
C0               End Collection
05 0D            Usage Page (13)
09 56            Usage (86)
15 00            Logical Minimum (0)
27 FF FF 00 00   Logical Maximum (65535)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
09 54            Usage (84)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
75 08            Report Size (8)
95 01            Report Count (1)
81 02            Input (0x02)
05 09            Usage Page (9)
09 02            Usage (2)
09 03            Usage (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
45 00            Physical Maximum (0)
55 00            Unit Exponent (0)
65 00            Unit (0)
81 02            Input (0x02)
85 09            Report ID (9)
05 0D            Usage Page (13)
09 55            Usage (85)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 01            Report Count (1)
B1 02            Feature (0x02)
85 0A            Report ID (10)
06 00 FF         Usage Page (65280)
09 C5            Usage (197)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
96 00 01         Report Count (256)
B1 02            Feature (0x02)
75 06            Report Size (6)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(204 bytes)
0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02,
0x85, 0x08, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00,
0x25, 0x05, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00,
0x26, 0xaf, 0x04, 0x35, 0x00, 0x46, 0xe8, 0x03, 0x55, 0x0e,
0x65, 0x11, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31,
0x15, 0x00, 0x26, 0x7b, 0x02, 0x35, 0x00, 0x46, 0x12, 0x02,
0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09,
0x56, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x35, 0x00,
0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10,
0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x54, 0x15, 0x00,
0x25, 0x05, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x05, 0x09,
0x09, 0x02, 0x09, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02,
0x85, 0x09, 0x05, 0x0d, 0x09, 0x55, 0x15, 0x00, 0x25, 0x05,
0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66,
0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0x85, 0x0a,
0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00,
0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0x75, 0x06, 0x95,
0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 413c b06e
  path: \\?\hid#vid_413c&pid_b06e#c&37ff1248&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      101
  Interface:    -1
  Usage (page): 0xda (0xffda)
  Report Descriptor:
06 DA FF         Usage Page (65498)
09 DA            Usage  (218)
A1 01            Collection (Application)
09 DA            Usage (218)
19 01            Usage Minimum (1)
29 0E            Usage Maximum (14)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 0F            Report Count (15)
81 02            Input (0x02)
05 DA            Usage Page (218)
19 01            Usage Minimum (1)
29 05            Usage Maximum (5)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 05            Report Count (5)
91 02            Output (0x02)
C0               End Collection
(40 bytes)
0x06, 0xda, 0xff, 0x09, 0xda, 0xa1, 0x01, 0x09, 0xda, 0x19,
0x01, 0x29, 0x0e, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95,
0x0f, 0x81, 0x02, 0x05, 0xda, 0x19, 0x01, 0x29, 0x05, 0x15,
0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x05, 0x91, 0x02, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 01            Report ID (1)
09 E9            Usage (233)
09 EA            Usage (234)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 06            Input (0x06)
85 02            Report ID (2)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 02            Input (0x02)
85 05            Report ID (5)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 07            Report ID (7)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 04            Report ID (4)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 24            Report Count (36)
91 02            Output (0x02)
85 06            Report ID (6)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 24            Report Count (36)
91 02            Output (0x02)
75 06            Report Size (6)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(99 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xe9,
0x09, 0xea, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02,
0x81, 0x06, 0x85, 0x02, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x85, 0x05, 0x09, 0x00,
0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02,
0x85, 0x07, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08,
0x95, 0x20, 0x81, 0x02, 0x85, 0x04, 0x09, 0x00, 0x15, 0x00,
0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x85, 0x06,
0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24,
0x91, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 02            Report ID (2)
09 E9            Usage (233)
09 EA            Usage (234)
0A 21 02         Usage (545)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(32 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x02, 0x09, 0xe9,
0x09, 0xea, 0x0a, 0x21, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75,
0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81,
0x03, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x5 (0xb)
  Report Descriptor:
05 0B            Usage Page (11)
09 05            Usage  (5)
A1 01            Collection (Application)
85 08            Report ID (8)
09 2F            Usage (47)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
09 20            Usage (32)
09 21            Usage (33)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 22            Input (0x22)
85 09            Report ID (9)
05 08            Usage Page (8)
09 09            Usage (9)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 17            Report ID (23)
09 17            Usage (23)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 18            Report ID (24)
09 18            Usage (24)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 1E            Report ID (30)
09 1E            Usage (30)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 20            Report ID (32)
09 20            Usage (32)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 2A            Report ID (42)
09 2A            Usage (42)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
C0               End Collection
(163 bytes)
0x05, 0x0b, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x08, 0x09, 0x2f,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x81, 0x22, 0x85, 0x09, 0x05, 0x08, 0x09, 0x09,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22,
0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0x91, 0x22, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x1e,
0x09, 0x1e, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01,
0x91, 0x22, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x2a, 0x09, 0x2a,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22,
0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07,
0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03,
0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x80 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 80            Usage  (128)
A1 01            Collection (Application)
85 03            Report ID (3)
09 81            Usage (129)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 02            Input (0x02)
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(27 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x81,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x3 (0xffa0)
  Report Descriptor:
06 A0 FF         Usage Page (65440)
09 03            Usage  (3)
A1 01            Collection (Application)
85 14            Report ID (20)
09 B1            Usage (177)
09 B2            Usage (178)
09 B5            Usage (181)
09 B7            Usage (183)
09 B3            Usage (179)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
81 06            Input (0x06)
85 1F            Report ID (31)
09 9C            Usage (156)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
85 03            Report ID (3)
09 30            Usage (48)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 15            Report ID (21)
09 8C            Usage (140)
15 00            Logical Minimum (0)
27 FF FF 00 00   Logical Maximum (65535)
75 10            Report Size (16)
95 01            Report Count (1)
81 22            Input (0x22)
85 19            Report ID (25)
09 8D            Usage (141)
09 8F            Usage (143)
09 9E            Usage (158)
09 DC            Usage (220)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 04            Report Count (4)
91 22            Output (0x22)
09 D2            Usage (210)
09 D9            Usage (217)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
91 06            Output (0x06)
85 1A            Report ID (26)
09 B5            Usage (181)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 03            Report ID (3)
09 30            Usage (48)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
91 02            Output (0x02)
85 1B            Report ID (27)
09 CF            Usage (207)
09 B5            Usage (181)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
B1 22            Feature (0x22)
09 DE            Usage (222)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 23            Feature (0x23)
09 D8            Usage (216)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 22            Feature (0x22)
75 04            Report Size (4)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
09 09            Usage (9)
09 17            Usage (23)
09 18            Usage (24)
09 1E            Usage (30)
09 20            Usage (32)
09 2A            Usage (42)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 06            Report Count (6)
B1 22            Feature (0x22)
75 03            Report Size (3)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 02            Report Size (2)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 02            Report Size (2)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
(235 bytes)
0x06, 0xa0, 0xff, 0x09, 0x03, 0xa1, 0x01, 0x85, 0x14, 0x09,
0xb1, 0x09, 0xb2, 0x09, 0xb5, 0x09, 0xb7, 0x09, 0xb3, 0x15,
0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x81, 0x06, 0x85,
0x1f, 0x09, 0x9c, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
0x01, 0x81, 0x06, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25,
0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x15, 0x09,
0x8c, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10,
0x95, 0x01, 0x81, 0x22, 0x85, 0x19, 0x09, 0x8d, 0x09, 0x8f,
0x09, 0x9e, 0x09, 0xdc, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x04, 0x91, 0x22, 0x09, 0xd2, 0x09, 0xd9, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x91, 0x06, 0x85, 0x1a,
0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01,
0x91, 0x22, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01,
0x75, 0x08, 0x95, 0x20, 0x91, 0x02, 0x85, 0x1b, 0x09, 0xcf,
0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02,
0xb1, 0x22, 0x09, 0xde, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0xb1, 0x23, 0x09, 0xd8, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0xb1, 0x22, 0x75, 0x04, 0x95, 0x01,
0xb1, 0x03, 0x09, 0x09, 0x09, 0x17, 0x09, 0x18, 0x09, 0x1e,
0x09, 0x20, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x06, 0xb1, 0x22, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x75, 0x02, 0x95, 0x01,
0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x02,
0x95, 0x01, 0xb1, 0x03, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col03#5&99b72d3&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x1 (0xff01)
  Report Descriptor:
06 01 FF         Usage Page (65281)
09 01            Usage  (1)
A1 01            Collection (Application)
85 03            Report ID (3)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 1B            Report Count (27)
81 02            Input (0x02)
85 04            Report ID (4)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 1B            Report Count (27)
81 02            Input (0x02)
85 06            Report ID (6)
09 04            Usage (4)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 07            Report Count (7)
81 02            Input (0x02)
85 05            Report ID (5)
09 03            Usage (3)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 07            Report Count (7)
B1 02            Feature (0x02)
C0               End Collection
(80 bytes)
0x06, 0x01, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x09,
0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff,
0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08,
0x95, 0x1b, 0x81, 0x02, 0x85, 0x04, 0x09, 0x02, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85,
0x06, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08,
0x95, 0x07, 0x81, 0x02, 0x85, 0x05, 0x09, 0x03, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0xb1, 0x02, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_00#7&1c54b96&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    0
  Usage (page): 0x6 (0x1)
  Report Descriptor: HIDP_STATUS_BUFFER_TOO_SMALL
HIDP_STATUS_BUFFER_TOO_SMALL

05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)
95 01            Report Count (1)
81 03            Input (0x03) Padding
19 00            Usage Minimum (0)
29 A4            Usage Maximum (164)
15 00            Logical Minimum (0)
26 A4 00         Logical Maximum (164)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
05 08            Usage Page (8)
19 01            Usage Minimum (1)
29 05            Usage Maximum (5)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
91 02            Output (0x02)
75 03            Report Size (3)
95 01            Report Count (1)
91 03            Output (0x03) Padding
C0               End Collection
(66 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0,
0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08,
0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00,
0x29, 0xa4, 0x15, 0x00, 0x26, 0xa4, 0x00, 0x75, 0x08, 0x95,
0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15,
0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75,
0x03, 0x95, 0x01, 0x91, 0x03, 0xc0,

Device Found
  type: 413c 2107
  path: \\?\hid#vid_413c&pid_2107#e&1de7f0c0&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer: DELL
  Product:      Dell USB Entry Keyboard
  Release:      178
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor: HIDP_STATUS_BUFFER_TOO_SMALL
HIDP_STATUS_BUFFER_TOO_SMALL

05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
19 00            Usage Minimum (0)
29 FF            Usage Maximum (255)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
05 08            Usage Page (8)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
91 02            Output (0x02)
Report Size (-8)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 2F            Report Size (47)
95 01            Report Count (1)
81 03            Input (0x03) Padding
Report Size (-41)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 01            Report Size (1)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 05            Report Size (5)
95 01            Report Count (1)
91 03            Output (0x03) Padding
C0               End Collection
(80 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0,
0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08,
0x81, 0x02, 0x19, 0x00, 0x29, 0xff, 0x15, 0x00, 0x26, 0xff,
0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19,
0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
0x03, 0x91, 0x02, 0x95, 0x01, 0x81, 0x03, 0x75, 0x2f, 0x95,
0x01, 0x81, 0x03, 0x95, 0x01, 0x81, 0x03, 0x75, 0x01, 0x95,
0x01, 0x81, 0x03, 0x75, 0x05, 0x95, 0x01, 0x91, 0x03, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col04#5&99b72d3&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x1 (0xff02)
  Report Descriptor:
06 02 FF         Usage Page (65282)
09 01            Usage  (1)
A1 01            Collection (Application)
85 07            Report ID (7)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 86            Report Count (134)
B1 02            Feature (0x02)
C0               End Collection
(35 bytes)
0x06, 0x02, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x09,
0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff,
0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08,
0x95, 0x86, 0xb1, 0x02, 0xc0,

Device Found
  type: 046d c077
  path: \\?\hid#vid_046d&pid_c077#e&fde55df&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Optical Mouse
  Release:      7200
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
09 38            Usage (56)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 03            Report Count (3)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(52 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01,
0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x09, 0x38,
0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03, 0x81, 0x06,
0xc0, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col05#5&99b72d3&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0xe (0xd)
  Report Descriptor:
05 0D            Usage Page (13)
09 0E            Usage  (14)
A1 01            Collection (Application)
09 22            Usage  (34)
A1 02            Collection (Logical)
85 0B            Report ID (11)
09 52            Usage (82)
15 00            Logical Minimum (0)
25 0A            Logical Maximum (10)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 01            Report Count (1)
B1 02            Feature (0x02)
C0               End Collection
09 22            Usage  (34)
A1 00            Collection (Physical)
85 0C            Report ID (12)
09 57            Usage (87)
09 58            Usage (88)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
45 00            Physical Maximum (0)
55 00            Unit Exponent (0)
65 00            Unit (0)
B1 02            Feature (0x02)
75 06            Report Size (6)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
C0               End Collection
(71 bytes)
0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02,
0x85, 0x0b, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x35, 0x00,
0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10,
0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1,
0x00, 0x85, 0x0c, 0x09, 0x57, 0x09, 0x58, 0x15, 0x00, 0x25,
0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65,
0x00, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0xb1, 0x03, 0xc0,
0xc0,

Device Found
  type: 413c b06f
  path: \\?\hid#vid_413c&pid_b06f#d&3624b04c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      101
  Interface:    -1
  Usage (page): 0xda (0xffda)
  Report Descriptor:
06 DA FF         Usage Page (65498)
09 DA            Usage  (218)
A1 01            Collection (Application)
09 DA            Usage (218)
19 01            Usage Minimum (1)
29 0E            Usage Maximum (14)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 0F            Report Count (15)
81 02            Input (0x02)
05 DA            Usage Page (218)
19 01            Usage Minimum (1)
29 05            Usage Maximum (5)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 05            Report Count (5)
91 02            Output (0x02)
C0               End Collection
(40 bytes)
0x06, 0xda, 0xff, 0x09, 0xda, 0xa1, 0x01, 0x09, 0xda, 0x19,
0x01, 0x29, 0x0e, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95,
0x0f, 0x81, 0x02, 0x05, 0xda, 0x19, 0x01, 0x29, 0x05, 0x15,
0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x05, 0x91, 0x02, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col01#5&379854aa&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
85 01            Report ID (1)
05 07            Usage Page (7)
09 69            Usage (105)
09 6A            Usage (106)
09 6B            Usage (107)
09 6C            Usage (108)
09 E3            Usage (227)
09 4C            Usage (76)
09 E2            Usage (226)
09 E0            Usage (224)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
C0               End Collection
(37 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x01, 0x05, 0x07,
0x09, 0x69, 0x09, 0x6a, 0x09, 0x6b, 0x09, 0x6c, 0x09, 0xe3,
0x09, 0x4c, 0x09, 0xe2, 0x09, 0xe0, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0xc0,

unable to open device
C:\work\hid\hidapi_test1\windows\x64\Release [windows_report_descriptor_reconstructor ≡]> cd ..
C:\work\hid\hidapi_test1\windows\x64 [windows_report_descriptor_reconstructor ≡]> cd .\Debug\
C:\work\hid\hidapi_test1\windows\x64\Debug [windows_report_descriptor_reconstructor ≡]> ls

    Directory: C:\work\hid\hidapi_test1\windows\x64\Debug

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----           7/26/2021 10:19 AM                hidapi.tlog
d----           7/26/2021 10:19 AM                hidtest.tlog
-a---           7/12/2021 11:36 AM          47603 debuglog.txt
-a---           7/26/2021 10:19 AM           1117 hidapi.Build.CppClean.log
-a---           7/26/2021 10:19 AM         110080 hidapi.dll
-a---           7/26/2021 10:19 AM            296 hidapi.dll.recipe
-a---           7/26/2021 10:19 AM           6040 hidapi.lib
-a---           7/26/2021 10:19 AM            528 hidapi.log
-a---           7/26/2021 10:19 AM             55 hidapi.vcxproj.FileListAbsolute.txt
-a---           7/12/2021  3:00 PM          50953 hidsharp_log.txt
-a---           7/26/2021 10:19 AM            992 hidtest.Build.CppClean.log
-a---           7/26/2021 10:19 AM          67072 hidtest.exe
-a---           7/26/2021 10:19 AM            422 hidtest.exe.recipe
-a---           7/26/2021 10:19 AM         535948 hidtest.ilk
-a---           7/26/2021 10:19 AM            388 hidtest.log
-a---           7/26/2021 10:19 AM         864256 hidtest.pdb
-a---           7/26/2021 10:19 AM             56 hidtest.vcxproj.FileListAbsolute.txt
-a---           7/26/2021 10:19 AM          32297 test.obj
-a---           7/26/2021 10:19 AM         248832 vc142.idb
-a---           7/26/2021 10:19 AM         110592 vc142.pdb

C:\work\hid\hidapi_test1\windows\x64\Debug [windows_report_descriptor_reconstructor ≡]> .\hidtest.exe
hidapi test/example tool. Compiled with hidapi version 0.11.0, runtime version 0.11.0.
Compile-time version matches runtime version of hidapi.

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col01#7&383a3a17&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 02            Report ID (2)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 10            Usage Maximum (16)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 10            Report Count (16)
81 02            Input (0x02)
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
16 01 F8         Logical Minimum (-2047)
26 FF 07         Logical Maximum (2047)
75 0C            Report Size (12)
95 02            Report Count (2)
81 06            Input (0x06)
09 38            Usage (56)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
05 0C            Usage Page (12)
0A 38 02         Usage (568)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(75 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01,
0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07,
0x75, 0x0c, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81,
0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0c,
0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95,
0x01, 0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col02#7&383a3a17&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xc)
  Report Descriptor: HIDP_STATUS_BUFFER_TOO_SMALL
HIDP_STATUS_BUFFER_TOO_SMALL

05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 03            Report ID (3)
19 01            Usage Minimum (1)
2A 8C 02         Usage Maximum (652)
15 01            Logical Minimum (1)
26 8C 02         Logical Maximum (652)
75 10            Report Size (16)
95 02            Report Count (2)
81 00            Input (0x00)
C0               End Collection
(25 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x01,
0x2a, 0x8c, 0x02, 0x15, 0x01, 0x26, 0x8c, 0x02, 0x75, 0x10,
0x95, 0x02, 0x81, 0x00, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col03#7&383a3a17&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x80 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 80            Usage  (128)
A1 01            Collection (Application)
85 04            Report ID (4)
09 83            Usage (131)
09 81            Usage (129)
09 82            Usage (130)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 60            Input (0x60)
C0               End Collection
(25 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x83,
0x09, 0x81, 0x09, 0x82, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x03, 0x81, 0x60, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col04#7&383a3a17&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xff00)
  Report Descriptor:
06 00 FF         Usage Page (65280)
09 01            Usage  (1)
A1 01            Collection (Application)
85 10            Report ID (16)
09 01            Usage (1)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 00            Input (0x00)
09 01            Usage (1)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 00            Output (0x00)
C0               End Collection
(34 bytes)
0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x09,
0x01, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81,
0x00, 0x09, 0x01, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
0x01, 0x91, 0x00, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col01#5&99b72d3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 01            Report ID (1)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
09 38            Usage (56)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 03            Report Count (3)
81 06            Input (0x06)
05 0C            Usage Page (12)
0A 38 02         Usage (568)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(69 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x01, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31,
0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03,
0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25,
0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 8087 0a1e
  path: \\?\hid#intc816&col01#3&36a7043c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xc (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 0C            Usage  (12)
A1 01            Collection (Application)
85 08            Report ID (8)
09 C6            Usage (198)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(27 bytes)
0x05, 0x01, 0x09, 0x0c, 0xa1, 0x01, 0x85, 0x08, 0x09, 0xc6,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 044e 1212
  path: \\?\hid#vid_044e&pid_1212&col01&col02#7&290aacae&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor: HIDP_STATUS_BUFFER_TOO_SMALL
HIDP_STATUS_BUFFER_TOO_SMALL

05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
85 07            Report ID (7)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)
95 01            Report Count (1)
81 03            Input (0x03) Padding
19 00            Usage Minimum (0)
29 75            Usage Maximum (117)
15 00            Logical Minimum (0)
25 75            Logical Maximum (117)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
C0               End Collection
(45 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x07, 0x05, 0x07,
0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03,
0x19, 0x00, 0x29, 0x75, 0x15, 0x00, 0x25, 0x75, 0x75, 0x08,
0x95, 0x06, 0x81, 0x00, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col05#7&383a3a17&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0xff00)
  Report Descriptor:
06 00 FF         Usage Page (65280)
09 02            Usage  (2)
A1 01            Collection (Application)
85 11            Report ID (17)
09 02            Usage (2)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 00            Input (0x00)
09 02            Usage (2)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 00            Output (0x00)
C0               End Collection
(34 bytes)
0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x09,
0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81,
0x00, 0x09, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
0x01, 0x91, 0x00, 0xc0,

Device Found
  type: 8087 0a1e
  path: \\?\hid#intc816&col02#3&36a7043c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xd (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 0D            Usage  (13)
A1 01            Collection (Application)
09 0D            Usage  (13)
A1 02            Collection (Logical)
85 1C            Report ID (28)
09 81            Usage (129)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 02            Input (0x02)
09 CB            Usage (203)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 02            Feature (0x02)
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
C0               End Collection
(50 bytes)
0x05, 0x01, 0x09, 0x0d, 0xa1, 0x01, 0x09, 0x0d, 0xa1, 0x02,
0x85, 0x1c, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0x81, 0x02, 0x09, 0xcb, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0xb1, 0x02, 0x75, 0x07, 0x95, 0x01,
0x81, 0x03, 0x75, 0x07, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0,

Device Found
  type: 044e 1212
  path: \\?\hid#vid_044e&pid_1212&col01&col01#7&290aacae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 06            Report ID (6)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
16 00 FE         Logical Minimum (-512)
26 00 02         Logical Maximum (512)
75 10            Report Size (16)
95 02            Report Count (2)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(54 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x06, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31,
0x16, 0x00, 0xfe, 0x26, 0x00, 0x02, 0x75, 0x10, 0x95, 0x02,
0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col02#5&99b72d3&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x5 (0xd)
  Report Descriptor:
05 0D            Usage Page (13)
09 05            Usage  (5)
A1 01            Collection (Application)
09 22            Usage  (34)
A1 02            Collection (Logical)
85 08            Report ID (8)
09 47            Usage (71)
09 42            Usage (66)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 02            Input (0x02)
09 51            Usage (81)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
75 03            Report Size (3)
95 01            Report Count (1)
81 02            Input (0x02)
75 03            Report Size (3)
95 01            Report Count (1)
81 03            Input (0x03) Padding
05 01            Usage Page (1)
09 30            Usage (48)
15 00            Logical Minimum (0)
26 AF 04         Logical Maximum (1199)
35 00            Physical Minimum (0)
46 E8 03         Physical Maximum (1000)
55 0E            Unit Exponent (14)
65 11            Unit (17)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
09 31            Usage (49)
15 00            Logical Minimum (0)
26 7B 02         Logical Maximum (635)
35 00            Physical Minimum (0)
46 12 02         Physical Maximum (530)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
C0               End Collection
05 0D            Usage Page (13)
09 56            Usage (86)
15 00            Logical Minimum (0)
27 FF FF 00 00   Logical Maximum (65535)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
09 54            Usage (84)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
75 08            Report Size (8)
95 01            Report Count (1)
81 02            Input (0x02)
05 09            Usage Page (9)
09 02            Usage (2)
09 03            Usage (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
45 00            Physical Maximum (0)
55 00            Unit Exponent (0)
65 00            Unit (0)
81 02            Input (0x02)
85 09            Report ID (9)
05 0D            Usage Page (13)
09 55            Usage (85)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 01            Report Count (1)
B1 02            Feature (0x02)
85 0A            Report ID (10)
06 00 FF         Usage Page (65280)
09 C5            Usage (197)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
96 00 01         Report Count (256)
B1 02            Feature (0x02)
75 06            Report Size (6)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(204 bytes)
0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02,
0x85, 0x08, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00,
0x25, 0x05, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00,
0x26, 0xaf, 0x04, 0x35, 0x00, 0x46, 0xe8, 0x03, 0x55, 0x0e,
0x65, 0x11, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31,
0x15, 0x00, 0x26, 0x7b, 0x02, 0x35, 0x00, 0x46, 0x12, 0x02,
0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09,
0x56, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x35, 0x00,
0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10,
0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x54, 0x15, 0x00,
0x25, 0x05, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x05, 0x09,
0x09, 0x02, 0x09, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02,
0x85, 0x09, 0x05, 0x0d, 0x09, 0x55, 0x15, 0x00, 0x25, 0x05,
0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66,
0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0x85, 0x0a,
0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00,
0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0x75, 0x06, 0x95,
0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 413c b06e
  path: \\?\hid#vid_413c&pid_b06e#c&37ff1248&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      101
  Interface:    -1
  Usage (page): 0xda (0xffda)
  Report Descriptor:
06 DA FF         Usage Page (65498)
09 DA            Usage  (218)
A1 01            Collection (Application)
09 DA            Usage (218)
19 01            Usage Minimum (1)
29 0E            Usage Maximum (14)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 0F            Report Count (15)
81 02            Input (0x02)
05 DA            Usage Page (218)
19 01            Usage Minimum (1)
29 05            Usage Maximum (5)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 05            Report Count (5)
91 02            Output (0x02)
C0               End Collection
(40 bytes)
0x06, 0xda, 0xff, 0x09, 0xda, 0xa1, 0x01, 0x09, 0xda, 0x19,
0x01, 0x29, 0x0e, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95,
0x0f, 0x81, 0x02, 0x05, 0xda, 0x19, 0x01, 0x29, 0x05, 0x15,
0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x05, 0x91, 0x02, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 01            Report ID (1)
09 E9            Usage (233)
09 EA            Usage (234)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 06            Input (0x06)
85 02            Report ID (2)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 02            Input (0x02)
85 05            Report ID (5)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 07            Report ID (7)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 04            Report ID (4)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 24            Report Count (36)
91 02            Output (0x02)
85 06            Report ID (6)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 24            Report Count (36)
91 02            Output (0x02)
75 06            Report Size (6)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(99 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xe9,
0x09, 0xea, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02,
0x81, 0x06, 0x85, 0x02, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x85, 0x05, 0x09, 0x00,
0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02,
0x85, 0x07, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08,
0x95, 0x20, 0x81, 0x02, 0x85, 0x04, 0x09, 0x00, 0x15, 0x00,
0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x85, 0x06,
0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24,
0x91, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 02            Report ID (2)
09 E9            Usage (233)
09 EA            Usage (234)
0A 21 02         Usage (545)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(32 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x02, 0x09, 0xe9,
0x09, 0xea, 0x0a, 0x21, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75,
0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81,
0x03, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x5 (0xb)
  Report Descriptor:
05 0B            Usage Page (11)
09 05            Usage  (5)
A1 01            Collection (Application)
85 08            Report ID (8)
09 2F            Usage (47)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
09 20            Usage (32)
09 21            Usage (33)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 22            Input (0x22)
85 09            Report ID (9)
05 08            Usage Page (8)
09 09            Usage (9)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 17            Report ID (23)
09 17            Usage (23)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 18            Report ID (24)
09 18            Usage (24)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 1E            Report ID (30)
09 1E            Usage (30)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 20            Report ID (32)
09 20            Usage (32)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 2A            Report ID (42)
09 2A            Usage (42)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
C0               End Collection
(163 bytes)
0x05, 0x0b, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x08, 0x09, 0x2f,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x81, 0x22, 0x85, 0x09, 0x05, 0x08, 0x09, 0x09,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22,
0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0x91, 0x22, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x1e,
0x09, 0x1e, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01,
0x91, 0x22, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x2a, 0x09, 0x2a,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22,
0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07,
0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03,
0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x80 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 80            Usage  (128)
A1 01            Collection (Application)
85 03            Report ID (3)
09 81            Usage (129)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 02            Input (0x02)
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
C0               End Collection
(27 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x81,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x3 (0xffa0)
  Report Descriptor:
06 A0 FF         Usage Page (65440)
09 03            Usage  (3)
A1 01            Collection (Application)
85 14            Report ID (20)
09 B1            Usage (177)
09 B2            Usage (178)
09 B5            Usage (181)
09 B7            Usage (183)
09 B3            Usage (179)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
81 06            Input (0x06)
85 1F            Report ID (31)
09 9C            Usage (156)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
85 03            Report ID (3)
09 30            Usage (48)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 15            Report ID (21)
09 8C            Usage (140)
15 00            Logical Minimum (0)
27 FF FF 00 00   Logical Maximum (65535)
75 10            Report Size (16)
95 01            Report Count (1)
81 22            Input (0x22)
85 19            Report ID (25)
09 8D            Usage (141)
09 8F            Usage (143)
09 9E            Usage (158)
09 DC            Usage (220)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 04            Report Count (4)
91 22            Output (0x22)
09 D2            Usage (210)
09 D9            Usage (217)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
91 06            Output (0x06)
85 1A            Report ID (26)
09 B5            Usage (181)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
85 03            Report ID (3)
09 30            Usage (48)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
91 02            Output (0x02)
85 1B            Report ID (27)
09 CF            Usage (207)
09 B5            Usage (181)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
B1 22            Feature (0x22)
09 DE            Usage (222)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 23            Feature (0x23)
09 D8            Usage (216)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 22            Feature (0x22)
75 04            Report Size (4)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
09 09            Usage (9)
09 17            Usage (23)
09 18            Usage (24)
09 1E            Usage (30)
09 20            Usage (32)
09 2A            Usage (42)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 06            Report Count (6)
B1 22            Feature (0x22)
75 03            Report Size (3)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 02            Report Size (2)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 07            Report Size (7)
95 01            Report Count (1)
91 03            Output (0x03) Padding
75 02            Report Size (2)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
(235 bytes)
0x06, 0xa0, 0xff, 0x09, 0x03, 0xa1, 0x01, 0x85, 0x14, 0x09,
0xb1, 0x09, 0xb2, 0x09, 0xb5, 0x09, 0xb7, 0x09, 0xb3, 0x15,
0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x81, 0x06, 0x85,
0x1f, 0x09, 0x9c, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
0x01, 0x81, 0x06, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25,
0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x15, 0x09,
0x8c, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10,
0x95, 0x01, 0x81, 0x22, 0x85, 0x19, 0x09, 0x8d, 0x09, 0x8f,
0x09, 0x9e, 0x09, 0xdc, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x04, 0x91, 0x22, 0x09, 0xd2, 0x09, 0xd9, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x91, 0x06, 0x85, 0x1a,
0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01,
0x91, 0x22, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01,
0x75, 0x08, 0x95, 0x20, 0x91, 0x02, 0x85, 0x1b, 0x09, 0xcf,
0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02,
0xb1, 0x22, 0x09, 0xde, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0xb1, 0x23, 0x09, 0xd8, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0xb1, 0x22, 0x75, 0x04, 0x95, 0x01,
0xb1, 0x03, 0x09, 0x09, 0x09, 0x17, 0x09, 0x18, 0x09, 0x1e,
0x09, 0x20, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x06, 0xb1, 0x22, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x75, 0x02, 0x95, 0x01,
0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x02,
0x95, 0x01, 0xb1, 0x03, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col03#5&99b72d3&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x1 (0xff01)
  Report Descriptor:
06 01 FF         Usage Page (65281)
09 01            Usage  (1)
A1 01            Collection (Application)
85 03            Report ID (3)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 1B            Report Count (27)
81 02            Input (0x02)
85 04            Report ID (4)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 1B            Report Count (27)
81 02            Input (0x02)
85 06            Report ID (6)
09 04            Usage (4)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 07            Report Count (7)
81 02            Input (0x02)
85 05            Report ID (5)
09 03            Usage (3)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 07            Report Count (7)
B1 02            Feature (0x02)
C0               End Collection
(80 bytes)
0x06, 0x01, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x09,
0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff,
0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08,
0x95, 0x1b, 0x81, 0x02, 0x85, 0x04, 0x09, 0x02, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85,
0x06, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08,
0x95, 0x07, 0x81, 0x02, 0x85, 0x05, 0x09, 0x03, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0xb1, 0x02, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_00#7&1c54b96&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    0
  Usage (page): 0x6 (0x1)
  Report Descriptor: HIDP_STATUS_BUFFER_TOO_SMALL
HIDP_STATUS_BUFFER_TOO_SMALL

05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)
95 01            Report Count (1)
81 03            Input (0x03) Padding
19 00            Usage Minimum (0)
29 A4            Usage Maximum (164)
15 00            Logical Minimum (0)
26 A4 00         Logical Maximum (164)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
05 08            Usage Page (8)
19 01            Usage Minimum (1)
29 05            Usage Maximum (5)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
91 02            Output (0x02)
75 03            Report Size (3)
95 01            Report Count (1)
91 03            Output (0x03) Padding
C0               End Collection
(66 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0,
0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08,
0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00,
0x29, 0xa4, 0x15, 0x00, 0x26, 0xa4, 0x00, 0x75, 0x08, 0x95,
0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15,
0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75,
0x03, 0x95, 0x01, 0x91, 0x03, 0xc0,

Device Found
  type: 413c 2107
  path: \\?\hid#vid_413c&pid_2107#e&1de7f0c0&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer: DELL
  Product:      Dell USB Entry Keyboard
  Release:      178
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor: HIDP_STATUS_BUFFER_TOO_SMALL
HIDP_STATUS_BUFFER_TOO_SMALL

05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
19 00            Usage Minimum (0)
29 FF            Usage Maximum (255)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
05 08            Usage Page (8)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
91 02            Output (0x02)
Report Size (-8)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 2F            Report Size (47)
95 01            Report Count (1)
81 03            Input (0x03) Padding
Report Size (-41)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 01            Report Size (1)
95 01            Report Count (1)
81 03            Input (0x03) Padding
75 05            Report Size (5)
95 01            Report Count (1)
91 03            Output (0x03) Padding
C0               End Collection
(80 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0,
0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08,
0x81, 0x02, 0x19, 0x00, 0x29, 0xff, 0x15, 0x00, 0x26, 0xff,
0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19,
0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
0x03, 0x91, 0x02, 0x95, 0x01, 0x81, 0x03, 0x75, 0x2f, 0x95,
0x01, 0x81, 0x03, 0x95, 0x01, 0x81, 0x03, 0x75, 0x01, 0x95,
0x01, 0x81, 0x03, 0x75, 0x05, 0x95, 0x01, 0x91, 0x03, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col04#5&99b72d3&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x1 (0xff02)
  Report Descriptor:
06 02 FF         Usage Page (65282)
09 01            Usage  (1)
A1 01            Collection (Application)
85 07            Report ID (7)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 86            Report Count (134)
B1 02            Feature (0x02)
C0               End Collection
(35 bytes)
0x06, 0x02, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x09,
0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff,
0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08,
0x95, 0x86, 0xb1, 0x02, 0xc0,

Device Found
  type: 046d c077
  path: \\?\hid#vid_046d&pid_c077#e&fde55df&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Optical Mouse
  Release:      7200
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)
95 01            Report Count (1)
81 03            Input (0x03) Padding
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
09 38            Usage (56)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 03            Report Count (3)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(52 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01,
0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x09, 0x38,
0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03, 0x81, 0x06,
0xc0, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col05#5&99b72d3&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0xe (0xd)
  Report Descriptor:
05 0D            Usage Page (13)
09 0E            Usage  (14)
A1 01            Collection (Application)
09 22            Usage  (34)
A1 02            Collection (Logical)
85 0B            Report ID (11)
09 52            Usage (82)
15 00            Logical Minimum (0)
25 0A            Logical Maximum (10)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 01            Report Count (1)
B1 02            Feature (0x02)
C0               End Collection
09 22            Usage  (34)
A1 00            Collection (Physical)
85 0C            Report ID (12)
09 57            Usage (87)
09 58            Usage (88)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
45 00            Physical Maximum (0)
55 00            Unit Exponent (0)
65 00            Unit (0)
B1 02            Feature (0x02)
75 06            Report Size (6)
95 01            Report Count (1)
B1 03            Feature (0x03) Padding
C0               End Collection
C0               End Collection
(71 bytes)
0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02,
0x85, 0x0b, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x35, 0x00,
0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10,
0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1,
0x00, 0x85, 0x0c, 0x09, 0x57, 0x09, 0x58, 0x15, 0x00, 0x25,
0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65,
0x00, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0xb1, 0x03, 0xc0,
0xc0,

Device Found
  type: 413c b06f
  path: \\?\hid#vid_413c&pid_b06f#d&3624b04c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      101
  Interface:    -1
  Usage (page): 0xda (0xffda)
  Report Descriptor:
06 DA FF         Usage Page (65498)
09 DA            Usage  (218)
A1 01            Collection (Application)
09 DA            Usage (218)
19 01            Usage Minimum (1)
29 0E            Usage Maximum (14)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 0F            Report Count (15)
81 02            Input (0x02)
05 DA            Usage Page (218)
19 01            Usage Minimum (1)
29 05            Usage Maximum (5)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 05            Report Count (5)
91 02            Output (0x02)
C0               End Collection
(40 bytes)
0x06, 0xda, 0xff, 0x09, 0xda, 0xa1, 0x01, 0x09, 0xda, 0x19,
0x01, 0x29, 0x0e, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95,
0x0f, 0x81, 0x02, 0x05, 0xda, 0x19, 0x01, 0x29, 0x05, 0x15,
0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x05, 0x91, 0x02, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col01#5&379854aa&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
85 01            Report ID (1)
05 07            Usage Page (7)
09 69            Usage (105)
09 6A            Usage (106)
09 6B            Usage (107)
09 6C            Usage (108)
09 E3            Usage (227)
09 4C            Usage (76)
09 E2            Usage (226)
09 E0            Usage (224)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
C0               End Collection
(37 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x01, 0x05, 0x07,
0x09, 0x69, 0x09, 0x6a, 0x09, 0x6b, 0x09, 0x6c, 0x09, 0xe3,
0x09, 0x4c, 0x09, 0xe2, 0x09, 0xe0, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0xc0,

unable to open device
C:\work\hid\hidapi_test1\windows\x64\Debug [windows_report_descriptor_reconstructor ≡]> cd ..
C:\work\hid\hidapi_test1\windows\x64 [windows_report_descriptor_reconstructor ≡]> cd ..
C:\work\hid\hidapi_test1\windows [windows_report_descriptor_reconstructor ≡]> cd ..
C:\work\hid\hidapi_test1 [windows_report_descriptor_reconstructor ≡]> cd ..
C:\work\hid> cd .\hidapi_test2\
C:\work\hid\hidapi_test2 [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> git pull
remote: Enumerating objects: 4, done.
remote: Counting objects: 100% (4/4), done.
remote: Total 4 (delta 3), reused 4 (delta 3), pack-reused 0
Unpacking objects: 100% (4/4), 716 bytes | 21.00 KiB/s, done.
From https://github.com/JoergAtGithub/hidapi
   2e58921..d3859bc  windows_report_descriptor_reconstructor_reengineered_pp_struct -> origin/windows_report_descriptor_reconstructor_reengineered_pp_struct
Updating 2e58921..d3859bc
Fast-forward
 windows/hid.c | 25 +++++++++++++++----------
 1 file changed, 15 insertions(+), 10 deletions(-)
C:\work\hid\hidapi_test2 [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> cd .\windows\
C:\work\hid\hidapi_test2\windows [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> dir

    Directory: C:\work\hid\hidapi_test2\windows

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----           7/18/2021 10:09 PM                ddk_build
d----           7/18/2021 10:13 PM                x64
-a---           7/18/2021 10:09 PM            129 .gitignore
-a---           7/18/2021 10:10 PM            922 CMakeLists.txt
-a---           7/26/2021 10:22 AM          82040 hid.c
-a---           7/18/2021 10:09 PM           2192 hidapi.sln
-a---           7/18/2021 10:09 PM           4227 hidapi.vcproj
-a---           7/18/2021 10:10 PM          10107 hidapi.vcxproj
-a---           7/18/2021 10:09 PM           1069 hidapi.vcxproj.filters
-a---           7/25/2021 10:30 PM            168 hidapi.vcxproj.user
-a---           7/18/2021 10:09 PM           4155 hidtest.vcproj
-a---           7/18/2021 10:10 PM          10099 hidtest.vcxproj
-a---           7/18/2021 10:09 PM            954 hidtest.vcxproj.filters
-a---           7/18/2021 10:09 PM            204 Makefile-manual
-a---           7/18/2021 10:09 PM            374 Makefile.am
-a---           7/18/2021 10:09 PM            587 Makefile.mingw

C:\work\hid\hidapi_test2\windows [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> cd .\x64\
C:\work\hid\hidapi_test2\windows\x64 [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> dir

    Directory: C:\work\hid\hidapi_test2\windows\x64

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----           7/20/2021  3:15 PM                Debug
d----           7/26/2021 10:22 AM                Release

C:\work\hid\hidapi_test2\windows\x64 [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> cd .\Release\
C:\work\hid\hidapi_test2\windows\x64\Release [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> ls

    Directory: C:\work\hid\hidapi_test2\windows\x64\Release

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d----           7/26/2021 10:22 AM                hidapi.tlog
d----           7/26/2021 10:22 AM                hidtest.tlog
-a---           7/26/2021 10:22 AM           1216 hidapi.Build.CppClean.log
-a---           7/26/2021 10:22 AM         154112 hidapi.dll
-a---           7/26/2021 10:22 AM            298 hidapi.dll.recipe
-a---           7/26/2021 10:22 AM           6040 hidapi.lib
-a---           7/26/2021 10:22 AM            741 hidapi.log
-a---           7/26/2021 10:22 AM             57 hidapi.vcxproj.FileListAbsolute.txt
-a---           7/26/2021 10:22 AM           1168 hidtest.Build.CppClean.log
-a---           7/26/2021 10:22 AM         147968 hidtest.exe
-a---           7/26/2021 10:22 AM            426 hidtest.exe.recipe
-a---           7/26/2021 10:22 AM          36127 hidtest.iobj
-a---           7/26/2021 10:22 AM          20144 hidtest.ipdb
-a---           7/26/2021 10:22 AM            596 hidtest.log
-a---           7/26/2021 10:22 AM        3526656 hidtest.pdb
-a---           7/26/2021 10:22 AM             58 hidtest.vcxproj.FileListAbsolute.txt
-a---           7/26/2021 10:22 AM         161201 test.obj
-a---           7/26/2021 10:22 AM          94208 vc142.pdb

C:\work\hid\hidapi_test2\windows\x64\Release [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> .\hidtest.exe
hidapi test/example tool. Compiled with hidapi version 0.11.0, runtime version 0.11.0.
Compile-time version matches runtime version of hidapi.

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col01#7&383a3a17&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0x1)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 16
DEBUG:ReportID 2
DEBUG:NotRange.Usage 1
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 3
DEBUG:IsAlias 0
DEBUG:IsRange 1
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 4
DEBUG:BitPosition 4
DEBUG:BitSize 12
DEBUG:ReportCount 1
DEBUG:ReportID 2
DEBUG:NotRange.Usage 49
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 6
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 0
DEBUG:BytePosition 3
DEBUG:BitPosition 0
DEBUG:BitSize 12
DEBUG:ReportCount 1
DEBUG:ReportID 2
DEBUG:NotRange.Usage 48
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 5
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 0
DEBUG:BytePosition 6
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 1
DEBUG:ReportID 2
DEBUG:NotRange.Usage 56
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 7
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 0
DEBUG:BytePosition 7
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 1
DEBUG:ReportID 2
DEBUG:NotRange.Usage 568
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 8
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6

05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 02            Report ID (2)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 10            Usage Maximum (16)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 10            Report Count (16)
81 02            Input (0x02)
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
16 01 F8         Logical Minimum (-2047)
26 FF 07         Logical Maximum (2047)
75 0C            Report Size (12)
95 02            Report Count (2)
81 06            Input (0x06)
09 38            Usage (56)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
05 0C            Usage Page (12)
0A 38 02         Usage (568)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(75 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01,
0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07,
0x75, 0x0c, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81,
0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0c,
0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95,
0x01, 0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col02#7&383a3a17&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xc)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 16
DEBUG:ReportCount 2
DEBUG:ReportID 3
DEBUG:NotRange.Usage 1
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 5
DEBUG:IsAlias 0
DEBUG:IsRange 1
DEBUG:IsPadding 0
DEBUG:BitField 0

05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 03            Report ID (3)
19 01            Usage Minimum (1)
2A 8C 02         Usage Maximum (652)
15 01            Logical Minimum (1)
26 8C 02         Logical Maximum (652)
75 10            Report Size (16)
95 02            Report Count (2)
81 00            Input (0x00)
C0               End Collection
(25 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x01,
0x2a, 0x8c, 0x02, 0x15, 0x01, 0x26, 0x8c, 0x02, 0x75, 0x10,
0x95, 0x02, 0x81, 0x00, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col03#7&383a3a17&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x80 (0x1)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 2
DEBUG:ReportCount 1
DEBUG:ReportID 4
DEBUG:NotRange.Usage 131
DEBUG:IsMultipleItemsForArray 1
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 60
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 2
DEBUG:ReportCount 1
DEBUG:ReportID 4
DEBUG:NotRange.Usage 129
DEBUG:IsMultipleItemsForArray 1
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 60
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 2
DEBUG:ReportCount 1
DEBUG:ReportID 4
DEBUG:NotRange.Usage 130
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 60

05 01            Usage Page (1)
09 80            Usage  (128)
A1 01            Collection (Application)
85 04            Report ID (4)
09 82            Usage (130)
15 01            Logical Minimum (1)
25 03            Logical Maximum (3)
75 02            Report Size (2)
95 01            Report Count (1)
81 60            Input (0x60)
09 81            Usage (129)
09 83            Usage (131)
15 01            Logical Minimum (1)
25 03            Logical Maximum (3)
75 02            Report Size (2)
95 01            Report Count (1)
81 60            Input (0x60)
75 06            Report Size (6)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
C0               End Collection
(41 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x82,
0x15, 0x01, 0x25, 0x03, 0x75, 0x02, 0x95, 0x01, 0x81, 0x60,
0x09, 0x81, 0x09, 0x83, 0x15, 0x01, 0x25, 0x03, 0x75, 0x02,
0x95, 0x01, 0x81, 0x60, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03,
0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col04#7&383a3a17&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xff00)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 6
DEBUG:ReportID 16
DEBUG:NotRange.Usage 1
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 7
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 0
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 6
DEBUG:ReportID 16
DEBUG:NotRange.Usage 1
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 7
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 0

06 00 FF         Usage Page (65280)
09 01            Usage  (1)
A1 01            Collection (Application)
85 10            Report ID (16)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 06            Report Count (6)
91 00            Output (0x00)
C0               End Collection
(36 bytes)
0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x09,
0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06,
0x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75,
0x08, 0x95, 0x06, 0x91, 0x00, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col01#5&99b72d3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 3
DEBUG:ReportID 1
DEBUG:NotRange.Usage 1
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 1
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 3
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 1
DEBUG:ReportID 1
DEBUG:NotRange.Usage 49
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 4
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 0
DEBUG:BytePosition 2
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 1
DEBUG:ReportID 1
DEBUG:NotRange.Usage 48
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 3
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 0
DEBUG:BytePosition 4
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 1
DEBUG:ReportID 1
DEBUG:NotRange.Usage 56
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 5
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 0
DEBUG:BytePosition 5
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 1
DEBUG:ReportID 1
DEBUG:NotRange.Usage 568
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 6
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6

05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 01            Report ID (1)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
09 38            Usage (56)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 03            Report Count (3)
81 06            Input (0x06)
05 0C            Usage Page (12)
0A 38 02         Usage (568)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(69 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x01, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31,
0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03,
0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25,
0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 8087 0a1e
  path: \\?\hid#intc816&col01#3&36a7043c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xc (0x1)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 8
DEBUG:NotRange.Usage 198
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6

05 01            Usage Page (1)
09 0C            Usage  (12)
A1 01            Collection (Application)
85 08            Report ID (8)
09 C6            Usage (198)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
C0               End Collection
(27 bytes)
0x05, 0x01, 0x09, 0x0c, 0xa1, 0x01, 0x85, 0x08, 0x09, 0xc6,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 044e 1212
  path: \\?\hid#vid_044e&pid_1212&col01&col02#7&290aacae&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 8
DEBUG:ReportID 7
DEBUG:NotRange.Usage 224
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 1
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 3
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 6
DEBUG:ReportID 7
DEBUG:NotRange.Usage 0
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 9
DEBUG:IsAlias 0
DEBUG:IsRange 1
DEBUG:IsPadding 0
DEBUG:BitField 0

05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
85 07            Report ID (7)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
19 00            Usage Minimum (0)
29 75            Usage Maximum (117)
15 00            Logical Minimum (0)
25 FF            Logical Maximum (-1)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
C0               End Collection
(45 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x07, 0x05, 0x07,
0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03,
0x19, 0x00, 0x29, 0x75, 0x15, 0x00, 0x25, 0xff, 0x75, 0x08,
0x95, 0x06, 0x81, 0x00, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col05#7&383a3a17&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0xff00)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 19
DEBUG:ReportID 17
DEBUG:NotRange.Usage 2
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 20
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 0
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 19
DEBUG:ReportID 17
DEBUG:NotRange.Usage 2
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 20
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 0

06 00 FF         Usage Page (65280)
09 02            Usage  (2)
A1 01            Collection (Application)
85 11            Report ID (17)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 13            Report Count (19)
81 00            Input (0x00)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 13            Report Count (19)
91 00            Output (0x00)
C0               End Collection
(36 bytes)
0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x09,
0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13,
0x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75,
0x08, 0x95, 0x13, 0x91, 0x00, 0xc0,

Device Found
  type: 8087 0a1e
  path: \\?\hid#intc816&col02#3&36a7043c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xd (0x1)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 28
DEBUG:NotRange.Usage 129
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 2
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 28
DEBUG:NotRange.Usage 203
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2

05 01            Usage Page (1)
09 0D            Usage  (13)
A1 01            Collection (Application)
09 0D            Usage  (13)
A1 02            Collection (Logical)
85 1C            Report ID (28)
09 81            Usage (129)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 02            Input (0x02)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
09 CB            Usage (203)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 02            Feature (0x02)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
B1 03            Feature (0x03)   Padding
C0               End Collection
C0               End Collection
(50 bytes)
0x05, 0x01, 0x09, 0x0d, 0xa1, 0x01, 0x09, 0x0d, 0xa1, 0x02,
0x85, 0x1c, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03,
0x09, 0xcb, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01,
0xb1, 0x02, 0x75, 0x07, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0,

Device Found
  type: 044e 1212
  path: \\?\hid#vid_044e&pid_1212&col01&col01#7&290aacae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 3
DEBUG:ReportID 6
DEBUG:NotRange.Usage 1
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 1
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 4
DEBUG:BitPosition 0
DEBUG:BitSize 16
DEBUG:ReportCount 1
DEBUG:ReportID 6
DEBUG:NotRange.Usage 49
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 6
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 0
DEBUG:BytePosition 2
DEBUG:BitPosition 0
DEBUG:BitSize 16
DEBUG:ReportCount 1
DEBUG:ReportID 6
DEBUG:NotRange.Usage 48
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 4
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6

05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 06            Report ID (6)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
16 00 FE         Logical Minimum (-512)
26 00 02         Logical Maximum (512)
75 10            Report Size (16)
95 02            Report Count (2)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(54 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x06, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31,
0x16, 0x00, 0xfe, 0x26, 0x00, 0x02, 0x75, 0x10, 0x95, 0x02,
0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col02#5&99b72d3&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x5 (0xd)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 1
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 8
DEBUG:NotRange.Usage 66
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 8
DEBUG:NotRange.Usage 71
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 2
DEBUG:BitSize 3
DEBUG:ReportCount 1
DEBUG:ReportID 8
DEBUG:NotRange.Usage 81
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 2
DEBUG:BitPosition 0
DEBUG:BitSize 16
DEBUG:ReportCount 1
DEBUG:ReportID 8
DEBUG:NotRange.Usage 48
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 4
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 4
DEBUG:BitPosition 0
DEBUG:BitSize 16
DEBUG:ReportCount 1
DEBUG:ReportID 8
DEBUG:NotRange.Usage 49
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 6
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 6
DEBUG:BitPosition 0
DEBUG:BitSize 16
DEBUG:ReportCount 1
DEBUG:ReportID 8
DEBUG:NotRange.Usage 86
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 8
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 8
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 1
DEBUG:ReportID 8
DEBUG:NotRange.Usage 84
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 9
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 9
DEBUG:BitPosition 1
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 8
DEBUG:NotRange.Usage 3
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 10
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 9
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 8
DEBUG:NotRange.Usage 2
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 10
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 2
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 1
DEBUG:ReportID 9
DEBUG:NotRange.Usage 85
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 2
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 256
DEBUG:ReportID 10
DEBUG:NotRange.Usage 197
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 257
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2

05 0D            Usage Page (13)
09 05            Usage  (5)
A1 01            Collection (Application)
09 22            Usage  (34)
A1 02            Collection (Logical)
85 08            Report ID (8)
09 47            Usage (71)
09 42            Usage (66)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 02            Input (0x02)
09 51            Usage (81)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
75 03            Report Size (3)
95 01            Report Count (1)
81 02            Input (0x02)
75 03            Report Size (3)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
05 01            Usage Page (1)
09 30            Usage (48)
15 00            Logical Minimum (0)
26 AF 04         Logical Maximum (1199)
35 00            Physical Minimum (0)
46 E8 03         Physical Maximum (1000)
55 0E            Unit Exponent (14)
65 11            Unit (17)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
09 31            Usage (49)
15 00            Logical Minimum (0)
26 7B 02         Logical Maximum (635)
35 00            Physical Minimum (0)
46 12 02         Physical Maximum (530)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
C0               End Collection
05 0D            Usage Page (13)
09 56            Usage (86)
15 00            Logical Minimum (0)
27 FF FF 00 00   Logical Maximum (65535)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
09 54            Usage (84)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
75 08            Report Size (8)
95 01            Report Count (1)
81 02            Input (0x02)
05 09            Usage Page (9)
09 02            Usage (2)
09 03            Usage (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
45 00            Physical Maximum (0)
55 00            Unit Exponent (0)
65 00            Unit (0)
81 02            Input (0x02)
75 06            Report Size (6)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
85 09            Report ID (9)
05 0D            Usage Page (13)
09 55            Usage (85)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 01            Report Count (1)
B1 02            Feature (0x02)
85 0A            Report ID (10)
06 00 FF         Usage Page (65280)
09 C5            Usage (197)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
96 00 01         Report Count (256)
B1 02            Feature (0x02)
C0               End Collection
(204 bytes)
0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02,
0x85, 0x08, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00,
0x25, 0x05, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00,
0x26, 0xaf, 0x04, 0x35, 0x00, 0x46, 0xe8, 0x03, 0x55, 0x0e,
0x65, 0x11, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31,
0x15, 0x00, 0x26, 0x7b, 0x02, 0x35, 0x00, 0x46, 0x12, 0x02,
0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09,
0x56, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x35, 0x00,
0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10,
0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x54, 0x15, 0x00,
0x25, 0x05, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x05, 0x09,
0x09, 0x02, 0x09, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02,
0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x85, 0x09, 0x05, 0x0d,
0x09, 0x55, 0x15, 0x00, 0x25, 0x05, 0x35, 0x00, 0x47, 0xff,
0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08,
0x95, 0x01, 0xb1, 0x02, 0x85, 0x0a, 0x06, 0x00, 0xff, 0x09,
0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x96, 0x00,
0x01, 0xb1, 0x02, 0xc0,

Device Found
  type: 413c b06e
  path: \\?\hid#vid_413c&pid_b06e#c&37ff1248&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      101
  Interface:    -1
  Usage (page): 0xda (0xffda)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 2
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 191
DEBUG:ReportID 0
DEBUG:NotRange.Usage 1
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 193
DEBUG:IsAlias 0
DEBUG:IsRange 1
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 1
DEBUG:ReportID 0
DEBUG:NotRange.Usage 218
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 192
DEBUG:ReportID 0
DEBUG:NotRange.Usage 1
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 193
DEBUG:IsAlias 0
DEBUG:IsRange 1
DEBUG:IsPadding 0
DEBUG:BitField 2

06 DA FF         Usage Page (65498)
09 DA            Usage  (218)
A1 01            Collection (Application)
09 DA            Usage (218)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 02            Input (0x02)
19 01            Usage Minimum (1)
29 0E            Usage Maximum (14)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 BF            Report Count (191)
81 02            Input (0x02)
05 DA            Usage Page (218)
19 01            Usage Minimum (1)
29 05            Usage Maximum (5)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 C0            Report Count (192)
91 02            Output (0x02)
C0               End Collection
(50 bytes)
0x06, 0xda, 0xff, 0x09, 0xda, 0xa1, 0x01, 0x09, 0xda, 0x15,
0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x19,
0x01, 0x29, 0x0e, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95,
0xbf, 0x81, 0x02, 0x05, 0xda, 0x19, 0x01, 0x29, 0x05, 0x15,
0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0xc0, 0x91, 0x02, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x1 (0xc)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 1
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 1
DEBUG:NotRange.Usage 234
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 1
DEBUG:NotRange.Usage 233
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 16
DEBUG:ReportID 2
DEBUG:NotRange.Usage 0
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 3
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 32
DEBUG:ReportID 5
DEBUG:NotRange.Usage 0
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 33
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 32
DEBUG:ReportID 7
DEBUG:NotRange.Usage 0
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 33
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 36
DEBUG:ReportID 4
DEBUG:NotRange.Usage 0
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 37
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 36
DEBUG:ReportID 6
DEBUG:NotRange.Usage 0
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 37
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2

05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 01            Report ID (1)
09 E9            Usage (233)
09 EA            Usage (234)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 06            Input (0x06)
75 06            Report Size (6)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
85 02            Report ID (2)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 10            Report Count (16)
81 02            Input (0x02)
85 05            Report ID (5)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 07            Report ID (7)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 04            Report ID (4)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 24            Report Count (36)
91 02            Output (0x02)
85 06            Report ID (6)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 24            Report Count (36)
91 02            Output (0x02)
C0               End Collection
(99 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xe9,
0x09, 0xea, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02,
0x81, 0x06, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x85, 0x02,
0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10,
0x81, 0x02, 0x85, 0x05, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01,
0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x07, 0x09, 0x00,
0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02,
0x85, 0x04, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08,
0x95, 0x24, 0x91, 0x02, 0x85, 0x06, 0x09, 0x00, 0x15, 0x00,
0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x1 (0xc)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 2
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 2
DEBUG:NotRange.Usage 545
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 1
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 2
DEBUG:NotRange.Usage 234
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 2
DEBUG:NotRange.Usage 233
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2

05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 02            Report ID (2)
09 E9            Usage (233)
09 EA            Usage (234)
0A 21 02         Usage (545)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
C0               End Collection
(32 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x02, 0x09, 0xe9,
0x09, 0xea, 0x0a, 0x21, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75,
0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81,
0x03, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x5 (0xb)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 8
DEBUG:NotRange.Usage 47
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 2
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 8
DEBUG:NotRange.Usage 33
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 1
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 8
DEBUG:NotRange.Usage 32
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 9
DEBUG:NotRange.Usage 9
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 23
DEBUG:NotRange.Usage 23
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 24
DEBUG:NotRange.Usage 24
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 30
DEBUG:NotRange.Usage 30
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 32
DEBUG:NotRange.Usage 32
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 42
DEBUG:NotRange.Usage 42
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22

05 0B            Usage Page (11)
09 05            Usage  (5)
A1 01            Collection (Application)
85 08            Report ID (8)
09 2F            Usage (47)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
09 20            Usage (32)
09 21            Usage (33)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 22            Input (0x22)
75 05            Report Size (5)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
85 09            Report ID (9)
05 08            Usage Page (8)
09 09            Usage (9)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
85 17            Report ID (23)
09 17            Usage (23)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
85 18            Report ID (24)
09 18            Usage (24)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
85 1E            Report ID (30)
09 1E            Usage (30)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
85 20            Report ID (32)
09 20            Usage (32)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
85 2A            Report ID (42)
09 2A            Usage (42)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
C0               End Collection
(163 bytes)
0x05, 0x0b, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x08, 0x09, 0x2f,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x81, 0x22, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03,
0x85, 0x09, 0x05, 0x08, 0x09, 0x09, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x1e, 0x09, 0x1e, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x2a, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x80 (0x1)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 3
DEBUG:NotRange.Usage 129
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2

05 01            Usage Page (1)
09 80            Usage  (128)
A1 01            Collection (Application)
85 03            Report ID (3)
09 81            Usage (129)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 02            Input (0x02)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
C0               End Collection
(27 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x81,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x3 (0xffa0)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 32
DEBUG:ReportID 3
DEBUG:NotRange.Usage 48
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 33
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 4
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 20
DEBUG:NotRange.Usage 179
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 3
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 20
DEBUG:NotRange.Usage 183
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 2
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 20
DEBUG:NotRange.Usage 181
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 1
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 20
DEBUG:NotRange.Usage 178
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 20
DEBUG:NotRange.Usage 177
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 16
DEBUG:ReportCount 1
DEBUG:ReportID 21
DEBUG:NotRange.Usage 140
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 3
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 31
DEBUG:NotRange.Usage 156
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 32
DEBUG:ReportID 3
DEBUG:NotRange.Usage 48
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 33
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 3
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 25
DEBUG:NotRange.Usage 220
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 2
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 25
DEBUG:NotRange.Usage 158
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 1
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 25
DEBUG:NotRange.Usage 143
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 25
DEBUG:NotRange.Usage 141
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 5
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 25
DEBUG:NotRange.Usage 217
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 4
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 25
DEBUG:NotRange.Usage 210
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 26
DEBUG:NotRange.Usage 181
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 2
DEBUG:BytePosition 1
DEBUG:BitPosition 1
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 27
DEBUG:NotRange.Usage 181
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 2
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 27
DEBUG:NotRange.Usage 207
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 2
DEBUG:BytePosition 1
DEBUG:BitPosition 2
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 27
DEBUG:NotRange.Usage 222
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 1
DEBUG:BitField 23
DEBUG:ReportType 2
DEBUG:BytePosition 1
DEBUG:BitPosition 3
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 27
DEBUG:NotRange.Usage 216
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 2
DEBUG:BytePosition 2
DEBUG:BitPosition 5
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 27
DEBUG:NotRange.Usage 42
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 3
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 2
DEBUG:BytePosition 2
DEBUG:BitPosition 4
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 27
DEBUG:NotRange.Usage 32
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 3
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 2
DEBUG:BytePosition 2
DEBUG:BitPosition 3
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 27
DEBUG:NotRange.Usage 30
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 3
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 2
DEBUG:BytePosition 2
DEBUG:BitPosition 2
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 27
DEBUG:NotRange.Usage 24
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 3
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 2
DEBUG:BytePosition 2
DEBUG:BitPosition 1
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 27
DEBUG:NotRange.Usage 23
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 3
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22
DEBUG:ReportType 2
DEBUG:BytePosition 2
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 27
DEBUG:NotRange.Usage 9
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 3
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 22

06 A0 FF         Usage Page (65440)
09 03            Usage  (3)
A1 01            Collection (Application)
85 03            Report ID (3)
09 30            Usage (48)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 14            Report ID (20)
09 B1            Usage (177)
09 B2            Usage (178)
09 B5            Usage (181)
09 B7            Usage (183)
09 B3            Usage (179)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
81 06            Input (0x06)
75 03            Report Size (3)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
85 15            Report ID (21)
09 8C            Usage (140)
15 00            Logical Minimum (0)
27 FF FF 00 00   Logical Maximum (65535)
75 10            Report Size (16)
95 01            Report Count (1)
81 22            Input (0x22)
85 1F            Report ID (31)
09 9C            Usage (156)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
85 03            Report ID (3)
09 30            Usage (48)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
91 02            Output (0x02)
85 19            Report ID (25)
09 8D            Usage (141)
09 8F            Usage (143)
09 9E            Usage (158)
09 DC            Usage (220)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 04            Report Count (4)
91 22            Output (0x22)
09 D2            Usage (210)
09 D9            Usage (217)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
91 06            Output (0x06)
75 02            Report Size (2)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
85 1A            Report ID (26)
09 B5            Usage (181)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
85 1B            Report ID (27)
09 CF            Usage (207)
09 B5            Usage (181)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
B1 22            Feature (0x22)
09 DE            Usage (222)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 23            Feature (0x23)
09 D8            Usage (216)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 22            Feature (0x22)
75 04            Report Size (4)  Padding
95 01            Report Count (1) Padding
B1 03            Feature (0x03)   Padding
09 09            Usage (9)
09 17            Usage (23)
09 18            Usage (24)
09 1E            Usage (30)
09 20            Usage (32)
09 2A            Usage (42)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 06            Report Count (6)
B1 22            Feature (0x22)
75 02            Report Size (2)  Padding
95 01            Report Count (1) Padding
B1 03            Feature (0x03)   Padding
C0               End Collection
(235 bytes)
0x06, 0xa0, 0xff, 0x09, 0x03, 0xa1, 0x01, 0x85, 0x03, 0x09,
0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81,
0x02, 0x85, 0x14, 0x09, 0xb1, 0x09, 0xb2, 0x09, 0xb5, 0x09,
0xb7, 0x09, 0xb3, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
0x05, 0x81, 0x06, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x85,
0x15, 0x09, 0x8c, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00,
0x75, 0x10, 0x95, 0x01, 0x81, 0x22, 0x85, 0x1f, 0x09, 0x9c,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x85, 0x03, 0x09, 0x30,
0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x91, 0x02,
0x85, 0x19, 0x09, 0x8d, 0x09, 0x8f, 0x09, 0x9e, 0x09, 0xdc,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x91, 0x22,
0x09, 0xd2, 0x09, 0xd9, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x91, 0x06, 0x75, 0x02, 0x95, 0x01, 0x91, 0x03,
0x85, 0x1a, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03,
0x85, 0x1b, 0x09, 0xcf, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x02, 0xb1, 0x22, 0x09, 0xde, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x23, 0x09, 0xd8,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x22,
0x75, 0x04, 0x95, 0x01, 0xb1, 0x03, 0x09, 0x09, 0x09, 0x17,
0x09, 0x18, 0x09, 0x1e, 0x09, 0x20, 0x09, 0x2a, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x06, 0xb1, 0x22, 0x75, 0x02,
0x95, 0x01, 0xb1, 0x03, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col03#5&99b72d3&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x1 (0xff01)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 27
DEBUG:ReportID 3
DEBUG:NotRange.Usage 1
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 28
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 27
DEBUG:ReportID 4
DEBUG:NotRange.Usage 2
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 28
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 7
DEBUG:ReportID 6
DEBUG:NotRange.Usage 4
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 8
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 2
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 7
DEBUG:ReportID 5
DEBUG:NotRange.Usage 3
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 8
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2

06 01 FF         Usage Page (65281)
09 01            Usage  (1)
A1 01            Collection (Application)
85 03            Report ID (3)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 1B            Report Count (27)
81 02            Input (0x02)
85 04            Report ID (4)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 1B            Report Count (27)
81 02            Input (0x02)
85 06            Report ID (6)
09 04            Usage (4)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 07            Report Count (7)
81 02            Input (0x02)
85 05            Report ID (5)
09 03            Usage (3)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 07            Report Count (7)
B1 02            Feature (0x02)
C0               End Collection
(80 bytes)
0x06, 0x01, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x09,
0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff,
0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08,
0x95, 0x1b, 0x81, 0x02, 0x85, 0x04, 0x09, 0x02, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85,
0x06, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08,
0x95, 0x07, 0x81, 0x02, 0x85, 0x05, 0x09, 0x03, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0xb1, 0x02, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_00#7&1c54b96&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    0
  Usage (page): 0x6 (0x1)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 8
DEBUG:ReportID 0
DEBUG:NotRange.Usage 224
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 1
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 3
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 6
DEBUG:ReportID 0
DEBUG:NotRange.Usage 0
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 9
DEBUG:IsAlias 0
DEBUG:IsRange 1
DEBUG:IsPadding 0
DEBUG:BitField 0
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 5
DEBUG:ReportID 0
DEBUG:NotRange.Usage 1
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 1
DEBUG:IsPadding 0
DEBUG:BitField 2

05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
19 00            Usage Minimum (0)
29 A4            Usage Maximum (164)
15 00            Logical Minimum (0)
26 A4 00         Logical Maximum (164)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
05 08            Usage Page (8)
19 01            Usage Minimum (1)
29 05            Usage Maximum (5)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
91 02            Output (0x02)
75 03            Report Size (3)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
C0               End Collection
(66 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0,
0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08,
0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00,
0x29, 0xa4, 0x15, 0x00, 0x26, 0xa4, 0x00, 0x75, 0x08, 0x95,
0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15,
0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75,
0x03, 0x95, 0x01, 0x91, 0x03, 0xc0,

Device Found
  type: 413c 2107
  path: \\?\hid#vid_413c&pid_2107#e&1de7f0c0&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer: DELL
  Product:      Dell USB Entry Keyboard
  Release:      178
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 8
DEBUG:ReportID 0
DEBUG:NotRange.Usage 224
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 1
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 3
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 6
DEBUG:ReportID 0
DEBUG:NotRange.Usage 0
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 9
DEBUG:IsAlias 0
DEBUG:IsRange 1
DEBUG:IsPadding 0
DEBUG:BitField 0
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 3
DEBUG:ReportID 0
DEBUG:NotRange.Usage 1
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 1
DEBUG:IsPadding 0
DEBUG:BitField 2

05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
19 00            Usage Minimum (0)
29 FF            Usage Maximum (255)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
05 08            Usage Page (8)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
91 02            Output (0x02)
75 05            Report Size (5)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
C0               End Collection
(66 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0,
0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08,
0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00,
0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95,
0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x03, 0x15,
0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x91, 0x02, 0x75,
0x05, 0x95, 0x01, 0x91, 0x03, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col04#5&99b72d3&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x1 (0xff02)
  Report Descriptor: DEBUG:ReportType 2
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 134
DEBUG:ReportID 7
DEBUG:NotRange.Usage 2
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 135
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2

06 02 FF         Usage Page (65282)
09 01            Usage  (1)
A1 01            Collection (Application)
85 07            Report ID (7)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 86            Report Count (134)
B1 02            Feature (0x02)
C0               End Collection
(35 bytes)
0x06, 0x02, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x09,
0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff,
0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08,
0x95, 0x86, 0xb1, 0x02, 0xc0,

Device Found
  type: 046d c077
  path: \\?\hid#vid_046d&pid_c077#e&fde55df&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Optical Mouse
  Release:      7200
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 8
DEBUG:ReportID 0
DEBUG:NotRange.Usage 1
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 1
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 4
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 1
DEBUG:ReportID 0
DEBUG:NotRange.Usage 56
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 5
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 0
DEBUG:BytePosition 3
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 1
DEBUG:ReportID 0
DEBUG:NotRange.Usage 49
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 4
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6
DEBUG:ReportType 0
DEBUG:BytePosition 2
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 1
DEBUG:ReportID 0
DEBUG:NotRange.Usage 48
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 3
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 6

05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
09 38            Usage (56)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 03            Report Count (3)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(46 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x05, 0x01, 0x09, 0x30,
0x09, 0x31, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08,
0x95, 0x03, 0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col05#5&99b72d3&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0xe (0xd)
  Report Descriptor: DEBUG:ReportType 2
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 1
DEBUG:ReportID 11
DEBUG:NotRange.Usage 82
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 2
DEBUG:BytePosition 1
DEBUG:BitPosition 1
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 12
DEBUG:NotRange.Usage 88
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 2
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 12
DEBUG:NotRange.Usage 87
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2

05 0D            Usage Page (13)
09 0E            Usage  (14)
A1 01            Collection (Application)
09 22            Usage  (34)
A1 02            Collection (Logical)
85 0B            Report ID (11)
09 52            Usage (82)
15 00            Logical Minimum (0)
25 0A            Logical Maximum (10)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 01            Report Count (1)
B1 02            Feature (0x02)
C0               End Collection
09 22            Usage  (34)
A1 00            Collection (Physical)
85 0C            Report ID (12)
09 57            Usage (87)
09 58            Usage (88)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
45 00            Physical Maximum (0)
55 00            Unit Exponent (0)
65 00            Unit (0)
B1 02            Feature (0x02)
75 06            Report Size (6)  Padding
95 01            Report Count (1) Padding
B1 03            Feature (0x03)   Padding
C0               End Collection
C0               End Collection
(71 bytes)
0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02,
0x85, 0x0b, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x35, 0x00,
0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10,
0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1,
0x00, 0x85, 0x0c, 0x09, 0x57, 0x09, 0x58, 0x15, 0x00, 0x25,
0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65,
0x00, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0xb1, 0x03, 0xc0,
0xc0,

Device Found
  type: 413c b06f
  path: \\?\hid#vid_413c&pid_b06f#d&3624b04c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      101
  Interface:    -1
  Usage (page): 0xda (0xffda)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 2
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 191
DEBUG:ReportID 0
DEBUG:NotRange.Usage 1
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 193
DEBUG:IsAlias 0
DEBUG:IsRange 1
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 1
DEBUG:ReportID 0
DEBUG:NotRange.Usage 218
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 1
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 8
DEBUG:ReportCount 192
DEBUG:ReportID 0
DEBUG:NotRange.Usage 1
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 193
DEBUG:IsAlias 0
DEBUG:IsRange 1
DEBUG:IsPadding 0
DEBUG:BitField 2

06 DA FF         Usage Page (65498)
09 DA            Usage  (218)
A1 01            Collection (Application)
09 DA            Usage (218)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 02            Input (0x02)
19 01            Usage Minimum (1)
29 0E            Usage Maximum (14)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 BF            Report Count (191)
81 02            Input (0x02)
05 DA            Usage Page (218)
19 01            Usage Minimum (1)
29 05            Usage Maximum (5)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 C0            Report Count (192)
91 02            Output (0x02)
C0               End Collection
(50 bytes)
0x06, 0xda, 0xff, 0x09, 0xda, 0xa1, 0x01, 0x09, 0xda, 0x15,
0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x19,
0x01, 0x29, 0x0e, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95,
0xbf, 0x81, 0x02, 0x05, 0xda, 0x19, 0x01, 0x29, 0x05, 0x15,
0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0xc0, 0x91, 0x02, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col01#5&379854aa&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor: DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 7
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 1
DEBUG:NotRange.Usage 224
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 6
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 1
DEBUG:NotRange.Usage 226
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 5
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 1
DEBUG:NotRange.Usage 76
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 4
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 1
DEBUG:NotRange.Usage 227
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 3
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 1
DEBUG:NotRange.Usage 108
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 2
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 1
DEBUG:NotRange.Usage 107
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 1
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 1
DEBUG:NotRange.Usage 106
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2
DEBUG:ReportType 0
DEBUG:BytePosition 1
DEBUG:BitPosition 0
DEBUG:BitSize 1
DEBUG:ReportCount 1
DEBUG:ReportID 1
DEBUG:NotRange.Usage 105
DEBUG:IsMultipleItemsForArray 0
DEBUG:NextBytePosition 2
DEBUG:IsAlias 0
DEBUG:IsRange 0
DEBUG:IsPadding 0
DEBUG:BitField 2

05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
85 01            Report ID (1)
05 07            Usage Page (7)
09 69            Usage (105)
09 6A            Usage (106)
09 6B            Usage (107)
09 6C            Usage (108)
09 E3            Usage (227)
09 4C            Usage (76)
09 E2            Usage (226)
09 E0            Usage (224)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
C0               End Collection
(37 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x01, 0x05, 0x07,
0x09, 0x69, 0x09, 0x6a, 0x09, 0x6b, 0x09, 0x6c, 0x09, 0xe3,
0x09, 0x4c, 0x09, 0xe2, 0x09, 0xe0, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0xc0,

unable to open device
Full debug log with the latest git with quite some devices attached, including the Logitech USB Receiver, Dell USB Mouse, Dell USB Keyboard and the Plantronics USB headset. <details> <summary> Click to expand for the full debug log </summary> ``` C:\work\hid\hidapi_test1\windows\x64\Release [windows_report_descriptor_reconstructor ≡]> .\hidtest.exe hidapi test/example tool. Compiled with hidapi version 0.11.0, runtime version 0.11.0. Compile-time version matches runtime version of hidapi. Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col01#7&383a3a17&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 02 Report ID (2) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 10 Usage Maximum (16) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 10 Report Count (16) 81 02 Input (0x02) 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 16 01 F8 Logical Minimum (-2047) 26 FF 07 Logical Maximum (2047) 75 0C Report Size (12) 95 02 Report Count (2) 81 06 Input (0x06) 09 38 Usage (56) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) 05 0C Usage Page (12) 0A 38 02 Usage (568) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) C0 End Collection C0 End Collection (75 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07, 0x75, 0x0c, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col02#7&383a3a17&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xc) Report Descriptor: HIDP_STATUS_BUFFER_TOO_SMALL HIDP_STATUS_BUFFER_TOO_SMALL 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 03 Report ID (3) 19 01 Usage Minimum (1) 2A 8C 02 Usage Maximum (652) 15 01 Logical Minimum (1) 26 8C 02 Logical Maximum (652) 75 10 Report Size (16) 95 02 Report Count (2) 81 00 Input (0x00) C0 End Collection (25 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x01, 0x2a, 0x8c, 0x02, 0x15, 0x01, 0x26, 0x8c, 0x02, 0x75, 0x10, 0x95, 0x02, 0x81, 0x00, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col03#7&383a3a17&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x80 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 80 Usage (128) A1 01 Collection (Application) 85 04 Report ID (4) 09 83 Usage (131) 09 81 Usage (129) 09 82 Usage (130) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 60 Input (0x60) C0 End Collection (25 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x83, 0x09, 0x81, 0x09, 0x82, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x60, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col04#7&383a3a17&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xff00) Report Descriptor: 06 00 FF Usage Page (65280) 09 01 Usage (1) A1 01 Collection (Application) 85 10 Report ID (16) 09 01 Usage (1) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 00 Input (0x00) 09 01 Usage (1) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 00 Output (0x00) C0 End Collection (34 bytes) 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x09, 0x01, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x00, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col01#5&99b72d3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 01 Report ID (1) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 09 38 Usage (56) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 03 Report Count (3) 81 06 Input (0x06) 05 0C Usage Page (12) 0A 38 02 Usage (568) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) C0 End Collection C0 End Collection (69 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x01, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 8087 0a1e path: \\?\hid#intc816&col01#3&36a7043c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 200 Interface: -1 Usage (page): 0xc (0x1) Report Descriptor: 05 01 Usage Page (1) 09 0C Usage (12) A1 01 Collection (Application) 85 08 Report ID (8) 09 C6 Usage (198) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (27 bytes) 0x05, 0x01, 0x09, 0x0c, 0xa1, 0x01, 0x85, 0x08, 0x09, 0xc6, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 044e 1212 path: \\?\hid#vid_044e&pid_1212&col01&col02#7&290aacae&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: HIDP_STATUS_BUFFER_TOO_SMALL HIDP_STATUS_BUFFER_TOO_SMALL 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 85 07 Report ID (7) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) 95 01 Report Count (1) 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 75 Usage Maximum (117) 15 00 Logical Minimum (0) 25 75 Logical Maximum (117) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) C0 End Collection (45 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x07, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0x75, 0x15, 0x00, 0x25, 0x75, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col05#7&383a3a17&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0xff00) Report Descriptor: 06 00 FF Usage Page (65280) 09 02 Usage (2) A1 01 Collection (Application) 85 11 Report ID (17) 09 02 Usage (2) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 00 Input (0x00) 09 02 Usage (2) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 00 Output (0x00) C0 End Collection (34 bytes) 0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x09, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x00, 0xc0, Device Found type: 8087 0a1e path: \\?\hid#intc816&col02#3&36a7043c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 200 Interface: -1 Usage (page): 0xd (0x1) Report Descriptor: 05 01 Usage Page (1) 09 0D Usage (13) A1 01 Collection (Application) 09 0D Usage (13) A1 02 Collection (Logical) 85 1C Report ID (28) 09 81 Usage (129) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 02 Input (0x02) 09 CB Usage (203) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 02 Feature (0x02) 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection C0 End Collection (50 bytes) 0x05, 0x01, 0x09, 0x0d, 0xa1, 0x01, 0x09, 0x0d, 0xa1, 0x02, 0x85, 0x1c, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x09, 0xcb, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, Device Found type: 044e 1212 path: \\?\hid#vid_044e&pid_1212&col01&col01#7&290aacae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 06 Report ID (6) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 16 00 FE Logical Minimum (-512) 26 00 02 Logical Maximum (512) 75 10 Report Size (16) 95 02 Report Count (2) 81 06 Input (0x06) C0 End Collection C0 End Collection (54 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x06, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x00, 0xfe, 0x26, 0x00, 0x02, 0x75, 0x10, 0x95, 0x02, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col02#5&99b72d3&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x5 (0xd) Report Descriptor: 05 0D Usage Page (13) 09 05 Usage (5) A1 01 Collection (Application) 09 22 Usage (34) A1 02 Collection (Logical) 85 08 Report ID (8) 09 47 Usage (71) 09 42 Usage (66) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 02 Input (0x02) 09 51 Usage (81) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 75 03 Report Size (3) 95 01 Report Count (1) 81 02 Input (0x02) 75 03 Report Size (3) 95 01 Report Count (1) 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 15 00 Logical Minimum (0) 26 AF 04 Logical Maximum (1199) 35 00 Physical Minimum (0) 46 E8 03 Physical Maximum (1000) 55 0E Unit Exponent (14) 65 11 Unit (17) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) 09 31 Usage (49) 15 00 Logical Minimum (0) 26 7B 02 Logical Maximum (635) 35 00 Physical Minimum (0) 46 12 02 Physical Maximum (530) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) C0 End Collection 05 0D Usage Page (13) 09 56 Usage (86) 15 00 Logical Minimum (0) 27 FF FF 00 00 Logical Maximum (65535) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) 09 54 Usage (84) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 75 08 Report Size (8) 95 01 Report Count (1) 81 02 Input (0x02) 05 09 Usage Page (9) 09 02 Usage (2) 09 03 Usage (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 45 00 Physical Maximum (0) 55 00 Unit Exponent (0) 65 00 Unit (0) 81 02 Input (0x02) 85 09 Report ID (9) 05 0D Usage Page (13) 09 55 Usage (85) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 01 Report Count (1) B1 02 Feature (0x02) 85 0A Report ID (10) 06 00 FF Usage Page (65280) 09 C5 Usage (197) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 96 00 01 Report Count (256) B1 02 Feature (0x02) 75 06 Report Size (6) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (204 bytes) 0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02, 0x85, 0x08, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00, 0x25, 0x05, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00, 0x26, 0xaf, 0x04, 0x35, 0x00, 0x46, 0xe8, 0x03, 0x55, 0x0e, 0x65, 0x11, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31, 0x15, 0x00, 0x26, 0x7b, 0x02, 0x35, 0x00, 0x46, 0x12, 0x02, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x56, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x54, 0x15, 0x00, 0x25, 0x05, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x05, 0x09, 0x09, 0x02, 0x09, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02, 0x85, 0x09, 0x05, 0x0d, 0x09, 0x55, 0x15, 0x00, 0x25, 0x05, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0x85, 0x0a, 0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 413c b06e path: \\?\hid#vid_413c&pid_b06e#c&37ff1248&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 101 Interface: -1 Usage (page): 0xda (0xffda) Report Descriptor: 06 DA FF Usage Page (65498) 09 DA Usage (218) A1 01 Collection (Application) 09 DA Usage (218) 19 01 Usage Minimum (1) 29 0E Usage Maximum (14) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 0F Report Count (15) 81 02 Input (0x02) 05 DA Usage Page (218) 19 01 Usage Minimum (1) 29 05 Usage Maximum (5) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 05 Report Count (5) 91 02 Output (0x02) C0 End Collection (40 bytes) 0x06, 0xda, 0xff, 0x09, 0xda, 0xa1, 0x01, 0x09, 0xda, 0x19, 0x01, 0x29, 0x0e, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x0f, 0x81, 0x02, 0x05, 0xda, 0x19, 0x01, 0x29, 0x05, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x05, 0x91, 0x02, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 01 Report ID (1) 09 E9 Usage (233) 09 EA Usage (234) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 06 Input (0x06) 85 02 Report ID (2) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 02 Input (0x02) 85 05 Report ID (5) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 07 Report ID (7) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 04 Report ID (4) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 24 Report Count (36) 91 02 Output (0x02) 85 06 Report ID (6) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 24 Report Count (36) 91 02 Output (0x02) 75 06 Report Size (6) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (99 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xe9, 0x09, 0xea, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x06, 0x85, 0x02, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x85, 0x05, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x07, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x04, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x85, 0x06, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 02 Report ID (2) 09 E9 Usage (233) 09 EA Usage (234) 0A 21 02 Usage (545) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (32 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x02, 0x09, 0xe9, 0x09, 0xea, 0x0a, 0x21, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x5 (0xb) Report Descriptor: 05 0B Usage Page (11) 09 05 Usage (5) A1 01 Collection (Application) 85 08 Report ID (8) 09 2F Usage (47) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 09 20 Usage (32) 09 21 Usage (33) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 22 Input (0x22) 85 09 Report ID (9) 05 08 Usage Page (8) 09 09 Usage (9) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 17 Report ID (23) 09 17 Usage (23) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 18 Report ID (24) 09 18 Usage (24) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 1E Report ID (30) 09 1E Usage (30) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 20 Report ID (32) 09 20 Usage (32) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 2A Report ID (42) 09 2A Usage (42) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding C0 End Collection (163 bytes) 0x05, 0x0b, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x08, 0x09, 0x2f, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x22, 0x85, 0x09, 0x05, 0x08, 0x09, 0x09, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x1e, 0x09, 0x1e, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x2a, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x80 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 80 Usage (128) A1 01 Collection (Application) 85 03 Report ID (3) 09 81 Usage (129) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 02 Input (0x02) 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (27 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x3 (0xffa0) Report Descriptor: 06 A0 FF Usage Page (65440) 09 03 Usage (3) A1 01 Collection (Application) 85 14 Report ID (20) 09 B1 Usage (177) 09 B2 Usage (178) 09 B5 Usage (181) 09 B7 Usage (183) 09 B3 Usage (179) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 81 06 Input (0x06) 85 1F Report ID (31) 09 9C Usage (156) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 85 03 Report ID (3) 09 30 Usage (48) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 15 Report ID (21) 09 8C Usage (140) 15 00 Logical Minimum (0) 27 FF FF 00 00 Logical Maximum (65535) 75 10 Report Size (16) 95 01 Report Count (1) 81 22 Input (0x22) 85 19 Report ID (25) 09 8D Usage (141) 09 8F Usage (143) 09 9E Usage (158) 09 DC Usage (220) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 04 Report Count (4) 91 22 Output (0x22) 09 D2 Usage (210) 09 D9 Usage (217) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 91 06 Output (0x06) 85 1A Report ID (26) 09 B5 Usage (181) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 03 Report ID (3) 09 30 Usage (48) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 91 02 Output (0x02) 85 1B Report ID (27) 09 CF Usage (207) 09 B5 Usage (181) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) B1 22 Feature (0x22) 09 DE Usage (222) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 23 Feature (0x23) 09 D8 Usage (216) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 22 Feature (0x22) 75 04 Report Size (4) 95 01 Report Count (1) B1 03 Feature (0x03) Padding 09 09 Usage (9) 09 17 Usage (23) 09 18 Usage (24) 09 1E Usage (30) 09 20 Usage (32) 09 2A Usage (42) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 06 Report Count (6) B1 22 Feature (0x22) 75 03 Report Size (3) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 02 Report Size (2) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 02 Report Size (2) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection (235 bytes) 0x06, 0xa0, 0xff, 0x09, 0x03, 0xa1, 0x01, 0x85, 0x14, 0x09, 0xb1, 0x09, 0xb2, 0x09, 0xb5, 0x09, 0xb7, 0x09, 0xb3, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x81, 0x06, 0x85, 0x1f, 0x09, 0x9c, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x15, 0x09, 0x8c, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81, 0x22, 0x85, 0x19, 0x09, 0x8d, 0x09, 0x8f, 0x09, 0x9e, 0x09, 0xdc, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x91, 0x22, 0x09, 0xd2, 0x09, 0xd9, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x91, 0x06, 0x85, 0x1a, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x91, 0x02, 0x85, 0x1b, 0x09, 0xcf, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0xb1, 0x22, 0x09, 0xde, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x23, 0x09, 0xd8, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x22, 0x75, 0x04, 0x95, 0x01, 0xb1, 0x03, 0x09, 0x09, 0x09, 0x17, 0x09, 0x18, 0x09, 0x1e, 0x09, 0x20, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x06, 0xb1, 0x22, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x75, 0x02, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x02, 0x95, 0x01, 0xb1, 0x03, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col03#5&99b72d3&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x1 (0xff01) Report Descriptor: 06 01 FF Usage Page (65281) 09 01 Usage (1) A1 01 Collection (Application) 85 03 Report ID (3) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 1B Report Count (27) 81 02 Input (0x02) 85 04 Report ID (4) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 1B Report Count (27) 81 02 Input (0x02) 85 06 Report ID (6) 09 04 Usage (4) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 07 Report Count (7) 81 02 Input (0x02) 85 05 Report ID (5) 09 03 Usage (3) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 07 Report Count (7) B1 02 Feature (0x02) C0 End Collection (80 bytes) 0x06, 0x01, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85, 0x04, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85, 0x06, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0x81, 0x02, 0x85, 0x05, 0x09, 0x03, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0xb1, 0x02, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_00#7&1c54b96&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 0 Usage (page): 0x6 (0x1) Report Descriptor: HIDP_STATUS_BUFFER_TOO_SMALL HIDP_STATUS_BUFFER_TOO_SMALL 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) 95 01 Report Count (1) 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 A4 Usage Maximum (164) 15 00 Logical Minimum (0) 26 A4 00 Logical Maximum (164) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 05 08 Usage Page (8) 19 01 Usage Minimum (1) 29 05 Usage Maximum (5) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 91 02 Output (0x02) 75 03 Report Size (3) 95 01 Report Count (1) 91 03 Output (0x03) Padding C0 End Collection (66 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0xa4, 0x15, 0x00, 0x26, 0xa4, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75, 0x03, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 413c 2107 path: \\?\hid#vid_413c&pid_2107#e&1de7f0c0&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: DELL Product: Dell USB Entry Keyboard Release: 178 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: HIDP_STATUS_BUFFER_TOO_SMALL HIDP_STATUS_BUFFER_TOO_SMALL 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 19 00 Usage Minimum (0) 29 FF Usage Maximum (255) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 05 08 Usage Page (8) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 91 02 Output (0x02) Report Size (-8) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 2F Report Size (47) 95 01 Report Count (1) 81 03 Input (0x03) Padding Report Size (-41) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 01 Report Size (1) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 05 Report Size (5) 95 01 Report Count (1) 91 03 Output (0x03) Padding C0 End Collection (80 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x19, 0x00, 0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x91, 0x02, 0x95, 0x01, 0x81, 0x03, 0x75, 0x2f, 0x95, 0x01, 0x81, 0x03, 0x95, 0x01, 0x81, 0x03, 0x75, 0x01, 0x95, 0x01, 0x81, 0x03, 0x75, 0x05, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col04#5&99b72d3&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x1 (0xff02) Report Descriptor: 06 02 FF Usage Page (65282) 09 01 Usage (1) A1 01 Collection (Application) 85 07 Report ID (7) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 86 Report Count (134) B1 02 Feature (0x02) C0 End Collection (35 bytes) 0x06, 0x02, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x86, 0xb1, 0x02, 0xc0, Device Found type: 046d c077 path: \\?\hid#vid_046d&pid_c077#e&fde55df&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Optical Mouse Release: 7200 Interface: -1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 09 38 Usage (56) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 03 Report Count (3) 81 06 Input (0x06) C0 End Collection C0 End Collection (52 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col05#5&99b72d3&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0xe (0xd) Report Descriptor: 05 0D Usage Page (13) 09 0E Usage (14) A1 01 Collection (Application) 09 22 Usage (34) A1 02 Collection (Logical) 85 0B Report ID (11) 09 52 Usage (82) 15 00 Logical Minimum (0) 25 0A Logical Maximum (10) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 01 Report Count (1) B1 02 Feature (0x02) C0 End Collection 09 22 Usage (34) A1 00 Collection (Physical) 85 0C Report ID (12) 09 57 Usage (87) 09 58 Usage (88) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 45 00 Physical Maximum (0) 55 00 Unit Exponent (0) 65 00 Unit (0) B1 02 Feature (0x02) 75 06 Report Size (6) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection C0 End Collection (71 bytes) 0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02, 0x85, 0x0b, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1, 0x00, 0x85, 0x0c, 0x09, 0x57, 0x09, 0x58, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, Device Found type: 413c b06f path: \\?\hid#vid_413c&pid_b06f#d&3624b04c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 101 Interface: -1 Usage (page): 0xda (0xffda) Report Descriptor: 06 DA FF Usage Page (65498) 09 DA Usage (218) A1 01 Collection (Application) 09 DA Usage (218) 19 01 Usage Minimum (1) 29 0E Usage Maximum (14) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 0F Report Count (15) 81 02 Input (0x02) 05 DA Usage Page (218) 19 01 Usage Minimum (1) 29 05 Usage Maximum (5) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 05 Report Count (5) 91 02 Output (0x02) C0 End Collection (40 bytes) 0x06, 0xda, 0xff, 0x09, 0xda, 0xa1, 0x01, 0x09, 0xda, 0x19, 0x01, 0x29, 0x0e, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x0f, 0x81, 0x02, 0x05, 0xda, 0x19, 0x01, 0x29, 0x05, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x05, 0x91, 0x02, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col01#5&379854aa&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 85 01 Report ID (1) 05 07 Usage Page (7) 09 69 Usage (105) 09 6A Usage (106) 09 6B Usage (107) 09 6C Usage (108) 09 E3 Usage (227) 09 4C Usage (76) 09 E2 Usage (226) 09 E0 Usage (224) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) C0 End Collection (37 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x01, 0x05, 0x07, 0x09, 0x69, 0x09, 0x6a, 0x09, 0x6b, 0x09, 0x6c, 0x09, 0xe3, 0x09, 0x4c, 0x09, 0xe2, 0x09, 0xe0, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0xc0, unable to open device C:\work\hid\hidapi_test1\windows\x64\Release [windows_report_descriptor_reconstructor ≡]> cd .. C:\work\hid\hidapi_test1\windows\x64 [windows_report_descriptor_reconstructor ≡]> cd .\Debug\ C:\work\hid\hidapi_test1\windows\x64\Debug [windows_report_descriptor_reconstructor ≡]> ls Directory: C:\work\hid\hidapi_test1\windows\x64\Debug Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 7/26/2021 10:19 AM hidapi.tlog d---- 7/26/2021 10:19 AM hidtest.tlog -a--- 7/12/2021 11:36 AM 47603 debuglog.txt -a--- 7/26/2021 10:19 AM 1117 hidapi.Build.CppClean.log -a--- 7/26/2021 10:19 AM 110080 hidapi.dll -a--- 7/26/2021 10:19 AM 296 hidapi.dll.recipe -a--- 7/26/2021 10:19 AM 6040 hidapi.lib -a--- 7/26/2021 10:19 AM 528 hidapi.log -a--- 7/26/2021 10:19 AM 55 hidapi.vcxproj.FileListAbsolute.txt -a--- 7/12/2021 3:00 PM 50953 hidsharp_log.txt -a--- 7/26/2021 10:19 AM 992 hidtest.Build.CppClean.log -a--- 7/26/2021 10:19 AM 67072 hidtest.exe -a--- 7/26/2021 10:19 AM 422 hidtest.exe.recipe -a--- 7/26/2021 10:19 AM 535948 hidtest.ilk -a--- 7/26/2021 10:19 AM 388 hidtest.log -a--- 7/26/2021 10:19 AM 864256 hidtest.pdb -a--- 7/26/2021 10:19 AM 56 hidtest.vcxproj.FileListAbsolute.txt -a--- 7/26/2021 10:19 AM 32297 test.obj -a--- 7/26/2021 10:19 AM 248832 vc142.idb -a--- 7/26/2021 10:19 AM 110592 vc142.pdb C:\work\hid\hidapi_test1\windows\x64\Debug [windows_report_descriptor_reconstructor ≡]> .\hidtest.exe hidapi test/example tool. Compiled with hidapi version 0.11.0, runtime version 0.11.0. Compile-time version matches runtime version of hidapi. Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col01#7&383a3a17&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 02 Report ID (2) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 10 Usage Maximum (16) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 10 Report Count (16) 81 02 Input (0x02) 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 16 01 F8 Logical Minimum (-2047) 26 FF 07 Logical Maximum (2047) 75 0C Report Size (12) 95 02 Report Count (2) 81 06 Input (0x06) 09 38 Usage (56) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) 05 0C Usage Page (12) 0A 38 02 Usage (568) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) C0 End Collection C0 End Collection (75 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07, 0x75, 0x0c, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col02#7&383a3a17&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xc) Report Descriptor: HIDP_STATUS_BUFFER_TOO_SMALL HIDP_STATUS_BUFFER_TOO_SMALL 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 03 Report ID (3) 19 01 Usage Minimum (1) 2A 8C 02 Usage Maximum (652) 15 01 Logical Minimum (1) 26 8C 02 Logical Maximum (652) 75 10 Report Size (16) 95 02 Report Count (2) 81 00 Input (0x00) C0 End Collection (25 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x01, 0x2a, 0x8c, 0x02, 0x15, 0x01, 0x26, 0x8c, 0x02, 0x75, 0x10, 0x95, 0x02, 0x81, 0x00, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col03#7&383a3a17&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x80 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 80 Usage (128) A1 01 Collection (Application) 85 04 Report ID (4) 09 83 Usage (131) 09 81 Usage (129) 09 82 Usage (130) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 60 Input (0x60) C0 End Collection (25 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x83, 0x09, 0x81, 0x09, 0x82, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x60, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col04#7&383a3a17&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xff00) Report Descriptor: 06 00 FF Usage Page (65280) 09 01 Usage (1) A1 01 Collection (Application) 85 10 Report ID (16) 09 01 Usage (1) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 00 Input (0x00) 09 01 Usage (1) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 00 Output (0x00) C0 End Collection (34 bytes) 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x09, 0x01, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x00, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col01#5&99b72d3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 01 Report ID (1) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 09 38 Usage (56) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 03 Report Count (3) 81 06 Input (0x06) 05 0C Usage Page (12) 0A 38 02 Usage (568) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) C0 End Collection C0 End Collection (69 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x01, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 8087 0a1e path: \\?\hid#intc816&col01#3&36a7043c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 200 Interface: -1 Usage (page): 0xc (0x1) Report Descriptor: 05 01 Usage Page (1) 09 0C Usage (12) A1 01 Collection (Application) 85 08 Report ID (8) 09 C6 Usage (198) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (27 bytes) 0x05, 0x01, 0x09, 0x0c, 0xa1, 0x01, 0x85, 0x08, 0x09, 0xc6, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 044e 1212 path: \\?\hid#vid_044e&pid_1212&col01&col02#7&290aacae&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: HIDP_STATUS_BUFFER_TOO_SMALL HIDP_STATUS_BUFFER_TOO_SMALL 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 85 07 Report ID (7) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) 95 01 Report Count (1) 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 75 Usage Maximum (117) 15 00 Logical Minimum (0) 25 75 Logical Maximum (117) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) C0 End Collection (45 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x07, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0x75, 0x15, 0x00, 0x25, 0x75, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col05#7&383a3a17&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0xff00) Report Descriptor: 06 00 FF Usage Page (65280) 09 02 Usage (2) A1 01 Collection (Application) 85 11 Report ID (17) 09 02 Usage (2) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 00 Input (0x00) 09 02 Usage (2) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 00 Output (0x00) C0 End Collection (34 bytes) 0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x09, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x00, 0xc0, Device Found type: 8087 0a1e path: \\?\hid#intc816&col02#3&36a7043c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 200 Interface: -1 Usage (page): 0xd (0x1) Report Descriptor: 05 01 Usage Page (1) 09 0D Usage (13) A1 01 Collection (Application) 09 0D Usage (13) A1 02 Collection (Logical) 85 1C Report ID (28) 09 81 Usage (129) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 02 Input (0x02) 09 CB Usage (203) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 02 Feature (0x02) 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection C0 End Collection (50 bytes) 0x05, 0x01, 0x09, 0x0d, 0xa1, 0x01, 0x09, 0x0d, 0xa1, 0x02, 0x85, 0x1c, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x09, 0xcb, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, Device Found type: 044e 1212 path: \\?\hid#vid_044e&pid_1212&col01&col01#7&290aacae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 06 Report ID (6) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 16 00 FE Logical Minimum (-512) 26 00 02 Logical Maximum (512) 75 10 Report Size (16) 95 02 Report Count (2) 81 06 Input (0x06) C0 End Collection C0 End Collection (54 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x06, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x00, 0xfe, 0x26, 0x00, 0x02, 0x75, 0x10, 0x95, 0x02, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col02#5&99b72d3&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x5 (0xd) Report Descriptor: 05 0D Usage Page (13) 09 05 Usage (5) A1 01 Collection (Application) 09 22 Usage (34) A1 02 Collection (Logical) 85 08 Report ID (8) 09 47 Usage (71) 09 42 Usage (66) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 02 Input (0x02) 09 51 Usage (81) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 75 03 Report Size (3) 95 01 Report Count (1) 81 02 Input (0x02) 75 03 Report Size (3) 95 01 Report Count (1) 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 15 00 Logical Minimum (0) 26 AF 04 Logical Maximum (1199) 35 00 Physical Minimum (0) 46 E8 03 Physical Maximum (1000) 55 0E Unit Exponent (14) 65 11 Unit (17) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) 09 31 Usage (49) 15 00 Logical Minimum (0) 26 7B 02 Logical Maximum (635) 35 00 Physical Minimum (0) 46 12 02 Physical Maximum (530) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) C0 End Collection 05 0D Usage Page (13) 09 56 Usage (86) 15 00 Logical Minimum (0) 27 FF FF 00 00 Logical Maximum (65535) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) 09 54 Usage (84) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 75 08 Report Size (8) 95 01 Report Count (1) 81 02 Input (0x02) 05 09 Usage Page (9) 09 02 Usage (2) 09 03 Usage (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 45 00 Physical Maximum (0) 55 00 Unit Exponent (0) 65 00 Unit (0) 81 02 Input (0x02) 85 09 Report ID (9) 05 0D Usage Page (13) 09 55 Usage (85) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 01 Report Count (1) B1 02 Feature (0x02) 85 0A Report ID (10) 06 00 FF Usage Page (65280) 09 C5 Usage (197) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 96 00 01 Report Count (256) B1 02 Feature (0x02) 75 06 Report Size (6) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (204 bytes) 0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02, 0x85, 0x08, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00, 0x25, 0x05, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00, 0x26, 0xaf, 0x04, 0x35, 0x00, 0x46, 0xe8, 0x03, 0x55, 0x0e, 0x65, 0x11, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31, 0x15, 0x00, 0x26, 0x7b, 0x02, 0x35, 0x00, 0x46, 0x12, 0x02, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x56, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x54, 0x15, 0x00, 0x25, 0x05, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x05, 0x09, 0x09, 0x02, 0x09, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02, 0x85, 0x09, 0x05, 0x0d, 0x09, 0x55, 0x15, 0x00, 0x25, 0x05, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0x85, 0x0a, 0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 413c b06e path: \\?\hid#vid_413c&pid_b06e#c&37ff1248&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 101 Interface: -1 Usage (page): 0xda (0xffda) Report Descriptor: 06 DA FF Usage Page (65498) 09 DA Usage (218) A1 01 Collection (Application) 09 DA Usage (218) 19 01 Usage Minimum (1) 29 0E Usage Maximum (14) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 0F Report Count (15) 81 02 Input (0x02) 05 DA Usage Page (218) 19 01 Usage Minimum (1) 29 05 Usage Maximum (5) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 05 Report Count (5) 91 02 Output (0x02) C0 End Collection (40 bytes) 0x06, 0xda, 0xff, 0x09, 0xda, 0xa1, 0x01, 0x09, 0xda, 0x19, 0x01, 0x29, 0x0e, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x0f, 0x81, 0x02, 0x05, 0xda, 0x19, 0x01, 0x29, 0x05, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x05, 0x91, 0x02, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 01 Report ID (1) 09 E9 Usage (233) 09 EA Usage (234) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 06 Input (0x06) 85 02 Report ID (2) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 02 Input (0x02) 85 05 Report ID (5) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 07 Report ID (7) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 04 Report ID (4) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 24 Report Count (36) 91 02 Output (0x02) 85 06 Report ID (6) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 24 Report Count (36) 91 02 Output (0x02) 75 06 Report Size (6) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (99 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xe9, 0x09, 0xea, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x06, 0x85, 0x02, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x85, 0x05, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x07, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x04, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x85, 0x06, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 02 Report ID (2) 09 E9 Usage (233) 09 EA Usage (234) 0A 21 02 Usage (545) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (32 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x02, 0x09, 0xe9, 0x09, 0xea, 0x0a, 0x21, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x5 (0xb) Report Descriptor: 05 0B Usage Page (11) 09 05 Usage (5) A1 01 Collection (Application) 85 08 Report ID (8) 09 2F Usage (47) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 09 20 Usage (32) 09 21 Usage (33) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 22 Input (0x22) 85 09 Report ID (9) 05 08 Usage Page (8) 09 09 Usage (9) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 17 Report ID (23) 09 17 Usage (23) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 18 Report ID (24) 09 18 Usage (24) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 1E Report ID (30) 09 1E Usage (30) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 20 Report ID (32) 09 20 Usage (32) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 2A Report ID (42) 09 2A Usage (42) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding C0 End Collection (163 bytes) 0x05, 0x0b, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x08, 0x09, 0x2f, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x22, 0x85, 0x09, 0x05, 0x08, 0x09, 0x09, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x1e, 0x09, 0x1e, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x2a, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x80 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 80 Usage (128) A1 01 Collection (Application) 85 03 Report ID (3) 09 81 Usage (129) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 02 Input (0x02) 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding C0 End Collection (27 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x3 (0xffa0) Report Descriptor: 06 A0 FF Usage Page (65440) 09 03 Usage (3) A1 01 Collection (Application) 85 14 Report ID (20) 09 B1 Usage (177) 09 B2 Usage (178) 09 B5 Usage (181) 09 B7 Usage (183) 09 B3 Usage (179) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 81 06 Input (0x06) 85 1F Report ID (31) 09 9C Usage (156) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 85 03 Report ID (3) 09 30 Usage (48) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 15 Report ID (21) 09 8C Usage (140) 15 00 Logical Minimum (0) 27 FF FF 00 00 Logical Maximum (65535) 75 10 Report Size (16) 95 01 Report Count (1) 81 22 Input (0x22) 85 19 Report ID (25) 09 8D Usage (141) 09 8F Usage (143) 09 9E Usage (158) 09 DC Usage (220) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 04 Report Count (4) 91 22 Output (0x22) 09 D2 Usage (210) 09 D9 Usage (217) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 91 06 Output (0x06) 85 1A Report ID (26) 09 B5 Usage (181) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 85 03 Report ID (3) 09 30 Usage (48) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 91 02 Output (0x02) 85 1B Report ID (27) 09 CF Usage (207) 09 B5 Usage (181) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) B1 22 Feature (0x22) 09 DE Usage (222) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 23 Feature (0x23) 09 D8 Usage (216) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 22 Feature (0x22) 75 04 Report Size (4) 95 01 Report Count (1) B1 03 Feature (0x03) Padding 09 09 Usage (9) 09 17 Usage (23) 09 18 Usage (24) 09 1E Usage (30) 09 20 Usage (32) 09 2A Usage (42) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 06 Report Count (6) B1 22 Feature (0x22) 75 03 Report Size (3) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 02 Report Size (2) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 07 Report Size (7) 95 01 Report Count (1) 91 03 Output (0x03) Padding 75 02 Report Size (2) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection (235 bytes) 0x06, 0xa0, 0xff, 0x09, 0x03, 0xa1, 0x01, 0x85, 0x14, 0x09, 0xb1, 0x09, 0xb2, 0x09, 0xb5, 0x09, 0xb7, 0x09, 0xb3, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x81, 0x06, 0x85, 0x1f, 0x09, 0x9c, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x15, 0x09, 0x8c, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81, 0x22, 0x85, 0x19, 0x09, 0x8d, 0x09, 0x8f, 0x09, 0x9e, 0x09, 0xdc, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x91, 0x22, 0x09, 0xd2, 0x09, 0xd9, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x91, 0x06, 0x85, 0x1a, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x91, 0x02, 0x85, 0x1b, 0x09, 0xcf, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0xb1, 0x22, 0x09, 0xde, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x23, 0x09, 0xd8, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x22, 0x75, 0x04, 0x95, 0x01, 0xb1, 0x03, 0x09, 0x09, 0x09, 0x17, 0x09, 0x18, 0x09, 0x1e, 0x09, 0x20, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x06, 0xb1, 0x22, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x75, 0x02, 0x95, 0x01, 0x91, 0x03, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x75, 0x02, 0x95, 0x01, 0xb1, 0x03, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col03#5&99b72d3&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x1 (0xff01) Report Descriptor: 06 01 FF Usage Page (65281) 09 01 Usage (1) A1 01 Collection (Application) 85 03 Report ID (3) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 1B Report Count (27) 81 02 Input (0x02) 85 04 Report ID (4) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 1B Report Count (27) 81 02 Input (0x02) 85 06 Report ID (6) 09 04 Usage (4) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 07 Report Count (7) 81 02 Input (0x02) 85 05 Report ID (5) 09 03 Usage (3) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 07 Report Count (7) B1 02 Feature (0x02) C0 End Collection (80 bytes) 0x06, 0x01, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85, 0x04, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85, 0x06, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0x81, 0x02, 0x85, 0x05, 0x09, 0x03, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0xb1, 0x02, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_00#7&1c54b96&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 0 Usage (page): 0x6 (0x1) Report Descriptor: HIDP_STATUS_BUFFER_TOO_SMALL HIDP_STATUS_BUFFER_TOO_SMALL 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) 95 01 Report Count (1) 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 A4 Usage Maximum (164) 15 00 Logical Minimum (0) 26 A4 00 Logical Maximum (164) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 05 08 Usage Page (8) 19 01 Usage Minimum (1) 29 05 Usage Maximum (5) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 91 02 Output (0x02) 75 03 Report Size (3) 95 01 Report Count (1) 91 03 Output (0x03) Padding C0 End Collection (66 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0xa4, 0x15, 0x00, 0x26, 0xa4, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75, 0x03, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 413c 2107 path: \\?\hid#vid_413c&pid_2107#e&1de7f0c0&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: DELL Product: Dell USB Entry Keyboard Release: 178 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: HIDP_STATUS_BUFFER_TOO_SMALL HIDP_STATUS_BUFFER_TOO_SMALL 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 19 00 Usage Minimum (0) 29 FF Usage Maximum (255) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 05 08 Usage Page (8) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 91 02 Output (0x02) Report Size (-8) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 2F Report Size (47) 95 01 Report Count (1) 81 03 Input (0x03) Padding Report Size (-41) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 01 Report Size (1) 95 01 Report Count (1) 81 03 Input (0x03) Padding 75 05 Report Size (5) 95 01 Report Count (1) 91 03 Output (0x03) Padding C0 End Collection (80 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x19, 0x00, 0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x91, 0x02, 0x95, 0x01, 0x81, 0x03, 0x75, 0x2f, 0x95, 0x01, 0x81, 0x03, 0x95, 0x01, 0x81, 0x03, 0x75, 0x01, 0x95, 0x01, 0x81, 0x03, 0x75, 0x05, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col04#5&99b72d3&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x1 (0xff02) Report Descriptor: 06 02 FF Usage Page (65282) 09 01 Usage (1) A1 01 Collection (Application) 85 07 Report ID (7) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 86 Report Count (134) B1 02 Feature (0x02) C0 End Collection (35 bytes) 0x06, 0x02, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x86, 0xb1, 0x02, 0xc0, Device Found type: 046d c077 path: \\?\hid#vid_046d&pid_c077#e&fde55df&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Optical Mouse Release: 7200 Interface: -1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) 95 01 Report Count (1) 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 09 38 Usage (56) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 03 Report Count (3) 81 06 Input (0x06) C0 End Collection C0 End Collection (52 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col05#5&99b72d3&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0xe (0xd) Report Descriptor: 05 0D Usage Page (13) 09 0E Usage (14) A1 01 Collection (Application) 09 22 Usage (34) A1 02 Collection (Logical) 85 0B Report ID (11) 09 52 Usage (82) 15 00 Logical Minimum (0) 25 0A Logical Maximum (10) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 01 Report Count (1) B1 02 Feature (0x02) C0 End Collection 09 22 Usage (34) A1 00 Collection (Physical) 85 0C Report ID (12) 09 57 Usage (87) 09 58 Usage (88) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 45 00 Physical Maximum (0) 55 00 Unit Exponent (0) 65 00 Unit (0) B1 02 Feature (0x02) 75 06 Report Size (6) 95 01 Report Count (1) B1 03 Feature (0x03) Padding C0 End Collection C0 End Collection (71 bytes) 0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02, 0x85, 0x0b, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1, 0x00, 0x85, 0x0c, 0x09, 0x57, 0x09, 0x58, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, Device Found type: 413c b06f path: \\?\hid#vid_413c&pid_b06f#d&3624b04c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 101 Interface: -1 Usage (page): 0xda (0xffda) Report Descriptor: 06 DA FF Usage Page (65498) 09 DA Usage (218) A1 01 Collection (Application) 09 DA Usage (218) 19 01 Usage Minimum (1) 29 0E Usage Maximum (14) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 0F Report Count (15) 81 02 Input (0x02) 05 DA Usage Page (218) 19 01 Usage Minimum (1) 29 05 Usage Maximum (5) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 05 Report Count (5) 91 02 Output (0x02) C0 End Collection (40 bytes) 0x06, 0xda, 0xff, 0x09, 0xda, 0xa1, 0x01, 0x09, 0xda, 0x19, 0x01, 0x29, 0x0e, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x0f, 0x81, 0x02, 0x05, 0xda, 0x19, 0x01, 0x29, 0x05, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x05, 0x91, 0x02, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col01#5&379854aa&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 85 01 Report ID (1) 05 07 Usage Page (7) 09 69 Usage (105) 09 6A Usage (106) 09 6B Usage (107) 09 6C Usage (108) 09 E3 Usage (227) 09 4C Usage (76) 09 E2 Usage (226) 09 E0 Usage (224) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) C0 End Collection (37 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x01, 0x05, 0x07, 0x09, 0x69, 0x09, 0x6a, 0x09, 0x6b, 0x09, 0x6c, 0x09, 0xe3, 0x09, 0x4c, 0x09, 0xe2, 0x09, 0xe0, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0xc0, unable to open device C:\work\hid\hidapi_test1\windows\x64\Debug [windows_report_descriptor_reconstructor ≡]> cd .. C:\work\hid\hidapi_test1\windows\x64 [windows_report_descriptor_reconstructor ≡]> cd .. C:\work\hid\hidapi_test1\windows [windows_report_descriptor_reconstructor ≡]> cd .. C:\work\hid\hidapi_test1 [windows_report_descriptor_reconstructor ≡]> cd .. C:\work\hid> cd .\hidapi_test2\ C:\work\hid\hidapi_test2 [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> git pull remote: Enumerating objects: 4, done. remote: Counting objects: 100% (4/4), done. remote: Total 4 (delta 3), reused 4 (delta 3), pack-reused 0 Unpacking objects: 100% (4/4), 716 bytes | 21.00 KiB/s, done. From https://github.com/JoergAtGithub/hidapi 2e58921..d3859bc windows_report_descriptor_reconstructor_reengineered_pp_struct -> origin/windows_report_descriptor_reconstructor_reengineered_pp_struct Updating 2e58921..d3859bc Fast-forward windows/hid.c | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) C:\work\hid\hidapi_test2 [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> cd .\windows\ C:\work\hid\hidapi_test2\windows [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> dir Directory: C:\work\hid\hidapi_test2\windows Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 7/18/2021 10:09 PM ddk_build d---- 7/18/2021 10:13 PM x64 -a--- 7/18/2021 10:09 PM 129 .gitignore -a--- 7/18/2021 10:10 PM 922 CMakeLists.txt -a--- 7/26/2021 10:22 AM 82040 hid.c -a--- 7/18/2021 10:09 PM 2192 hidapi.sln -a--- 7/18/2021 10:09 PM 4227 hidapi.vcproj -a--- 7/18/2021 10:10 PM 10107 hidapi.vcxproj -a--- 7/18/2021 10:09 PM 1069 hidapi.vcxproj.filters -a--- 7/25/2021 10:30 PM 168 hidapi.vcxproj.user -a--- 7/18/2021 10:09 PM 4155 hidtest.vcproj -a--- 7/18/2021 10:10 PM 10099 hidtest.vcxproj -a--- 7/18/2021 10:09 PM 954 hidtest.vcxproj.filters -a--- 7/18/2021 10:09 PM 204 Makefile-manual -a--- 7/18/2021 10:09 PM 374 Makefile.am -a--- 7/18/2021 10:09 PM 587 Makefile.mingw C:\work\hid\hidapi_test2\windows [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> cd .\x64\ C:\work\hid\hidapi_test2\windows\x64 [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> dir Directory: C:\work\hid\hidapi_test2\windows\x64 Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 7/20/2021 3:15 PM Debug d---- 7/26/2021 10:22 AM Release C:\work\hid\hidapi_test2\windows\x64 [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> cd .\Release\ C:\work\hid\hidapi_test2\windows\x64\Release [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> ls Directory: C:\work\hid\hidapi_test2\windows\x64\Release Mode LastWriteTime Length Name ---- ------------- ------ ---- d---- 7/26/2021 10:22 AM hidapi.tlog d---- 7/26/2021 10:22 AM hidtest.tlog -a--- 7/26/2021 10:22 AM 1216 hidapi.Build.CppClean.log -a--- 7/26/2021 10:22 AM 154112 hidapi.dll -a--- 7/26/2021 10:22 AM 298 hidapi.dll.recipe -a--- 7/26/2021 10:22 AM 6040 hidapi.lib -a--- 7/26/2021 10:22 AM 741 hidapi.log -a--- 7/26/2021 10:22 AM 57 hidapi.vcxproj.FileListAbsolute.txt -a--- 7/26/2021 10:22 AM 1168 hidtest.Build.CppClean.log -a--- 7/26/2021 10:22 AM 147968 hidtest.exe -a--- 7/26/2021 10:22 AM 426 hidtest.exe.recipe -a--- 7/26/2021 10:22 AM 36127 hidtest.iobj -a--- 7/26/2021 10:22 AM 20144 hidtest.ipdb -a--- 7/26/2021 10:22 AM 596 hidtest.log -a--- 7/26/2021 10:22 AM 3526656 hidtest.pdb -a--- 7/26/2021 10:22 AM 58 hidtest.vcxproj.FileListAbsolute.txt -a--- 7/26/2021 10:22 AM 161201 test.obj -a--- 7/26/2021 10:22 AM 94208 vc142.pdb C:\work\hid\hidapi_test2\windows\x64\Release [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> .\hidtest.exe hidapi test/example tool. Compiled with hidapi version 0.11.0, runtime version 0.11.0. Compile-time version matches runtime version of hidapi. Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col01#7&383a3a17&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0x1) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 16 DEBUG:ReportID 2 DEBUG:NotRange.Usage 1 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 3 DEBUG:IsAlias 0 DEBUG:IsRange 1 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 4 DEBUG:BitPosition 4 DEBUG:BitSize 12 DEBUG:ReportCount 1 DEBUG:ReportID 2 DEBUG:NotRange.Usage 49 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 6 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 0 DEBUG:BytePosition 3 DEBUG:BitPosition 0 DEBUG:BitSize 12 DEBUG:ReportCount 1 DEBUG:ReportID 2 DEBUG:NotRange.Usage 48 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 5 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 0 DEBUG:BytePosition 6 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 1 DEBUG:ReportID 2 DEBUG:NotRange.Usage 56 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 7 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 0 DEBUG:BytePosition 7 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 1 DEBUG:ReportID 2 DEBUG:NotRange.Usage 568 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 8 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 02 Report ID (2) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 10 Usage Maximum (16) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 10 Report Count (16) 81 02 Input (0x02) 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 16 01 F8 Logical Minimum (-2047) 26 FF 07 Logical Maximum (2047) 75 0C Report Size (12) 95 02 Report Count (2) 81 06 Input (0x06) 09 38 Usage (56) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) 05 0C Usage Page (12) 0A 38 02 Usage (568) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) C0 End Collection C0 End Collection (75 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07, 0x75, 0x0c, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col02#7&383a3a17&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xc) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 16 DEBUG:ReportCount 2 DEBUG:ReportID 3 DEBUG:NotRange.Usage 1 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 5 DEBUG:IsAlias 0 DEBUG:IsRange 1 DEBUG:IsPadding 0 DEBUG:BitField 0 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 03 Report ID (3) 19 01 Usage Minimum (1) 2A 8C 02 Usage Maximum (652) 15 01 Logical Minimum (1) 26 8C 02 Logical Maximum (652) 75 10 Report Size (16) 95 02 Report Count (2) 81 00 Input (0x00) C0 End Collection (25 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x01, 0x2a, 0x8c, 0x02, 0x15, 0x01, 0x26, 0x8c, 0x02, 0x75, 0x10, 0x95, 0x02, 0x81, 0x00, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col03#7&383a3a17&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x80 (0x1) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 2 DEBUG:ReportCount 1 DEBUG:ReportID 4 DEBUG:NotRange.Usage 131 DEBUG:IsMultipleItemsForArray 1 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 60 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 2 DEBUG:ReportCount 1 DEBUG:ReportID 4 DEBUG:NotRange.Usage 129 DEBUG:IsMultipleItemsForArray 1 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 60 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 2 DEBUG:ReportCount 1 DEBUG:ReportID 4 DEBUG:NotRange.Usage 130 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 60 05 01 Usage Page (1) 09 80 Usage (128) A1 01 Collection (Application) 85 04 Report ID (4) 09 82 Usage (130) 15 01 Logical Minimum (1) 25 03 Logical Maximum (3) 75 02 Report Size (2) 95 01 Report Count (1) 81 60 Input (0x60) 09 81 Usage (129) 09 83 Usage (131) 15 01 Logical Minimum (1) 25 03 Logical Maximum (3) 75 02 Report Size (2) 95 01 Report Count (1) 81 60 Input (0x60) 75 06 Report Size (6) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding C0 End Collection (41 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x82, 0x15, 0x01, 0x25, 0x03, 0x75, 0x02, 0x95, 0x01, 0x81, 0x60, 0x09, 0x81, 0x09, 0x83, 0x15, 0x01, 0x25, 0x03, 0x75, 0x02, 0x95, 0x01, 0x81, 0x60, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col04#7&383a3a17&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xff00) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 6 DEBUG:ReportID 16 DEBUG:NotRange.Usage 1 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 7 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 0 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 6 DEBUG:ReportID 16 DEBUG:NotRange.Usage 1 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 7 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 0 06 00 FF Usage Page (65280) 09 01 Usage (1) A1 01 Collection (Application) 85 10 Report ID (16) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 06 Report Count (6) 91 00 Output (0x00) C0 End Collection (36 bytes) 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x91, 0x00, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col01#5&99b72d3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x2 (0x1) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 3 DEBUG:ReportID 1 DEBUG:NotRange.Usage 1 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 1 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 3 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 1 DEBUG:ReportID 1 DEBUG:NotRange.Usage 49 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 4 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 0 DEBUG:BytePosition 2 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 1 DEBUG:ReportID 1 DEBUG:NotRange.Usage 48 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 3 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 0 DEBUG:BytePosition 4 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 1 DEBUG:ReportID 1 DEBUG:NotRange.Usage 56 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 5 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 0 DEBUG:BytePosition 5 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 1 DEBUG:ReportID 1 DEBUG:NotRange.Usage 568 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 6 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 01 Report ID (1) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 09 38 Usage (56) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 03 Report Count (3) 81 06 Input (0x06) 05 0C Usage Page (12) 0A 38 02 Usage (568) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) C0 End Collection C0 End Collection (69 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x01, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 8087 0a1e path: \\?\hid#intc816&col01#3&36a7043c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 200 Interface: -1 Usage (page): 0xc (0x1) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 8 DEBUG:NotRange.Usage 198 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 05 01 Usage Page (1) 09 0C Usage (12) A1 01 Collection (Application) 85 08 Report ID (8) 09 C6 Usage (198) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding C0 End Collection (27 bytes) 0x05, 0x01, 0x09, 0x0c, 0xa1, 0x01, 0x85, 0x08, 0x09, 0xc6, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 044e 1212 path: \\?\hid#vid_044e&pid_1212&col01&col02#7&290aacae&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 8 DEBUG:ReportID 7 DEBUG:NotRange.Usage 224 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 1 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 3 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 6 DEBUG:ReportID 7 DEBUG:NotRange.Usage 0 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 9 DEBUG:IsAlias 0 DEBUG:IsRange 1 DEBUG:IsPadding 0 DEBUG:BitField 0 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 85 07 Report ID (7) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 75 Usage Maximum (117) 15 00 Logical Minimum (0) 25 FF Logical Maximum (-1) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) C0 End Collection (45 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x07, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0x75, 0x15, 0x00, 0x25, 0xff, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col05#7&383a3a17&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0xff00) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 19 DEBUG:ReportID 17 DEBUG:NotRange.Usage 2 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 20 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 0 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 19 DEBUG:ReportID 17 DEBUG:NotRange.Usage 2 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 20 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 0 06 00 FF Usage Page (65280) 09 02 Usage (2) A1 01 Collection (Application) 85 11 Report ID (17) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 13 Report Count (19) 81 00 Input (0x00) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 13 Report Count (19) 91 00 Output (0x00) C0 End Collection (36 bytes) 0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13, 0x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13, 0x91, 0x00, 0xc0, Device Found type: 8087 0a1e path: \\?\hid#intc816&col02#3&36a7043c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 200 Interface: -1 Usage (page): 0xd (0x1) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 28 DEBUG:NotRange.Usage 129 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 2 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 28 DEBUG:NotRange.Usage 203 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 05 01 Usage Page (1) 09 0D Usage (13) A1 01 Collection (Application) 09 0D Usage (13) A1 02 Collection (Logical) 85 1C Report ID (28) 09 81 Usage (129) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 02 Input (0x02) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 09 CB Usage (203) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 02 Feature (0x02) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding B1 03 Feature (0x03) Padding C0 End Collection C0 End Collection (50 bytes) 0x05, 0x01, 0x09, 0x0d, 0xa1, 0x01, 0x09, 0x0d, 0xa1, 0x02, 0x85, 0x1c, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x09, 0xcb, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x02, 0x75, 0x07, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, Device Found type: 044e 1212 path: \\?\hid#vid_044e&pid_1212&col01&col01#7&290aacae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x2 (0x1) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 3 DEBUG:ReportID 6 DEBUG:NotRange.Usage 1 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 1 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 4 DEBUG:BitPosition 0 DEBUG:BitSize 16 DEBUG:ReportCount 1 DEBUG:ReportID 6 DEBUG:NotRange.Usage 49 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 6 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 0 DEBUG:BytePosition 2 DEBUG:BitPosition 0 DEBUG:BitSize 16 DEBUG:ReportCount 1 DEBUG:ReportID 6 DEBUG:NotRange.Usage 48 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 4 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 06 Report ID (6) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 16 00 FE Logical Minimum (-512) 26 00 02 Logical Maximum (512) 75 10 Report Size (16) 95 02 Report Count (2) 81 06 Input (0x06) C0 End Collection C0 End Collection (54 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x06, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x00, 0xfe, 0x26, 0x00, 0x02, 0x75, 0x10, 0x95, 0x02, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col02#5&99b72d3&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x5 (0xd) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 1 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 8 DEBUG:NotRange.Usage 66 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 8 DEBUG:NotRange.Usage 71 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 2 DEBUG:BitSize 3 DEBUG:ReportCount 1 DEBUG:ReportID 8 DEBUG:NotRange.Usage 81 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 2 DEBUG:BitPosition 0 DEBUG:BitSize 16 DEBUG:ReportCount 1 DEBUG:ReportID 8 DEBUG:NotRange.Usage 48 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 4 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 4 DEBUG:BitPosition 0 DEBUG:BitSize 16 DEBUG:ReportCount 1 DEBUG:ReportID 8 DEBUG:NotRange.Usage 49 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 6 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 6 DEBUG:BitPosition 0 DEBUG:BitSize 16 DEBUG:ReportCount 1 DEBUG:ReportID 8 DEBUG:NotRange.Usage 86 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 8 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 8 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 1 DEBUG:ReportID 8 DEBUG:NotRange.Usage 84 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 9 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 9 DEBUG:BitPosition 1 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 8 DEBUG:NotRange.Usage 3 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 10 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 9 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 8 DEBUG:NotRange.Usage 2 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 10 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 2 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 1 DEBUG:ReportID 9 DEBUG:NotRange.Usage 85 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 2 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 256 DEBUG:ReportID 10 DEBUG:NotRange.Usage 197 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 257 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 05 0D Usage Page (13) 09 05 Usage (5) A1 01 Collection (Application) 09 22 Usage (34) A1 02 Collection (Logical) 85 08 Report ID (8) 09 47 Usage (71) 09 42 Usage (66) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 02 Input (0x02) 09 51 Usage (81) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 75 03 Report Size (3) 95 01 Report Count (1) 81 02 Input (0x02) 75 03 Report Size (3) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 15 00 Logical Minimum (0) 26 AF 04 Logical Maximum (1199) 35 00 Physical Minimum (0) 46 E8 03 Physical Maximum (1000) 55 0E Unit Exponent (14) 65 11 Unit (17) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) 09 31 Usage (49) 15 00 Logical Minimum (0) 26 7B 02 Logical Maximum (635) 35 00 Physical Minimum (0) 46 12 02 Physical Maximum (530) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) C0 End Collection 05 0D Usage Page (13) 09 56 Usage (86) 15 00 Logical Minimum (0) 27 FF FF 00 00 Logical Maximum (65535) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) 09 54 Usage (84) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 75 08 Report Size (8) 95 01 Report Count (1) 81 02 Input (0x02) 05 09 Usage Page (9) 09 02 Usage (2) 09 03 Usage (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 45 00 Physical Maximum (0) 55 00 Unit Exponent (0) 65 00 Unit (0) 81 02 Input (0x02) 75 06 Report Size (6) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 85 09 Report ID (9) 05 0D Usage Page (13) 09 55 Usage (85) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 01 Report Count (1) B1 02 Feature (0x02) 85 0A Report ID (10) 06 00 FF Usage Page (65280) 09 C5 Usage (197) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 96 00 01 Report Count (256) B1 02 Feature (0x02) C0 End Collection (204 bytes) 0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02, 0x85, 0x08, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00, 0x25, 0x05, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00, 0x26, 0xaf, 0x04, 0x35, 0x00, 0x46, 0xe8, 0x03, 0x55, 0x0e, 0x65, 0x11, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31, 0x15, 0x00, 0x26, 0x7b, 0x02, 0x35, 0x00, 0x46, 0x12, 0x02, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x56, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x54, 0x15, 0x00, 0x25, 0x05, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x05, 0x09, 0x09, 0x02, 0x09, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x85, 0x09, 0x05, 0x0d, 0x09, 0x55, 0x15, 0x00, 0x25, 0x05, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0x85, 0x0a, 0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0xc0, Device Found type: 413c b06e path: \\?\hid#vid_413c&pid_b06e#c&37ff1248&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 101 Interface: -1 Usage (page): 0xda (0xffda) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 2 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 191 DEBUG:ReportID 0 DEBUG:NotRange.Usage 1 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 193 DEBUG:IsAlias 0 DEBUG:IsRange 1 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 1 DEBUG:ReportID 0 DEBUG:NotRange.Usage 218 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 192 DEBUG:ReportID 0 DEBUG:NotRange.Usage 1 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 193 DEBUG:IsAlias 0 DEBUG:IsRange 1 DEBUG:IsPadding 0 DEBUG:BitField 2 06 DA FF Usage Page (65498) 09 DA Usage (218) A1 01 Collection (Application) 09 DA Usage (218) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 02 Input (0x02) 19 01 Usage Minimum (1) 29 0E Usage Maximum (14) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 BF Report Count (191) 81 02 Input (0x02) 05 DA Usage Page (218) 19 01 Usage Minimum (1) 29 05 Usage Maximum (5) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 C0 Report Count (192) 91 02 Output (0x02) C0 End Collection (50 bytes) 0x06, 0xda, 0xff, 0x09, 0xda, 0xa1, 0x01, 0x09, 0xda, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x19, 0x01, 0x29, 0x0e, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0xbf, 0x81, 0x02, 0x05, 0xda, 0x19, 0x01, 0x29, 0x05, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0xc0, 0x91, 0x02, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x1 (0xc) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 1 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 1 DEBUG:NotRange.Usage 234 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 1 DEBUG:NotRange.Usage 233 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 16 DEBUG:ReportID 2 DEBUG:NotRange.Usage 0 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 3 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 32 DEBUG:ReportID 5 DEBUG:NotRange.Usage 0 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 33 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 32 DEBUG:ReportID 7 DEBUG:NotRange.Usage 0 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 33 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 36 DEBUG:ReportID 4 DEBUG:NotRange.Usage 0 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 37 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 36 DEBUG:ReportID 6 DEBUG:NotRange.Usage 0 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 37 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 01 Report ID (1) 09 E9 Usage (233) 09 EA Usage (234) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 06 Input (0x06) 75 06 Report Size (6) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 85 02 Report ID (2) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 10 Report Count (16) 81 02 Input (0x02) 85 05 Report ID (5) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 07 Report ID (7) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 04 Report ID (4) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 24 Report Count (36) 91 02 Output (0x02) 85 06 Report ID (6) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 24 Report Count (36) 91 02 Output (0x02) C0 End Collection (99 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xe9, 0x09, 0xea, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x06, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x85, 0x02, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x85, 0x05, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x07, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x04, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x85, 0x06, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x1 (0xc) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 2 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 2 DEBUG:NotRange.Usage 545 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 1 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 2 DEBUG:NotRange.Usage 234 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 2 DEBUG:NotRange.Usage 233 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 02 Report ID (2) 09 E9 Usage (233) 09 EA Usage (234) 0A 21 02 Usage (545) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding C0 End Collection (32 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x02, 0x09, 0xe9, 0x09, 0xea, 0x0a, 0x21, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x5 (0xb) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 8 DEBUG:NotRange.Usage 47 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 2 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 8 DEBUG:NotRange.Usage 33 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 1 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 8 DEBUG:NotRange.Usage 32 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 9 DEBUG:NotRange.Usage 9 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 23 DEBUG:NotRange.Usage 23 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 24 DEBUG:NotRange.Usage 24 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 30 DEBUG:NotRange.Usage 30 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 32 DEBUG:NotRange.Usage 32 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 42 DEBUG:NotRange.Usage 42 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 05 0B Usage Page (11) 09 05 Usage (5) A1 01 Collection (Application) 85 08 Report ID (8) 09 2F Usage (47) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 09 20 Usage (32) 09 21 Usage (33) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 22 Input (0x22) 75 05 Report Size (5) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 85 09 Report ID (9) 05 08 Usage Page (8) 09 09 Usage (9) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding 85 17 Report ID (23) 09 17 Usage (23) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding 85 18 Report ID (24) 09 18 Usage (24) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding 85 1E Report ID (30) 09 1E Usage (30) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding 85 20 Report ID (32) 09 20 Usage (32) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding 85 2A Report ID (42) 09 2A Usage (42) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding C0 End Collection (163 bytes) 0x05, 0x0b, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x08, 0x09, 0x2f, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x22, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x85, 0x09, 0x05, 0x08, 0x09, 0x09, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x1e, 0x09, 0x1e, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x2a, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x80 (0x1) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 3 DEBUG:NotRange.Usage 129 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 05 01 Usage Page (1) 09 80 Usage (128) A1 01 Collection (Application) 85 03 Report ID (3) 09 81 Usage (129) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 02 Input (0x02) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding C0 End Collection (27 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x3 (0xffa0) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 32 DEBUG:ReportID 3 DEBUG:NotRange.Usage 48 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 33 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 4 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 20 DEBUG:NotRange.Usage 179 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 3 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 20 DEBUG:NotRange.Usage 183 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 2 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 20 DEBUG:NotRange.Usage 181 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 1 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 20 DEBUG:NotRange.Usage 178 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 20 DEBUG:NotRange.Usage 177 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 16 DEBUG:ReportCount 1 DEBUG:ReportID 21 DEBUG:NotRange.Usage 140 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 3 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 31 DEBUG:NotRange.Usage 156 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 32 DEBUG:ReportID 3 DEBUG:NotRange.Usage 48 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 33 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 3 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 25 DEBUG:NotRange.Usage 220 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 2 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 25 DEBUG:NotRange.Usage 158 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 1 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 25 DEBUG:NotRange.Usage 143 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 25 DEBUG:NotRange.Usage 141 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 5 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 25 DEBUG:NotRange.Usage 217 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 4 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 25 DEBUG:NotRange.Usage 210 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 26 DEBUG:NotRange.Usage 181 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 2 DEBUG:BytePosition 1 DEBUG:BitPosition 1 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 27 DEBUG:NotRange.Usage 181 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 2 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 27 DEBUG:NotRange.Usage 207 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 2 DEBUG:BytePosition 1 DEBUG:BitPosition 2 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 27 DEBUG:NotRange.Usage 222 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 1 DEBUG:BitField 23 DEBUG:ReportType 2 DEBUG:BytePosition 1 DEBUG:BitPosition 3 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 27 DEBUG:NotRange.Usage 216 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 2 DEBUG:BytePosition 2 DEBUG:BitPosition 5 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 27 DEBUG:NotRange.Usage 42 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 3 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 2 DEBUG:BytePosition 2 DEBUG:BitPosition 4 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 27 DEBUG:NotRange.Usage 32 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 3 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 2 DEBUG:BytePosition 2 DEBUG:BitPosition 3 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 27 DEBUG:NotRange.Usage 30 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 3 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 2 DEBUG:BytePosition 2 DEBUG:BitPosition 2 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 27 DEBUG:NotRange.Usage 24 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 3 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 2 DEBUG:BytePosition 2 DEBUG:BitPosition 1 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 27 DEBUG:NotRange.Usage 23 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 3 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 DEBUG:ReportType 2 DEBUG:BytePosition 2 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 27 DEBUG:NotRange.Usage 9 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 3 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 22 06 A0 FF Usage Page (65440) 09 03 Usage (3) A1 01 Collection (Application) 85 03 Report ID (3) 09 30 Usage (48) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 14 Report ID (20) 09 B1 Usage (177) 09 B2 Usage (178) 09 B5 Usage (181) 09 B7 Usage (183) 09 B3 Usage (179) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 81 06 Input (0x06) 75 03 Report Size (3) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 85 15 Report ID (21) 09 8C Usage (140) 15 00 Logical Minimum (0) 27 FF FF 00 00 Logical Maximum (65535) 75 10 Report Size (16) 95 01 Report Count (1) 81 22 Input (0x22) 85 1F Report ID (31) 09 9C Usage (156) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 85 03 Report ID (3) 09 30 Usage (48) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 91 02 Output (0x02) 85 19 Report ID (25) 09 8D Usage (141) 09 8F Usage (143) 09 9E Usage (158) 09 DC Usage (220) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 04 Report Count (4) 91 22 Output (0x22) 09 D2 Usage (210) 09 D9 Usage (217) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 91 06 Output (0x06) 75 02 Report Size (2) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding 85 1A Report ID (26) 09 B5 Usage (181) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding 85 1B Report ID (27) 09 CF Usage (207) 09 B5 Usage (181) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) B1 22 Feature (0x22) 09 DE Usage (222) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 23 Feature (0x23) 09 D8 Usage (216) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 22 Feature (0x22) 75 04 Report Size (4) Padding 95 01 Report Count (1) Padding B1 03 Feature (0x03) Padding 09 09 Usage (9) 09 17 Usage (23) 09 18 Usage (24) 09 1E Usage (30) 09 20 Usage (32) 09 2A Usage (42) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 06 Report Count (6) B1 22 Feature (0x22) 75 02 Report Size (2) Padding 95 01 Report Count (1) Padding B1 03 Feature (0x03) Padding C0 End Collection (235 bytes) 0x06, 0xa0, 0xff, 0x09, 0x03, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x14, 0x09, 0xb1, 0x09, 0xb2, 0x09, 0xb5, 0x09, 0xb7, 0x09, 0xb3, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x81, 0x06, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x85, 0x15, 0x09, 0x8c, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81, 0x22, 0x85, 0x1f, 0x09, 0x9c, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x91, 0x02, 0x85, 0x19, 0x09, 0x8d, 0x09, 0x8f, 0x09, 0x9e, 0x09, 0xdc, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x91, 0x22, 0x09, 0xd2, 0x09, 0xd9, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x91, 0x06, 0x75, 0x02, 0x95, 0x01, 0x91, 0x03, 0x85, 0x1a, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x1b, 0x09, 0xcf, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0xb1, 0x22, 0x09, 0xde, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x23, 0x09, 0xd8, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x22, 0x75, 0x04, 0x95, 0x01, 0xb1, 0x03, 0x09, 0x09, 0x09, 0x17, 0x09, 0x18, 0x09, 0x1e, 0x09, 0x20, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x06, 0xb1, 0x22, 0x75, 0x02, 0x95, 0x01, 0xb1, 0x03, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col03#5&99b72d3&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x1 (0xff01) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 27 DEBUG:ReportID 3 DEBUG:NotRange.Usage 1 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 28 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 27 DEBUG:ReportID 4 DEBUG:NotRange.Usage 2 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 28 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 7 DEBUG:ReportID 6 DEBUG:NotRange.Usage 4 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 8 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 2 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 7 DEBUG:ReportID 5 DEBUG:NotRange.Usage 3 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 8 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 06 01 FF Usage Page (65281) 09 01 Usage (1) A1 01 Collection (Application) 85 03 Report ID (3) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 1B Report Count (27) 81 02 Input (0x02) 85 04 Report ID (4) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 1B Report Count (27) 81 02 Input (0x02) 85 06 Report ID (6) 09 04 Usage (4) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 07 Report Count (7) 81 02 Input (0x02) 85 05 Report ID (5) 09 03 Usage (3) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 07 Report Count (7) B1 02 Feature (0x02) C0 End Collection (80 bytes) 0x06, 0x01, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85, 0x04, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85, 0x06, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0x81, 0x02, 0x85, 0x05, 0x09, 0x03, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0xb1, 0x02, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_00#7&1c54b96&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 0 Usage (page): 0x6 (0x1) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 8 DEBUG:ReportID 0 DEBUG:NotRange.Usage 224 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 1 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 3 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 6 DEBUG:ReportID 0 DEBUG:NotRange.Usage 0 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 9 DEBUG:IsAlias 0 DEBUG:IsRange 1 DEBUG:IsPadding 0 DEBUG:BitField 0 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 5 DEBUG:ReportID 0 DEBUG:NotRange.Usage 1 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 1 DEBUG:IsPadding 0 DEBUG:BitField 2 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 A4 Usage Maximum (164) 15 00 Logical Minimum (0) 26 A4 00 Logical Maximum (164) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 05 08 Usage Page (8) 19 01 Usage Minimum (1) 29 05 Usage Maximum (5) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 91 02 Output (0x02) 75 03 Report Size (3) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding C0 End Collection (66 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0xa4, 0x15, 0x00, 0x26, 0xa4, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75, 0x03, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 413c 2107 path: \\?\hid#vid_413c&pid_2107#e&1de7f0c0&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: DELL Product: Dell USB Entry Keyboard Release: 178 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 8 DEBUG:ReportID 0 DEBUG:NotRange.Usage 224 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 1 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 3 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 6 DEBUG:ReportID 0 DEBUG:NotRange.Usage 0 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 9 DEBUG:IsAlias 0 DEBUG:IsRange 1 DEBUG:IsPadding 0 DEBUG:BitField 0 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 3 DEBUG:ReportID 0 DEBUG:NotRange.Usage 1 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 1 DEBUG:IsPadding 0 DEBUG:BitField 2 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 FF Usage Maximum (255) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 05 08 Usage Page (8) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 91 02 Output (0x02) 75 05 Report Size (5) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding C0 End Collection (66 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x91, 0x02, 0x75, 0x05, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col04#5&99b72d3&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x1 (0xff02) Report Descriptor: DEBUG:ReportType 2 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 134 DEBUG:ReportID 7 DEBUG:NotRange.Usage 2 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 135 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 06 02 FF Usage Page (65282) 09 01 Usage (1) A1 01 Collection (Application) 85 07 Report ID (7) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 86 Report Count (134) B1 02 Feature (0x02) C0 End Collection (35 bytes) 0x06, 0x02, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x86, 0xb1, 0x02, 0xc0, Device Found type: 046d c077 path: \\?\hid#vid_046d&pid_c077#e&fde55df&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Optical Mouse Release: 7200 Interface: -1 Usage (page): 0x2 (0x1) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 8 DEBUG:ReportID 0 DEBUG:NotRange.Usage 1 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 1 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 4 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 1 DEBUG:ReportID 0 DEBUG:NotRange.Usage 56 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 5 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 0 DEBUG:BytePosition 3 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 1 DEBUG:ReportID 0 DEBUG:NotRange.Usage 49 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 4 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 DEBUG:ReportType 0 DEBUG:BytePosition 2 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 1 DEBUG:ReportID 0 DEBUG:NotRange.Usage 48 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 3 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 6 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 09 38 Usage (56) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 03 Report Count (3) 81 06 Input (0x06) C0 End Collection C0 End Collection (46 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col05#5&99b72d3&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0xe (0xd) Report Descriptor: DEBUG:ReportType 2 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 1 DEBUG:ReportID 11 DEBUG:NotRange.Usage 82 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 2 DEBUG:BytePosition 1 DEBUG:BitPosition 1 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 12 DEBUG:NotRange.Usage 88 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 2 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 12 DEBUG:NotRange.Usage 87 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 05 0D Usage Page (13) 09 0E Usage (14) A1 01 Collection (Application) 09 22 Usage (34) A1 02 Collection (Logical) 85 0B Report ID (11) 09 52 Usage (82) 15 00 Logical Minimum (0) 25 0A Logical Maximum (10) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 01 Report Count (1) B1 02 Feature (0x02) C0 End Collection 09 22 Usage (34) A1 00 Collection (Physical) 85 0C Report ID (12) 09 57 Usage (87) 09 58 Usage (88) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 45 00 Physical Maximum (0) 55 00 Unit Exponent (0) 65 00 Unit (0) B1 02 Feature (0x02) 75 06 Report Size (6) Padding 95 01 Report Count (1) Padding B1 03 Feature (0x03) Padding C0 End Collection C0 End Collection (71 bytes) 0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02, 0x85, 0x0b, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1, 0x00, 0x85, 0x0c, 0x09, 0x57, 0x09, 0x58, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, Device Found type: 413c b06f path: \\?\hid#vid_413c&pid_b06f#d&3624b04c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 101 Interface: -1 Usage (page): 0xda (0xffda) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 2 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 191 DEBUG:ReportID 0 DEBUG:NotRange.Usage 1 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 193 DEBUG:IsAlias 0 DEBUG:IsRange 1 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 1 DEBUG:ReportID 0 DEBUG:NotRange.Usage 218 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 1 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 8 DEBUG:ReportCount 192 DEBUG:ReportID 0 DEBUG:NotRange.Usage 1 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 193 DEBUG:IsAlias 0 DEBUG:IsRange 1 DEBUG:IsPadding 0 DEBUG:BitField 2 06 DA FF Usage Page (65498) 09 DA Usage (218) A1 01 Collection (Application) 09 DA Usage (218) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 02 Input (0x02) 19 01 Usage Minimum (1) 29 0E Usage Maximum (14) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 BF Report Count (191) 81 02 Input (0x02) 05 DA Usage Page (218) 19 01 Usage Minimum (1) 29 05 Usage Maximum (5) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 C0 Report Count (192) 91 02 Output (0x02) C0 End Collection (50 bytes) 0x06, 0xda, 0xff, 0x09, 0xda, 0xa1, 0x01, 0x09, 0xda, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x19, 0x01, 0x29, 0x0e, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0xbf, 0x81, 0x02, 0x05, 0xda, 0x19, 0x01, 0x29, 0x05, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0xc0, 0x91, 0x02, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col01#5&379854aa&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 7 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 1 DEBUG:NotRange.Usage 224 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 6 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 1 DEBUG:NotRange.Usage 226 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 5 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 1 DEBUG:NotRange.Usage 76 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 4 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 1 DEBUG:NotRange.Usage 227 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 3 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 1 DEBUG:NotRange.Usage 108 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 2 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 1 DEBUG:NotRange.Usage 107 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 1 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 1 DEBUG:NotRange.Usage 106 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 DEBUG:ReportType 0 DEBUG:BytePosition 1 DEBUG:BitPosition 0 DEBUG:BitSize 1 DEBUG:ReportCount 1 DEBUG:ReportID 1 DEBUG:NotRange.Usage 105 DEBUG:IsMultipleItemsForArray 0 DEBUG:NextBytePosition 2 DEBUG:IsAlias 0 DEBUG:IsRange 0 DEBUG:IsPadding 0 DEBUG:BitField 2 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 85 01 Report ID (1) 05 07 Usage Page (7) 09 69 Usage (105) 09 6A Usage (106) 09 6B Usage (107) 09 6C Usage (108) 09 E3 Usage (227) 09 4C Usage (76) 09 E2 Usage (226) 09 E0 Usage (224) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) C0 End Collection (37 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x01, 0x05, 0x07, 0x09, 0x69, 0x09, 0x6a, 0x09, 0x6b, 0x09, 0x6c, 0x09, 0xe3, 0x09, 0x4c, 0x09, 0xe2, 0x09, 0xe0, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0xc0, unable to open device ``` </details>
JoergAtGithub commented 2021-07-26 00:58:00 -05:00 (Migrated from github.com)

Padding seems to be correct, but the item itself appeared twice. I commited a new version, which should fix also this.

Padding seems to be correct, but the item itself appeared twice. I commited a new version, which should fix also this.
mcuee commented 2021-07-26 01:16:57 -05:00 (Migrated from github.com)

Full debug log with the updated git.

Click to expand for the full debug log

C:\work\hid\hidapi_test2\windows\x64\Release [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> .\hidtest.exe
hidapi test/example tool. Compiled with hidapi version 0.11.0, runtime version 0.11.0.
Compile-time version matches runtime version of hidapi.

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col01#7&383a3a17&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 02            Report ID (2)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 10            Usage Maximum (16)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 10            Report Count (16)
81 02            Input (0x02)
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
16 01 F8         Logical Minimum (-2047)
26 FF 07         Logical Maximum (2047)
75 0C            Report Size (12)
95 02            Report Count (2)
81 06            Input (0x06)
09 38            Usage (56)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
05 0C            Usage Page (12)
0A 38 02         Usage (568)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(75 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01,
0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07,
0x75, 0x0c, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81,
0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0c,
0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95,
0x01, 0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col02#7&383a3a17&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 03            Report ID (3)
19 01            Usage Minimum (1)
2A 8C 02         Usage Maximum (652)
15 01            Logical Minimum (1)
26 8C 02         Logical Maximum (652)
75 10            Report Size (16)
95 02            Report Count (2)
81 00            Input (0x00)
C0               End Collection
(25 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x01,
0x2a, 0x8c, 0x02, 0x15, 0x01, 0x26, 0x8c, 0x02, 0x75, 0x10,
0x95, 0x02, 0x81, 0x00, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col03#7&383a3a17&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x80 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 80            Usage  (128)
A1 01            Collection (Application)
85 04            Report ID (4)
09 82            Usage (130)
09 81            Usage (129)
09 83            Usage (131)
15 01            Logical Minimum (1)
25 03            Logical Maximum (3)
75 02            Report Size (2)
95 01            Report Count (1)
81 60            Input (0x60)
75 06            Report Size (6)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
C0               End Collection
(31 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x82,
0x09, 0x81, 0x09, 0x83, 0x15, 0x01, 0x25, 0x03, 0x75, 0x02,
0x95, 0x01, 0x81, 0x60, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03,
0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col04#7&383a3a17&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xff00)
  Report Descriptor:
06 00 FF         Usage Page (65280)
09 01            Usage  (1)
A1 01            Collection (Application)
85 10            Report ID (16)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 06            Report Count (6)
91 00            Output (0x00)
C0               End Collection
(36 bytes)
0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x09,
0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06,
0x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75,
0x08, 0x95, 0x06, 0x91, 0x00, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col01#5&99b72d3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 01            Report ID (1)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
09 38            Usage (56)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 03            Report Count (3)
81 06            Input (0x06)
05 0C            Usage Page (12)
0A 38 02         Usage (568)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(69 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x01, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31,
0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03,
0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25,
0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 8087 0a1e
  path: \\?\hid#intc816&col01#3&36a7043c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xc (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 0C            Usage  (12)
A1 01            Collection (Application)
85 08            Report ID (8)
09 C6            Usage (198)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
C0               End Collection
(27 bytes)
0x05, 0x01, 0x09, 0x0c, 0xa1, 0x01, 0x85, 0x08, 0x09, 0xc6,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 044e 1212
  path: \\?\hid#vid_044e&pid_1212&col01&col02#7&290aacae&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
85 07            Report ID (7)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
19 00            Usage Minimum (0)
29 75            Usage Maximum (117)
15 00            Logical Minimum (0)
25 FF            Logical Maximum (-1)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
C0               End Collection
(45 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x07, 0x05, 0x07,
0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03,
0x19, 0x00, 0x29, 0x75, 0x15, 0x00, 0x25, 0xff, 0x75, 0x08,
0x95, 0x06, 0x81, 0x00, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_01&col05#7&383a3a17&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0xff00)
  Report Descriptor:
06 00 FF         Usage Page (65280)
09 02            Usage  (2)
A1 01            Collection (Application)
85 11            Report ID (17)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 13            Report Count (19)
81 00            Input (0x00)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 13            Report Count (19)
91 00            Output (0x00)
C0               End Collection
(36 bytes)
0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x09,
0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13,
0x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75,
0x08, 0x95, 0x13, 0x91, 0x00, 0xc0,

Device Found
  type: 8087 0a1e
  path: \\?\hid#intc816&col02#3&36a7043c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xd (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 0D            Usage  (13)
A1 01            Collection (Application)
09 0D            Usage  (13)
A1 02            Collection (Logical)
85 1C            Report ID (28)
09 81            Usage (129)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 02            Input (0x02)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
09 CB            Usage (203)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 02            Feature (0x02)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
B1 03            Feature (0x03)   Padding
C0               End Collection
C0               End Collection
(50 bytes)
0x05, 0x01, 0x09, 0x0d, 0xa1, 0x01, 0x09, 0x0d, 0xa1, 0x02,
0x85, 0x1c, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03,
0x09, 0xcb, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01,
0xb1, 0x02, 0x75, 0x07, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0,

Device Found
  type: 044e 1212
  path: \\?\hid#vid_044e&pid_1212&col01&col01#7&290aacae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
85 06            Report ID (6)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
16 00 FE         Logical Minimum (-512)
26 00 02         Logical Maximum (512)
75 10            Report Size (16)
95 02            Report Count (2)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(54 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x06, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31,
0x16, 0x00, 0xfe, 0x26, 0x00, 0x02, 0x75, 0x10, 0x95, 0x02,
0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col02#5&99b72d3&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x5 (0xd)
  Report Descriptor:
05 0D            Usage Page (13)
09 05            Usage  (5)
A1 01            Collection (Application)
09 22            Usage  (34)
A1 02            Collection (Logical)
85 08            Report ID (8)
09 47            Usage (71)
09 42            Usage (66)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 02            Input (0x02)
09 51            Usage (81)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
75 03            Report Size (3)
95 01            Report Count (1)
81 02            Input (0x02)
75 03            Report Size (3)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
05 01            Usage Page (1)
09 30            Usage (48)
15 00            Logical Minimum (0)
26 AF 04         Logical Maximum (1199)
35 00            Physical Minimum (0)
46 E8 03         Physical Maximum (1000)
55 0E            Unit Exponent (14)
65 11            Unit (17)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
09 31            Usage (49)
15 00            Logical Minimum (0)
26 7B 02         Logical Maximum (635)
35 00            Physical Minimum (0)
46 12 02         Physical Maximum (530)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
C0               End Collection
05 0D            Usage Page (13)
09 56            Usage (86)
15 00            Logical Minimum (0)
27 FF FF 00 00   Logical Maximum (65535)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 10            Report Size (16)
95 01            Report Count (1)
81 02            Input (0x02)
09 54            Usage (84)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
75 08            Report Size (8)
95 01            Report Count (1)
81 02            Input (0x02)
05 09            Usage Page (9)
09 02            Usage (2)
09 03            Usage (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
45 00            Physical Maximum (0)
55 00            Unit Exponent (0)
65 00            Unit (0)
81 02            Input (0x02)
75 06            Report Size (6)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
85 09            Report ID (9)
05 0D            Usage Page (13)
09 55            Usage (85)
15 00            Logical Minimum (0)
25 05            Logical Maximum (5)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 01            Report Count (1)
B1 02            Feature (0x02)
85 0A            Report ID (10)
06 00 FF         Usage Page (65280)
09 C5            Usage (197)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
96 00 01         Report Count (256)
B1 02            Feature (0x02)
C0               End Collection
(204 bytes)
0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02,
0x85, 0x08, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00,
0x25, 0x05, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00,
0x26, 0xaf, 0x04, 0x35, 0x00, 0x46, 0xe8, 0x03, 0x55, 0x0e,
0x65, 0x11, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31,
0x15, 0x00, 0x26, 0x7b, 0x02, 0x35, 0x00, 0x46, 0x12, 0x02,
0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09,
0x56, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x35, 0x00,
0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10,
0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x54, 0x15, 0x00,
0x25, 0x05, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x05, 0x09,
0x09, 0x02, 0x09, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02,
0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x85, 0x09, 0x05, 0x0d,
0x09, 0x55, 0x15, 0x00, 0x25, 0x05, 0x35, 0x00, 0x47, 0xff,
0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08,
0x95, 0x01, 0xb1, 0x02, 0x85, 0x0a, 0x06, 0x00, 0xff, 0x09,
0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x96, 0x00,
0x01, 0xb1, 0x02, 0xc0,

Device Found
  type: 413c b06e
  path: \\?\hid#vid_413c&pid_b06e#c&37ff1248&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      101
  Interface:    -1
  Usage (page): 0xda (0xffda)
  Report Descriptor:
06 DA FF         Usage Page (65498)
09 DA            Usage  (218)
A1 01            Collection (Application)
09 DA            Usage (218)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 02            Input (0x02)
19 01            Usage Minimum (1)
29 0E            Usage Maximum (14)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 BF            Report Count (191)
81 02            Input (0x02)
05 DA            Usage Page (218)
19 01            Usage Minimum (1)
29 05            Usage Maximum (5)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 C0            Report Count (192)
91 02            Output (0x02)
C0               End Collection
(50 bytes)
0x06, 0xda, 0xff, 0x09, 0xda, 0xa1, 0x01, 0x09, 0xda, 0x15,
0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x19,
0x01, 0x29, 0x0e, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95,
0xbf, 0x81, 0x02, 0x05, 0xda, 0x19, 0x01, 0x29, 0x05, 0x15,
0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0xc0, 0x91, 0x02, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 01            Report ID (1)
09 E9            Usage (233)
09 EA            Usage (234)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 06            Input (0x06)
75 06            Report Size (6)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
85 02            Report ID (2)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 10            Report Count (16)
81 02            Input (0x02)
85 05            Report ID (5)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 07            Report ID (7)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 04            Report ID (4)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 24            Report Count (36)
91 02            Output (0x02)
85 06            Report ID (6)
09 00            Usage (0)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 24            Report Count (36)
91 02            Output (0x02)
C0               End Collection
(99 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xe9,
0x09, 0xea, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02,
0x81, 0x06, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x85, 0x02,
0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10,
0x81, 0x02, 0x85, 0x05, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01,
0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x07, 0x09, 0x00,
0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02,
0x85, 0x04, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08,
0x95, 0x24, 0x91, 0x02, 0x85, 0x06, 0x09, 0x00, 0x15, 0x00,
0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x1 (0xc)
  Report Descriptor:
05 0C            Usage Page (12)
09 01            Usage  (1)
A1 01            Collection (Application)
85 02            Report ID (2)
09 E9            Usage (233)
09 EA            Usage (234)
0A 21 02         Usage (545)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
81 02            Input (0x02)
75 05            Report Size (5)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
C0               End Collection
(32 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x02, 0x09, 0xe9,
0x09, 0xea, 0x0a, 0x21, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75,
0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81,
0x03, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x5 (0xb)
  Report Descriptor:
05 0B            Usage Page (11)
09 05            Usage  (5)
A1 01            Collection (Application)
85 08            Report ID (8)
09 2F            Usage (47)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
09 20            Usage (32)
09 21            Usage (33)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
81 22            Input (0x22)
75 05            Report Size (5)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
85 09            Report ID (9)
05 08            Usage Page (8)
09 09            Usage (9)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
85 17            Report ID (23)
09 17            Usage (23)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
85 18            Report ID (24)
09 18            Usage (24)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
85 1E            Report ID (30)
09 1E            Usage (30)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
85 20            Report ID (32)
09 20            Usage (32)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
85 2A            Report ID (42)
09 2A            Usage (42)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
C0               End Collection
(163 bytes)
0x05, 0x0b, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x08, 0x09, 0x2f,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x81, 0x22, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03,
0x85, 0x09, 0x05, 0x08, 0x09, 0x09, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x1e, 0x09, 0x1e, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0x85, 0x2a, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01,
0x91, 0x03, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x80 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 80            Usage  (128)
A1 01            Collection (Application)
85 03            Report ID (3)
09 81            Usage (129)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 02            Input (0x02)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
C0               End Collection
(27 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x81,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0,

Device Found
  type: 047f c056
  path: \\?\hid#vid_047f&pid_c056&mi_03&col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x3 (0xffa0)
  Report Descriptor:
06 A0 FF         Usage Page (65440)
09 03            Usage  (3)
A1 01            Collection (Application)
85 03            Report ID (3)
09 30            Usage (48)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
81 02            Input (0x02)
85 14            Report ID (20)
09 B1            Usage (177)
09 B2            Usage (178)
09 B5            Usage (181)
09 B7            Usage (183)
09 B3            Usage (179)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
81 06            Input (0x06)
75 03            Report Size (3)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
85 15            Report ID (21)
09 8C            Usage (140)
15 00            Logical Minimum (0)
27 FF FF 00 00   Logical Maximum (65535)
75 10            Report Size (16)
95 01            Report Count (1)
81 22            Input (0x22)
85 1F            Report ID (31)
09 9C            Usage (156)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
81 06            Input (0x06)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
85 03            Report ID (3)
09 30            Usage (48)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 08            Report Size (8)
95 20            Report Count (32)
91 02            Output (0x02)
85 19            Report ID (25)
09 8D            Usage (141)
09 8F            Usage (143)
09 9E            Usage (158)
09 DC            Usage (220)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 04            Report Count (4)
91 22            Output (0x22)
09 D2            Usage (210)
09 D9            Usage (217)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
91 06            Output (0x06)
75 02            Report Size (2)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
85 1A            Report ID (26)
09 B5            Usage (181)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
91 22            Output (0x22)
75 07            Report Size (7)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
85 1B            Report ID (27)
09 CF            Usage (207)
09 B5            Usage (181)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
B1 22            Feature (0x22)
09 DE            Usage (222)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 23            Feature (0x23)
09 D8            Usage (216)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 01            Report Count (1)
B1 22            Feature (0x22)
75 04            Report Size (4)  Padding
95 01            Report Count (1) Padding
B1 03            Feature (0x03)   Padding
09 09            Usage (9)
09 17            Usage (23)
09 18            Usage (24)
09 1E            Usage (30)
09 20            Usage (32)
09 2A            Usage (42)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 06            Report Count (6)
B1 22            Feature (0x22)
75 02            Report Size (2)  Padding
95 01            Report Count (1) Padding
B1 03            Feature (0x03)   Padding
C0               End Collection
(235 bytes)
0x06, 0xa0, 0xff, 0x09, 0x03, 0xa1, 0x01, 0x85, 0x03, 0x09,
0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81,
0x02, 0x85, 0x14, 0x09, 0xb1, 0x09, 0xb2, 0x09, 0xb5, 0x09,
0xb7, 0x09, 0xb3, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
0x05, 0x81, 0x06, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x85,
0x15, 0x09, 0x8c, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00,
0x75, 0x10, 0x95, 0x01, 0x81, 0x22, 0x85, 0x1f, 0x09, 0x9c,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x85, 0x03, 0x09, 0x30,
0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x91, 0x02,
0x85, 0x19, 0x09, 0x8d, 0x09, 0x8f, 0x09, 0x9e, 0x09, 0xdc,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x91, 0x22,
0x09, 0xd2, 0x09, 0xd9, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x02, 0x91, 0x06, 0x75, 0x02, 0x95, 0x01, 0x91, 0x03,
0x85, 0x1a, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03,
0x85, 0x1b, 0x09, 0xcf, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x02, 0xb1, 0x22, 0x09, 0xde, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x23, 0x09, 0xd8,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x22,
0x75, 0x04, 0x95, 0x01, 0xb1, 0x03, 0x09, 0x09, 0x09, 0x17,
0x09, 0x18, 0x09, 0x1e, 0x09, 0x20, 0x09, 0x2a, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x06, 0xb1, 0x22, 0x75, 0x02,
0x95, 0x01, 0xb1, 0x03, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col03#5&99b72d3&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x1 (0xff01)
  Report Descriptor:
06 01 FF         Usage Page (65281)
09 01            Usage  (1)
A1 01            Collection (Application)
85 03            Report ID (3)
09 01            Usage (1)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 1B            Report Count (27)
81 02            Input (0x02)
85 04            Report ID (4)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 1B            Report Count (27)
81 02            Input (0x02)
85 06            Report ID (6)
09 04            Usage (4)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 07            Report Count (7)
81 02            Input (0x02)
85 05            Report ID (5)
09 03            Usage (3)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 07            Report Count (7)
B1 02            Feature (0x02)
C0               End Collection
(80 bytes)
0x06, 0x01, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x09,
0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff,
0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08,
0x95, 0x1b, 0x81, 0x02, 0x85, 0x04, 0x09, 0x02, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85,
0x06, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08,
0x95, 0x07, 0x81, 0x02, 0x85, 0x05, 0x09, 0x03, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0xb1, 0x02, 0xc0,

Device Found
  type: 046d c534
  path: \\?\hid#vid_046d&pid_c534&mi_00#7&1c54b96&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    0
  Usage (page): 0x6 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
19 00            Usage Minimum (0)
29 A4            Usage Maximum (164)
15 00            Logical Minimum (0)
26 A4 00         Logical Maximum (164)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
05 08            Usage Page (8)
19 01            Usage Minimum (1)
29 05            Usage Maximum (5)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 05            Report Count (5)
91 02            Output (0x02)
75 03            Report Size (3)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
C0               End Collection
(66 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0,
0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08,
0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00,
0x29, 0xa4, 0x15, 0x00, 0x26, 0xa4, 0x00, 0x75, 0x08, 0x95,
0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15,
0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75,
0x03, 0x95, 0x01, 0x91, 0x03, 0xc0,

Device Found
  type: 413c 2107
  path: \\?\hid#vid_413c&pid_2107#e&1de7f0c0&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer: DELL
  Product:      Dell USB Entry Keyboard
  Release:      178
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
05 07            Usage Page (7)
19 E0            Usage Minimum (224)
29 E7            Usage Maximum (231)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
75 08            Report Size (8)  Padding
95 01            Report Count (1) Padding
81 03            Input (0x03)     Padding
19 00            Usage Minimum (0)
29 FF            Usage Maximum (255)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
75 08            Report Size (8)
95 06            Report Count (6)
81 00            Input (0x00)
05 08            Usage Page (8)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 03            Report Count (3)
91 02            Output (0x02)
75 05            Report Size (5)  Padding
95 01            Report Count (1) Padding
91 03            Output (0x03)    Padding
C0               End Collection
(66 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0,
0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08,
0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00,
0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95,
0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x03, 0x15,
0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x91, 0x02, 0x75,
0x05, 0x95, 0x01, 0x91, 0x03, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col04#5&99b72d3&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x1 (0xff02)
  Report Descriptor:
06 02 FF         Usage Page (65282)
09 01            Usage  (1)
A1 01            Collection (Application)
85 07            Report ID (7)
09 02            Usage (2)
15 00            Logical Minimum (0)
26 FF 00         Logical Maximum (255)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 86            Report Count (134)
B1 02            Feature (0x02)
C0               End Collection
(35 bytes)
0x06, 0x02, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x09,
0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff,
0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08,
0x95, 0x86, 0xb1, 0x02, 0xc0,

Device Found
  type: 046d c077
  path: \\?\hid#vid_046d&pid_c077#e&fde55df&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Optical Mouse
  Release:      7200
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 02            Usage  (2)
A1 01            Collection (Application)
09 01            Usage  (1)
A1 00            Collection (Physical)
05 09            Usage Page (9)
19 01            Usage Minimum (1)
29 03            Usage Maximum (3)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
05 01            Usage Page (1)
09 30            Usage (48)
09 31            Usage (49)
09 38            Usage (56)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 03            Report Count (3)
81 06            Input (0x06)
C0               End Collection
C0               End Collection
(46 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x05, 0x01, 0x09, 0x30,
0x09, 0x31, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08,
0x95, 0x03, 0x81, 0x06, 0xc0, 0xc0,

Device Found
  type: 0488 121f
  path: \\?\hid#dell091a&col05#5&99b72d3&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0xe (0xd)
  Report Descriptor:
05 0D            Usage Page (13)
09 0E            Usage  (14)
A1 01            Collection (Application)
09 22            Usage  (34)
A1 02            Collection (Logical)
85 0B            Report ID (11)
09 52            Usage (82)
15 00            Logical Minimum (0)
25 0A            Logical Maximum (10)
35 00            Physical Minimum (0)
47 FF FF 00 00   Physical Maximum (65535)
55 0C            Unit Exponent (12)
66 01 10         Unit (4097)
75 08            Report Size (8)
95 01            Report Count (1)
B1 02            Feature (0x02)
C0               End Collection
09 22            Usage  (34)
A1 00            Collection (Physical)
85 0C            Report ID (12)
09 57            Usage (87)
09 58            Usage (88)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 02            Report Count (2)
45 00            Physical Maximum (0)
55 00            Unit Exponent (0)
65 00            Unit (0)
B1 02            Feature (0x02)
75 06            Report Size (6)  Padding
95 01            Report Count (1) Padding
B1 03            Feature (0x03)   Padding
C0               End Collection
C0               End Collection
(71 bytes)
0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02,
0x85, 0x0b, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x35, 0x00,
0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10,
0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1,
0x00, 0x85, 0x0c, 0x09, 0x57, 0x09, 0x58, 0x15, 0x00, 0x25,
0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65,
0x00, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0xb1, 0x03, 0xc0,
0xc0,

Device Found
  type: 413c b06f
  path: \\?\hid#vid_413c&pid_b06f#d&3624b04c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      101
  Interface:    -1
  Usage (page): 0xda (0xffda)
  Report Descriptor:
06 DA FF         Usage Page (65498)
09 DA            Usage  (218)
A1 01            Collection (Application)
09 DA            Usage (218)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 01            Report Count (1)
81 02            Input (0x02)
19 01            Usage Minimum (1)
29 0E            Usage Maximum (14)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 BF            Report Count (191)
81 02            Input (0x02)
05 DA            Usage Page (218)
19 01            Usage Minimum (1)
29 05            Usage Maximum (5)
15 81            Logical Minimum (-127)
25 7F            Logical Maximum (127)
75 08            Report Size (8)
95 C0            Report Count (192)
91 02            Output (0x02)
C0               End Collection
(50 bytes)
0x06, 0xda, 0xff, 0x09, 0xda, 0xa1, 0x01, 0x09, 0xda, 0x15,
0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x19,
0x01, 0x29, 0x0e, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95,
0xbf, 0x81, 0x02, 0x05, 0xda, 0x19, 0x01, 0x29, 0x05, 0x15,
0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0xc0, 0x91, 0x02, 0xc0,

Device Found
  type: 045e 0000
  path: \\?\hid#converteddevice&col01#5&379854aa&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Report Descriptor:
05 01            Usage Page (1)
09 06            Usage  (6)
A1 01            Collection (Application)
85 01            Report ID (1)
05 07            Usage Page (7)
09 69            Usage (105)
09 6A            Usage (106)
09 6B            Usage (107)
09 6C            Usage (108)
09 E3            Usage (227)
09 4C            Usage (76)
09 E2            Usage (226)
09 E0            Usage (224)
15 00            Logical Minimum (0)
25 01            Logical Maximum (1)
75 01            Report Size (1)
95 08            Report Count (8)
81 02            Input (0x02)
C0               End Collection
(37 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x01, 0x05, 0x07,
0x09, 0x69, 0x09, 0x6a, 0x09, 0x6b, 0x09, 0x6c, 0x09, 0xe3,
0x09, 0x4c, 0x09, 0xe2, 0x09, 0xe0, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0xc0,

unable to open device
Full debug log with the updated git. <details> <summary> Click to expand for the full debug log </summary> ``` C:\work\hid\hidapi_test2\windows\x64\Release [windows_report_descriptor_reconstructor_reengineered_pp_struct ≡]> .\hidtest.exe hidapi test/example tool. Compiled with hidapi version 0.11.0, runtime version 0.11.0. Compile-time version matches runtime version of hidapi. Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col01#7&383a3a17&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 02 Report ID (2) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 10 Usage Maximum (16) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 10 Report Count (16) 81 02 Input (0x02) 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 16 01 F8 Logical Minimum (-2047) 26 FF 07 Logical Maximum (2047) 75 0C Report Size (12) 95 02 Report Count (2) 81 06 Input (0x06) 09 38 Usage (56) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) 05 0C Usage Page (12) 0A 38 02 Usage (568) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) C0 End Collection C0 End Collection (75 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07, 0x75, 0x0c, 0x95, 0x02, 0x81, 0x06, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col02#7&383a3a17&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 03 Report ID (3) 19 01 Usage Minimum (1) 2A 8C 02 Usage Maximum (652) 15 01 Logical Minimum (1) 26 8C 02 Logical Maximum (652) 75 10 Report Size (16) 95 02 Report Count (2) 81 00 Input (0x00) C0 End Collection (25 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x01, 0x2a, 0x8c, 0x02, 0x15, 0x01, 0x26, 0x8c, 0x02, 0x75, 0x10, 0x95, 0x02, 0x81, 0x00, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col03#7&383a3a17&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x80 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 80 Usage (128) A1 01 Collection (Application) 85 04 Report ID (4) 09 82 Usage (130) 09 81 Usage (129) 09 83 Usage (131) 15 01 Logical Minimum (1) 25 03 Logical Maximum (3) 75 02 Report Size (2) 95 01 Report Count (1) 81 60 Input (0x60) 75 06 Report Size (6) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding C0 End Collection (31 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x82, 0x09, 0x81, 0x09, 0x83, 0x15, 0x01, 0x25, 0x03, 0x75, 0x02, 0x95, 0x01, 0x81, 0x60, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col04#7&383a3a17&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xff00) Report Descriptor: 06 00 FF Usage Page (65280) 09 01 Usage (1) A1 01 Collection (Application) 85 10 Report ID (16) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 06 Report Count (6) 91 00 Output (0x00) C0 End Collection (36 bytes) 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x91, 0x00, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col01#5&99b72d3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 01 Report ID (1) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 09 38 Usage (56) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 03 Report Count (3) 81 06 Input (0x06) 05 0C Usage Page (12) 0A 38 02 Usage (568) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 06 Input (0x06) C0 End Collection C0 End Collection (69 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x01, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 8087 0a1e path: \\?\hid#intc816&col01#3&36a7043c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 200 Interface: -1 Usage (page): 0xc (0x1) Report Descriptor: 05 01 Usage Page (1) 09 0C Usage (12) A1 01 Collection (Application) 85 08 Report ID (8) 09 C6 Usage (198) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding C0 End Collection (27 bytes) 0x05, 0x01, 0x09, 0x0c, 0xa1, 0x01, 0x85, 0x08, 0x09, 0xc6, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 044e 1212 path: \\?\hid#vid_044e&pid_1212&col01&col02#7&290aacae&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 85 07 Report ID (7) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 75 Usage Maximum (117) 15 00 Logical Minimum (0) 25 FF Logical Maximum (-1) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) C0 End Collection (45 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x07, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0x75, 0x15, 0x00, 0x25, 0xff, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_01&col05#7&383a3a17&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0xff00) Report Descriptor: 06 00 FF Usage Page (65280) 09 02 Usage (2) A1 01 Collection (Application) 85 11 Report ID (17) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 13 Report Count (19) 81 00 Input (0x00) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 13 Report Count (19) 91 00 Output (0x00) C0 End Collection (36 bytes) 0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13, 0x81, 0x00, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x13, 0x91, 0x00, 0xc0, Device Found type: 8087 0a1e path: \\?\hid#intc816&col02#3&36a7043c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 200 Interface: -1 Usage (page): 0xd (0x1) Report Descriptor: 05 01 Usage Page (1) 09 0D Usage (13) A1 01 Collection (Application) 09 0D Usage (13) A1 02 Collection (Logical) 85 1C Report ID (28) 09 81 Usage (129) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 02 Input (0x02) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 09 CB Usage (203) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 02 Feature (0x02) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding B1 03 Feature (0x03) Padding C0 End Collection C0 End Collection (50 bytes) 0x05, 0x01, 0x09, 0x0d, 0xa1, 0x01, 0x09, 0x0d, 0xa1, 0x02, 0x85, 0x1c, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x09, 0xcb, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x02, 0x75, 0x07, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, Device Found type: 044e 1212 path: \\?\hid#vid_044e&pid_1212&col01&col01#7&290aacae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 85 06 Report ID (6) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 16 00 FE Logical Minimum (-512) 26 00 02 Logical Maximum (512) 75 10 Report Size (16) 95 02 Report Count (2) 81 06 Input (0x06) C0 End Collection C0 End Collection (54 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x85, 0x06, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x16, 0x00, 0xfe, 0x26, 0x00, 0x02, 0x75, 0x10, 0x95, 0x02, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col02#5&99b72d3&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x5 (0xd) Report Descriptor: 05 0D Usage Page (13) 09 05 Usage (5) A1 01 Collection (Application) 09 22 Usage (34) A1 02 Collection (Logical) 85 08 Report ID (8) 09 47 Usage (71) 09 42 Usage (66) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 02 Input (0x02) 09 51 Usage (81) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 75 03 Report Size (3) 95 01 Report Count (1) 81 02 Input (0x02) 75 03 Report Size (3) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 05 01 Usage Page (1) 09 30 Usage (48) 15 00 Logical Minimum (0) 26 AF 04 Logical Maximum (1199) 35 00 Physical Minimum (0) 46 E8 03 Physical Maximum (1000) 55 0E Unit Exponent (14) 65 11 Unit (17) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) 09 31 Usage (49) 15 00 Logical Minimum (0) 26 7B 02 Logical Maximum (635) 35 00 Physical Minimum (0) 46 12 02 Physical Maximum (530) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) C0 End Collection 05 0D Usage Page (13) 09 56 Usage (86) 15 00 Logical Minimum (0) 27 FF FF 00 00 Logical Maximum (65535) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 10 Report Size (16) 95 01 Report Count (1) 81 02 Input (0x02) 09 54 Usage (84) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 75 08 Report Size (8) 95 01 Report Count (1) 81 02 Input (0x02) 05 09 Usage Page (9) 09 02 Usage (2) 09 03 Usage (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 45 00 Physical Maximum (0) 55 00 Unit Exponent (0) 65 00 Unit (0) 81 02 Input (0x02) 75 06 Report Size (6) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 85 09 Report ID (9) 05 0D Usage Page (13) 09 55 Usage (85) 15 00 Logical Minimum (0) 25 05 Logical Maximum (5) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 01 Report Count (1) B1 02 Feature (0x02) 85 0A Report ID (10) 06 00 FF Usage Page (65280) 09 C5 Usage (197) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 96 00 01 Report Count (256) B1 02 Feature (0x02) C0 End Collection (204 bytes) 0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02, 0x85, 0x08, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00, 0x25, 0x05, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00, 0x26, 0xaf, 0x04, 0x35, 0x00, 0x46, 0xe8, 0x03, 0x55, 0x0e, 0x65, 0x11, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31, 0x15, 0x00, 0x26, 0x7b, 0x02, 0x35, 0x00, 0x46, 0x12, 0x02, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x56, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x54, 0x15, 0x00, 0x25, 0x05, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x05, 0x09, 0x09, 0x02, 0x09, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x85, 0x09, 0x05, 0x0d, 0x09, 0x55, 0x15, 0x00, 0x25, 0x05, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0x85, 0x0a, 0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0xc0, Device Found type: 413c b06e path: \\?\hid#vid_413c&pid_b06e#c&37ff1248&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 101 Interface: -1 Usage (page): 0xda (0xffda) Report Descriptor: 06 DA FF Usage Page (65498) 09 DA Usage (218) A1 01 Collection (Application) 09 DA Usage (218) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 02 Input (0x02) 19 01 Usage Minimum (1) 29 0E Usage Maximum (14) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 BF Report Count (191) 81 02 Input (0x02) 05 DA Usage Page (218) 19 01 Usage Minimum (1) 29 05 Usage Maximum (5) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 C0 Report Count (192) 91 02 Output (0x02) C0 End Collection (50 bytes) 0x06, 0xda, 0xff, 0x09, 0xda, 0xa1, 0x01, 0x09, 0xda, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x19, 0x01, 0x29, 0x0e, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0xbf, 0x81, 0x02, 0x05, 0xda, 0x19, 0x01, 0x29, 0x05, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0xc0, 0x91, 0x02, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col01#f&39e6f119&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 01 Report ID (1) 09 E9 Usage (233) 09 EA Usage (234) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 06 Input (0x06) 75 06 Report Size (6) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 85 02 Report ID (2) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 10 Report Count (16) 81 02 Input (0x02) 85 05 Report ID (5) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 07 Report ID (7) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 04 Report ID (4) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 24 Report Count (36) 91 02 Output (0x02) 85 06 Report ID (6) 09 00 Usage (0) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 24 Report Count (36) 91 02 Output (0x02) C0 End Collection (99 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xe9, 0x09, 0xea, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x06, 0x75, 0x06, 0x95, 0x01, 0x81, 0x03, 0x85, 0x02, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x10, 0x81, 0x02, 0x85, 0x05, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x07, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x04, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0x85, 0x06, 0x09, 0x00, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x24, 0x91, 0x02, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x1 (0xc) Report Descriptor: 05 0C Usage Page (12) 09 01 Usage (1) A1 01 Collection (Application) 85 02 Report ID (2) 09 E9 Usage (233) 09 EA Usage (234) 0A 21 02 Usage (545) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 81 02 Input (0x02) 75 05 Report Size (5) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding C0 End Collection (32 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x02, 0x09, 0xe9, 0x09, 0xea, 0x0a, 0x21, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col02#f&39e6f119&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x5 (0xb) Report Descriptor: 05 0B Usage Page (11) 09 05 Usage (5) A1 01 Collection (Application) 85 08 Report ID (8) 09 2F Usage (47) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 09 20 Usage (32) 09 21 Usage (33) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 81 22 Input (0x22) 75 05 Report Size (5) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 85 09 Report ID (9) 05 08 Usage Page (8) 09 09 Usage (9) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding 85 17 Report ID (23) 09 17 Usage (23) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding 85 18 Report ID (24) 09 18 Usage (24) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding 85 1E Report ID (30) 09 1E Usage (30) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding 85 20 Report ID (32) 09 20 Usage (32) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding 85 2A Report ID (42) 09 2A Usage (42) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding C0 End Collection (163 bytes) 0x05, 0x0b, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x08, 0x09, 0x2f, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x09, 0x20, 0x09, 0x21, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x22, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0x85, 0x09, 0x05, 0x08, 0x09, 0x09, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x17, 0x09, 0x17, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x18, 0x09, 0x18, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x1e, 0x09, 0x1e, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x20, 0x09, 0x20, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x2a, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x80 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 80 Usage (128) A1 01 Collection (Application) 85 03 Report ID (3) 09 81 Usage (129) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 02 Input (0x02) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding C0 End Collection (27 bytes) 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x81, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0, Device Found type: 047f c056 path: \\?\hid#vid_047f&pid_c056&mi_03&col03#f&39e6f119&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x3 (0xffa0) Report Descriptor: 06 A0 FF Usage Page (65440) 09 03 Usage (3) A1 01 Collection (Application) 85 03 Report ID (3) 09 30 Usage (48) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 81 02 Input (0x02) 85 14 Report ID (20) 09 B1 Usage (177) 09 B2 Usage (178) 09 B5 Usage (181) 09 B7 Usage (183) 09 B3 Usage (179) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 81 06 Input (0x06) 75 03 Report Size (3) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 85 15 Report ID (21) 09 8C Usage (140) 15 00 Logical Minimum (0) 27 FF FF 00 00 Logical Maximum (65535) 75 10 Report Size (16) 95 01 Report Count (1) 81 22 Input (0x22) 85 1F Report ID (31) 09 9C Usage (156) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 81 06 Input (0x06) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 85 03 Report ID (3) 09 30 Usage (48) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 08 Report Size (8) 95 20 Report Count (32) 91 02 Output (0x02) 85 19 Report ID (25) 09 8D Usage (141) 09 8F Usage (143) 09 9E Usage (158) 09 DC Usage (220) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 04 Report Count (4) 91 22 Output (0x22) 09 D2 Usage (210) 09 D9 Usage (217) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 91 06 Output (0x06) 75 02 Report Size (2) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding 85 1A Report ID (26) 09 B5 Usage (181) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) 91 22 Output (0x22) 75 07 Report Size (7) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding 85 1B Report ID (27) 09 CF Usage (207) 09 B5 Usage (181) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) B1 22 Feature (0x22) 09 DE Usage (222) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 23 Feature (0x23) 09 D8 Usage (216) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 01 Report Count (1) B1 22 Feature (0x22) 75 04 Report Size (4) Padding 95 01 Report Count (1) Padding B1 03 Feature (0x03) Padding 09 09 Usage (9) 09 17 Usage (23) 09 18 Usage (24) 09 1E Usage (30) 09 20 Usage (32) 09 2A Usage (42) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 06 Report Count (6) B1 22 Feature (0x22) 75 02 Report Size (2) Padding 95 01 Report Count (1) Padding B1 03 Feature (0x03) Padding C0 End Collection (235 bytes) 0x06, 0xa0, 0xff, 0x09, 0x03, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x81, 0x02, 0x85, 0x14, 0x09, 0xb1, 0x09, 0xb2, 0x09, 0xb5, 0x09, 0xb7, 0x09, 0xb3, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x81, 0x06, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x85, 0x15, 0x09, 0x8c, 0x15, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x81, 0x22, 0x85, 0x1f, 0x09, 0x9c, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06, 0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0x85, 0x03, 0x09, 0x30, 0x15, 0x00, 0x25, 0x01, 0x75, 0x08, 0x95, 0x20, 0x91, 0x02, 0x85, 0x19, 0x09, 0x8d, 0x09, 0x8f, 0x09, 0x9e, 0x09, 0xdc, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x04, 0x91, 0x22, 0x09, 0xd2, 0x09, 0xd9, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x91, 0x06, 0x75, 0x02, 0x95, 0x01, 0x91, 0x03, 0x85, 0x1a, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x91, 0x22, 0x75, 0x07, 0x95, 0x01, 0x91, 0x03, 0x85, 0x1b, 0x09, 0xcf, 0x09, 0xb5, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0xb1, 0x22, 0x09, 0xde, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x23, 0x09, 0xd8, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0xb1, 0x22, 0x75, 0x04, 0x95, 0x01, 0xb1, 0x03, 0x09, 0x09, 0x09, 0x17, 0x09, 0x18, 0x09, 0x1e, 0x09, 0x20, 0x09, 0x2a, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x06, 0xb1, 0x22, 0x75, 0x02, 0x95, 0x01, 0xb1, 0x03, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col03#5&99b72d3&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x1 (0xff01) Report Descriptor: 06 01 FF Usage Page (65281) 09 01 Usage (1) A1 01 Collection (Application) 85 03 Report ID (3) 09 01 Usage (1) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 1B Report Count (27) 81 02 Input (0x02) 85 04 Report ID (4) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 1B Report Count (27) 81 02 Input (0x02) 85 06 Report ID (6) 09 04 Usage (4) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 07 Report Count (7) 81 02 Input (0x02) 85 05 Report ID (5) 09 03 Usage (3) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 07 Report Count (7) B1 02 Feature (0x02) C0 End Collection (80 bytes) 0x06, 0x01, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x09, 0x01, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85, 0x04, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x1b, 0x81, 0x02, 0x85, 0x06, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0x81, 0x02, 0x85, 0x05, 0x09, 0x03, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07, 0xb1, 0x02, 0xc0, Device Found type: 046d c534 path: \\?\hid#vid_046d&pid_c534&mi_00#7&1c54b96&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 0 Usage (page): 0x6 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 A4 Usage Maximum (164) 15 00 Logical Minimum (0) 26 A4 00 Logical Maximum (164) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 05 08 Usage Page (8) 19 01 Usage Minimum (1) 29 05 Usage Maximum (5) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 05 Report Count (5) 91 02 Output (0x02) 75 03 Report Size (3) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding C0 End Collection (66 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0xa4, 0x15, 0x00, 0x26, 0xa4, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75, 0x03, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 413c 2107 path: \\?\hid#vid_413c&pid_2107#e&1de7f0c0&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: DELL Product: Dell USB Entry Keyboard Release: 178 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 05 07 Usage Page (7) 19 E0 Usage Minimum (224) 29 E7 Usage Maximum (231) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 75 08 Report Size (8) Padding 95 01 Report Count (1) Padding 81 03 Input (0x03) Padding 19 00 Usage Minimum (0) 29 FF Usage Maximum (255) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 75 08 Report Size (8) 95 06 Report Count (6) 81 00 Input (0x00) 05 08 Usage Page (8) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 03 Report Count (3) 91 02 Output (0x02) 75 05 Report Size (5) Padding 95 01 Report Count (1) Padding 91 03 Output (0x03) Padding C0 End Collection (66 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x75, 0x08, 0x95, 0x01, 0x81, 0x03, 0x19, 0x00, 0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x06, 0x81, 0x00, 0x05, 0x08, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03, 0x91, 0x02, 0x75, 0x05, 0x95, 0x01, 0x91, 0x03, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col04#5&99b72d3&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0x1 (0xff02) Report Descriptor: 06 02 FF Usage Page (65282) 09 01 Usage (1) A1 01 Collection (Application) 85 07 Report ID (7) 09 02 Usage (2) 15 00 Logical Minimum (0) 26 FF 00 Logical Maximum (255) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 86 Report Count (134) B1 02 Feature (0x02) C0 End Collection (35 bytes) 0x06, 0x02, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x86, 0xb1, 0x02, 0xc0, Device Found type: 046d c077 path: \\?\hid#vid_046d&pid_c077#e&fde55df&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Logitech Product: USB Optical Mouse Release: 7200 Interface: -1 Usage (page): 0x2 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 02 Usage (2) A1 01 Collection (Application) 09 01 Usage (1) A1 00 Collection (Physical) 05 09 Usage Page (9) 19 01 Usage Minimum (1) 29 03 Usage Maximum (3) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) 05 01 Usage Page (1) 09 30 Usage (48) 09 31 Usage (49) 09 38 Usage (56) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 03 Report Count (3) 81 06 Input (0x06) C0 End Collection C0 End Collection (46 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x03, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x09, 0x38, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x03, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 0488 121f path: \\?\hid#dell091a&col05#5&99b72d3&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: 9999 Manufacturer: Microsoft Product: HIDI2C Device Release: 40d Interface: -1 Usage (page): 0xe (0xd) Report Descriptor: 05 0D Usage Page (13) 09 0E Usage (14) A1 01 Collection (Application) 09 22 Usage (34) A1 02 Collection (Logical) 85 0B Report ID (11) 09 52 Usage (82) 15 00 Logical Minimum (0) 25 0A Logical Maximum (10) 35 00 Physical Minimum (0) 47 FF FF 00 00 Physical Maximum (65535) 55 0C Unit Exponent (12) 66 01 10 Unit (4097) 75 08 Report Size (8) 95 01 Report Count (1) B1 02 Feature (0x02) C0 End Collection 09 22 Usage (34) A1 00 Collection (Physical) 85 0C Report ID (12) 09 57 Usage (87) 09 58 Usage (88) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 02 Report Count (2) 45 00 Physical Maximum (0) 55 00 Unit Exponent (0) 65 00 Unit (0) B1 02 Feature (0x02) 75 06 Report Size (6) Padding 95 01 Report Count (1) Padding B1 03 Feature (0x03) Padding C0 End Collection C0 End Collection (71 bytes) 0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02, 0x85, 0x0b, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1, 0x00, 0x85, 0x0c, 0x09, 0x57, 0x09, 0x58, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0xb1, 0x02, 0x75, 0x06, 0x95, 0x01, 0xb1, 0x03, 0xc0, 0xc0, Device Found type: 413c b06f path: \\?\hid#vid_413c&pid_b06f#d&3624b04c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Release: 101 Interface: -1 Usage (page): 0xda (0xffda) Report Descriptor: 06 DA FF Usage Page (65498) 09 DA Usage (218) A1 01 Collection (Application) 09 DA Usage (218) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 01 Report Count (1) 81 02 Input (0x02) 19 01 Usage Minimum (1) 29 0E Usage Maximum (14) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 BF Report Count (191) 81 02 Input (0x02) 05 DA Usage Page (218) 19 01 Usage Minimum (1) 29 05 Usage Maximum (5) 15 81 Logical Minimum (-127) 25 7F Logical Maximum (127) 75 08 Report Size (8) 95 C0 Report Count (192) 91 02 Output (0x02) C0 End Collection (50 bytes) 0x06, 0xda, 0xff, 0x09, 0xda, 0xa1, 0x01, 0x09, 0xda, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x19, 0x01, 0x29, 0x0e, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0xbf, 0x81, 0x02, 0x05, 0xda, 0x19, 0x01, 0x29, 0x05, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0xc0, 0x91, 0x02, 0xc0, Device Found type: 045e 0000 path: \\?\hid#converteddevice&col01#5&379854aa&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\kbd serial_number: Manufacturer: Product: Release: 0 Interface: -1 Usage (page): 0x6 (0x1) Report Descriptor: 05 01 Usage Page (1) 09 06 Usage (6) A1 01 Collection (Application) 85 01 Report ID (1) 05 07 Usage Page (7) 09 69 Usage (105) 09 6A Usage (106) 09 6B Usage (107) 09 6C Usage (108) 09 E3 Usage (227) 09 4C Usage (76) 09 E2 Usage (226) 09 E0 Usage (224) 15 00 Logical Minimum (0) 25 01 Logical Maximum (1) 75 01 Report Size (1) 95 08 Report Count (8) 81 02 Input (0x02) C0 End Collection (37 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x01, 0x05, 0x07, 0x09, 0x69, 0x09, 0x6a, 0x09, 0x6b, 0x09, 0x6c, 0x09, 0xe3, 0x09, 0x4c, 0x09, 0xe2, 0x09, 0xe0, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0xc0, unable to open device ``` </details>
Youw commented 2021-07-28 06:59:33 -05:00 (Migrated from github.com)

I am a bit lost in tons of logs and checks, so I'll trust you both @mcuee and @JoergAtGithub regarding this (or #262 I guess).
When you think it is functionally ready, I'll check the implementation and will leave my comments then.

I expect at that moment to have a clean implementation (no debug logs or commented-out code).
Thanks.

I am a bit lost in tons of logs and checks, so I'll trust you both @mcuee and @JoergAtGithub regarding this (or #262 I guess). When you think it is functionally ready, I'll check the implementation and will leave my comments then. I expect at that moment to have a clean implementation (no debug logs or commented-out code). Thanks.
JoergAtGithub commented 2021-07-28 16:15:20 -05:00 (Migrated from github.com)

I'll go for vacation the next two weeks, when I'm back, I will finish this and clean up the code for review!
Functional the results for the available test devices are already very close to what is achievable by reconstruction. But there are several Report Descriptor fields described in the HID specification, which are not used by any of these devices. Without reference device, it's difficult to guess, how Windows will process these fields.

I'll go for vacation the next two weeks, when I'm back, I will finish this and clean up the code for review! Functional the results for the available test devices are already very close to what is achievable by reconstruction. But there are several Report Descriptor fields described in the HID specification, which are not used by any of these devices. Without reference device, it's difficult to guess, how Windows will process these fields.
mcuee commented 2021-07-29 00:42:55 -05:00 (Migrated from github.com)

@JoergAtGithub

But there are several Report Descriptor fields described in the HID specification, which are not used by any of these devices. Without reference device, it's difficult to guess, how Windows will process these fields.

Please help to name those "Report Descriptor fields" and maybe I can find some references devices or even find a way to create devices FW with those fields.

@JoergAtGithub > But there are several Report Descriptor fields described in the HID specification, which are not used by any of these devices. Without reference device, it's difficult to guess, how Windows will process these fields. Please help to name those "Report Descriptor fields" and maybe I can find some references devices or even find a way to create devices FW with those fields.
JoergAtGithub commented 2021-07-29 01:00:52 -05:00 (Migrated from github.com)

If you could look for devices as described in Appendix B and C of the following document: https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf
Especially the case in Appendix B, where multiple alternative usages are declared for the same collection/control using deliminters, requires special handling.
Maybe you can program these examples in your PIC device?

If you could look for devices as described in Appendix B and C of the following document: https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf Especially the case in Appendix B, where multiple alternative usages are declared for the same collection/control using deliminters, requires special handling. Maybe you can program these examples in your PIC device?
mcuee commented 2021-07-29 01:07:26 -05:00 (Migrated from github.com)

If you could look for devices as described in Appendix B and C of the following document: https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf
Especially the case in Appendix B, where multiple alternative usages are declared for the same collection/control using deliminters, requires special handling.
Maybe you can program these examples in your PIC device?

Okay, let me try to find some reference devices first. If I can not find, I will try to see if there are reference codes for USB MCUs (USB PICs or ARM MCUs).

> If you could look for devices as described in Appendix B and C of the following document: https://www.usb.org/sites/default/files/documents/hut1_12v2.pdf > Especially the case in Appendix B, where multiple alternative usages are declared for the same collection/control using deliminters, requires special handling. > Maybe you can program these examples in your PIC device? Okay, let me try to find some reference devices first. If I can not find, I will try to see if there are reference codes for USB MCUs (USB PICs or ARM MCUs).
mcuee commented 2021-07-29 08:54:47 -05:00 (Migrated from github.com)

Somehow it can not print out the report descriptor of the Microsoft XBox One S Wireless Controller. Not so sure if this is expected or not. Same problem with #262.

Device Found
  type: 045e 02ff
  path: \\?\hid#vid_045e&pid_02ff&ig_00#7&96fb0c1&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:      Controller (Xbox One For Windows)
  Release:      0
  Interface:    -1
  Usage (page): 0x5 (0x1)
  Report Descriptor:

It also does not work under Bluetooth.

Device Found
  type: 045e 02e0
  path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}&vid_045e&pid_02e0&ig_00#8&1a8b079c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: xxxxxxxxxxxx
  Manufacturer: Microsoft Corporation
  Product:      Xbox Bluetooth Gamepad
  Release:      0
  Interface:    -1
  Usage (page): 0x5 (0x1)
  Report Descriptor:
Somehow it can not print out the report descriptor of the Microsoft XBox One S Wireless Controller. Not so sure if this is expected or not. Same problem with #262. ``` Device Found type: 045e 02ff path: \\?\hid#vid_045e&pid_02ff&ig_00#7&96fb0c1&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: Product: Controller (Xbox One For Windows) Release: 0 Interface: -1 Usage (page): 0x5 (0x1) Report Descriptor: ``` It also does not work under Bluetooth. ``` Device Found type: 045e 02e0 path: \\?\hid#{00001124-0000-1000-8000-00805f9b34fb}&vid_045e&pid_02e0&ig_00#8&1a8b079c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: xxxxxxxxxxxx Manufacturer: Microsoft Corporation Product: Xbox Bluetooth Gamepad Release: 0 Interface: -1 Usage (page): 0x5 (0x1) Report Descriptor: ```
mcuee commented 2021-07-30 04:22:48 -05:00 (Migrated from github.com)

HIDSharp output may not be correct, but at least it can get something out.

\\?\hid#vid_045e&pid_02ff&ig_00#7&96fb0c1&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
(unnamed manufacturer) Controller (Xbox One For Windows) (no serial number) (VID 1118, PID 767, version 0.0)
Max Lengths: Input 16, Output 0, Feature 0
Serial Ports:
Report Descriptor:
  05 01 09 05 A1 01 09 00 A1 00 09 30 15 00 35 00 65 00 55 00 75 10 95 01 81 02 09 31 81 02 C1 00 09 00 A1 00 09 33 81 02 09 34 81 02 C1 00 09 00 A1 00 09 32 81 02 C1 00 05 09 19 01 29 10 25 01 45 01 75 01 95 10 81 02 05 01 09 39 15 01 25 08 46 3B 10 65 0E 75 04 95 01 81 42 15 00 25 01 45 01 65 00 75 01 95 14 81 03 C1 00 (107 bytes)
  UsagePage 1
  Usage 5
  Collection 1
    Usage 0
    Collection 0
      Usage 48
      LogicalMinimum 0
      PhysicalMinimum 0
      Unit 0
      UnitExponent 0
      ReportSize 16
      ReportCount 1
      Input 2
      Usage 49
      Input 2
    EndCollection 0
    Usage 0
    Collection 0
      Usage 51
      Input 2
      Usage 52
      Input 2
    EndCollection 0
    Usage 0
    Collection 0
      Usage 50
      Input 2
    EndCollection 0
    UsagePage 9
    UsageMinimum 1
    UsageMaximum 16
    LogicalMaximum 1
    PhysicalMaximum 1
    ReportSize 1
    ReportCount 16
    Input 2
    UsagePage 1
    Usage 57
    LogicalMinimum 1
    LogicalMaximum 8
    PhysicalMaximum 4155
    Unit 14
    ReportSize 4
    ReportCount 1
    Input 66
    LogicalMinimum 0
    LogicalMaximum 1
    PhysicalMaximum 1
    Unit 0
    ReportSize 1
    ReportCount 20
    Input 3
  EndCollection 0
Usage: 10005 GenericDesktopGamepad
Input: ReportID=0, Length=16, Items=8
  1 Elements x 16 Bits, Units: None, Expected Usage Type: 0, Flags: Variable, Usages: 10030 GenericDesktopX
  1 Elements x 16 Bits, Units: None, Expected Usage Type: 0, Flags: Variable, Usages: 10031 GenericDesktopY
  1 Elements x 16 Bits, Units: None, Expected Usage Type: 0, Flags: Variable, Usages: 10033 GenericDesktopRx
  1 Elements x 16 Bits, Units: None, Expected Usage Type: 0, Flags: Variable, Usages: 10034 GenericDesktopRy
  1 Elements x 16 Bits, Units: None, Expected Usage Type: 0, Flags: Variable, Usages: 10032 GenericDesktopZ
  16 Elements x 1 Bits, Units: None, Expected Usage Type: PushButton, Flags: Variable, Usages: 90001 Button1, 90002 Button2, 90003 Button3, 90004 Button4, 90005 Button5, 90006 Button6, 90007 Button7, 90008 Button8, 90009 Button9, 9000A Button10, 9000B Button11, 9000C Button12, 9000D Button13, 9000E Button14, 9000F Button15, 90010 Button16
  1 Elements x 4 Bits, Units: 14, Expected Usage Type: 0, Flags: Variable, NullState, Usages: 10039 GenericDesktopHatSwitch
  20 Elements x 1 Bits, Units: None, Expected Usage Type: 0, Flags: Constant, Variable, Usages:
Opening device for 20 seconds...
Opened device.
  GenericDesktopX: NaN -> NaN
  GenericDesktopY: NaN -> NaN
  GenericDesktopRx: NaN -> NaN
  GenericDesktopRy: NaN -> NaN
  GenericDesktopZ: NaN -> NaN
  Button1: NaN -> 0
  Button2: NaN -> 0
  Button3: NaN -> 0
  Button4: NaN -> 0
  Button5: NaN -> 0
  Button6: NaN -> 0
  Button7: NaN -> 0
  Button8: NaN -> 0
  Button9: NaN -> 0
  Button10: NaN -> 0
  Button11: NaN -> 0
  Button12: NaN -> 0
  Button13: NaN -> 0
  Button14: NaN -> 0
  Button15: NaN -> 0
  Button16: NaN -> 0
  GenericDesktopHatSwitch: NaN -> NaN
Closed device.
HIDSharp output may not be correct, but at least it can get something out. ``` \\?\hid#vid_045e&pid_02ff&ig_00#7&96fb0c1&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} (unnamed manufacturer) Controller (Xbox One For Windows) (no serial number) (VID 1118, PID 767, version 0.0) Max Lengths: Input 16, Output 0, Feature 0 Serial Ports: Report Descriptor: 05 01 09 05 A1 01 09 00 A1 00 09 30 15 00 35 00 65 00 55 00 75 10 95 01 81 02 09 31 81 02 C1 00 09 00 A1 00 09 33 81 02 09 34 81 02 C1 00 09 00 A1 00 09 32 81 02 C1 00 05 09 19 01 29 10 25 01 45 01 75 01 95 10 81 02 05 01 09 39 15 01 25 08 46 3B 10 65 0E 75 04 95 01 81 42 15 00 25 01 45 01 65 00 75 01 95 14 81 03 C1 00 (107 bytes) UsagePage 1 Usage 5 Collection 1 Usage 0 Collection 0 Usage 48 LogicalMinimum 0 PhysicalMinimum 0 Unit 0 UnitExponent 0 ReportSize 16 ReportCount 1 Input 2 Usage 49 Input 2 EndCollection 0 Usage 0 Collection 0 Usage 51 Input 2 Usage 52 Input 2 EndCollection 0 Usage 0 Collection 0 Usage 50 Input 2 EndCollection 0 UsagePage 9 UsageMinimum 1 UsageMaximum 16 LogicalMaximum 1 PhysicalMaximum 1 ReportSize 1 ReportCount 16 Input 2 UsagePage 1 Usage 57 LogicalMinimum 1 LogicalMaximum 8 PhysicalMaximum 4155 Unit 14 ReportSize 4 ReportCount 1 Input 66 LogicalMinimum 0 LogicalMaximum 1 PhysicalMaximum 1 Unit 0 ReportSize 1 ReportCount 20 Input 3 EndCollection 0 Usage: 10005 GenericDesktopGamepad Input: ReportID=0, Length=16, Items=8 1 Elements x 16 Bits, Units: None, Expected Usage Type: 0, Flags: Variable, Usages: 10030 GenericDesktopX 1 Elements x 16 Bits, Units: None, Expected Usage Type: 0, Flags: Variable, Usages: 10031 GenericDesktopY 1 Elements x 16 Bits, Units: None, Expected Usage Type: 0, Flags: Variable, Usages: 10033 GenericDesktopRx 1 Elements x 16 Bits, Units: None, Expected Usage Type: 0, Flags: Variable, Usages: 10034 GenericDesktopRy 1 Elements x 16 Bits, Units: None, Expected Usage Type: 0, Flags: Variable, Usages: 10032 GenericDesktopZ 16 Elements x 1 Bits, Units: None, Expected Usage Type: PushButton, Flags: Variable, Usages: 90001 Button1, 90002 Button2, 90003 Button3, 90004 Button4, 90005 Button5, 90006 Button6, 90007 Button7, 90008 Button8, 90009 Button9, 9000A Button10, 9000B Button11, 9000C Button12, 9000D Button13, 9000E Button14, 9000F Button15, 90010 Button16 1 Elements x 4 Bits, Units: 14, Expected Usage Type: 0, Flags: Variable, NullState, Usages: 10039 GenericDesktopHatSwitch 20 Elements x 1 Bits, Units: None, Expected Usage Type: 0, Flags: Constant, Variable, Usages: Opening device for 20 seconds... Opened device. GenericDesktopX: NaN -> NaN GenericDesktopY: NaN -> NaN GenericDesktopRx: NaN -> NaN GenericDesktopRy: NaN -> NaN GenericDesktopZ: NaN -> NaN Button1: NaN -> 0 Button2: NaN -> 0 Button3: NaN -> 0 Button4: NaN -> 0 Button5: NaN -> 0 Button6: NaN -> 0 Button7: NaN -> 0 Button8: NaN -> 0 Button9: NaN -> 0 Button10: NaN -> 0 Button11: NaN -> 0 Button12: NaN -> 0 Button13: NaN -> 0 Button14: NaN -> 0 Button15: NaN -> 0 Button16: NaN -> 0 GenericDesktopHatSwitch: NaN -> NaN Closed device. ```
mcuee commented 2021-07-30 22:05:33 -05:00 (Migrated from github.com)

Interestling if I connect the Xbox One S Wireless Controller to my Mac Mini M1 through USB, it shows up as unconfigured and no HID interface is exposed. So I have to connect it through Bluetooth.

045E 02FD: Unknown - Xbox Wireless Controller
DESCRIPTOR:
  05  01  09  05  a1  01  85  01  09  01  a1  00  09  30  09  31 
  15  00  27  ff  ff  00  00  95  02  75  10  81  02  c0  09  01 
  a1  00  09  32  09  35  15  00  27  ff  ff  00  00  95  02  75 
  10  81  02  c0  05  02  09  c5  15  00  26  ff  03  95  01  75 
  0a  81  02  15  00  25  00  75  06  95  01  81  03  05  02  09 
  c4  15  00  26  ff  03  95  01  75  0a  81  02  15  00  25  00 
  75  06  95  01  81  03  05  01  09  39  15  01  25  08  35  00 
  46  3b  01  66  14  00  75  04  95  01  81  42  75  04  95  01 
  15  00  25  00  35  00  45  00  65  00  81  03  05  09  19  01 
  29  0f  15  00  25  01  75  01  95  0f  81  02  15  00  25  00 
  75  01  95  01  81  03  05  0c  0a  24  02  15  00  25  01  95 
  01  75  01  81  02  15  00  25  00  75  07  95  01  81  03  05 
  0c  09  01  85  02  a1  01  05  0c  0a  23  02  15  00  25  01 
  95  01  75  01  81  02  15  00  25  00  75  07  95  01  81  03 
  c0  05  0f  09  21  85  03  a1  02  09  97  15  00  25  01  75 
  04  95  01  91  02  15  00  25  00  75  04  95  01  91  03  09 
  70  15  00  25  64  75  08  95  04  91  02  09  50  66  01  10 
  55  0e  15  00  26  ff  00  75  08  95  01  91  02  09  a7  15 
  00  26  ff  00  75  08  95  01  91  02  65  00  55  00  09  7c 
  15  00  26  ff  00  75  08  95  01  91  02  c0  85  04  05  06 
  09  20  15  00  26  ff  00  75  08  95  01  81  02  c0  
  (334 bytes)

HID report parser output

0x05, 0x01,        // Usage Page (Generic Desktop Ctrls)
0x09, 0x05,        // Usage (Game Pad)
0xA1, 0x01,        // Collection (Application)
0x85, 0x01,        //   Report ID (1)
0x09, 0x01,        //   Usage (Pointer)
0xA1, 0x00,        //   Collection (Physical)
0x09, 0x30,        //     Usage (X)
0x09, 0x31,        //     Usage (Y)
0x15, 0x00,        //     Logical Minimum (0)
0x27, 0xFF, 0xFF, 0x00, 0x00,  //     Logical Maximum (65534)
0x95, 0x02,        //     Report Count (2)
0x75, 0x10,        //     Report Size (16)
0x81, 0x02,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0,              //   End Collection
0x09, 0x01,        //   Usage (Pointer)
0xA1, 0x00,        //   Collection (Physical)
0x09, 0x32,        //     Usage (Z)
0x09, 0x35,        //     Usage (Rz)
0x15, 0x00,        //     Logical Minimum (0)
0x27, 0xFF, 0xFF, 0x00, 0x00,  //     Logical Maximum (65534)
0x95, 0x02,        //     Report Count (2)
0x75, 0x10,        //     Report Size (16)
0x81, 0x02,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0,              //   End Collection
0x05, 0x02,        //   Usage Page (Sim Ctrls)
0x09, 0xC5,        //   Usage (Brake)
0x15, 0x00,        //   Logical Minimum (0)
0x26, 0xFF, 0x03,  //   Logical Maximum (1023)
0x95, 0x01,        //   Report Count (1)
0x75, 0x0A,        //   Report Size (10)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x15, 0x00,        //   Logical Minimum (0)
0x25, 0x00,        //   Logical Maximum (0)
0x75, 0x06,        //   Report Size (6)
0x95, 0x01,        //   Report Count (1)
0x81, 0x03,        //   Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x05, 0x02,        //   Usage Page (Sim Ctrls)
0x09, 0xC4,        //   Usage (Accelerator)
0x15, 0x00,        //   Logical Minimum (0)
0x26, 0xFF, 0x03,  //   Logical Maximum (1023)
0x95, 0x01,        //   Report Count (1)
0x75, 0x0A,        //   Report Size (10)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x15, 0x00,        //   Logical Minimum (0)
0x25, 0x00,        //   Logical Maximum (0)
0x75, 0x06,        //   Report Size (6)
0x95, 0x01,        //   Report Count (1)
0x81, 0x03,        //   Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x05, 0x01,        //   Usage Page (Generic Desktop Ctrls)
0x09, 0x39,        //   Usage (Hat switch)
0x15, 0x01,        //   Logical Minimum (1)
0x25, 0x08,        //   Logical Maximum (8)
0x35, 0x00,        //   Physical Minimum (0)
0x46, 0x3B, 0x01,  //   Physical Maximum (315)
0x66, 0x14, 0x00,  //   Unit (System: English Rotation, Length: Centimeter)
0x75, 0x04,        //   Report Size (4)
0x95, 0x01,        //   Report Count (1)
0x81, 0x42,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State)
0x75, 0x04,        //   Report Size (4)
0x95, 0x01,        //   Report Count (1)
0x15, 0x00,        //   Logical Minimum (0)
0x25, 0x00,        //   Logical Maximum (0)
0x35, 0x00,        //   Physical Minimum (0)
0x45, 0x00,        //   Physical Maximum (0)
0x65, 0x00,        //   Unit (None)
0x81, 0x03,        //   Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x05, 0x09,        //   Usage Page (Button)
0x19, 0x01,        //   Usage Minimum (0x01)
0x29, 0x0F,        //   Usage Maximum (0x0F)
0x15, 0x00,        //   Logical Minimum (0)
0x25, 0x01,        //   Logical Maximum (1)
0x75, 0x01,        //   Report Size (1)
0x95, 0x0F,        //   Report Count (15)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x15, 0x00,        //   Logical Minimum (0)
0x25, 0x00,        //   Logical Maximum (0)
0x75, 0x01,        //   Report Size (1)
0x95, 0x01,        //   Report Count (1)
0x81, 0x03,        //   Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x05, 0x0C,        //   Usage Page (Consumer)
0x0A, 0x24, 0x02,  //   Usage (AC Back)
0x15, 0x00,        //   Logical Minimum (0)
0x25, 0x01,        //   Logical Maximum (1)
0x95, 0x01,        //   Report Count (1)
0x75, 0x01,        //   Report Size (1)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x15, 0x00,        //   Logical Minimum (0)
0x25, 0x00,        //   Logical Maximum (0)
0x75, 0x07,        //   Report Size (7)
0x95, 0x01,        //   Report Count (1)
0x81, 0x03,        //   Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x05, 0x0C,        //   Usage Page (Consumer)
0x09, 0x01,        //   Usage (Consumer Control)
0x85, 0x02,        //   Report ID (2)
0xA1, 0x01,        //   Collection (Application)
0x05, 0x0C,        //     Usage Page (Consumer)
0x0A, 0x23, 0x02,  //     Usage (AC Home)
0x15, 0x00,        //     Logical Minimum (0)
0x25, 0x01,        //     Logical Maximum (1)
0x95, 0x01,        //     Report Count (1)
0x75, 0x01,        //     Report Size (1)
0x81, 0x02,        //     Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0x15, 0x00,        //     Logical Minimum (0)
0x25, 0x00,        //     Logical Maximum (0)
0x75, 0x07,        //     Report Size (7)
0x95, 0x01,        //     Report Count (1)
0x81, 0x03,        //     Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0,              //   End Collection
0x05, 0x0F,        //   Usage Page (PID Page)
0x09, 0x21,        //   Usage (0x21)
0x85, 0x03,        //   Report ID (3)
0xA1, 0x02,        //   Collection (Logical)
0x09, 0x97,        //     Usage (0x97)
0x15, 0x00,        //     Logical Minimum (0)
0x25, 0x01,        //     Logical Maximum (1)
0x75, 0x04,        //     Report Size (4)
0x95, 0x01,        //     Report Count (1)
0x91, 0x02,        //     Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x15, 0x00,        //     Logical Minimum (0)
0x25, 0x00,        //     Logical Maximum (0)
0x75, 0x04,        //     Report Size (4)
0x95, 0x01,        //     Report Count (1)
0x91, 0x03,        //     Output (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x09, 0x70,        //     Usage (0x70)
0x15, 0x00,        //     Logical Minimum (0)
0x25, 0x64,        //     Logical Maximum (100)
0x75, 0x08,        //     Report Size (8)
0x95, 0x04,        //     Report Count (4)
0x91, 0x02,        //     Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x09, 0x50,        //     Usage (0x50)
0x66, 0x01, 0x10,  //     Unit (System: SI Linear, Time: Seconds)
0x55, 0x0E,        //     Unit Exponent (-2)
0x15, 0x00,        //     Logical Minimum (0)
0x26, 0xFF, 0x00,  //     Logical Maximum (255)
0x75, 0x08,        //     Report Size (8)
0x95, 0x01,        //     Report Count (1)
0x91, 0x02,        //     Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x09, 0xA7,        //     Usage (0xA7)
0x15, 0x00,        //     Logical Minimum (0)
0x26, 0xFF, 0x00,  //     Logical Maximum (255)
0x75, 0x08,        //     Report Size (8)
0x95, 0x01,        //     Report Count (1)
0x91, 0x02,        //     Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0x65, 0x00,        //     Unit (None)
0x55, 0x00,        //     Unit Exponent (0)
0x09, 0x7C,        //     Usage (0x7C)
0x15, 0x00,        //     Logical Minimum (0)
0x26, 0xFF, 0x00,  //     Logical Maximum (255)
0x75, 0x08,        //     Report Size (8)
0x95, 0x01,        //     Report Count (1)
0x91, 0x02,        //     Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile)
0xC0,              //   End Collection
0x85, 0x04,        //   Report ID (4)
0x05, 0x06,        //   Usage Page (Generic Dev Ctrls)
0x09, 0x20,        //   Usage (Battery Strength)
0x15, 0x00,        //   Logical Minimum (0)
0x26, 0xFF, 0x00,  //   Logical Maximum (255)
0x75, 0x08,        //   Report Size (8)
0x95, 0x01,        //   Report Count (1)
0x81, 0x02,        //   Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position)
0xC0,              // End Collection

// 334 bytes```
Interestling if I connect the Xbox One S Wireless Controller to my Mac Mini M1 through USB, it shows up as unconfigured and no HID interface is exposed. So I have to connect it through Bluetooth. ``` 045E 02FD: Unknown - Xbox Wireless Controller DESCRIPTOR: 05 01 09 05 a1 01 85 01 09 01 a1 00 09 30 09 31 15 00 27 ff ff 00 00 95 02 75 10 81 02 c0 09 01 a1 00 09 32 09 35 15 00 27 ff ff 00 00 95 02 75 10 81 02 c0 05 02 09 c5 15 00 26 ff 03 95 01 75 0a 81 02 15 00 25 00 75 06 95 01 81 03 05 02 09 c4 15 00 26 ff 03 95 01 75 0a 81 02 15 00 25 00 75 06 95 01 81 03 05 01 09 39 15 01 25 08 35 00 46 3b 01 66 14 00 75 04 95 01 81 42 75 04 95 01 15 00 25 00 35 00 45 00 65 00 81 03 05 09 19 01 29 0f 15 00 25 01 75 01 95 0f 81 02 15 00 25 00 75 01 95 01 81 03 05 0c 0a 24 02 15 00 25 01 95 01 75 01 81 02 15 00 25 00 75 07 95 01 81 03 05 0c 09 01 85 02 a1 01 05 0c 0a 23 02 15 00 25 01 95 01 75 01 81 02 15 00 25 00 75 07 95 01 81 03 c0 05 0f 09 21 85 03 a1 02 09 97 15 00 25 01 75 04 95 01 91 02 15 00 25 00 75 04 95 01 91 03 09 70 15 00 25 64 75 08 95 04 91 02 09 50 66 01 10 55 0e 15 00 26 ff 00 75 08 95 01 91 02 09 a7 15 00 26 ff 00 75 08 95 01 91 02 65 00 55 00 09 7c 15 00 26 ff 00 75 08 95 01 91 02 c0 85 04 05 06 09 20 15 00 26 ff 00 75 08 95 01 81 02 c0 (334 bytes) ``` HID report parser output ``` 0x05, 0x01, // Usage Page (Generic Desktop Ctrls) 0x09, 0x05, // Usage (Game Pad) 0xA1, 0x01, // Collection (Application) 0x85, 0x01, // Report ID (1) 0x09, 0x01, // Usage (Pointer) 0xA1, 0x00, // Collection (Physical) 0x09, 0x30, // Usage (X) 0x09, 0x31, // Usage (Y) 0x15, 0x00, // Logical Minimum (0) 0x27, 0xFF, 0xFF, 0x00, 0x00, // Logical Maximum (65534) 0x95, 0x02, // Report Count (2) 0x75, 0x10, // Report Size (16) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0xC0, // End Collection 0x09, 0x01, // Usage (Pointer) 0xA1, 0x00, // Collection (Physical) 0x09, 0x32, // Usage (Z) 0x09, 0x35, // Usage (Rz) 0x15, 0x00, // Logical Minimum (0) 0x27, 0xFF, 0xFF, 0x00, 0x00, // Logical Maximum (65534) 0x95, 0x02, // Report Count (2) 0x75, 0x10, // Report Size (16) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0xC0, // End Collection 0x05, 0x02, // Usage Page (Sim Ctrls) 0x09, 0xC5, // Usage (Brake) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x03, // Logical Maximum (1023) 0x95, 0x01, // Report Count (1) 0x75, 0x0A, // Report Size (10) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x00, // Logical Maximum (0) 0x75, 0x06, // Report Size (6) 0x95, 0x01, // Report Count (1) 0x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x05, 0x02, // Usage Page (Sim Ctrls) 0x09, 0xC4, // Usage (Accelerator) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x03, // Logical Maximum (1023) 0x95, 0x01, // Report Count (1) 0x75, 0x0A, // Report Size (10) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x00, // Logical Maximum (0) 0x75, 0x06, // Report Size (6) 0x95, 0x01, // Report Count (1) 0x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x05, 0x01, // Usage Page (Generic Desktop Ctrls) 0x09, 0x39, // Usage (Hat switch) 0x15, 0x01, // Logical Minimum (1) 0x25, 0x08, // Logical Maximum (8) 0x35, 0x00, // Physical Minimum (0) 0x46, 0x3B, 0x01, // Physical Maximum (315) 0x66, 0x14, 0x00, // Unit (System: English Rotation, Length: Centimeter) 0x75, 0x04, // Report Size (4) 0x95, 0x01, // Report Count (1) 0x81, 0x42, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,Null State) 0x75, 0x04, // Report Size (4) 0x95, 0x01, // Report Count (1) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x00, // Logical Maximum (0) 0x35, 0x00, // Physical Minimum (0) 0x45, 0x00, // Physical Maximum (0) 0x65, 0x00, // Unit (None) 0x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x05, 0x09, // Usage Page (Button) 0x19, 0x01, // Usage Minimum (0x01) 0x29, 0x0F, // Usage Maximum (0x0F) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x01, // Logical Maximum (1) 0x75, 0x01, // Report Size (1) 0x95, 0x0F, // Report Count (15) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x00, // Logical Maximum (0) 0x75, 0x01, // Report Size (1) 0x95, 0x01, // Report Count (1) 0x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x05, 0x0C, // Usage Page (Consumer) 0x0A, 0x24, 0x02, // Usage (AC Back) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x01, // Logical Maximum (1) 0x95, 0x01, // Report Count (1) 0x75, 0x01, // Report Size (1) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x00, // Logical Maximum (0) 0x75, 0x07, // Report Size (7) 0x95, 0x01, // Report Count (1) 0x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x05, 0x0C, // Usage Page (Consumer) 0x09, 0x01, // Usage (Consumer Control) 0x85, 0x02, // Report ID (2) 0xA1, 0x01, // Collection (Application) 0x05, 0x0C, // Usage Page (Consumer) 0x0A, 0x23, 0x02, // Usage (AC Home) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x01, // Logical Maximum (1) 0x95, 0x01, // Report Count (1) 0x75, 0x01, // Report Size (1) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x00, // Logical Maximum (0) 0x75, 0x07, // Report Size (7) 0x95, 0x01, // Report Count (1) 0x81, 0x03, // Input (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0xC0, // End Collection 0x05, 0x0F, // Usage Page (PID Page) 0x09, 0x21, // Usage (0x21) 0x85, 0x03, // Report ID (3) 0xA1, 0x02, // Collection (Logical) 0x09, 0x97, // Usage (0x97) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x01, // Logical Maximum (1) 0x75, 0x04, // Report Size (4) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x00, // Logical Maximum (0) 0x75, 0x04, // Report Size (4) 0x95, 0x01, // Report Count (1) 0x91, 0x03, // Output (Const,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x70, // Usage (0x70) 0x15, 0x00, // Logical Minimum (0) 0x25, 0x64, // Logical Maximum (100) 0x75, 0x08, // Report Size (8) 0x95, 0x04, // Report Count (4) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0x50, // Usage (0x50) 0x66, 0x01, 0x10, // Unit (System: SI Linear, Time: Seconds) 0x55, 0x0E, // Unit Exponent (-2) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x09, 0xA7, // Usage (0xA7) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0x65, 0x00, // Unit (None) 0x55, 0x00, // Unit Exponent (0) 0x09, 0x7C, // Usage (0x7C) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x91, 0x02, // Output (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position,Non-volatile) 0xC0, // End Collection 0x85, 0x04, // Report ID (4) 0x05, 0x06, // Usage Page (Generic Dev Ctrls) 0x09, 0x20, // Usage (Battery Strength) 0x15, 0x00, // Logical Minimum (0) 0x26, 0xFF, 0x00, // Logical Maximum (255) 0x75, 0x08, // Report Size (8) 0x95, 0x01, // Report Count (1) 0x81, 0x02, // Input (Data,Var,Abs,No Wrap,Linear,Preferred State,No Null Position) 0xC0, // End Collection // 334 bytes```
JoergAtGithub commented 2021-11-21 11:34:51 -06:00 (Migrated from github.com)

@Youw @DJm00n @mcuee This is now complete and ready for code review!

@Youw @DJm00n @mcuee This is now complete and ready for code review!
DJm00n commented 2021-11-21 13:44:42 -06:00 (Migrated from github.com)

@JoergAtGithub I think that your code could be moved to separate file. hid.c is too big with your changes.
hid_report_desc.c etc.
@Youw any thoughts?

@JoergAtGithub I think that your code could be moved to separate file. `hid.c` is too big with your changes. `hid_report_desc.c` etc. @Youw any thoughts?
JoergAtGithub commented 2021-11-21 13:56:57 -06:00 (Migrated from github.com)

@DJm00n I could seperate it, but than we need also a header file, which contains all the typedefs and declarations used by both.

@DJm00n I could seperate it, but than we need also a header file, which contains all the typedefs and declarations used by both.
Youw commented 2021-11-22 07:27:23 -06:00 (Migrated from github.com)

could be moved to separate file

Not yet. See your README:

HIDAPI is a multi-platform library ... can be embedded directly into a target application by adding a single source file (per platform) and a single header.

That is currently our design. I do want to change that, so we can decouple the implementation, move some common parts, etc.
But that we will perform separately, some time later, for all backends.

> could be moved to separate file Not yet. See your README: > HIDAPI is a multi-platform library ... can be embedded directly into a target application by adding _a single source file_ (per platform) and a single header. That is currently our design. I do want to change that, so we can decouple the implementation, move some common parts, etc. But that we will perform separately, some time later, for all backends.
Youw commented 2021-11-22 07:27:49 -06:00 (Migrated from github.com)

This is now complete and ready for code review!

Thanks! I'll go over it over the weekend (I hope).

> This is now complete and ready for code review! Thanks! I'll go over it over the weekend (I hope).
Youw (Migrated from github.com) reviewed 2021-12-29 10:47:48 -06:00
Youw (Migrated from github.com) left a comment

I have too many comments to the implementation/code style.
So instead of leaving them on GH, I'll create a separate commit instead with "fixes".

And after giving it a good though - it seems like a good idea to try to separate the implementation out of hid.c.
I'll work on that too.

I have too many comments to the implementation/code style. So instead of leaving them on GH, I'll create a separate commit instead with "fixes". And after giving it a good though - it seems like a good idea to try to separate the implementation out of `hid.c`. I'll work on that too.
@ -71,7 +71,7 @@ int main(int argc, char* argv[])
printf(" Report Descriptor: ");
res = hid_get_report_descriptor(device, buf, sizeof(buf));
Youw (Migrated from github.com) commented 2021-12-29 10:26:35 -06:00
				printf("error getting: %ls", hid_error(device));
```suggestion printf("error getting: %ls", hid_error(device)); ```
Youw (Migrated from github.com) commented 2021-12-29 10:26:51 -06:00

any particular reason to use upper-case?

any particular reason to use upper-case?
@ -109,10 +109,147 @@ static struct hid_api_version api_version = {
USHORT Reserved[17];
Youw (Migrated from github.com) commented 2021-12-29 10:44:35 -06:00

I'm not even familiar with this documentary style.
HIDAPI alreayd uses doxygen-style syntax for documentary comments, please use it as well.

I'm not even familiar with this documentary style. HIDAPI alreayd uses doxygen-style syntax for documentary comments, please use it as well.
@ -1146,13 +1366,1014 @@ int HID_API_EXPORT_CALL HID_API_CALL hid_get_indexed_string(hid_device *dev, int
return 0;
}
/**
Youw (Migrated from github.com) commented 2021-12-29 10:36:03 -06:00

this cannot fail, unless memory corruption, in which case we're already "screwed"

	(void)HidD_FreePreparsedData(pp_data);
this cannot fail, unless memory corruption, in which case we're already "screwed" ```suggestion (void)HidD_FreePreparsedData(pp_data); ```
Youw (Migrated from github.com) reviewed 2021-12-29 10:54:04 -06:00
@ -109,10 +109,147 @@ static struct hid_api_version api_version = {
USHORT Reserved[17];
Youw (Migrated from github.com) commented 2021-12-29 10:54:04 -06:00

Ok, after a brief googling I understand, that in hidapi.h we actually have more like a javadoc-style syntax (which is supported by doxygen), but my point is - please be consistent.

Ok, after a brief googling I understand, that in `hidapi.h` we actually have more like a javadoc-style syntax (which _is_ supported by doxygen), but my point is - please be consistent.
JoergAtGithub commented 2021-12-29 14:50:33 -06:00 (Migrated from github.com)

Thanks for working on this!

If you restructure the code, please keep the testability in mind. For the unit test in #343 it's neccessary:

  • to execute the function reconstruct_report_descriptor standalone
  • to include, all the structures and types used in the preparsed data struct, into the unit test program (a private header-file for the Windows backend would make this much cleaner than now)
Thanks for working on this! If you restructure the code, please keep the testability in mind. For the unit test in #343 it's neccessary: - to execute the function `reconstruct_report_descriptor` standalone - to include, all the structures and types used in the preparsed data struct, into the unit test program (a private header-file for the Windows backend would make this much cleaner than now)
JoergAtGithub (Migrated from github.com) reviewed 2021-12-29 14:56:51 -06:00
JoergAtGithub (Migrated from github.com) commented 2021-12-29 14:56:51 -06:00

Only readability of the test output. For me it was easier to read a list like 0xA6, 0xC0 than 0xa6, 0xc0.
If you prefer the other style, feel free to change it.

Only readability of the test output. For me it was easier to read a list like 0xA6, 0xC0 than 0xa6, 0xc0. If you prefer the other style, feel free to change it.
Youw (Migrated from github.com) reviewed 2021-12-29 15:57:33 -06:00
Youw (Migrated from github.com) commented 2021-12-29 15:57:33 -06:00

Once written and working, I prefer not to change anything unless necessary.
Smaller diff is always preferable, when possible.

Once written and working, I prefer not to change anything unless necessary. Smaller diff is always preferable, when possible.
Youw commented 2021-12-29 15:59:36 -06:00 (Migrated from github.com)

For the unit test in #343

Yeah, maybe I'll update that too.

> For the unit test in #343 Yeah, maybe I'll update that too.
Youw (Migrated from github.com) reviewed 2022-01-03 13:02:03 -06:00
Youw (Migrated from github.com) commented 2022-01-03 13:02:02 -06:00
				printf("0x%02x, ", buf[i]);
```suggestion printf("0x%02x, ", buf[i]); ```
Youw commented 2022-01-03 13:58:12 -06:00 (Migrated from github.com)

I still have (none-written) comments regarding the implementation but lets have a libusb:get-descriptor as a working branch for this change - merging as is for now.

I still have (none-written) comments regarding the implementation but lets have a `libusb:get-descriptor` as a working branch for this change - merging as is for now.
JoergAtGithub commented 2022-01-03 14:16:15 -06:00 (Migrated from github.com)

Thanks for cleaning up my code!

Thanks for cleaning up my code!
hugmyndakassi commented 2023-01-12 07:43:08 -06:00 (Migrated from github.com)

@JoergAtGithub Just wanted to add a little piece of information since I am currently myself trying to reconstruct what HIDP_PREPARSED_DATA is actually defined as.

For obvious reasons we can't be sure about the names -- except for items that correspond 1:1 to another documented struct -- but compared to this one I came up with this:

// Choice of basic types informed by other documented HID-related structs and experience with KM drivers
typedef struct _HIDP_CAPS_REPORT_INFO
{
    USHORT FirstCap;
    // NB: Took your name just now, I had called this SomeCounter until now
    USHORT NumberOfCaps; // Includes empty caps after LastCap
    // Until now I had no clue about this and only saw there were three xrefs from hidparse!HidP_AllocateCollections to this field
    USHORT LastCap;
    // NB: Didn't assign a name to this as of yet, but saw some boundary checks involving a number of those
    // "tail bytes" structs
    USHORT ByteLength; // Corresponds to HIDP_CAPS::InputReportByteLength/HIDP_CAPS::OutputReportByteLength/HIDP_CAPS::FeatureReportByteLength as per
                       // hidparse!HidP_GetCaps
} HIDP_CAPS_REPORT_INFO;

typedef struct _HIDP_PREPARSED_DATA_TAIL
{
    UCHAR Buf[104];
} HIDP_PREPARSED_DATA_TAIL;

#define HIDP_PREPARSED_DATA_DRIVER_SIGNATURE1 'PdiH' // == 0x50646948U
#define HIDP_PREPARSED_DATA_DRIVER_SIGNATURE2 'RDK ' // == 0x52444B20U

typedef struct _HIDP_PREPARSED_DATA
{
    ULONG DriverSignature1; // == 'PdiH' -> coincides with hidparse's pool tag
    ULONG DriverSignature2; // == 'RDK '
    USHORT Usage;           // corresponds to HIDP_CAPS::Usage as per hidparse!HidP_GetCaps
    USHORT UsagePage;       // corresponds to HIDP_CAPS::UsagePage as per hidparse!HidP_GetCaps
    ULONG SysPowerCaps;     // name based on hidparse!HidP_SysPowerCaps, which accesses just this
    HIDP_CAPS_REPORT_INFO Input;
    HIDP_CAPS_REPORT_INFO Output;
    HIDP_CAPS_REPORT_INFO Feature;
    // Could also be something like:
    //     HIDP_CAPS_REPORT_INFO Reports[3];
    // ... indexed by the documented HIDP_REPORT_TYPE (hidpi.h)
    USHORT OffsetToLinkCollectionArray;
    // NB: Adapted the above name OffsetToLinkCollectionArray from you now, referenced by hidparse!HidP_GetLinkCollectionNodes and
    // hidparse!HidP_AllocateCollections and used as an offset based on what I called "tail bytes" (below)
    // Previously I had kept the default name from IDA, as I hadn't gotten around to it.
    USHORT NumberOfLinkCollectionNodes; // corresponds to HIDP_CAPS::NumberLinkCollectionNodes as per hidparse!HidP_GetCaps
    // The following seems to be an ANYSIZE_ARRAY of a struct of size 104 (0x68)
    HIDP_PREPARSED_DATA_TAIL TailBytes[ANYSIZE_ARRAY];
} HIDP_PREPARSED_DATA;

So in conclusion you can use the info about ULONG SysPowerCaps;, which is the only field accessed by hidparse!HidP_SysPowerCaps. That name may not be the same as Microsoft uses, but it's the closest we can get.

Additionally, as commented inline above, it's possible that the report info structs (your hid_pp_caps_info) are thought as an array, indexed by HIDP_REPORT_TYPE (hidpi.h):

HIDP_CAPS_REPORT_INFO Reports[3];

But my initial hunch was to have those separate, probably because I hadn't looked at as many functions as I have now. However, that said, the array hypothesis isn't too far-fetched if we look at how a number of functions taking HIDP_PREPARSED_DATA* PreparsedData as input treat this. Generally any functions taking that as input, appear to start with this:

if (!PreparsedData || PreparsedData->DriverSignature1 != HIDP_PREPARSED_DATA_DRIVER_SIGNATURE1 ||
    PreparsedData->DriverSignature2 != HIDP_PREPARSED_DATA_DRIVER_SIGNATURE2)
{
    return HIDP_STATUS_INVALID_PREPARSED_DATA;
}

I'd say chances are that this is hidden behind a macro, as it's repeated all over the place. Curiously hidparse!HidP_SysPowerCaps doesn't appear to have this check (or any other); perhaps owed to its "internal" nature?!

That check is then followed by something that takes the HIDP_REPORT_TYPE ReportType argument, does bounds checking against the values defined in the enum, and then uses known offsets (from HIDP_PREPARSED_DATA) to compute what amounts to a HIDP_CAPS_REPORT_INFO * for the respective ReportType. Since it works with offsets, though, I reckon that internally these are indeed separate members and not an array.

Based on your information I can probably speed up my effort in what call HIDP_PREPARSED_DATA_TAIL above. Thanks! 😉

One more note: you wrote:

// MINGW: flexible array member in union not supported - but works with MSVC

and while that may be true, customarily Microsoft uses ANYSIZE_ARRAY (i.e. #define ANYSIZE_ARRAY 1) to describe such arrays. C++ also doesn't like just [] and I reckon that's why the define exists.

PS: If I find out anything further that can complete the idea of the involved structs, I'll let you know.
PPS: the hidparse.sys was this one and the hid.dll this one.

@JoergAtGithub Just wanted to add a little piece of information since I am currently myself trying to reconstruct what `HIDP_PREPARSED_DATA` is actually defined as. For obvious reasons we can't be sure about the names -- except for items that correspond 1:1 to another documented struct -- but compared to [this one](https://github.com/JoergAtGithub/hidapi/blob/fe83ae123593fc707cb00dcfde072a615858f661/windows/hid.c#L269) I came up with this: ``` // Choice of basic types informed by other documented HID-related structs and experience with KM drivers typedef struct _HIDP_CAPS_REPORT_INFO { USHORT FirstCap; // NB: Took your name just now, I had called this SomeCounter until now USHORT NumberOfCaps; // Includes empty caps after LastCap // Until now I had no clue about this and only saw there were three xrefs from hidparse!HidP_AllocateCollections to this field USHORT LastCap; // NB: Didn't assign a name to this as of yet, but saw some boundary checks involving a number of those // "tail bytes" structs USHORT ByteLength; // Corresponds to HIDP_CAPS::InputReportByteLength/HIDP_CAPS::OutputReportByteLength/HIDP_CAPS::FeatureReportByteLength as per // hidparse!HidP_GetCaps } HIDP_CAPS_REPORT_INFO; typedef struct _HIDP_PREPARSED_DATA_TAIL { UCHAR Buf[104]; } HIDP_PREPARSED_DATA_TAIL; #define HIDP_PREPARSED_DATA_DRIVER_SIGNATURE1 'PdiH' // == 0x50646948U #define HIDP_PREPARSED_DATA_DRIVER_SIGNATURE2 'RDK ' // == 0x52444B20U typedef struct _HIDP_PREPARSED_DATA { ULONG DriverSignature1; // == 'PdiH' -> coincides with hidparse's pool tag ULONG DriverSignature2; // == 'RDK ' USHORT Usage; // corresponds to HIDP_CAPS::Usage as per hidparse!HidP_GetCaps USHORT UsagePage; // corresponds to HIDP_CAPS::UsagePage as per hidparse!HidP_GetCaps ULONG SysPowerCaps; // name based on hidparse!HidP_SysPowerCaps, which accesses just this HIDP_CAPS_REPORT_INFO Input; HIDP_CAPS_REPORT_INFO Output; HIDP_CAPS_REPORT_INFO Feature; // Could also be something like: // HIDP_CAPS_REPORT_INFO Reports[3]; // ... indexed by the documented HIDP_REPORT_TYPE (hidpi.h) USHORT OffsetToLinkCollectionArray; // NB: Adapted the above name OffsetToLinkCollectionArray from you now, referenced by hidparse!HidP_GetLinkCollectionNodes and // hidparse!HidP_AllocateCollections and used as an offset based on what I called "tail bytes" (below) // Previously I had kept the default name from IDA, as I hadn't gotten around to it. USHORT NumberOfLinkCollectionNodes; // corresponds to HIDP_CAPS::NumberLinkCollectionNodes as per hidparse!HidP_GetCaps // The following seems to be an ANYSIZE_ARRAY of a struct of size 104 (0x68) HIDP_PREPARSED_DATA_TAIL TailBytes[ANYSIZE_ARRAY]; } HIDP_PREPARSED_DATA; ``` So in conclusion you can use the info about `ULONG SysPowerCaps;`, which is the only field accessed by [`hidparse!HidP_SysPowerCaps`](https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/_hid/#hidp_syspowercaps). That name may not be the same as Microsoft uses, but it's the closest we can get. Additionally, as commented inline above, it's possible that the report info structs (your `hid_pp_caps_info`) are thought as an array, indexed by `HIDP_REPORT_TYPE` (hidpi.h): ``` HIDP_CAPS_REPORT_INFO Reports[3]; ``` But my initial hunch was to have those separate, probably because I hadn't looked at as many functions as I have now. However, that said, the array hypothesis isn't too far-fetched if we look at how a number of functions taking `HIDP_PREPARSED_DATA* PreparsedData` as input treat this. Generally any functions taking that as input, appear to start with this: ``` if (!PreparsedData || PreparsedData->DriverSignature1 != HIDP_PREPARSED_DATA_DRIVER_SIGNATURE1 || PreparsedData->DriverSignature2 != HIDP_PREPARSED_DATA_DRIVER_SIGNATURE2) { return HIDP_STATUS_INVALID_PREPARSED_DATA; } ``` I'd say chances are that this is hidden behind a macro, as it's repeated all over the place. Curiously `hidparse!HidP_SysPowerCaps` _doesn't_ appear to have this check (or any other); perhaps owed to its "internal" nature?! That check is then followed by something that takes the `HIDP_REPORT_TYPE ReportType` argument, does bounds checking against the values defined in the enum, and then uses known offsets (from `HIDP_PREPARSED_DATA`) to compute what amounts to a `HIDP_CAPS_REPORT_INFO *` for the respective `ReportType`. Since it works with offsets, though, I reckon that internally these are indeed separate members and not an array. Based on your information I can probably speed up my effort in what call `HIDP_PREPARSED_DATA_TAIL` above. Thanks! 😉 One more note: you wrote: > // MINGW: flexible array member in union not supported - but works with MSVC and while that may be true, customarily Microsoft uses `ANYSIZE_ARRAY` (i.e. `#define ANYSIZE_ARRAY 1`) to describe such arrays. C++ also doesn't like just `[]` and I reckon that's why the define exists. PS: If I find out anything further that can complete the idea of the involved structs, I'll let you know. PPS: the `hidparse.sys` was [this one](https://msdl.microsoft.com/download/symbols/hidparse.sys/3404D24613000/hidparse.sys) and the `hid.dll` [this one](https://msdl.microsoft.com/download/symbols/hid.dll/96CCB672d000/hid.dll).
DJm00n commented 2023-01-12 08:37:11 -06:00 (Migrated from github.com)
@hugmyndakassi https://github.com/tongzx/nt5src/blob/daad8a087a4e75422ec96b7911f1df4669989611/Source/XPSP1/NT/drivers/wdm/input/hidparse/hidparse.h#L151-L177 🙈
hugmyndakassi commented 2023-01-17 10:15:41 -06:00 (Migrated from github.com)

@hugmyndakassi github.com/tongzx/nt5src@daad8a087a/Source/XPSP1/NT/drivers/wdm/input/hidparse/hidparse.h (L151-L177) 🙈

@DJm00n Ouch, I'm not really allowed to look at leaked proprietary code. Clean room reverse engineering and all.

Either way, I found that IDA curiously knows about this, supposedly from the PDB. And indeed looking with https://github.com/horsicq/PDBRipper discloses that the PDB contains definitions.

image

This is what IDA makes of it, when exporting to a header:

/*
   This file has been generated by IDA.
   It contains local type definitions from
   the type library 'hidparse.sys'
*/

#define __int8 char
#define __int16 short
#define __int32 int
#define __int64 long long

/* 152 */
struct _HIDP_UNKNOWN_TOKEN
{
  unsigned __int8 Token;
  unsigned __int8 Reserved[3];
  unsigned int BitField;
};

/* 153 */
union $BC552F92952051640026B0CDE7ED463D
{
  struct
  {
    unsigned __int16 UsageMin;
    unsigned __int16 UsageMax;
    unsigned __int16 StringMin;
    unsigned __int16 StringMax;
    unsigned __int16 DesignatorMin;
    unsigned __int16 DesignatorMax;
    unsigned __int16 DataIndexMin;
    unsigned __int16 DataIndexMax;
  } Range;
  struct
  {
    unsigned __int16 Usage;
    unsigned __int16 Reserved1;
    unsigned __int16 StringIndex;
    unsigned __int16 Reserved2;
    unsigned __int16 DesignatorIndex;
    unsigned __int16 Reserved3;
    unsigned __int16 DataIndex;
    unsigned __int16 Reserved4;
  } NotRange;
};

/* 154 */
union $2E4BAE54AE40A62CFE47CF014A0A6FCB
{
  struct
  {
    int LogicalMin;
    int LogicalMax;
  } button;
  struct
  {
    unsigned __int8 HasNull;
    unsigned __int8 Reserved[3];
    int LogicalMin;
    int LogicalMax;
    int PhysicalMin;
    int PhysicalMax;
  } Data;
};

/* 155 */
struct _HIDP_CHANNEL_DESC
{
  unsigned __int16 UsagePage;
  unsigned __int8 ReportID;
  unsigned __int8 BitOffset;
  unsigned __int16 ReportSize;
  unsigned __int16 ReportCount;
  unsigned __int16 ByteOffset;
  unsigned __int16 BitLength;
  unsigned int BitField;
  unsigned __int16 ByteEnd;
  unsigned __int16 LinkCollection;
  unsigned __int16 LinkUsagePage;
  unsigned __int16 LinkUsage;
  unsigned __int32 MoreChannels : 1;
  unsigned __int32 IsConst : 1;
  unsigned __int32 IsButton : 1;
  unsigned __int32 IsAbsolute : 1;
  unsigned __int32 IsRange : 1;
  unsigned __int32 IsAlias : 1;
  unsigned __int32 IsStringRange : 1;
  unsigned __int32 IsDesignatorRange : 1;
  unsigned __int32 Reserved : 20;
  unsigned __int32 NumGlobalUnknowns : 4;
  _HIDP_UNKNOWN_TOKEN GlobalUnknowns[4];
  $BC552F92952051640026B0CDE7ED463D ___u23;
  $2E4BAE54AE40A62CFE47CF014A0A6FCB ___u24;
  unsigned int Units;
  unsigned int UnitExp;
};

/* 157 */
struct _CHANNEL_REPORT_HEADER
{
  unsigned __int16 Offset;
  unsigned __int16 Size;
  unsigned __int16 Index;
  unsigned __int16 ByteLen;
};

/* 158 */
struct __declspec(align(4)) _HIDP_PREPARSED_DATA
{
  int Signature1;
  int Signature2;
  unsigned __int16 Usage;
  unsigned __int16 UsagePage;
  unsigned int PowerButtonMask;
  _CHANNEL_REPORT_HEADER Input;
  _CHANNEL_REPORT_HEADER Output;
  _CHANNEL_REPORT_HEADER Feature;
  unsigned __int16 LinkCollectionArrayOffset;
  unsigned __int16 LinkCollectionArrayLength;
  _HIDP_CHANNEL_DESC Data[];
  unsigned __int8 RawBytes[];
  _BYTE gap2C[104];
};

So finally I also have more sensible type and member names. And sort of a confirmation for those things where I wasn't a 100% certain. But I find _HIDP_UNKNOWN_TOKEN curious. The name seems to originate from Windows.

The gist is, I should probably pay more attention to IDA's changelog and their blog and always consult the "Local Types" (Shift+F1) when dealing with code that has debug symbols available.

> @hugmyndakassi https://github.com/tongzx/nt5src/blob/daad8a087a4e75422ec96b7911f1df4669989611/Source/XPSP1/NT/drivers/wdm/input/hidparse/hidparse.h#L151-L177 🙈 @DJm00n Ouch, I'm not really allowed to look at leaked proprietary code. Clean room reverse engineering and all. Either way, I found that IDA curiously knows about this, supposedly from the PDB. And indeed looking with https://github.com/horsicq/PDBRipper discloses that [the PDB](http://msdl.microsoft.com/download/symbols/hidparse.pdb/67CEF75772ECE8DE23F86229A62D51951/hidparse.pdb) contains definitions. ![image](https://user-images.githubusercontent.com/79632072/212951259-a5157e82-89c0-4f8c-91a2-a5162e04c02a.png) This is what IDA makes of it, when exporting to a header: ``` /* This file has been generated by IDA. It contains local type definitions from the type library 'hidparse.sys' */ #define __int8 char #define __int16 short #define __int32 int #define __int64 long long /* 152 */ struct _HIDP_UNKNOWN_TOKEN { unsigned __int8 Token; unsigned __int8 Reserved[3]; unsigned int BitField; }; /* 153 */ union $BC552F92952051640026B0CDE7ED463D { struct { unsigned __int16 UsageMin; unsigned __int16 UsageMax; unsigned __int16 StringMin; unsigned __int16 StringMax; unsigned __int16 DesignatorMin; unsigned __int16 DesignatorMax; unsigned __int16 DataIndexMin; unsigned __int16 DataIndexMax; } Range; struct { unsigned __int16 Usage; unsigned __int16 Reserved1; unsigned __int16 StringIndex; unsigned __int16 Reserved2; unsigned __int16 DesignatorIndex; unsigned __int16 Reserved3; unsigned __int16 DataIndex; unsigned __int16 Reserved4; } NotRange; }; /* 154 */ union $2E4BAE54AE40A62CFE47CF014A0A6FCB { struct { int LogicalMin; int LogicalMax; } button; struct { unsigned __int8 HasNull; unsigned __int8 Reserved[3]; int LogicalMin; int LogicalMax; int PhysicalMin; int PhysicalMax; } Data; }; /* 155 */ struct _HIDP_CHANNEL_DESC { unsigned __int16 UsagePage; unsigned __int8 ReportID; unsigned __int8 BitOffset; unsigned __int16 ReportSize; unsigned __int16 ReportCount; unsigned __int16 ByteOffset; unsigned __int16 BitLength; unsigned int BitField; unsigned __int16 ByteEnd; unsigned __int16 LinkCollection; unsigned __int16 LinkUsagePage; unsigned __int16 LinkUsage; unsigned __int32 MoreChannels : 1; unsigned __int32 IsConst : 1; unsigned __int32 IsButton : 1; unsigned __int32 IsAbsolute : 1; unsigned __int32 IsRange : 1; unsigned __int32 IsAlias : 1; unsigned __int32 IsStringRange : 1; unsigned __int32 IsDesignatorRange : 1; unsigned __int32 Reserved : 20; unsigned __int32 NumGlobalUnknowns : 4; _HIDP_UNKNOWN_TOKEN GlobalUnknowns[4]; $BC552F92952051640026B0CDE7ED463D ___u23; $2E4BAE54AE40A62CFE47CF014A0A6FCB ___u24; unsigned int Units; unsigned int UnitExp; }; /* 157 */ struct _CHANNEL_REPORT_HEADER { unsigned __int16 Offset; unsigned __int16 Size; unsigned __int16 Index; unsigned __int16 ByteLen; }; /* 158 */ struct __declspec(align(4)) _HIDP_PREPARSED_DATA { int Signature1; int Signature2; unsigned __int16 Usage; unsigned __int16 UsagePage; unsigned int PowerButtonMask; _CHANNEL_REPORT_HEADER Input; _CHANNEL_REPORT_HEADER Output; _CHANNEL_REPORT_HEADER Feature; unsigned __int16 LinkCollectionArrayOffset; unsigned __int16 LinkCollectionArrayLength; _HIDP_CHANNEL_DESC Data[]; unsigned __int8 RawBytes[]; _BYTE gap2C[104]; }; ``` So finally I also have more sensible type and member names. And sort of a confirmation for those things where I wasn't a 100% certain. But I find `_HIDP_UNKNOWN_TOKEN` curious. The name seems to originate from Windows. The gist is, I should probably pay more attention to IDA's changelog and their blog and _always_ consult the "Local Types" (<kbd>Shift</kbd>+<kbd>F1</kbd>) when dealing with code that has debug symbols available.
DJm00n commented 2023-01-17 11:40:26 -06:00 (Migrated from github.com)

_HIDP_UNKNOWN_TOKEN is about not recognized global HID items. See "6.2.2.7 Global Items" part of the HID spec for a list of possible tokens:
1100 01 nn to 1111 01 nn - Range reserved for future use.

`_HIDP_UNKNOWN_TOKEN` is about not recognized global HID items. See "6.2.2.7 Global Items" part of the HID spec for a list of possible tokens: `1100 01 nn to 1111 01 nn` - Range reserved for future use.
JoergAtGithub commented 2023-01-17 12:53:08 -06:00 (Migrated from github.com)
`_HIDP_UNKNOWN_TOKEN` is official documented here: https://learn.microsoft.com/en-us/windows-hardware/drivers/ddi/hidpi/ns-hidpi-_hidp_unknown_token
Sign in to join this conversation.
No reviewers
No milestone
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
gh-libusb/hidapi!306
No description provided.