Add udev bits to assign LIBINPUT_DEVICE_GROUP
The easiest way to get a device group is by looking at the phys path of the input device (which looks like usb-0000:00:14.0-1/input1) and dropping the /inputX bit. The rest is the same for devices that belong together (except on the Cintiq 22HD Touch). Ideally we could just take ATTRS{phys} but we can't select substrings to drop into ENV so we need to do it ourselves. This patch adds a callout that takes a syspath and prints the mangled path, to be used in LIBINPUT_DEVICE_GROUP. The rule triggers on any device that has a non-zero phys attribute, this groups devices like tablets together but also devices like mice with multiple interfaces. Signed-off-by:Peter Hutterer <peter.hutterer@who-t.net> Tested-by:
Benjamin Tissoires <benjamin.tissoires@gmail.com>
- Makefile.am 1 addition, 1 deletionMakefile.am
- configure.ac 16 additions, 2 deletionsconfigure.ac
- udev/.gitignore 1 addition, 0 deletionsudev/.gitignore
- udev/80-libinput-device-groups.rules 8 additions, 0 deletionsudev/80-libinput-device-groups.rules
- udev/Makefile.am 9 additions, 0 deletionsudev/Makefile.am
- udev/libinput-device-group.c 77 additions, 0 deletionsudev/libinput-device-group.c