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

Connection callback: merged feature for all platforms #667

Closed
wants to merge 30 commits into from

Conversation

k1-801
Copy link

@k1-801 k1-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.

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

mcuee commented Mar 13, 2024

Nice.

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

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

k1-801 commented Mar 28, 2024

Forwarded the reviewed changes from #646 here as well

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

k1-801 commented Apr 6, 2024

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

@Youw Youw closed this Apr 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
4 participants