Skip to content

Conversation

@k1-801
Copy link

No description provided.

@k1-801k1-801 mentioned this pull request Nov 22, 2023
@k1-801k1-801force-pushed the connection-callback-udev branch from bb974de to 436b902CompareNovember 22, 2023 04:27
Copy link
Member

Choose a reason for hiding this comment

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

HIDAPI uses tabs for indentation
if you've noticed otherwise - thet's a "bug"

Copy link
Member

@YouwYouw left a comment

Choose a reason for hiding this comment

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

my comments are only about code-style for now
I really need to find time to review this (and others) thoroughly

@k1-801k1-801force-pushed the connection-callback-udev branch 3 times, most recently from 9d5720e to 43956beCompareNovember 23, 2023 09:52
@k1-801
Copy link
Author

Did some adjustents to the code-style (in fact, got my IDE set up to keep track of it).
Made a few changes to the list management code, as the old version had a severe logical error in device removal handling.

@k1-801k1-801 changed the title WIP: Linux Hotplug: Connection-callback implementation for hidrawRFC: Linux Hotplug: Connection-callback implementation for hidrawNov 26, 2023
@k1-801k1-801force-pushed the connection-callback-udev branch 3 times, most recently from 2bf0493 to 1008a83CompareNovember 26, 2023 12:47
@mcueemcuee added enhancement New feature or request hidraw Related to Linux/hidraw backend labels Nov 28, 2023
@mcuee
Copy link
Member

mcuee commented Mar 6, 2024

Not so sure how to re-run the github actions as there were build error previously.

@mcuee
Copy link
Member

mcuee commented Mar 6, 2024

I will test this under Linux later.

@mcuee
Copy link
Member

mcuee commented Mar 8, 2024

This seems to work fine under Ubuntu Linux 20.04.

Unplug and plug of a USB mouse receiver

Unplug and plug of USBasp programmer (USB Composite device)

Unplug and plug of Plantronics Headset (USB composite device)

Details
mcuee@UbuntuSwift3 ~/build/hid/hidapi_k1801 (connection-callback)$ ./hidtest/hidtest-hidraw 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: 16c0 05dc path: /dev/hidraw2 serial_number: 0001 Manufacturer: www.fischl.de Product: USBasp Release: 110 Interface: 1 Usage (page): 0x1 (0xff00) Bus type: 1 (USB) Report Descriptor: Unable to open device by path Device Found type: 1ea7 0064 path: /dev/hidraw0 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x1 (0xffb5) Bus type: 1 (USB) Report Descriptor: Unable to open device by path Device Found type: 1ea7 0064 path: /dev/hidraw0 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x2 (0x1) Bus type: 1 (USB) Report Descriptor: Unable to open device by path Device Found type: 06cb cd40 path: /dev/hidraw1 serial_number: Manufacturer: Product: SYNA7DAB:01 06CB:CD40 Release: 0 Interface: -1 Usage (page): 0x2 (0x1) Bus type: 3 (I2C) Report Descriptor: Unable to open device by path Device Found type: 06cb cd40 path: /dev/hidraw1 serial_number: Manufacturer: Product: SYNA7DAB:01 06CB:CD40 Release: 0 Interface: -1 Usage (page): 0x5 (0xd) Bus type: 3 (I2C) Report Descriptor: Unable to open device by path Device Found type: 06cb cd40 path: /dev/hidraw1 serial_number: Manufacturer: Product: SYNA7DAB:01 06CB:CD40 Release: 0 Interface: -1 Usage (page): 0xe (0xd) Bus type: 3 (I2C) Report Descriptor: Unable to open device by path Device Found type: 06cb cd40 path: /dev/hidraw1 serial_number: Manufacturer: Product: SYNA7DAB:01 06CB:CD40 Release: 0 Interface: -1 Usage (page): 0x1 (0xff00) Bus type: 3 (I2C) Report Descriptor: Unable to open device by path Handle 1: Device was disconnected: /dev/hidraw2. 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: /dev/hidraw2. 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: /dev/hidraw0. type: 1ea7 0064 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x1 (0xffb5) Handle 1: Device was disconnected: /dev/hidraw0. type: 1ea7 0064 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x2 (0x1) Handle 1: New device is connected: /dev/hidraw0. type: 1ea7 0064 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x1 (0xffb5) Handle 1: New device is connected: /dev/hidraw0. type: 1ea7 0064 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x2 (0x1) Handle 1: Device was disconnected: /dev/hidraw2. 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: /dev/hidraw2. 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: /dev/hidraw2. 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: /dev/hidraw2. type: 047f c056 serial_number: BB305534D79EBD418B6757528EAC0C19 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x3 (0xffa0) Handle 1: Device was disconnected: /dev/hidraw2. 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: /dev/hidraw2. 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: /dev/hidraw2. type: 047f c056 serial_number: BB305534D79EBD418B6757528EAC0C19 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x3 (0xffa0) ^C 

More detailed output using sudo.

mcuee@UbuntuSwift3 ~/build/hid/hidapi_k1801 (connection-callback)$ sudo ./hidtest/hidtest-hidraw 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: 1ea7 0064 path: /dev/hidraw0 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x1 (0xffb5) Bus type: 1 (USB) Report Descriptor: (105 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, 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x08, 0x15, 0x00, 0x25, 0x01, 0x95, 0x08, 0x75, 0x01, 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, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 1ea7 0064 path: /dev/hidraw0 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x2 (0x1) Bus type: 1 (USB) Report Descriptor: (105 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, 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x08, 0x15, 0x00, 0x25, 0x01, 0x95, 0x08, 0x75, 0x01, 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, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 06cb cd40 path: /dev/hidraw1 serial_number: Manufacturer: Product: SYNA7DAB:01 06CB:CD40 Release: 0 Interface: -1 Usage (page): 0x2 (0x1) Bus type: 3 (I2C) Report Descriptor: (665 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x95, 0x06, 0x81, 0x01, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x02, 0x81, 0x06, 0xc0, 0xc0, 0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x03, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x47, 0xff, 0xff, 0x00, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x09, 0x56, 0x81, 0x02, 0x09, 0x54, 0x25, 0x7f, 0x95, 0x01, 0x75, 0x08, 0x81, 0x02, 0x05, 0x09, 0x09, 0x01, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x95, 0x07, 0x81, 0x03, 0x05, 0x0d, 0x85, 0x08, 0x09, 0x55, 0x09, 0x59, 0x75, 0x04, 0x95, 0x02, 0x25, 0x0f, 0xb1, 0x02, 0x85, 0x0d, 0x09, 0x60, 0x75, 0x01, 0x95, 0x01, 0x15, 0x00, 0x25, 0x01, 0xb1, 0x02, 0x95, 0x07, 0xb1, 0x03, 0x85, 0x07, 0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x22, 0xa1, 0x02, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1, 0x00, 0x85, 0x06, 0x09, 0x57, 0x09, 0x58, 0x75, 0x01, 0x95, 0x02, 0x25, 0x01, 0xb1, 0x02, 0x95, 0x06, 0xb1, 0x03, 0xc0, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 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, 0x0b, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x3d, 0x81, 0x02, 0x85, 0x0c, 0x09, 0x05, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x3d, 0x81, 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: 06cb cd40 path: /dev/hidraw1 serial_number: Manufacturer: Product: SYNA7DAB:01 06CB:CD40 Release: 0 Interface: -1 Usage (page): 0x5 (0xd) Bus type: 3 (I2C) Report Descriptor: (665 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x95, 0x06, 0x81, 0x01, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x02, 0x81, 0x06, 0xc0, 0xc0, 0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x03, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x47, 0xff, 0xff, 0x00, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x09, 0x56, 0x81, 0x02, 0x09, 0x54, 0x25, 0x7f, 0x95, 0x01, 0x75, 0x08, 0x81, 0x02, 0x05, 0x09, 0x09, 0x01, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x95, 0x07, 0x81, 0x03, 0x05, 0x0d, 0x85, 0x08, 0x09, 0x55, 0x09, 0x59, 0x75, 0x04, 0x95, 0x02, 0x25, 0x0f, 0xb1, 0x02, 0x85, 0x0d, 0x09, 0x60, 0x75, 0x01, 0x95, 0x01, 0x15, 0x00, 0x25, 0x01, 0xb1, 0x02, 0x95, 0x07, 0xb1, 0x03, 0x85, 0x07, 0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x22, 0xa1, 0x02, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1, 0x00, 0x85, 0x06, 0x09, 0x57, 0x09, 0x58, 0x75, 0x01, 0x95, 0x02, 0x25, 0x01, 0xb1, 0x02, 0x95, 0x06, 0xb1, 0x03, 0xc0, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 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, 0x0b, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x3d, 0x81, 0x02, 0x85, 0x0c, 0x09, 0x05, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x3d, 0x81, 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: 06cb cd40 path: /dev/hidraw1 serial_number: Manufacturer: Product: SYNA7DAB:01 06CB:CD40 Release: 0 Interface: -1 Usage (page): 0xe (0xd) Bus type: 3 (I2C) Report Descriptor: (665 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x95, 0x06, 0x81, 0x01, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x02, 0x81, 0x06, 0xc0, 0xc0, 0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x03, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x47, 0xff, 0xff, 0x00, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x09, 0x56, 0x81, 0x02, 0x09, 0x54, 0x25, 0x7f, 0x95, 0x01, 0x75, 0x08, 0x81, 0x02, 0x05, 0x09, 0x09, 0x01, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x95, 0x07, 0x81, 0x03, 0x05, 0x0d, 0x85, 0x08, 0x09, 0x55, 0x09, 0x59, 0x75, 0x04, 0x95, 0x02, 0x25, 0x0f, 0xb1, 0x02, 0x85, 0x0d, 0x09, 0x60, 0x75, 0x01, 0x95, 0x01, 0x15, 0x00, 0x25, 0x01, 0xb1, 0x02, 0x95, 0x07, 0xb1, 0x03, 0x85, 0x07, 0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x22, 0xa1, 0x02, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1, 0x00, 0x85, 0x06, 0x09, 0x57, 0x09, 0x58, 0x75, 0x01, 0x95, 0x02, 0x25, 0x01, 0xb1, 0x02, 0x95, 0x06, 0xb1, 0x03, 0xc0, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 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, 0x0b, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x3d, 0x81, 0x02, 0x85, 0x0c, 0x09, 0x05, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x3d, 0x81, 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: 06cb cd40 path: /dev/hidraw1 serial_number: Manufacturer: Product: SYNA7DAB:01 06CB:CD40 Release: 0 Interface: -1 Usage (page): 0x1 (0xff00) Bus type: 3 (I2C) Report Descriptor: (665 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x95, 0x06, 0x81, 0x01, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x02, 0x81, 0x06, 0xc0, 0xc0, 0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x03, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x47, 0xff, 0xff, 0x00, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x09, 0x56, 0x81, 0x02, 0x09, 0x54, 0x25, 0x7f, 0x95, 0x01, 0x75, 0x08, 0x81, 0x02, 0x05, 0x09, 0x09, 0x01, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x95, 0x07, 0x81, 0x03, 0x05, 0x0d, 0x85, 0x08, 0x09, 0x55, 0x09, 0x59, 0x75, 0x04, 0x95, 0x02, 0x25, 0x0f, 0xb1, 0x02, 0x85, 0x0d, 0x09, 0x60, 0x75, 0x01, 0x95, 0x01, 0x15, 0x00, 0x25, 0x01, 0xb1, 0x02, 0x95, 0x07, 0xb1, 0x03, 0x85, 0x07, 0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x22, 0xa1, 0x02, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1, 0x00, 0x85, 0x06, 0x09, 0x57, 0x09, 0x58, 0x75, 0x01, 0x95, 0x02, 0x25, 0x01, 0xb1, 0x02, 0x95, 0x06, 0xb1, 0x03, 0xc0, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 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, 0x0b, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x3d, 0x81, 0x02, 0x85, 0x0c, 0x09, 0x05, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x3d, 0x81, 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, Handle 1: New device is connected: /dev/hidraw2. 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: /dev/hidraw2. 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: /dev/hidraw0. type: 1ea7 0064 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x1 (0xffb5) Handle 1: Device was disconnected: /dev/hidraw0. type: 1ea7 0064 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x2 (0x1) Handle 1: New device is connected: /dev/hidraw0. type: 1ea7 0064 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x1 (0xffb5) Handle 1: New device is connected: /dev/hidraw0. type: 1ea7 0064 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x2 (0x1) Handle 1: New device is connected: /dev/hidraw2. 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: /dev/hidraw2. 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: /dev/hidraw2. type: 047f c056 serial_number: BB305534D79EBD418B6757528EAC0C19 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x3 (0xffa0) Handle 1: Device was disconnected: /dev/hidraw2. 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: /dev/hidraw2. 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: /dev/hidraw2. type: 047f c056 serial_number: BB305534D79EBD418B6757528EAC0C19 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x3 (0xffa0) ^C 

@k1-801k1-801force-pushed the connection-callback-udev branch from fc3491c to 7830967CompareMarch 11, 2024 14:17
@mcuee
Copy link
Member

Test of latest commit under Ubuntu Linux 20.04

  1. Unplug and plug of Logitech USB receiver

  2. Plug and unplug of Plantronics Headset

Details
mcuee@UbuntuSwift3 ~/build/hid/hidapi_hotplug_hidraw (connection-callback-udev)$ sudo ./hidtest/hidtest-hidraw 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 c534 path: /dev/hidraw1 serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 0 Usage (page): 0x6 (0x1) Bus type: 1 (USB) Report Descriptor: (59 bytes) 0x05, 0x01, 0x09, 0x06, 0xa1, 0x01, 0x05, 0x07, 0x19, 0xe0, 0x29, 0xe7, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x08, 0x81, 0x02, 0x81, 0x03, 0x95, 0x05, 0x05, 0x08, 0x19, 0x01, 0x29, 0x05, 0x91, 0x02, 0x95, 0x01, 0x75, 0x03, 0x91, 0x01, 0x95, 0x06, 0x75, 0x08, 0x15, 0x00, 0x26, 0xa4, 0x00, 0x05, 0x07, 0x19, 0x00, 0x2a, 0xa4, 0x00, 0x81, 0x00, 0xc0, Device Found type: 046d 4054 path: /dev/hidraw4 serial_number: 00-00-00-00 Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0x1) Bus type: 1 (USB) Report Descriptor: (167 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, 0x01, 0x95, 0x10, 0x75, 0x01, 0x81, 0x02, 0x05, 0x01, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07, 0x75, 0x0c, 0x95, 0x02, 0x09, 0x30, 0x09, 0x31, 0x81, 0x06, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x09, 0x38, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x75, 0x08, 0x95, 0x06, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x01, 0x81, 0x00, 0x09, 0x01, 0x91, 0x00, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x75, 0x08, 0x95, 0x13, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x02, 0x81, 0x00, 0x09, 0x02, 0x91, 0x00, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x04, 0xa1, 0x01, 0x85, 0x20, 0x75, 0x08, 0x95, 0x0e, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x41, 0x81, 0x00, 0x09, 0x41, 0x91, 0x00, 0x85, 0x21, 0x95, 0x1f, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x42, 0x81, 0x00, 0x09, 0x42, 0x91, 0x00, 0xc0, Device Found type: 046d 4054 path: /dev/hidraw4 serial_number: 00-00-00-00 Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xff00) Bus type: 1 (USB) Report Descriptor: (167 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, 0x01, 0x95, 0x10, 0x75, 0x01, 0x81, 0x02, 0x05, 0x01, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07, 0x75, 0x0c, 0x95, 0x02, 0x09, 0x30, 0x09, 0x31, 0x81, 0x06, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x09, 0x38, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x75, 0x08, 0x95, 0x06, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x01, 0x81, 0x00, 0x09, 0x01, 0x91, 0x00, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x75, 0x08, 0x95, 0x13, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x02, 0x81, 0x00, 0x09, 0x02, 0x91, 0x00, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x04, 0xa1, 0x01, 0x85, 0x20, 0x75, 0x08, 0x95, 0x0e, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x41, 0x81, 0x00, 0x09, 0x41, 0x91, 0x00, 0x85, 0x21, 0x95, 0x1f, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x42, 0x81, 0x00, 0x09, 0x42, 0x91, 0x00, 0xc0, Device Found type: 046d 4054 path: /dev/hidraw4 serial_number: 00-00-00-00 Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0xff00) Bus type: 1 (USB) Report Descriptor: (167 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, 0x01, 0x95, 0x10, 0x75, 0x01, 0x81, 0x02, 0x05, 0x01, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07, 0x75, 0x0c, 0x95, 0x02, 0x09, 0x30, 0x09, 0x31, 0x81, 0x06, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x09, 0x38, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x75, 0x08, 0x95, 0x06, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x01, 0x81, 0x00, 0x09, 0x01, 0x91, 0x00, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x75, 0x08, 0x95, 0x13, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x02, 0x81, 0x00, 0x09, 0x02, 0x91, 0x00, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x04, 0xa1, 0x01, 0x85, 0x20, 0x75, 0x08, 0x95, 0x0e, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x41, 0x81, 0x00, 0x09, 0x41, 0x91, 0x00, 0x85, 0x21, 0x95, 0x1f, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x42, 0x81, 0x00, 0x09, 0x42, 0x91, 0x00, 0xc0, Device Found type: 046d 4054 path: /dev/hidraw4 serial_number: 00-00-00-00 Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x4 (0xff00) Bus type: 1 (USB) Report Descriptor: (167 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, 0x01, 0x95, 0x10, 0x75, 0x01, 0x81, 0x02, 0x05, 0x01, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07, 0x75, 0x0c, 0x95, 0x02, 0x09, 0x30, 0x09, 0x31, 0x81, 0x06, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x09, 0x38, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x75, 0x08, 0x95, 0x06, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x01, 0x81, 0x00, 0x09, 0x01, 0x91, 0x00, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x75, 0x08, 0x95, 0x13, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x02, 0x81, 0x00, 0x09, 0x02, 0x91, 0x00, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x04, 0xa1, 0x01, 0x85, 0x20, 0x75, 0x08, 0x95, 0x0e, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x41, 0x81, 0x00, 0x09, 0x41, 0x91, 0x00, 0x85, 0x21, 0x95, 0x1f, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x42, 0x81, 0x00, 0x09, 0x42, 0x91, 0x00, 0xc0, Device Found type: 046d c534 path: /dev/hidraw2 serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0x1) Bus type: 1 (USB) Report Descriptor: (177 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, 0x01, 0x95, 0x10, 0x75, 0x01, 0x81, 0x02, 0x05, 0x01, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07, 0x75, 0x0c, 0x95, 0x02, 0x09, 0x30, 0x09, 0x31, 0x81, 0x06, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x09, 0x38, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x75, 0x10, 0x95, 0x02, 0x15, 0x01, 0x26, 0x8c, 0x02, 0x19, 0x01, 0x2a, 0x8c, 0x02, 0x81, 0x00, 0xc0, 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x75, 0x02, 0x95, 0x01, 0x15, 0x01, 0x25, 0x03, 0x09, 0x82, 0x09, 0x81, 0x09, 0x83, 0x81, 0x60, 0x75, 0x06, 0x81, 0x03, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x75, 0x08, 0x95, 0x06, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x01, 0x81, 0x00, 0x09, 0x01, 0x91, 0x00, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x75, 0x08, 0x95, 0x13, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x02, 0x81, 0x00, 0x09, 0x02, 0x91, 0x00, 0xc0, Device Found type: 046d c534 path: /dev/hidraw2 serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xc) Bus type: 1 (USB) Report Descriptor: (177 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, 0x01, 0x95, 0x10, 0x75, 0x01, 0x81, 0x02, 0x05, 0x01, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07, 0x75, 0x0c, 0x95, 0x02, 0x09, 0x30, 0x09, 0x31, 0x81, 0x06, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x09, 0x38, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x75, 0x10, 0x95, 0x02, 0x15, 0x01, 0x26, 0x8c, 0x02, 0x19, 0x01, 0x2a, 0x8c, 0x02, 0x81, 0x00, 0xc0, 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x75, 0x02, 0x95, 0x01, 0x15, 0x01, 0x25, 0x03, 0x09, 0x82, 0x09, 0x81, 0x09, 0x83, 0x81, 0x60, 0x75, 0x06, 0x81, 0x03, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x75, 0x08, 0x95, 0x06, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x01, 0x81, 0x00, 0x09, 0x01, 0x91, 0x00, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x75, 0x08, 0x95, 0x13, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x02, 0x81, 0x00, 0x09, 0x02, 0x91, 0x00, 0xc0, Device Found type: 046d c534 path: /dev/hidraw2 serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x80 (0x1) Bus type: 1 (USB) Report Descriptor: (177 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, 0x01, 0x95, 0x10, 0x75, 0x01, 0x81, 0x02, 0x05, 0x01, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07, 0x75, 0x0c, 0x95, 0x02, 0x09, 0x30, 0x09, 0x31, 0x81, 0x06, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x09, 0x38, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x75, 0x10, 0x95, 0x02, 0x15, 0x01, 0x26, 0x8c, 0x02, 0x19, 0x01, 0x2a, 0x8c, 0x02, 0x81, 0x00, 0xc0, 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x75, 0x02, 0x95, 0x01, 0x15, 0x01, 0x25, 0x03, 0x09, 0x82, 0x09, 0x81, 0x09, 0x83, 0x81, 0x60, 0x75, 0x06, 0x81, 0x03, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x75, 0x08, 0x95, 0x06, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x01, 0x81, 0x00, 0x09, 0x01, 0x91, 0x00, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x75, 0x08, 0x95, 0x13, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x02, 0x81, 0x00, 0x09, 0x02, 0x91, 0x00, 0xc0, Device Found type: 046d c534 path: /dev/hidraw2 serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xff00) Bus type: 1 (USB) Report Descriptor: (177 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, 0x01, 0x95, 0x10, 0x75, 0x01, 0x81, 0x02, 0x05, 0x01, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07, 0x75, 0x0c, 0x95, 0x02, 0x09, 0x30, 0x09, 0x31, 0x81, 0x06, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x09, 0x38, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x75, 0x10, 0x95, 0x02, 0x15, 0x01, 0x26, 0x8c, 0x02, 0x19, 0x01, 0x2a, 0x8c, 0x02, 0x81, 0x00, 0xc0, 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x75, 0x02, 0x95, 0x01, 0x15, 0x01, 0x25, 0x03, 0x09, 0x82, 0x09, 0x81, 0x09, 0x83, 0x81, 0x60, 0x75, 0x06, 0x81, 0x03, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x75, 0x08, 0x95, 0x06, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x01, 0x81, 0x00, 0x09, 0x01, 0x91, 0x00, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x75, 0x08, 0x95, 0x13, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x02, 0x81, 0x00, 0x09, 0x02, 0x91, 0x00, 0xc0, Device Found type: 046d c534 path: /dev/hidraw2 serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0xff00) Bus type: 1 (USB) Report Descriptor: (177 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x10, 0x15, 0x00, 0x25, 0x01, 0x95, 0x10, 0x75, 0x01, 0x81, 0x02, 0x05, 0x01, 0x16, 0x01, 0xf8, 0x26, 0xff, 0x07, 0x75, 0x0c, 0x95, 0x02, 0x09, 0x30, 0x09, 0x31, 0x81, 0x06, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x01, 0x09, 0x38, 0x81, 0x06, 0x05, 0x0c, 0x0a, 0x38, 0x02, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, 0x05, 0x0c, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x03, 0x75, 0x10, 0x95, 0x02, 0x15, 0x01, 0x26, 0x8c, 0x02, 0x19, 0x01, 0x2a, 0x8c, 0x02, 0x81, 0x00, 0xc0, 0x05, 0x01, 0x09, 0x80, 0xa1, 0x01, 0x85, 0x04, 0x75, 0x02, 0x95, 0x01, 0x15, 0x01, 0x25, 0x03, 0x09, 0x82, 0x09, 0x81, 0x09, 0x83, 0x81, 0x60, 0x75, 0x06, 0x81, 0x03, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 0x85, 0x10, 0x75, 0x08, 0x95, 0x06, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x01, 0x81, 0x00, 0x09, 0x01, 0x91, 0x00, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x11, 0x75, 0x08, 0x95, 0x13, 0x15, 0x00, 0x26, 0xff, 0x00, 0x09, 0x02, 0x81, 0x00, 0x09, 0x02, 0x91, 0x00, 0xc0, Device Found type: 1ea7 0064 path: /dev/hidraw3 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x1 (0xffb5) Bus type: 1 (USB) Report Descriptor: (105 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, 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x08, 0x15, 0x00, 0x25, 0x01, 0x95, 0x08, 0x75, 0x01, 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, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 1ea7 0064 path: /dev/hidraw3 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x2 (0x1) Bus type: 1 (USB) Report Descriptor: (105 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, 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x08, 0x15, 0x00, 0x25, 0x01, 0x95, 0x08, 0x75, 0x01, 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, 0x95, 0x01, 0x81, 0x06, 0xc0, 0xc0, Device Found type: 06cb cd40 path: /dev/hidraw0 serial_number: Manufacturer: Product: SYNA7DAB:01 06CB:CD40 Release: 0 Interface: -1 Usage (page): 0x2 (0x1) Bus type: 3 (I2C) Report Descriptor: (665 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x95, 0x06, 0x81, 0x01, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x02, 0x81, 0x06, 0xc0, 0xc0, 0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x03, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x47, 0xff, 0xff, 0x00, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x09, 0x56, 0x81, 0x02, 0x09, 0x54, 0x25, 0x7f, 0x95, 0x01, 0x75, 0x08, 0x81, 0x02, 0x05, 0x09, 0x09, 0x01, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x95, 0x07, 0x81, 0x03, 0x05, 0x0d, 0x85, 0x08, 0x09, 0x55, 0x09, 0x59, 0x75, 0x04, 0x95, 0x02, 0x25, 0x0f, 0xb1, 0x02, 0x85, 0x0d, 0x09, 0x60, 0x75, 0x01, 0x95, 0x01, 0x15, 0x00, 0x25, 0x01, 0xb1, 0x02, 0x95, 0x07, 0xb1, 0x03, 0x85, 0x07, 0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x22, 0xa1, 0x02, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1, 0x00, 0x85, 0x06, 0x09, 0x57, 0x09, 0x58, 0x75, 0x01, 0x95, 0x02, 0x25, 0x01, 0xb1, 0x02, 0x95, 0x06, 0xb1, 0x03, 0xc0, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 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, 0x0b, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x3d, 0x81, 0x02, 0x85, 0x0c, 0x09, 0x05, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x3d, 0x81, 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: 06cb cd40 path: /dev/hidraw0 serial_number: Manufacturer: Product: SYNA7DAB:01 06CB:CD40 Release: 0 Interface: -1 Usage (page): 0x5 (0xd) Bus type: 3 (I2C) Report Descriptor: (665 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x95, 0x06, 0x81, 0x01, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x02, 0x81, 0x06, 0xc0, 0xc0, 0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x03, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x47, 0xff, 0xff, 0x00, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x09, 0x56, 0x81, 0x02, 0x09, 0x54, 0x25, 0x7f, 0x95, 0x01, 0x75, 0x08, 0x81, 0x02, 0x05, 0x09, 0x09, 0x01, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x95, 0x07, 0x81, 0x03, 0x05, 0x0d, 0x85, 0x08, 0x09, 0x55, 0x09, 0x59, 0x75, 0x04, 0x95, 0x02, 0x25, 0x0f, 0xb1, 0x02, 0x85, 0x0d, 0x09, 0x60, 0x75, 0x01, 0x95, 0x01, 0x15, 0x00, 0x25, 0x01, 0xb1, 0x02, 0x95, 0x07, 0xb1, 0x03, 0x85, 0x07, 0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x22, 0xa1, 0x02, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1, 0x00, 0x85, 0x06, 0x09, 0x57, 0x09, 0x58, 0x75, 0x01, 0x95, 0x02, 0x25, 0x01, 0xb1, 0x02, 0x95, 0x06, 0xb1, 0x03, 0xc0, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 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, 0x0b, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x3d, 0x81, 0x02, 0x85, 0x0c, 0x09, 0x05, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x3d, 0x81, 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: 06cb cd40 path: /dev/hidraw0 serial_number: Manufacturer: Product: SYNA7DAB:01 06CB:CD40 Release: 0 Interface: -1 Usage (page): 0xe (0xd) Bus type: 3 (I2C) Report Descriptor: (665 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x95, 0x06, 0x81, 0x01, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x02, 0x81, 0x06, 0xc0, 0xc0, 0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x03, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x47, 0xff, 0xff, 0x00, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x09, 0x56, 0x81, 0x02, 0x09, 0x54, 0x25, 0x7f, 0x95, 0x01, 0x75, 0x08, 0x81, 0x02, 0x05, 0x09, 0x09, 0x01, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x95, 0x07, 0x81, 0x03, 0x05, 0x0d, 0x85, 0x08, 0x09, 0x55, 0x09, 0x59, 0x75, 0x04, 0x95, 0x02, 0x25, 0x0f, 0xb1, 0x02, 0x85, 0x0d, 0x09, 0x60, 0x75, 0x01, 0x95, 0x01, 0x15, 0x00, 0x25, 0x01, 0xb1, 0x02, 0x95, 0x07, 0xb1, 0x03, 0x85, 0x07, 0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x22, 0xa1, 0x02, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1, 0x00, 0x85, 0x06, 0x09, 0x57, 0x09, 0x58, 0x75, 0x01, 0x95, 0x02, 0x25, 0x01, 0xb1, 0x02, 0x95, 0x06, 0xb1, 0x03, 0xc0, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 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, 0x0b, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x3d, 0x81, 0x02, 0x85, 0x0c, 0x09, 0x05, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x3d, 0x81, 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: 06cb cd40 path: /dev/hidraw0 serial_number: Manufacturer: Product: SYNA7DAB:01 06CB:CD40 Release: 0 Interface: -1 Usage (page): 0x1 (0xff00) Bus type: 3 (I2C) Report Descriptor: (665 bytes) 0x05, 0x01, 0x09, 0x02, 0xa1, 0x01, 0x85, 0x02, 0x09, 0x01, 0xa1, 0x00, 0x05, 0x09, 0x19, 0x01, 0x29, 0x02, 0x15, 0x00, 0x25, 0x01, 0x75, 0x01, 0x95, 0x02, 0x81, 0x02, 0x95, 0x06, 0x81, 0x01, 0x05, 0x01, 0x09, 0x30, 0x09, 0x31, 0x15, 0x81, 0x25, 0x7f, 0x75, 0x08, 0x95, 0x02, 0x81, 0x06, 0xc0, 0xc0, 0x05, 0x0d, 0x09, 0x05, 0xa1, 0x01, 0x85, 0x03, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x22, 0xa1, 0x02, 0x15, 0x00, 0x25, 0x01, 0x09, 0x47, 0x09, 0x42, 0x95, 0x02, 0x75, 0x01, 0x81, 0x02, 0x95, 0x01, 0x75, 0x03, 0x25, 0x05, 0x09, 0x51, 0x81, 0x02, 0x75, 0x01, 0x95, 0x03, 0x81, 0x03, 0x05, 0x01, 0x15, 0x00, 0x26, 0xc8, 0x04, 0x75, 0x10, 0x55, 0x0e, 0x65, 0x11, 0x09, 0x30, 0x35, 0x00, 0x46, 0xfc, 0x03, 0x95, 0x01, 0x81, 0x02, 0x46, 0x6c, 0x02, 0x26, 0xe8, 0x02, 0x09, 0x31, 0x81, 0x02, 0xc0, 0x05, 0x0d, 0x55, 0x0c, 0x66, 0x01, 0x10, 0x47, 0xff, 0xff, 0x00, 0x00, 0x27, 0xff, 0xff, 0x00, 0x00, 0x75, 0x10, 0x95, 0x01, 0x09, 0x56, 0x81, 0x02, 0x09, 0x54, 0x25, 0x7f, 0x95, 0x01, 0x75, 0x08, 0x81, 0x02, 0x05, 0x09, 0x09, 0x01, 0x25, 0x01, 0x75, 0x01, 0x95, 0x01, 0x81, 0x02, 0x95, 0x07, 0x81, 0x03, 0x05, 0x0d, 0x85, 0x08, 0x09, 0x55, 0x09, 0x59, 0x75, 0x04, 0x95, 0x02, 0x25, 0x0f, 0xb1, 0x02, 0x85, 0x0d, 0x09, 0x60, 0x75, 0x01, 0x95, 0x01, 0x15, 0x00, 0x25, 0x01, 0xb1, 0x02, 0x95, 0x07, 0xb1, 0x03, 0x85, 0x07, 0x06, 0x00, 0xff, 0x09, 0xc5, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x96, 0x00, 0x01, 0xb1, 0x02, 0xc0, 0x05, 0x0d, 0x09, 0x0e, 0xa1, 0x01, 0x85, 0x04, 0x09, 0x22, 0xa1, 0x02, 0x09, 0x52, 0x15, 0x00, 0x25, 0x0a, 0x75, 0x08, 0x95, 0x01, 0xb1, 0x02, 0xc0, 0x09, 0x22, 0xa1, 0x00, 0x85, 0x06, 0x09, 0x57, 0x09, 0x58, 0x75, 0x01, 0x95, 0x02, 0x25, 0x01, 0xb1, 0x02, 0x95, 0x06, 0xb1, 0x03, 0xc0, 0xc0, 0x06, 0x00, 0xff, 0x09, 0x01, 0xa1, 0x01, 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, 0x0b, 0x09, 0x04, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x3d, 0x81, 0x02, 0x85, 0x0c, 0x09, 0x05, 0x15, 0x00, 0x26, 0xff, 0x00, 0x75, 0x08, 0x95, 0x3d, 0x81, 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, Handle 1: Device was disconnected: /dev/hidraw1. type: 046d c534 serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 0 Usage (page): 0x6 (0x1) Handle 1: Device was disconnected: /dev/hidraw4. type: 046d 4054 serial_number: 00-00-00-00 Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0x1) Handle 1: Device was disconnected: /dev/hidraw4. type: 046d 4054 serial_number: 00-00-00-00 Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xff00) Handle 1: Device was disconnected: /dev/hidraw4. type: 046d 4054 serial_number: 00-00-00-00 Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0xff00) Handle 1: Device was disconnected: /dev/hidraw4. type: 046d 4054 serial_number: 00-00-00-00 Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x4 (0xff00) Handle 1: Device was disconnected: /dev/hidraw2. type: 046d c534 serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0x1) Handle 1: Device was disconnected: /dev/hidraw2. type: 046d c534 serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xc) Handle 1: Device was disconnected: /dev/hidraw2. type: 046d c534 serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x80 (0x1) Handle 1: Device was disconnected: /dev/hidraw2. type: 046d c534 serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xff00) Handle 1: Device was disconnected: /dev/hidraw2. type: 046d c534 serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0xff00) Handle 1: New device is connected: /dev/hidraw1. type: 046d c534 serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 0 Usage (page): 0x6 (0x1) Handle 1: New device is connected: /dev/hidraw2. type: 046d c534 serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0x1) Handle 1: New device is connected: /dev/hidraw2. type: 046d c534 serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xc) Handle 1: New device is connected: /dev/hidraw2. type: 046d c534 serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x80 (0x1) Handle 1: New device is connected: /dev/hidraw2. type: 046d c534 serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xff00) Handle 1: New device is connected: /dev/hidraw2. type: 046d c534 serial_number: Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0xff00) Handle 1: New device is connected: /dev/hidraw4. type: 046d 4054 serial_number: 00-00-00-00 Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0x1) Handle 1: New device is connected: /dev/hidraw4. type: 046d 4054 serial_number: 00-00-00-00 Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x1 (0xff00) Handle 1: New device is connected: /dev/hidraw4. type: 046d 4054 serial_number: 00-00-00-00 Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x2 (0xff00) Handle 1: New device is connected: /dev/hidraw4. type: 046d 4054 serial_number: 00-00-00-00 Manufacturer: Logitech Product: USB Receiver Release: 2901 Interface: 1 Usage (page): 0x4 (0xff00) Handle 1: New device is connected: /dev/hidraw5. 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: /dev/hidraw5. type: 047f c056 serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x5 (0xb) Handle 1: New device is connected: /dev/hidraw5. type: 047f c056 serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x3 (0xffa0) Handle 1: Device was disconnected: /dev/hidraw5. 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: /dev/hidraw5. 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: /dev/hidraw5. type: 047f c056 serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x3 (0xffa0) ^C 

@k1-801
Copy link
Author

Noticed a very minor issue with this PR - the code lacks a pthread_join in hotlplug_cleanup. Might cause some weird behaviour in a very narrow case when all callbacks are deleted and then a new one is installed immediately and the background thread didn't have enough time to stop. Going to fix in a moment.

@k1-801
Copy link
Author

Fixed the cleanup procedure. Doesn't affect how the events themselves work.

@mcuee
Copy link
Member

Last git commit is still working fine. Thanks.

Tested under Ubuntu Linux 20.04.

Unplug and plug of Platronics USB headset
Unplug and plug of a USB mouse receiver
Unplug and plug of another USB mouse receiver

Details
mcuee@UbuntuSwift3 ~/build/hid/hidapi_hotplug_hidraw (connection-callback-udev)$ ./hidtest/hidtest-hidraw 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: 1ea7 0066 path: /dev/hidraw1 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x6 (0x1) Bus type: 1 (USB) Report Descriptor: Unable to open device by path Device Found type: 1ea7 0066 path: /dev/hidraw2 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x1 (0xffb5) Bus type: 1 (USB) Report Descriptor: Unable to open device by path Device Found type: 1ea7 0066 path: /dev/hidraw2 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x2 (0x1) Bus type: 1 (USB) Report Descriptor: Unable to open device by path Device Found type: 1ea7 0066 path: /dev/hidraw2 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x1 (0xc) Bus type: 1 (USB) Report Descriptor: Unable to open device by path Device Found type: 1ea7 0066 path: /dev/hidraw2 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x80 (0x1) Bus type: 1 (USB) Report Descriptor: Unable to open device by path Device Found type: 1ea7 0066 path: /dev/hidraw2 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x88 (0xffbc) Bus type: 1 (USB) Report Descriptor: Unable to open device by path Device Found type: 047f c056 path: /dev/hidraw4 serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x1 (0xc) Bus type: 1 (USB) Report Descriptor: Unable to open device by path Device Found type: 047f c056 path: /dev/hidraw4 serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x5 (0xb) Bus type: 1 (USB) Report Descriptor: Unable to open device by path Device Found type: 047f c056 path: /dev/hidraw4 serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x3 (0xffa0) Bus type: 1 (USB) Report Descriptor: Unable to open device by path Device Found type: 1ea7 0064 path: /dev/hidraw3 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x1 (0xffb5) Bus type: 1 (USB) Report Descriptor: Unable to open device by path Device Found type: 1ea7 0064 path: /dev/hidraw3 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x2 (0x1) Bus type: 1 (USB) Report Descriptor: Unable to open device by path Device Found type: 06cb cd40 path: /dev/hidraw0 serial_number: Manufacturer: Product: SYNA7DAB:01 06CB:CD40 Release: 0 Interface: -1 Usage (page): 0x2 (0x1) Bus type: 3 (I2C) Report Descriptor: Unable to open device by path Device Found type: 06cb cd40 path: /dev/hidraw0 serial_number: Manufacturer: Product: SYNA7DAB:01 06CB:CD40 Release: 0 Interface: -1 Usage (page): 0x5 (0xd) Bus type: 3 (I2C) Report Descriptor: Unable to open device by path Device Found type: 06cb cd40 path: /dev/hidraw0 serial_number: Manufacturer: Product: SYNA7DAB:01 06CB:CD40 Release: 0 Interface: -1 Usage (page): 0xe (0xd) Bus type: 3 (I2C) Report Descriptor: Unable to open device by path Device Found type: 06cb cd40 path: /dev/hidraw0 serial_number: Manufacturer: Product: SYNA7DAB:01 06CB:CD40 Release: 0 Interface: -1 Usage (page): 0x1 (0xff00) Bus type: 3 (I2C) Report Descriptor: Unable to open device by path Handle 1: Device was disconnected: /dev/hidraw4. 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: /dev/hidraw4. 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: /dev/hidraw4. 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: /dev/hidraw4. 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: /dev/hidraw4. type: 047f c056 serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x5 (0xb) Handle 1: New device is connected: /dev/hidraw4. type: 047f c056 serial_number: D1CEC32927974D5F9BD6B2AEBF2EA8E3 Manufacturer: Plantronics Product: Plantronics Blackwire 3220 Series Release: 210 Interface: 3 Usage (page): 0x3 (0xffa0) Handle 1: Device was disconnected: /dev/hidraw3. type: 1ea7 0064 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x1 (0xffb5) Handle 1: Device was disconnected: /dev/hidraw3. type: 1ea7 0064 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x2 (0x1) Handle 1: New device is connected: /dev/hidraw3. type: 1ea7 0064 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x1 (0xffb5) Handle 1: New device is connected: /dev/hidraw3. type: 1ea7 0064 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x2 (0x1) Handle 1: Device was disconnected: /dev/hidraw1. type: 1ea7 0066 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x6 (0x1) Handle 1: Device was disconnected: /dev/hidraw2. type: 1ea7 0066 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x1 (0xffb5) Handle 1: Device was disconnected: /dev/hidraw2. type: 1ea7 0066 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x2 (0x1) Handle 1: Device was disconnected: /dev/hidraw2. type: 1ea7 0066 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x1 (0xc) Handle 1: Device was disconnected: /dev/hidraw2. type: 1ea7 0066 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x80 (0x1) Handle 1: Device was disconnected: /dev/hidraw2. type: 1ea7 0066 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x88 (0xffbc) Handle 1: New device is connected: /dev/hidraw2. type: 1ea7 0066 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x1 (0xffb5) Handle 1: New device is connected: /dev/hidraw2. type: 1ea7 0066 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x2 (0x1) Handle 1: New device is connected: /dev/hidraw2. type: 1ea7 0066 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x1 (0xc) Handle 1: New device is connected: /dev/hidraw2. type: 1ea7 0066 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x80 (0x1) Handle 1: New device is connected: /dev/hidraw2. type: 1ea7 0066 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 1 Usage (page): 0x88 (0xffbc) Handle 1: New device is connected: /dev/hidraw1. type: 1ea7 0066 serial_number: Manufacturer: (null) Product: 2.4G Mouse Release: 200 Interface: 0 Usage (page): 0x6 (0x1) Handle 1: New device is connected: /dev/hidraw5. 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: /dev/hidraw5. type: 16c0 05dc serial_number: 0001 Manufacturer: www.fischl.de Product: USBasp Release: 110 Interface: 1 Usage (page): 0x1 (0xff00) ^C 

@k1-801k1-801 changed the title RFC: Linux Hotplug: Connection-callback implementation for hidraw[Awaiting review] Linux Hotplug: Connection-callback implementation for hidrawMar 13, 2024
@k1-801k1-801 changed the title [Awaiting review] Linux Hotplug: Connection-callback implementation for hidrawLinux Hotplug: Connection-callback implementation for hidrawMar 13, 2024
Youw
Youw approved these changes Apr 6, 2024
Copy link
Member

@YouwYouw left a comment

Choose a reason for hiding this comment

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

Same deal as with #645 - getting it merged into a feature branch now.

@YouwYouw merged commit 4537833 into libusb:connection-callbackApr 6, 2024
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancementNew feature or requesthidrawRelated to Linux/hidraw backend

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@k1-801@mcuee@Youw