Skip to content

Conversation

@k1-801
Copy link

@k1-801k1-801 commented Mar 13, 2024

This PR incorporates changes #299, #645, #646, #647, #653, and #668 to be merged into master as one pull-request.

Implements the Hotplug feature for Windows, Linux, MacOS, and for the libusb backend. Of the currently supported backends the only one with no implementation is netbsd.

Resolves#238
Resolves#538

At this moment the project: https://gitlab.com/CalcProgrammer1/OpenRGB/-/merge_requests/1963 is waiting for this feature to be released in hidapi.

@mcueemcuee added the enhancement New feature or request label Mar 13, 2024
@mcuee
Copy link
Member

Nice.

Just carry out a test under Windows 11 and there are no issues.

Details
MINGW64 /c/work/hid/hidapi_hotplug_pr667 $ ./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: 1ea7 0066 path: \\?\HID#VID_1EA7&PID_0066&MI_01&Col01#7&35e284b8&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 1 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: 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: 1ea7 0066 path: \\?\HID#VID_1EA7&PID_0066&MI_01&Col02#7&35e284b8&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 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, 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: 1ea7 0066 path: \\?\HID#VID_1EA7&PID_0066&MI_01&Col03#7&35e284b8&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x1 (0xc) Bus type: 1 (USB) Report Descriptor: (25 bytes) 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x01, 0x19, 0x01, 0x2a, 0xff, 0x03, 0x15, 0x01, 0x26, 0xff, 0x03, 0x75, 0x10, 0x95, 0x01, 0x81, 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: 1ea7 0066 path: \\?\HID#VID_1EA7&PID_0066&MI_01&Col04#7&35e284b8&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 1 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, Device Found type: 1ea7 0066 path: \\?\HID#VID_1EA7&PID_0066&MI_01&Col05#7&35e284b8&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030} serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 1 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: 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: 1ea7 0066 path: \\?\HID#VID_1EA7&PID_0066&MI_00#7&2f10a978&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 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: 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, 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_1EA7&PID_0066&MI_01&Col01#7&35e284b8&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. type: 1ea7 0066 serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x1 (0xffb5) 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#VID_1EA7&PID_0066&MI_01&Col02#7&35e284b8&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}. type: 1ea7 0066 serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x2 (0x1) Handle 1: New device is connected: \\?\HID#VID_1EA7&PID_0066&MI_01&Col03#7&35e284b8&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}. type: 1ea7 0066 serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x1 (0xc) 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#VID_1EA7&PID_0066&MI_01&Col04#7&35e284b8&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}. type: 1ea7 0066 serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x80 (0x1) Handle 1: New device is connected: \\?\HID#VID_1EA7&PID_0066&MI_01&Col05#7&35e284b8&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}. type: 1ea7 0066 serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x88 (0xffbc) 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#VID_1EA7&PID_0066&MI_00#7&2f10a978&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD. type: 1ea7 0066 serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x6 (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: Device was disconnected: \\?\HID#VID_1EA7&PID_0066&MI_00#7&2f10a978&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD. type: 1ea7 0066 serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x6 (0x1) Handle 1: Device was disconnected: \\?\HID#VID_1EA7&PID_0066&MI_01&Col01#7&35e284b8&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. type: 1ea7 0066 serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x1 (0xffb5) Handle 1: Device was disconnected: \\?\HID#VID_1EA7&PID_0066&MI_01&Col02#7&35e284b8&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}. type: 1ea7 0066 serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x2 (0x1) Handle 1: Device was disconnected: \\?\HID#VID_1EA7&PID_0066&MI_01&Col03#7&35e284b8&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}. type: 1ea7 0066 serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x1 (0xc) Handle 1: Device was disconnected: \\?\HID#VID_1EA7&PID_0066&MI_01&Col04#7&35e284b8&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}. type: 1ea7 0066 serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x80 (0x1) Handle 1: Device was disconnected: \\?\HID#VID_1EA7&PID_0066&MI_01&Col05#7&35e284b8&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}. type: 1ea7 0066 serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x88 (0xffbc) Handle 1: New device is connected: \\?\HID#VID_1EA7&PID_0066&MI_01&Col01#7&35e284b8&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}. type: 1ea7 0066 serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x1 (0xffb5) Handle 1: New device is connected: \\?\HID#VID_1EA7&PID_0066&MI_01&Col03#7&35e284b8&0&0002#{4d1e55b2-f16f-11cf-88cb-001111000030}. type: 1ea7 0066 serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x1 (0xc) Handle 1: New device is connected: \\?\HID#VID_1EA7&PID_0066&MI_01&Col04#7&35e284b8&0&0003#{4d1e55b2-f16f-11cf-88cb-001111000030}. type: 1ea7 0066 serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x80 (0x1) Handle 1: New device is connected: \\?\HID#VID_1EA7&PID_0066&MI_01&Col05#7&35e284b8&0&0004#{4d1e55b2-f16f-11cf-88cb-001111000030}. type: 1ea7 0066 serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x88 (0xffbc) Handle 1: New device is connected: \\?\HID#VID_1EA7&PID_0066&MI_00#7&2f10a978&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}\KBD. type: 1ea7 0066 serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x6 (0x1) Handle 1: New device is connected: \\?\HID#VID_1EA7&PID_0066&MI_01&Col02#7&35e284b8&0&0001#{4d1e55b2-f16f-11cf-88cb-001111000030}. type: 1ea7 0066 serial_number: Manufacturer: (Standard system devices) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x2 (0x1) Handle 1: Device was disconnected: \\?\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: Device was disconnected: \\?\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_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: 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
Copy link
Author

Forwarded the reviewed changes from #646 here as well

@k1-801k1-801 marked this pull request as draft April 6, 2024 10:08
@k1-801
Copy link
Author

Converted to draft to cherry-pick all changes from #646 that were made before merge

@Youw
Copy link
Member

Youw commented Apr 6, 2024

Closing if favor of #674

@YouwYouw closed this Apr 6, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add hotplug support hotplug: windows: missing some mutex protection of the callback list on register/unregister/notify

4 participants

@k1-801@mcuee@Youw@DJm00n