-
Notifications
You must be signed in to change notification settings - Fork 5.3k
HID: usbhid: Insert USB bus/device ID into HID name #7061
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
Conversation
Nit: trailing comma in the commit message. Otherwise, lgtm. |
libinput/wlroots/Wayfire/labwc match input device by the device name only. If you add 2 identical USB connected touch devices, you can't select between them. Add the usb bus&device name to the start of the name so that the names end up being unique. Signed-off-by: Dave Stevenson <[email protected]>
a8d63bd
to
18da0e8
Compare
Fixed. |
Please don't fiddle around with the name, this breaks name-based udev/hwdb matches and likely other programs, too. Connect eg a Logitech M100 mouse and observe that the MOUSE_DPI= setting will be missing in udevadm info output with plain 6.12.48 RPi kernel:
udevadm info output with this PR:
If you have issues with labwc please fix it there. |
Are you saying that, with the unmodified kernel, labwc already has enough information to be able to distinguish between multiple instances of identical USB devices? |
I'm not familiar with labwc but all the needed seems to be available from udev. Looking at
Making use of the info in libinput/lavwc, maybe extending their matchers or adding custom udev rules might help |
Touch devices are fairly unique in the input subsystem in that you need to know which one is which in order to associate it with the appropriate display device. Plug in two mice or two keyboards and they normally apply to the entire desktop seat. I must confess to having hoped initially to make this more contained in input subsystems that it touched, but USB HID device descriptors don't lend themselves to it. Having talked to @cillian64 about it, it does appear that libinput can do something similar, thereby avoiding the maintenance hell of having to have device specific udev rules for every USB touch screen out there. |
libinput/wlroots/Wayfire/labwc match input device by the device name only. If you add 2 identical USB connected touch devices, you can't select between them.
Add the usb bus&device name to the start of the name so that the names end up being unique,
Supercedes #6356
Addresses raspberrypi/bookworm-feedback#446
https://forums.raspberrypi.com/viewtopic.php?t=376569