mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2025-12-26 20:20:06 +01:00
Devices like Wacom tablets have multiple event nodes (touch, pad and stylus). This requires some logical grouping, e.g. setting an Intuos 5 tablet left-handed effectively turns it upside down. That then applies to both the stylus and the touch device. Merging the devices into one struct libinput_device is not feasable, it complicates the API for little benefit. A caller would still need access to all subdevices to get udev handles, etc. Some configuration options apply to the whole device (left-handed) but some (may) only apply to a single subdevice (calibration, natural scrolling). Addressing this would make the libinput API unwieldly and hard to use. Instead, add a device group concept. Each device is a member of a device group - a singleton for most devices. Wacom tablets will have a single group across multiple devices, allowing the caller to associate the devices together if needed. The API is intentionally very simple and requires the caller to keep track of groups and which/how many devices are in it. The caller has more powerful libraries available to do that than we have. This patch does not address the actual merging of devices into the same device group, it simply creates a new group for each new device. [rebased on top of 0.10] Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Jonas Ådahl <jadahl@gmail.com> |
||
|---|---|---|
| .. | ||
| 50-litest.conf | ||
| build-cxx.cc | ||
| build-pedantic.c | ||
| device.c | ||
| keyboard.c | ||
| litest-alps-semi-mt.c | ||
| litest-bcm5974.c | ||
| litest-generic-singletouch.c | ||
| litest-int.h | ||
| litest-keyboard.c | ||
| litest-mouse.c | ||
| litest-ms-surface-cover.c | ||
| litest-qemu-usb-tablet.c | ||
| litest-synaptics-hover.c | ||
| litest-synaptics-st.c | ||
| litest-synaptics-t440.c | ||
| litest-synaptics-x1-carbon-3rd.c | ||
| litest-synaptics.c | ||
| litest-trackpoint.c | ||
| litest-vmware-virtual-usb-mouse.c | ||
| litest-wacom-touch.c | ||
| litest-xen-virtual-pointer.c | ||
| litest.c | ||
| litest.h | ||
| log.c | ||
| Makefile.am | ||
| misc.c | ||
| path.c | ||
| pointer.c | ||
| touch.c | ||
| touchpad.c | ||
| trackpoint.c | ||
| udev.c | ||
| valgrind.suppressions | ||