Add udev bits to assign LIBINPUT_DEVICE_GROUP
authorPeter Hutterer <peter.hutterer@who-t.net>
Tue, 10 Feb 2015 04:23:32 +0000 (14:23 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Wed, 18 Feb 2015 00:08:29 +0000 (10:08 +1000)
commit2b2a1b0eb9f4e3bc835401e1436731fcf4b2163b
tree9ec67c6fb2a07d41cc0feb607a4d0a66dc4baf58
parentf0d7eaf11e40e54fe3ace5c50718168c66d45c7a
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
configure.ac
udev/.gitignore [new file with mode: 0644]
udev/80-libinput-device-groups.rules [new file with mode: 0644]
udev/Makefile.am [new file with mode: 0644]
udev/libinput-device-group.c [new file with mode: 0644]