Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Windows hotplug: Mutex for callback actions #646

Merged
merged 11 commits into from
Apr 6, 2024

Conversation

k1-801
Copy link

@k1-801 k1-801 commented Nov 21, 2023

Resolves #538

@k1-801 k1-801 mentioned this pull request Nov 21, 2023
@mcuee mcuee added the Windows Related to Windows backend label Nov 21, 2023
windows/hid.c Outdated Show resolved Hide resolved
@JoergAtGithub
Copy link
Contributor

@DJm00n Could you have a look on the code in this PR?

windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
@k1-801
Copy link
Author

k1-801 commented Nov 23, 2023

@DJm00n all suggestions applied, thank you!

@k1-801
Copy link
Author

k1-801 commented Nov 26, 2023

Just noticed that the cleanup code on exit won't really do anything if any callbacks are still armed; going to fix that in a moment.

windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated
@@ -943,24 +1010,23 @@ DWORD WINAPI hid_internal_notify_callback(HCMNOTIFICATION notify, PVOID context,
return ERROR_SUCCESS;
}

device = hid_internal_get_device_info(event_data->u.DeviceInterface.SymbolicLink, read_handle);
device = hid_internal_get_device_info(event_data->u.DeviceInterface.SymbolicLink,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no need of newline here

windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
@k1-801
Copy link
Author

k1-801 commented Nov 29, 2023

Would it be fine to throw in a small change for the hidtest (in the hotplug testing section)?
It needs a fflush(stdout) in the callback, otherwise the output gets stuck and events don't pop up immediately (sometimes at all).

Ran some tests, had to add this in, with it everything seems to work.

UPD: added the change. Should help with testing the events with the added mutex.

hidtest/test.c Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
Copy link
Member

@Youw Youw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Apart from the formatting issues: is there're a specific reason to init/deinit the hotplug routines during hid_init/hid_exit?
can we initialize the whoe thing only when hid_hotplug_register_callback is called?
that way there would be less overhead for those users (all up until now) who don't use the hotplug API yet

@k1-801
Copy link
Author

k1-801 commented Nov 30, 2023

Apart from the formatting issues: is there're a specific reason to init/deinit the hotplug routines during hid_init/hid_exit?

The main reason here is allowing the register/deregister functions being called from multiple threads simultaneously. This is the original reason to add the mutex at all, and, unfortunately, the mutex has to be initialized somewhere before use. hid_init seemed like the most reasonable place to do so, as the chance of getting a second call to it from a different thread at the same time (before the mutex is initialized) is negligible.

If we happen to get two simultaneous register calls from two different threads with an uninitialized mutex, both could attempt to make a new one, which would lead to either thread locking a different mutex, from where we can encounter all sorts of weird behaviors, including possible memory leak scenarios where the first cached device list is leaked, or one of the callbacks is lost.

I believe the mutex initialization overhead to be a sacrifice small enough to ignore.

UPD: I found a way to avoid the mutex initialization with critical sectiona, investigating.

@Youw
Copy link
Member

Youw commented Nov 30, 2023

I have to apoligize for not asking this earlier: why do we even need to allow calling register/deregister functions from different threads?
HIDAPI was never intended to have a thread-safe API in general case.

hid_init/hid_exit<->hid_enumerate<->hid_open/hid_open_path/hid_close are not thread-safe in general case (as per my testing on 4 platforms) and I don't see good reason why making register/deregister functions as thread safe

Originally I assumed that mutex is needed for some kind of data syncronisation internally and I didn't actually payed attention to what actually was being done.

@k1-801
Copy link
Author

k1-801 commented Nov 30, 2023

Originally I assumed that mutex is neede for some kind of data syncronisation internally and I didn't actually payed attention to what actually was being done.

That too, by the way, the events are processed in a background thread, and the register calls can potentially interfere with the processing.

If we don't want to ensure the register/deregister call safety, I could move the initialization to the register function. However, I don't know how good of an idea it would be to deinitialize it in the deregister function, need to think on that for a bit.

@Youw
Copy link
Member

Youw commented Nov 30, 2023

If we don't want to ensure the register/deregister call safety, I could move the initialization to the register function.

go for it

I don't know how good of an idea it would be to deinitialize it in the deregister function, need to think on that for a bit.

I see two trade offs here:

  1. Having deinitialize inside of the deregister makes the implementation symetric and simple.
  2. Not doing the deinitialisation in deregister potentially has a bit less overhead if we consider scenarios when different callback functions has to be registered often. But that makes both register/deregister function potentially more complicated and non-symetric.

NOTE: in any case, user may not call deregister function at all, and that could be fine, i.e. hid_close should gracefully perform the deinitialisation if not performed explicitly.

More than that - multiple calls to deregister has to be safe (for the similar reason why free(NULL) is safe).

@k1-801
Copy link
Author

k1-801 commented Dec 1, 2023

  1. Not doing the deinitialisation in deregister potentially has a bit less overhead if we consider scenarios when different callback functions has to be registered often. But that makes both register/deregister function potentially more complicated and non-symetric, as it would .

Took the asymmetric approach. The register call now initializes the synchronization. It is only deleted in hid_exit. We lose nothing by keeping it initialized.
Replaced the mutex with a CriticalSection. It is the same in function (for unnamed mutexes, at least), but it works ~20 times faster.

windows/hid.c Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
Copy link
Member

@Youw Youw left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks very good.
The only thing needs fixing (apart of one of my last comments) is the formatting. I'm ready to fix it myself at some point.

@k1-801 k1-801 changed the title Windows hotplug: Mutex for callback actions [Awaiting final review] Windows hotplug: Mutex for callback actions Mar 5, 2024
@mcuee
Copy link
Member

mcuee commented Mar 5, 2024

Simple test results seem to be good. Tested under Windows.

  1. Unplug and plug of Plantronics Headset (USB composite device)

  2. Unplug and plug of Xiaomi USB mouse receiver

  3. Unplug and plug of USBasp programmer (USB Composite device)

test using hidtest
C:\work\libusb\hidapi_hotplug_win_pr646\windows\x64\Debug [connection-callback-mutex ≡]> .\hidtest.exe
hidapi test/example tool. Compiled with hidapi version 0.14.0, runtime version 0.14.0.
Compile-time version matches runtime version of hidapi.

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)
  Bus type: 3

  Report Descriptor: (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)
  Bus type: 0

  Report Descriptor: (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)
  Bus type: 0

  Report Descriptor: (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: 2717 5013
  path: \\?\HID#VID_2717&PID_5013&Col05#6&4ae96a2&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x88 (0xffbc)
  Bus type: 1

  Report Descriptor: (25 bytes)
0x06, 0xbc, 0xff, 0x09, 0x88, 0xa1, 0x01, 0x85, 0x04, 0x19,
0x00, 0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08,
0x95, 0x01, 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)
  Bus type: 0

  Report Descriptor: (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)
  Bus type: 0

  Report Descriptor: (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)
  Bus type: 3

  Report Descriptor: (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: 2717 5013
  path: \\?\HID#VID_2717&PID_5013&Col06#6&4ae96a2&0&0005#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x2 (0xff02)
  Bus type: 1

  Report Descriptor: (23 bytes)
0x06, 0x02, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x06, 0x09,
0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07,
0xb1, 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)
  Bus type: 0

  Report Descriptor: (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)
  Bus type: 0

  Report Descriptor: (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: 2717 5013
  path: \\?\HID#VID_2717&PID_5013&Col01#6&4ae96a2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x2 (0x1)
  Bus type: 1

  Report Descriptor: (91 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x01, 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, 0x00, 0x80, 0x26, 0xff, 0x7f, 0x75, 0x10, 0x95, 0x02,
0x81, 0x06, 0xc0, 0x09, 0x00, 0xa1, 0x00, 0x09, 0x38, 0x15,
0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0,
0x09, 0x00, 0xa1, 0x00, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15,
0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0,
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)
  Bus type: 3

  Report Descriptor: (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: 2717 5013
  path: \\?\HID#VID_2717&PID_5013&Col02#6&4ae96a2&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x0 (0xff01)
  Bus type: 1

  Report Descriptor: (23 bytes)
0x06, 0x01, 0xff, 0x09, 0x00, 0xa1, 0x01, 0x85, 0x02, 0x09,
0x00, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07,
0x81, 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)
  Bus type: 3

  Report Descriptor: (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: 047f c056
  path: \\?\HID#VID_047F&PID_C056&MI_03&Col01#7&290ff8a5&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x1 (0xc)
  Bus type: 1

  Report Descriptor: (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: 047f c056
  path: \\?\HID#VID_047F&PID_C056&MI_03&Col02#7&290ff8a5&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x5 (0xb)
  Bus type: 1

  Report Descriptor: (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: 047f c056
  path: \\?\HID#VID_047F&PID_C056&MI_03&Col03#7&290ff8a5&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x3 (0xffa0)
  Bus type: 1

  Report Descriptor: (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: 2717 5013
  path: \\?\HID#VID_2717&PID_5013&Col03#6&4ae96a2&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x1 (0xc)
  Bus type: 1

  Report Descriptor: (25 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x05, 0x19, 0x00,
0x2a, 0x3c, 0x02, 0x15, 0x00, 0x26, 0x3c, 0x02, 0x75, 0x10,
0x95, 0x01, 0x81, 0x00, 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)
  Bus type: 3

  Report Descriptor: (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)
  Bus type: 0

  Report Descriptor: (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: 2717 5013
  path: \\?\HID#VID_2717&PID_5013&Col04#6&4ae96a2&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x80 (0x1)
  Bus type: 1

  Report Descriptor: (29 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x81,
0x29, 0x83, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03,
0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0xc0,
Handle 1: New device is connected: \\?\HID#DELL091A&Col01#5&99b72d3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 0488 121f
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x2 (0x1)

Handle 1: New device is connected: \\?\HID#INTC816&Col01#3&36a7043c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 8087 0a1e
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xc (0x1)

Handle 1: New device is connected: \\?\HID#Vid_044E&Pid_1212&Col01&Col02#7&290aacae&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD.
type: 044e 1212
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col05#6&4ae96a2&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x88 (0xffbc)

Handle 1: New device is connected: \\?\HID#INTC816&Col02#3&36a7043c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 8087 0a1e
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xd (0x1)

Handle 1: New device is connected: \\?\HID#Vid_044E&Pid_1212&Col01&Col01#7&290aacae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 044e 1212
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x2 (0x1)

Handle 1: New device is connected: \\?\HID#DELL091A&Col02#5&99b72d3&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 0488 121f
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x5 (0xd)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col06#6&4ae96a2&0&0005#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x2 (0xff02)

Handle 1: New device is connected: \\?\HID#ConvertedDevice&Col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0000
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#ConvertedDevice&Col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0000
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x80 (0x1)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col01#6&4ae96a2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x2 (0x1)

Handle 1: New device is connected: \\?\HID#DELL091A&Col03#5&99b72d3&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 0488 121f
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x1 (0xff01)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col02#6&4ae96a2&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x0 (0xff01)

Handle 1: New device is connected: \\?\HID#DELL091A&Col04#5&99b72d3&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 0488 121f
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x1 (0xff02)

Handle 1: New device is connected: \\?\HID#VID_047F&PID_C056&MI_03&Col01#7&290ff8a5&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#VID_047F&PID_C056&MI_03&Col02#7&290ff8a5&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x5 (0xb)

Handle 1: New device is connected: \\?\HID#VID_047F&PID_C056&MI_03&Col03#7&290ff8a5&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x3 (0xffa0)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col03#6&4ae96a2&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#DELL091A&Col05#5&99b72d3&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 0488 121f
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0xe (0xd)

Handle 1: New device is connected: \\?\HID#ConvertedDevice&Col01#5&379854aa&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD.
type: 045e 0000
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col04#6&4ae96a2&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x80 (0x1)

Handle 1: Device was disconnected: \\?\HID#VID_047F&PID_C056&MI_03&Col01#7&290ff8a5&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x1 (0xc)

Handle 1: Device was disconnected: \\?\HID#VID_047F&PID_C056&MI_03&Col02#7&290ff8a5&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x5 (0xb)

Handle 1: Device was disconnected: \\?\HID#VID_047F&PID_C056&MI_03&Col03#7&290ff8a5&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x3 (0xffa0)

Handle 1: New device is connected: \\?\HID#VID_047F&PID_C056&MI_03&Col01#7&290ff8a5&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#VID_047F&PID_C056&MI_03&Col03#7&290ff8a5&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x3 (0xffa0)

Handle 1: New device is connected: \\?\HID#VID_047F&PID_C056&MI_03&Col02#7&290ff8a5&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x5 (0xb)

Handle 1: Device was disconnected: \\?\HID#VID_2717&PID_5013&Col01#6&4ae96a2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x2 (0x1)

Handle 1: Device was disconnected: \\?\HID#VID_2717&PID_5013&Col02#6&4ae96a2&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x0 (0xff01)

Handle 1: Device was disconnected: \\?\HID#VID_2717&PID_5013&Col03#6&4ae96a2&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x1 (0xc)

Handle 1: Device was disconnected: \\?\HID#VID_2717&PID_5013&Col04#6&4ae96a2&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x80 (0x1)

Handle 1: Device was disconnected: \\?\HID#VID_2717&PID_5013&Col05#6&4ae96a2&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x88 (0xffbc)

Handle 1: Device was disconnected: \\?\HID#VID_2717&PID_5013&Col06#6&4ae96a2&0&0005#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x2 (0xff02)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col02#6&4ae96a2&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x0 (0xff01)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col03#6&4ae96a2&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col04#6&4ae96a2&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x80 (0x1)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col05#6&4ae96a2&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x88 (0xffbc)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col06#6&4ae96a2&0&0005#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x2 (0xff02)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col01#6&4ae96a2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x2 (0x1)

Handle 1: New device is connected: \\?\HID#VID_16C0&PID_05DC&MI_01#8&4a3c42&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 16c0 05dc
  serial_number: 0001
  Manufacturer: www.fischl.de
  Product:      USBasp
  Release:      110
  Interface:    1
  Usage (page): 0x1 (0xff00)

Handle 1: Device was disconnected: \\?\HID#VID_16C0&PID_05DC&MI_01#8&4a3c42&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 16c0 05dc
  serial_number: 0001
  Manufacturer: www.fischl.de
  Product:      USBasp
  Release:      110
  Interface:    1
  Usage (page): 0x1 (0xff00)

Handle 1: New device is connected: \\?\HID#VID_16C0&PID_05DC&MI_01#8&4a3c42&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 16c0 05dc
  serial_number: 0001
  Manufacturer: www.fischl.de
  Product:      USBasp
  Release:      110
  Interface:    1
  Usage (page): 0x1 (0xff00)

@mcuee
Copy link
Member

mcuee commented Mar 12, 2024

Testing again under Windows 10 Dell Laptop to make sure it works -- the results are good.

  1. Unplug and plug of Xiaomi USB mouse receiver
  2. Unplug and plug of Plantronics Headset (USB composite device)
  3. Plug-in (from sleep to active) and Unplug (take out battery) and plug-in (put battery back in) of Microsoft Bluetooth mouse
MINGW64 /c/work/libusb/hidapi_hotplug_win_pr646
$ ./hidtest/hidtest.exe
hidapi test/example tool. Compiled with hidapi version 0.14.0, runtime version 0.14.0.
Compile-time version matches runtime version of hidapi.

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)
  Bus type: 3 (I2C)

  Report Descriptor: (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)
  Bus type: 0 (Unknown)

  Report Descriptor: (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)
  Bus type: 0 (Unknown)

  Report Descriptor: (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: 2717 5013
  path: \\?\HID#VID_2717&PID_5013&Col05#6&4ae96a2&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x88 (0xffbc)
  Bus type: 1 (USB)

  Report Descriptor: (25 bytes)
0x06, 0xbc, 0xff, 0x09, 0x88, 0xa1, 0x01, 0x85, 0x04, 0x19,
0x00, 0x29, 0xff, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08,
0x95, 0x01, 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)
  Bus type: 0 (Unknown)

  Report Descriptor: (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: 16c0 05dc
  path: \\?\HID#VID_16C0&PID_05DC&MI_01#8&4a3c42&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 0001
  Manufacturer: www.fischl.de
  Product:      USBasp
  Release:      110
  Interface:    1
  Usage (page): 0x1 (0xff00)
  Bus type: 1 (USB)

  Report Descriptor: (48 bytes)
0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x09, 0x01, 0x15,
0x01, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x08, 0x81, 0x02,
0x09, 0x01, 0x15, 0x01, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95,
0x08, 0x91, 0x02, 0x09, 0x01, 0x15, 0x01, 0x26, 0xff, 0x00,
0x75, 0x08, 0x95, 0x08, 0xb2, 0x02, 0x01, 0xc0,
Device Found
  type: 24ae 4057
  path: \\?\HID#VID_24AE&PID_4057&MI_01&Col04#f&3a253f2e&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD
  serial_number:
  Manufacturer: SEMICO
  Product:      USB Keyboard
  Release:      110
  Interface:    1
  Usage (page): 0x6 (0x1)
  Bus type: 1 (USB)

  Report Descriptor: (39 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x04, 0x05, 0x07,
0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x08, 0x81, 0x00, 0x19, 0x00, 0x29, 0x2f, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x30, 0x81, 0x02, 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)
  Bus type: 0 (Unknown)

  Report Descriptor: (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)
  Bus type: 3 (I2C)

  Report Descriptor: (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: 2717 5013
  path: \\?\HID#VID_2717&PID_5013&Col06#6&4ae96a2&0&0005#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x2 (0xff02)
  Bus type: 1 (USB)

  Report Descriptor: (23 bytes)
0x06, 0x02, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x06, 0x09,
0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07,
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: (Standard system devices)
  Product:      Dell dock
  Release:      101
  Interface:    0
  Usage (page): 0xda (0xffda)
  Bus type: 1 (USB)

  Report Descriptor: (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&Col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x1 (0xc)
  Bus type: 0 (Unknown)

  Report Descriptor: (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)
  Bus type: 0 (Unknown)

  Report Descriptor: (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: 2717 5013
  path: \\?\HID#VID_2717&PID_5013&Col01#6&4ae96a2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x2 (0x1)
  Bus type: 1 (USB)

  Report Descriptor: (91 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x01, 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, 0x00, 0x80, 0x26, 0xff, 0x7f, 0x75, 0x10, 0x95, 0x02,
0x81, 0x06, 0xc0, 0x09, 0x00, 0xa1, 0x00, 0x09, 0x38, 0x15,
0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0,
0x09, 0x00, 0xa1, 0x00, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x15,
0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x81, 0x06, 0xc0,
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)
  Bus type: 3 (I2C)

  Report Descriptor: (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: 24ae 4057
  path: \\?\HID#VID_24AE&PID_4057&MI_01&Col01#f&3a253f2e&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: SEMICO
  Product:      USB Keyboard
  Release:      110
  Interface:    1
  Usage (page): 0x1 (0xc)
  Bus type: 1 (USB)

  Report Descriptor: (25 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x19, 0x00,
0x2a, 0x80, 0x03, 0x15, 0x00, 0x26, 0x80, 0x03, 0x75, 0x10,
0x95, 0x01, 0x81, 0x00, 0xc0,
Device Found
  type: 24ae 4057
  path: \\?\HID#VID_24AE&PID_4057&MI_01&Col05#f&3a253f2e&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD
  serial_number:
  Manufacturer: SEMICO
  Product:      USB Keyboard
  Release:      110
  Interface:    1
  Usage (page): 0x6 (0x1)
  Bus type: 1 (USB)

  Report Descriptor: (25 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x05, 0x05, 0x07,
0x19, 0x30, 0x29, 0x67, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x38, 0x81, 0x02, 0xc0,
Device Found
  type: 24ae 4057
  path: \\?\HID#VID_24AE&PID_4057&MI_01&Col02#f&3a253f2e&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: SEMICO
  Product:      USB Keyboard
  Release:      110
  Interface:    1
  Usage (page): 0x80 (0x1)
  Bus type: 1 (USB)

  Report Descriptor: (29 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x02, 0x19, 0x81,
0x29, 0x83, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03,
0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 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:    0
  Usage (page): 0x6 (0x1)
  Bus type: 1 (USB)

  Report Descriptor: (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: 2717 5013
  path: \\?\HID#VID_2717&PID_5013&Col02#6&4ae96a2&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x0 (0xff01)
  Bus type: 1 (USB)

  Report Descriptor: (23 bytes)
0x06, 0x01, 0xff, 0x09, 0x00, 0xa1, 0x01, 0x85, 0x02, 0x09,
0x00, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07,
0x81, 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)
  Bus type: 3 (I2C)

  Report Descriptor: (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: 24ae 4057
  path: \\?\HID#VID_24AE&PID_4057&MI_01&Col03#f&3a253f2e&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: SEMICO
  Product:      USB Keyboard
  Release:      110
  Interface:    1
  Usage (page): 0x1 (0xff00)
  Bus type: 1 (USB)

  Report Descriptor: (24 bytes)
0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x19,
0xf1, 0x29, 0xf8, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
0x08, 0x81, 0x02, 0xc0,
Device Found
  type: 24ae 4057
  path: \\?\HID#VID_24AE&PID_4057&MI_00#f&3b751086&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD
  serial_number:
  Manufacturer: SEMICO
  Product:      USB Keyboard
  Release:      110
  Interface:    0
  Usage (page): 0x6 (0x1)
  Bus type: 1 (USB)

  Report Descriptor: (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, 0x05, 0x15,
0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x05, 0x91, 0x02, 0x75,
0x03, 0x95, 0x01, 0x91, 0x03, 0xc0,
Device Found
  type: 047f c056
  path: \\?\HID#VID_047F&PID_C056&MI_03&Col01#7&290ff8a5&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x1 (0xc)
  Bus type: 1 (USB)

  Report Descriptor: (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: 047f c056
  path: \\?\HID#VID_047F&PID_C056&MI_03&Col02#7&290ff8a5&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x5 (0xb)
  Bus type: 1 (USB)

  Report Descriptor: (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: 047f c056
  path: \\?\HID#VID_047F&PID_C056&MI_03&Col03#7&290ff8a5&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x3 (0xffa0)
  Bus type: 1 (USB)

  Report Descriptor: (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: 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:    0
  Usage (page): 0x2 (0x1)
  Bus type: 1 (USB)

  Report Descriptor: (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: 2717 5013
  path: \\?\HID#VID_2717&PID_5013&Col03#6&4ae96a2&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x1 (0xc)
  Bus type: 1 (USB)

  Report Descriptor: (25 bytes)
0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x05, 0x19, 0x00,
0x2a, 0x3c, 0x02, 0x15, 0x00, 0x26, 0x3c, 0x02, 0x75, 0x10,
0x95, 0x01, 0x81, 0x00, 0xc0,
Device Found
  type: 24ae 4057
  path: \\?\HID#VID_24AE&PID_4057&MI_01&Col07#f&3a253f2e&0&0006#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: SEMICO
  Product:      USB Keyboard
  Release:      110
  Interface:    1
  Usage (page): 0x1 (0xff01)
  Bus type: 1 (USB)

  Report Descriptor: (36 bytes)
0x06, 0x01, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x07, 0x09,
0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07,
0x91, 0x02, 0x09, 0x03, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75,
0x08, 0x95, 0x07, 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)
  Bus type: 3 (I2C)

  Report Descriptor: (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: (Standard system devices)
  Product:      Dell dock
  Release:      101
  Interface:    0
  Usage (page): 0xda (0xffda)
  Bus type: 1 (USB)

  Report Descriptor: (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: 24ae 4057
  path: \\?\HID#VID_24AE&PID_4057&MI_01&Col06#f&3a253f2e&0&0005#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD
  serial_number:
  Manufacturer: SEMICO
  Product:      USB Keyboard
  Release:      110
  Interface:    1
  Usage (page): 0x6 (0x1)
  Bus type: 1 (USB)

  Report Descriptor: (25 bytes)
0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x85, 0x06, 0x05, 0x07,
0x19, 0x68, 0x29, 0x9f, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01,
0x95, 0x38, 0x81, 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)
  Bus type: 0 (Unknown)

  Report Descriptor: (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: 2717 5013
  path: \\?\HID#VID_2717&PID_5013&Col04#6&4ae96a2&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x80 (0x1)
  Bus type: 1 (USB)

  Report Descriptor: (29 bytes)
0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x03, 0x19, 0x81,
0x29, 0x83, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x03,
0x81, 0x02, 0x75, 0x05, 0x95, 0x01, 0x81, 0x03, 0xc0,
Handle 1: New device is connected: \\?\HID#DELL091A&Col01#5&99b72d3&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 0488 121f
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x2 (0x1)

Handle 1: New device is connected: \\?\HID#INTC816&Col01#3&36a7043c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 8087 0a1e
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xc (0x1)

Handle 1: New device is connected: \\?\HID#Vid_044E&Pid_1212&Col01&Col02#7&290aacae&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD.
type: 044e 1212
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col05#6&4ae96a2&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x88 (0xffbc)

Handle 1: New device is connected: \\?\HID#INTC816&Col02#3&36a7043c&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 8087 0a1e
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xd (0x1)

Handle 1: New device is connected: \\?\HID#VID_16C0&PID_05DC&MI_01#8&4a3c42&1&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 16c0 05dc
  serial_number: 0001
  Manufacturer: www.fischl.de
  Product:      USBasp
  Release:      110
  Interface:    1
  Usage (page): 0x1 (0xff00)

Handle 1: New device is connected: \\?\HID#VID_24AE&PID_4057&MI_01&Col04#f&3a253f2e&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD.
type: 24ae 4057
  serial_number:
  Manufacturer: SEMICO
  Product:      USB Keyboard
  Release:      110
  Interface:    1
  Usage (page): 0x6 (0x1)

Handle 1: New device is connected: \\?\HID#Vid_044E&Pid_1212&Col01&Col01#7&290aacae&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 044e 1212
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x2 (0x1)

Handle 1: New device is connected: \\?\HID#DELL091A&Col02#5&99b72d3&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 0488 121f
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x5 (0xd)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col06#6&4ae96a2&0&0005#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x2 (0xff02)

Handle 1: New device is connected: \\?\HID#VID_413C&PID_B06E#c&37ff1248&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 413c b06e
  serial_number:
  Manufacturer: (Standard system devices)
  Product:      Dell dock
  Release:      101
  Interface:    0
  Usage (page): 0xda (0xffda)

Handle 1: New device is connected: \\?\HID#ConvertedDevice&Col02#5&379854aa&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0000
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#ConvertedDevice&Col03#5&379854aa&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0000
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x80 (0x1)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col01#6&4ae96a2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x2 (0x1)

Handle 1: New device is connected: \\?\HID#DELL091A&Col03#5&99b72d3&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 0488 121f
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x1 (0xff01)

Handle 1: New device is connected: \\?\HID#VID_24AE&PID_4057&MI_01&Col01#f&3a253f2e&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 24ae 4057
  serial_number:
  Manufacturer: SEMICO
  Product:      USB Keyboard
  Release:      110
  Interface:    1
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#VID_24AE&PID_4057&MI_01&Col05#f&3a253f2e&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD.
type: 24ae 4057
  serial_number:
  Manufacturer: SEMICO
  Product:      USB Keyboard
  Release:      110
  Interface:    1
  Usage (page): 0x6 (0x1)

Handle 1: New device is connected: \\?\HID#VID_24AE&PID_4057&MI_01&Col02#f&3a253f2e&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 24ae 4057
  serial_number:
  Manufacturer: SEMICO
  Product:      USB Keyboard
  Release:      110
  Interface:    1
  Usage (page): 0x80 (0x1)

Handle 1: New device is connected: \\?\HID#VID_413C&PID_2107#e&1de7f0c0&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD.
type: 413c 2107
  serial_number:
  Manufacturer: DELL
  Product:      Dell USB Entry Keyboard
  Release:      178
  Interface:    0
  Usage (page): 0x6 (0x1)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col02#6&4ae96a2&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x0 (0xff01)

Handle 1: New device is connected: \\?\HID#DELL091A&Col04#5&99b72d3&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 0488 121f
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0x1 (0xff02)

Handle 1: New device is connected: \\?\HID#VID_24AE&PID_4057&MI_01&Col03#f&3a253f2e&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 24ae 4057
  serial_number:
  Manufacturer: SEMICO
  Product:      USB Keyboard
  Release:      110
  Interface:    1
  Usage (page): 0x1 (0xff00)

Handle 1: New device is connected: \\?\HID#VID_24AE&PID_4057&MI_00#f&3b751086&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD.
type: 24ae 4057
  serial_number:
  Manufacturer: SEMICO
  Product:      USB Keyboard
  Release:      110
  Interface:    0
  Usage (page): 0x6 (0x1)

Handle 1: New device is connected: \\?\HID#VID_047F&PID_C056&MI_03&Col01#7&290ff8a5&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#VID_047F&PID_C056&MI_03&Col02#7&290ff8a5&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x5 (0xb)

Handle 1: New device is connected: \\?\HID#VID_047F&PID_C056&MI_03&Col03#7&290ff8a5&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x3 (0xffa0)

Handle 1: New device is connected: \\?\HID#VID_046D&PID_C077#e&fde55df&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d c077
  serial_number:
  Manufacturer: Logitech
  Product:      USB Optical Mouse
  Release:      7200
  Interface:    0
  Usage (page): 0x2 (0x1)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col03#6&4ae96a2&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#VID_24AE&PID_4057&MI_01&Col07#f&3a253f2e&0&0006#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 24ae 4057
  serial_number:
  Manufacturer: SEMICO
  Product:      USB Keyboard
  Release:      110
  Interface:    1
  Usage (page): 0x1 (0xff01)

Handle 1: New device is connected: \\?\HID#DELL091A&Col05#5&99b72d3&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 0488 121f
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      40d
  Interface:    -1
  Usage (page): 0xe (0xd)

Handle 1: New device is connected: \\?\HID#VID_413C&PID_B06F#d&3624b04c&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 413c b06f
  serial_number:
  Manufacturer: (Standard system devices)
  Product:      Dell dock
  Release:      101
  Interface:    0
  Usage (page): 0xda (0xffda)

Handle 1: New device is connected: \\?\HID#VID_24AE&PID_4057&MI_01&Col06#f&3a253f2e&0&0005#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD.
type: 24ae 4057
  serial_number:
  Manufacturer: SEMICO
  Product:      USB Keyboard
  Release:      110
  Interface:    1
  Usage (page): 0x6 (0x1)

Handle 1: New device is connected: \\?\HID#ConvertedDevice&Col01#5&379854aa&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD.
type: 045e 0000
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col04#6&4ae96a2&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x80 (0x1)

Handle 1: Device was disconnected: \\?\HID#VID_2717&PID_5013&Col01#6&4ae96a2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x2 (0x1)

Handle 1: Device was disconnected: \\?\HID#VID_2717&PID_5013&Col02#6&4ae96a2&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x0 (0xff01)

Handle 1: Device was disconnected: \\?\HID#VID_2717&PID_5013&Col03#6&4ae96a2&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x1 (0xc)

Handle 1: Device was disconnected: \\?\HID#VID_2717&PID_5013&Col04#6&4ae96a2&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x80 (0x1)

Handle 1: Device was disconnected: \\?\HID#VID_2717&PID_5013&Col05#6&4ae96a2&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x88 (0xffbc)

Handle 1: Device was disconnected: \\?\HID#VID_2717&PID_5013&Col06#6&4ae96a2&0&0005#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x2 (0xff02)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col02#6&4ae96a2&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x0 (0xff01)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col03#6&4ae96a2&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col04#6&4ae96a2&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x80 (0x1)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col05#6&4ae96a2&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x88 (0xffbc)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col06#6&4ae96a2&0&0005#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x2 (0xff02)

Handle 1: New device is connected: \\?\HID#VID_2717&PID_5013&Col01#6&4ae96a2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 2717 5013
  serial_number:
  Manufacturer: MI
  Product:      Mi Wireless Mouse
  Release:      625
  Interface:    0
  Usage (page): 0x2 (0x1)

Handle 1: Device was disconnected: \\?\HID#VID_047F&PID_C056&MI_03&Col01#7&290ff8a5&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x1 (0xc)

Handle 1: Device was disconnected: \\?\HID#VID_047F&PID_C056&MI_03&Col02#7&290ff8a5&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x5 (0xb)

Handle 1: Device was disconnected: \\?\HID#VID_047F&PID_C056&MI_03&Col03#7&290ff8a5&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x3 (0xffa0)

Handle 1: New device is connected: \\?\HID#VID_047F&PID_C056&MI_03&Col01#7&290ff8a5&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#VID_047F&PID_C056&MI_03&Col03#7&290ff8a5&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x3 (0xffa0)

Handle 1: New device is connected: \\?\HID#VID_047F&PID_C056&MI_03&Col02#7&290ff8a5&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: BB305534D79EBD418B6757528EAC0C19
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x5 (0xb)

Handle 1: New device is connected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f339070f09c4&Col02#9&1349a68d&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0916
  serial_number: f339070f09c4
  Manufacturer: Microsoft
  Product:      BluetoothMouse3600
  Release:      110
  Interface:    -1
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f339070f09c4&Col03#9&1349a68d&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0916
  serial_number: f339070f09c4
  Manufacturer: Microsoft
  Product:      BluetoothMouse3600
  Release:      110
  Interface:    -1
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f339070f09c4&Col01#9&1349a68d&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0916
  serial_number: f339070f09c4
  Manufacturer: Microsoft
  Product:      BluetoothMouse3600
  Release:      110
  Interface:    -1
  Usage (page): 0x2 (0x1)

Handle 1: Device was disconnected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f339070f09c4&Col01#9&1349a68d&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0916
  serial_number: f339070f09c4
  Manufacturer: Microsoft
  Product:      BluetoothMouse3600
  Release:      110
  Interface:    -1
  Usage (page): 0x2 (0x1)

Handle 1: Device was disconnected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f339070f09c4&Col02#9&1349a68d&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0916
  serial_number: f339070f09c4
  Manufacturer: Microsoft
  Product:      BluetoothMouse3600
  Release:      110
  Interface:    -1
  Usage (page): 0x1 (0xc)

Handle 1: Device was disconnected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f339070f09c4&Col03#9&1349a68d&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0916
  serial_number: f339070f09c4
  Manufacturer: Microsoft
  Product:      BluetoothMouse3600
  Release:      110
  Interface:    -1
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f339070f09c4&Col02#9&1349a68d&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0916
  serial_number: f339070f09c4
  Manufacturer: Microsoft
  Product:      BluetoothMouse3600
  Release:      110
  Interface:    -1
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f339070f09c4&Col03#9&1349a68d&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0916
  serial_number: f339070f09c4
  Manufacturer: Microsoft
  Product:      BluetoothMouse3600
  Release:      110
  Interface:    -1
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f339070f09c4&Col01#9&1349a68d&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0916
  serial_number: f339070f09c4
  Manufacturer: Microsoft
  Product:      BluetoothMouse3600
  Release:      110
  Interface:    -1
  Usage (page): 0x2 (0x1)

Handle 1: Device was disconnected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f339070f09c4&Col01#9&1349a68d&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0916
  serial_number: f339070f09c4
  Manufacturer: Microsoft
  Product:      BluetoothMouse3600
  Release:      110
  Interface:    -1
  Usage (page): 0x2 (0x1)

Handle 1: Device was disconnected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f339070f09c4&Col02#9&1349a68d&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0916
  serial_number: f339070f09c4
  Manufacturer: Microsoft
  Product:      BluetoothMouse3600
  Release:      110
  Interface:    -1
  Usage (page): 0x1 (0xc)

Handle 1: Device was disconnected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f339070f09c4&Col03#9&1349a68d&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0916
  serial_number: f339070f09c4
  Manufacturer: Microsoft
  Product:      BluetoothMouse3600
  Release:      110
  Interface:    -1
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f339070f09c4&Col02#9&1349a68d&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0916
  serial_number: f339070f09c4
  Manufacturer: Microsoft
  Product:      BluetoothMouse3600
  Release:      110
  Interface:    -1
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f339070f09c4&Col03#9&1349a68d&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0916
  serial_number: f339070f09c4
  Manufacturer: Microsoft
  Product:      BluetoothMouse3600
  Release:      110
  Interface:    -1
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02045e_PID&0916_REV&0110_f339070f09c4&Col01#9&1349a68d&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0916
  serial_number: f339070f09c4
  Manufacturer: Microsoft
  Product:      BluetoothMouse3600
  Release:      110
  Interface:    -1
  Usage (page): 0x2 (0x1)

@mcuee
Copy link
Member

mcuee commented Mar 12, 2024

Another test with WIndows 11 Acer laptop and it is also good.

  1. Unplug and then plug in Logitech USB receiver
  2. Plug in and then unplug Plantronics Headset
  3. Unplug (turning off power) and then plug in (turning on power) Logitech Pebble Bluetooth mouse
 MINGW64 /c/work/hid/hidapi_hotplug
$ make
make  all-recursive
make[1]: Entering directory '/c/work/hid/hidapi_hotplug'
Making all in windows
make[2]: Entering directory '/c/work/hid/hidapi_hotplug/windows'
  CC       hid.lo
  CCLD     libhidapi.la
make[2]: Leaving directory '/c/work/hid/hidapi_hotplug/windows'
Making all in hidtest
make[2]: Entering directory '/c/work/hid/hidapi_hotplug/hidtest'
  CC       test.o
  CCLD     hidtest.exe
make[2]: Leaving directory '/c/work/hid/hidapi_hotplug/hidtest'
make[2]: Entering directory '/c/work/hid/hidapi_hotplug'
make[2]: Leaving directory '/c/work/hid/hidapi_hotplug'
make[1]: Leaving directory '/c/work/hid/hidapi_hotplug'

xiaof@LAPTOP-913SIMUD MINGW64 /c/work/hid/hidapi_hotplug
$ ./hidtest/hidtest.exe
hidapi test/example tool. Compiled with hidapi version 0.14.0, runtime version 0.14.0.
Compile-time version matches runtime version of hidapi.

Device Found
  type: 046d b021
  path: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02046d_PID&b021_REV&0007_fd9c982ff43f&Col01#9&3abb00b2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: fd9c982ff43f
  Manufacturer: Logitech
  Product:      Logitech_Pebble
  Release:      7
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Bus type: 2 (Bluetooth)

  Report Descriptor: (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 b021
  path: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02046d_PID&b021_REV&0007_fd9c982ff43f&Col02#9&3abb00b2&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: fd9c982ff43f
  Manufacturer: Logitech
  Product:      Logitech_Pebble
  Release:      7
  Interface:    -1
  Usage (page): 0x202 (0xff43)
  Bus type: 2 (Bluetooth)

  Report Descriptor: (37 bytes)
0x06, 0x43, 0xff, 0x0a, 0x02, 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#3&d2322f2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xd (0x1)
  Bus type: 0 (Unknown)

  Report Descriptor: (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: 06cb cd40
  path: \\?\HID#SYNA7DAB&Col01#5&2f64dfea&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      501
  Interface:    -1
  Usage (page): 0x2 (0x1)
  Bus type: 3 (I2C)

  Report Descriptor: (52 bytes)
0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x09, 0x01, 0xa1, 0x00,
0x85, 0x02, 0x05, 0x09, 0x19, 0x01, 0x29, 0x02, 0x15, 0x00,
0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x75, 0x06,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31,
0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x02, 0x81, 0x06,
0xc0, 0xc0,
Device Found
  type: 06cb cd40
  path: \\?\HID#SYNA7DAB&Col02#5&2f64dfea&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      501
  Interface:    -1
  Usage (page): 0x5 (0xd)
  Bus type: 3 (I2C)

  Report Descriptor: (610 bytes)
0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02,
0x85, 0x03, 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, 0xc8, 0x04, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x55, 0x0e,
0x65, 0x11, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31,
0x15, 0x00, 0x26, 0xe8, 0x02, 0x35, 0x00, 0x46, 0x6c, 0x02,
0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09,
0x22, 0xa1, 0x02, 0x09, 0x47, 0x09, 0x42, 0x15, 0x00, 0x25,
0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55, 0x00, 0x65,
0x00, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00, 0x25, 0x05, 0x35,
0x00, 0x46, 0x6c, 0x02, 0x55, 0x0e, 0x65, 0x11, 0x75, 0x03,
0x95, 0x01, 0x81, 0x02, 0x75, 0x03, 0x95, 0x01, 0x81, 0x03,
0x05, 0x01, 0x09, 0x30, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x35,
0x00, 0x46, 0xfc, 0x03, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02,
0x09, 0x31, 0x15, 0x00, 0x26, 0xe8, 0x02, 0x35, 0x00, 0x46,
0x6c, 0x02, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0xc0, 0x05,
0x0d, 0x09, 0x22, 0xa1, 0x02, 0x09, 0x47, 0x09, 0x42, 0x15,
0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45, 0x00, 0x55,
0x00, 0x65, 0x00, 0x81, 0x02, 0x09, 0x51, 0x15, 0x00, 0x25,
0x05, 0x35, 0x00, 0x46, 0x6c, 0x02, 0x55, 0x0e, 0x65, 0x11,
0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03, 0x95, 0x01,
0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00, 0x26, 0xc8,
0x04, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x75, 0x10, 0x95, 0x01,
0x81, 0x02, 0x09, 0x31, 0x15, 0x00, 0x26, 0xe8, 0x02, 0x35,
0x00, 0x46, 0x6c, 0x02, 0x75, 0x10, 0x95, 0x01, 0x81, 0x02,
0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x09, 0x47, 0x09,
0x42, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x45,
0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02, 0x09, 0x51, 0x15,
0x00, 0x25, 0x05, 0x35, 0x00, 0x46, 0x6c, 0x02, 0x55, 0x0e,
0x65, 0x11, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02, 0x75, 0x03,
0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30, 0x15, 0x00,
0x26, 0xc8, 0x04, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x75, 0x10,
0x95, 0x01, 0x81, 0x02, 0x09, 0x31, 0x15, 0x00, 0x26, 0xe8,
0x02, 0x35, 0x00, 0x46, 0x6c, 0x02, 0x75, 0x10, 0x95, 0x01,
0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x09,
0x47, 0x09, 0x42, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95,
0x02, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00, 0x81, 0x02, 0x09,
0x51, 0x15, 0x00, 0x25, 0x05, 0x35, 0x00, 0x46, 0x6c, 0x02,
0x55, 0x0e, 0x65, 0x11, 0x75, 0x03, 0x95, 0x01, 0x81, 0x02,
0x75, 0x03, 0x95, 0x01, 0x81, 0x03, 0x05, 0x01, 0x09, 0x30,
0x15, 0x00, 0x26, 0xc8, 0x04, 0x35, 0x00, 0x46, 0xfc, 0x03,
0x75, 0x10, 0x95, 0x01, 0x81, 0x02, 0x09, 0x31, 0x15, 0x00,
0x26, 0xe8, 0x02, 0x35, 0x00, 0x46, 0x6c, 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, 0x7f,
0x75, 0x08, 0x95, 0x01, 0x81, 0x02, 0x05, 0x09, 0x09, 0x01,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x45, 0x00,
0x55, 0x00, 0x65, 0x00, 0x81, 0x02, 0x75, 0x07, 0x95, 0x01,
0x81, 0x03, 0x85, 0x08, 0x05, 0x0d, 0x09, 0x55, 0x09, 0x59,
0x15, 0x00, 0x25, 0x0f, 0x35, 0x00, 0x47, 0xff, 0xff, 0x00,
0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x04, 0x95, 0x02,
0xb1, 0x02, 0x85, 0x0d, 0x09, 0x60, 0x15, 0x00, 0x25, 0x01,
0x75, 0x01, 0x95, 0x01, 0x45, 0x00, 0x55, 0x00, 0x65, 0x00,
0xb1, 0x02, 0x75, 0x07, 0x95, 0x01, 0xb1, 0x03, 0x85, 0x07,
0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00,
0x35, 0x00, 0x47, 0xff, 0xff, 0x00, 0x00, 0x55, 0x0c, 0x66,
0x01, 0x10, 0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0xc0,
Device Found
  type: 06cb cd40
  path: \\?\HID#SYNA7DAB&Col03#5&2f64dfea&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      501
  Interface:    -1
  Usage (page): 0xe (0xd)
  Bus type: 3 (I2C)

  Report Descriptor: (71 bytes)
0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x09, 0x22, 0xa1, 0x02,
0x85, 0x04, 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, 0x06, 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: 06cb cd40
  path: \\?\HID#SYNA7DAB&Col04#5&2f64dfea&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      501
  Interface:    -1
  Usage (page): 0x1 (0xff00)
  Bus type: 3 (I2C)

  Report Descriptor: (110 bytes)
0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x0b, 0x09,
0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x35, 0x00, 0x47, 0xff,
0xff, 0x00, 0x00, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x75, 0x08,
0x95, 0x3d, 0x81, 0x02, 0x85, 0x0c, 0x09, 0x05, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x3d, 0x81, 0x02, 0x85,
0x09, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08,
0x95, 0x14, 0x91, 0x02, 0x85, 0x0a, 0x09, 0x03, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x14, 0x91, 0x02, 0x85,
0x0f, 0x09, 0x06, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08,
0x95, 0x03, 0xb1, 0x02, 0x85, 0x0e, 0x09, 0x07, 0x15, 0x00,
0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0,
Device Found
  type: 045e 0000
  path: \\?\HID#ConvertedDevice&Col02#5&32cf90e6&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x1 (0xc)
  Bus type: 0 (Unknown)

  Report Descriptor: (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&32cf90e6&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x80 (0x1)
  Bus type: 0 (Unknown)

  Report Descriptor: (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: deed feed
  path: \\?\HID#10251229#3&9d5d338&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Acer Inc
  Product:      Acer Airplane Mode Controller
  Release:      101
  Interface:    -1
  Usage (page): 0xc (0x1)
  Bus type: 0 (Unknown)

  Report Descriptor: (27 bytes)
0x05, 0x01, 0x09, 0x0c, 0xa1, 0x01, 0x85, 0x01, 0x09, 0xc6,
0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x06,
0x75, 0x07, 0x95, 0x01, 0x81, 0x03, 0xc0,
Device Found
  type: 045e 0000
  path: \\?\HID#ConvertedDevice&Col01#5&32cf90e6&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)
  Bus type: 0 (Unknown)

  Report Descriptor: (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: 1ea7 0064
  path: \\?\HID#VID_1EA7&PID_0064&Col01#6&1bdfd61d&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: (Standard system devices)
  Product:      2.4G Mouse
  Release:      200
  Interface:    0
  Usage (page): 0x1 (0xffb5)
  Bus type: 1 (USB)

  Report Descriptor: (36 bytes)
0x06, 0xb5, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0xb5, 0x09,
0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x07,
0x81, 0x02, 0x09, 0x02, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75,
0x08, 0x95, 0x07, 0x91, 0x02, 0xc0,
Device Found
  type: 1ea7 0064
  path: \\?\HID#VID_1EA7&PID_0064&Col02#6&1bdfd61d&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: (Standard system devices)
  Product:      2.4G Mouse
  Release:      200
  Interface:    0
  Usage (page): 0x2 (0x1)
  Bus type: 1 (USB)

  Report Descriptor: (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 c534
  path: \\?\HID#VID_046D&PID_C534&MI_00#7&161dd3ac&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    0
  Usage (page): 0x6 (0x1)
  Bus type: 1 (USB)

  Report Descriptor: (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: 046d c534
  path: \\?\HID#VID_046D&PID_C534&MI_01&Col01#7&db96a16&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0x1)
  Bus type: 1 (USB)

  Report Descriptor: (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&db96a16&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xc)
  Bus type: 1 (USB)

  Report Descriptor: (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&db96a16&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x80 (0x1)
  Bus type: 1 (USB)

  Report Descriptor: (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&db96a16&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xff00)
  Bus type: 1 (USB)

  Report Descriptor: (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&db96a16&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0xff00)
  Bus type: 1 (USB)

  Report Descriptor: (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,
Handle 1: New device is connected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02046d_PID&b021_REV&0007_fd9c982ff43f&Col01#9&3abb00b2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d b021
  serial_number: fd9c982ff43f
  Manufacturer: Logitech
  Product:      Logitech_Pebble
  Release:      7
  Interface:    -1
  Usage (page): 0x2 (0x1)

Handle 1: New device is connected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02046d_PID&b021_REV&0007_fd9c982ff43f&Col02#9&3abb00b2&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d b021
  serial_number: fd9c982ff43f
  Manufacturer: Logitech
  Product:      Logitech_Pebble
  Release:      7
  Interface:    -1
  Usage (page): 0x202 (0xff43)

Handle 1: New device is connected: \\?\HID#INTC816#3&d2322f2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 8087 0a1e
  serial_number:
  Manufacturer:
  Product:
  Release:      200
  Interface:    -1
  Usage (page): 0xd (0x1)

Handle 1: New device is connected: \\?\HID#SYNA7DAB&Col01#5&2f64dfea&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 06cb cd40
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      501
  Interface:    -1
  Usage (page): 0x2 (0x1)

Handle 1: New device is connected: \\?\HID#SYNA7DAB&Col02#5&2f64dfea&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 06cb cd40
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      501
  Interface:    -1
  Usage (page): 0x5 (0xd)

Handle 1: New device is connected: \\?\HID#SYNA7DAB&Col03#5&2f64dfea&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 06cb cd40
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      501
  Interface:    -1
  Usage (page): 0xe (0xd)

Handle 1: New device is connected: \\?\HID#SYNA7DAB&Col04#5&2f64dfea&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 06cb cd40
  serial_number: 9999
  Manufacturer: Microsoft
  Product:      HIDI2C Device
  Release:      501
  Interface:    -1
  Usage (page): 0x1 (0xff00)

Handle 1: New device is connected: \\?\HID#ConvertedDevice&Col02#5&32cf90e6&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0000
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#ConvertedDevice&Col03#5&32cf90e6&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 045e 0000
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x80 (0x1)

Handle 1: New device is connected: \\?\HID#10251229#3&9d5d338&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: deed feed
  serial_number:
  Manufacturer: Acer Inc
  Product:      Acer Airplane Mode Controller
  Release:      101
  Interface:    -1
  Usage (page): 0xc (0x1)

Handle 1: New device is connected: \\?\HID#ConvertedDevice&Col01#5&32cf90e6&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD.
type: 045e 0000
  serial_number:
  Manufacturer:
  Product:
  Release:      0
  Interface:    -1
  Usage (page): 0x6 (0x1)

Handle 1: New device is connected: \\?\HID#VID_1EA7&PID_0064&Col01#6&1bdfd61d&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 1ea7 0064
  serial_number:
  Manufacturer: (Standard system devices)
  Product:      2.4G Mouse
  Release:      200
  Interface:    0
  Usage (page): 0x1 (0xffb5)

Handle 1: New device is connected: \\?\HID#VID_1EA7&PID_0064&Col02#6&1bdfd61d&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 1ea7 0064
  serial_number:
  Manufacturer: (Standard system devices)
  Product:      2.4G Mouse
  Release:      200
  Interface:    0
  Usage (page): 0x2 (0x1)

Handle 1: New device is connected: \\?\HID#VID_046D&PID_C534&MI_00#7&161dd3ac&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD.
type: 046d c534
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    0
  Usage (page): 0x6 (0x1)

Handle 1: New device is connected: \\?\HID#VID_046D&PID_C534&MI_01&Col01#7&db96a16&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d c534
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0x1)

Handle 1: New device is connected: \\?\HID#VID_046D&PID_C534&MI_01&Col02#7&db96a16&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d c534
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#VID_046D&PID_C534&MI_01&Col03#7&db96a16&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d c534
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x80 (0x1)

Handle 1: New device is connected: \\?\HID#VID_046D&PID_C534&MI_01&Col04#7&db96a16&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d c534
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xff00)

Handle 1: New device is connected: \\?\HID#VID_046D&PID_C534&MI_01&Col05#7&db96a16&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d c534
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0xff00)

Handle 1: Device was disconnected: \\?\HID#VID_046D&PID_C534&MI_00#7&161dd3ac&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD.
type: 046d c534
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    0
  Usage (page): 0x6 (0x1)

Handle 1: Device was disconnected: \\?\HID#VID_046D&PID_C534&MI_01&Col01#7&db96a16&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d c534
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0x1)

Handle 1: Device was disconnected: \\?\HID#VID_046D&PID_C534&MI_01&Col02#7&db96a16&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d c534
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xc)

Handle 1: Device was disconnected: \\?\HID#VID_046D&PID_C534&MI_01&Col03#7&db96a16&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d c534
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x80 (0x1)

Handle 1: Device was disconnected: \\?\HID#VID_046D&PID_C534&MI_01&Col04#7&db96a16&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d c534
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xff00)

Handle 1: Device was disconnected: \\?\HID#VID_046D&PID_C534&MI_01&Col05#7&db96a16&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d c534
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0xff00)

Handle 1: New device is connected: \\?\HID#VID_046D&PID_C534&MI_01&Col02#7&db96a16&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d c534
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#VID_046D&PID_C534&MI_01&Col03#7&db96a16&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d c534
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x80 (0x1)

Handle 1: New device is connected: \\?\HID#VID_046D&PID_C534&MI_01&Col04#7&db96a16&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d c534
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x1 (0xff00)

Handle 1: New device is connected: \\?\HID#VID_046D&PID_C534&MI_01&Col05#7&db96a16&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d c534
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0xff00)

Handle 1: New device is connected: \\?\HID#VID_046D&PID_C534&MI_00#7&161dd3ac&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD.
type: 046d c534
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    0
  Usage (page): 0x6 (0x1)

Handle 1: New device is connected: \\?\HID#VID_046D&PID_C534&MI_01&Col01#7&db96a16&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d c534
  serial_number:
  Manufacturer: Logitech
  Product:      USB Receiver
  Release:      2901
  Interface:    1
  Usage (page): 0x2 (0x1)

Handle 1: Device was disconnected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02046d_PID&b021_REV&0007_fd9c982ff43f&Col01#9&3abb00b2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d b021
  serial_number: fd9c982ff43f
  Manufacturer: Logitech
  Product:      Logitech_Pebble
  Release:      7
  Interface:    -1
  Usage (page): 0x2 (0x1)

Handle 1: Device was disconnected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02046d_PID&b021_REV&0007_fd9c982ff43f&Col02#9&3abb00b2&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d b021
  serial_number: fd9c982ff43f
  Manufacturer: Logitech
  Product:      Logitech_Pebble
  Release:      7
  Interface:    -1
  Usage (page): 0x202 (0xff43)

Handle 1: New device is connected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02046d_PID&b021_REV&0007_fd9c982ff43f&Col02#9&3abb00b2&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d b021
  serial_number: fd9c982ff43f
  Manufacturer: Logitech
  Product:      Logitech_Pebble
  Release:      7
  Interface:    -1
  Usage (page): 0x202 (0xff43)

Handle 1: New device is connected: \\?\HID#{00001812-0000-1000-8000-00805f9b34fb}_Dev_VID&02046d_PID&b021_REV&0007_fd9c982ff43f&Col01#9&3abb00b2&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 046d b021
  serial_number: fd9c982ff43f
  Manufacturer: Logitech
  Product:      Logitech_Pebble
  Release:      7
  Interface:    -1
  Usage (page): 0x2 (0x1)

Handle 1: New device is connected: \\?\HID#VID_047F&PID_C056&MI_03&Col01#8&22a79ea6&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x1 (0xc)

Handle 1: New device is connected: \\?\HID#VID_047F&PID_C056&MI_03&Col03#8&22a79ea6&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x3 (0xffa0)

Handle 1: New device is connected: \\?\HID#VID_047F&PID_C056&MI_03&Col02#8&22a79ea6&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x5 (0xb)

Handle 1: Device was disconnected: \\?\HID#VID_047F&PID_C056&MI_03&Col01#8&22a79ea6&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x1 (0xc)

Handle 1: Device was disconnected: \\?\HID#VID_047F&PID_C056&MI_03&Col02#8&22a79ea6&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x5 (0xb)

Handle 1: Device was disconnected: \\?\HID#VID_047F&PID_C056&MI_03&Col03#8&22a79ea6&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}.
type: 047f c056
  serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3
  Manufacturer: Plantronics
  Product:      Plantronics Blackwire 3220 Series
  Release:      210
  Interface:    3
  Usage (page): 0x3 (0xffa0)

@k1-801 k1-801 changed the title [Awaiting final review] Windows hotplug: Mutex for callback actions Windows hotplug: Mutex for callback actions Mar 13, 2024
Copy link

@xQwexx xQwexx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am looking forward of this getting merged :)

windows/hid.c Show resolved Hide resolved
windows/hid.c Show resolved Hide resolved
windows/hid.c Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
windows/hid.c Outdated Show resolved Hide resolved
@Youw Youw merged commit ce92386 into libusb:connection-callback Apr 6, 2024
11 of 12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Windows Related to Windows backend
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants