hidapi icon indicating copy to clipboard operation
hidapi copied to clipboard

Physical device ID for Linux/hidraw

Open JoergAtGithub opened this issue 3 years ago • 1 comments

With hid_darwin_get_location_id (#378) and hid_winapi_get_container_id(#379) we have physical device identifiers for Windows and MacOS, but not for Linux. The Chromium HID implementation uses the same identifiers for Windows and MacOS, but has also an implementation for hidraw. They use the sysfs path of the device node that represents the physical device as physical identifier. They implemented a recursive search to gather this information: https://chromium.googlesource.com/chromium/src/+/refs/changes/62/3314562/3/services/device/hid/hid_service_linux.cc#138

JoergAtGithub avatar May 18 '22 17:05 JoergAtGithub

  • hidraw: once we have hid_get_path I believe it is enough to identify the physysical device, since paths like /dev/hidraw* are easily mapped to /sys/class/hidraw/hidraw*; that information should be more than enough for the application to get what it needs;
  • libusb: having hid_get_path we may say the very similar thing, as the path we generate (https://github.com/libusb/hidapi/pull/291) is the same as in /sys/bus/usb/devices/

Youw avatar May 18 '22 17:05 Youw

Resolved by #432

Youw avatar Aug 21 '22 21:08 Youw