libinput/test
Peter Hutterer e3a43902f9 Introduce device groups to group logical devices together
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>
2015-02-06 11:08:43 +10:00
..
50-litest.conf test: Prefix litest created device names with litest 2014-06-25 11:11:45 +10:00
build-cxx.cc test: Add include from C++ build test 2014-03-29 00:51:44 +01:00
build-pedantic.c build-pedantic: use main(void) 2015-01-12 07:54:12 +10:00
device.c Introduce device groups to group logical devices together 2015-02-06 11:08:43 +10:00
keyboard.c evdev: Release still pressed keys/buttons when removing device 2014-08-18 22:41:16 +02:00
litest-alps-semi-mt.c test: move semi-mt special tracking into the shared litest.c 2015-01-16 07:42:50 +10:00
litest-bcm5974.c test: auto-update for BTN_TOOL_* when using litest_touch_ functions 2014-07-23 15:08:15 +10:00
litest-generic-singletouch.c test: add a generic single-touch device 2014-08-26 13:49:16 +10:00
litest-int.h test: add per-device udev rule support 2015-02-03 10:34:26 +10:00
litest-keyboard.c style fix: Remove duplicate empty lines 2014-07-22 09:00:45 +10:00
litest-mouse.c test: drop empty test device interfaces 2015-01-06 09:53:25 +10:00
litest-ms-surface-cover.c test: rename LITEST_POINTER to LITEST_RELATIVE 2014-11-11 09:55:42 +10:00
litest-qemu-usb-tablet.c test: add QEMU tablet as test device 2014-11-11 09:55:42 +10:00
litest-synaptics-hover.c test: add a semi-mt + hover synaptics touchpad 2015-01-16 07:42:50 +10:00
litest-synaptics-st.c test: auto-update for BTN_TOOL_* when using litest_touch_ functions 2014-07-23 15:08:15 +10:00
litest-synaptics-t440.c test: auto-update for BTN_TOOL_* when using litest_touch_ functions 2014-07-23 15:08:15 +10:00
litest-synaptics-x1-carbon-3rd.c test: add per-device udev rule support 2015-02-03 10:34:26 +10:00
litest-synaptics.c test: auto-update for BTN_TOOL_* when using litest_touch_ functions 2014-07-23 15:08:15 +10:00
litest-trackpoint.c test: drop empty test device interfaces 2015-01-06 09:53:25 +10:00
litest-vmware-virtual-usb-mouse.c test: add VMWare Virtual USB Mouse device 2014-11-11 09:55:42 +10:00
litest-wacom-touch.c test: drop unused includes for libinput-util.h 2014-06-11 09:43:52 +10:00
litest-xen-virtual-pointer.c test: add Xen Virtual Pointer device 2014-11-11 09:55:42 +10:00
litest.c test: add per-device udev rule support 2015-02-03 10:34:26 +10:00
litest.h test: add per-device udev rule support 2015-02-03 10:34:26 +10:00
log.c path: store the udev device instead of just the devnode 2014-11-25 16:33:01 +10:00
Makefile.am test: add a test device for the Lenovo X1 Carbon 3rd 2015-01-29 14:40:26 +10:00
misc.c test: switch event conversion tests to use litest devices 2015-02-04 08:14:08 +10:00
path.c Add libinput_set_user_data 2014-12-23 14:49:39 +10:00
pointer.c Fix an abort if the device speed is NaN 2015-02-06 10:26:04 +10:00
touch.c Rename functions for left handed device configurations 2015-01-15 10:17:57 +10:00
touchpad.c test: add tests for new lenovo touchpads 2015-01-29 14:44:35 +10:00
trackpoint.c Add pointer axis sources to the API 2014-12-24 10:47:00 +10:00
udev.c Add libinput_set_user_data 2014-12-23 14:49:39 +10:00
valgrind.suppressions test: automatically run the tests against valgrind for leaks 2014-04-10 11:11:56 +10:00