libinput/test
Peter Hutterer b519ea4ab5 tablet: add touch arbitration
So far we've relied on the wacom kernel module to do touch arbitration for us
but that won't be the case in upcoming kernels. Implement touch arbitration in
userspace by pairing the two devices and suspending the touch device whenever
a tool comes into proximity.

In the future more sophisticated arbitration can be done (e.g. only touches
which are close to the pen) but let's burn that bridge when we have to cross
it.

Note that touch arbitration is "device suspend light", i.e. we leave the
device enabled and the fd is active. Tablet interactions are comparatively
short-lived, so closing the fd and asking logind for a new one every time the
pen changes proximity is suboptimal. Instead, we just keep a boolean around
and discard all events while it is set.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jason Gerecke <jason.gerecke@wacom.com>
2016-09-07 11:17:03 +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 Fix a couple of coding style issues 2015-05-01 12:09:57 +10:00
device.c evdev: release current touches when the device is suspended 2016-09-07 11:17:03 +10:00
gestures.c test: merge all tests into a single binary 2016-08-02 10:19:38 +10:00
keyboard.c test: merge all tests into a single binary 2016-08-02 10:19:38 +10:00
litest-device-alps-dualpoint.c test: make one ALPS and the Synaptics i2c test devices Dell touchpads 2016-07-18 11:15:00 +10:00
litest-device-alps-semi-mt.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-anker-mouse-kbd.c evdev: only reject devices with missing MT x/y if they're MT devices 2016-01-12 09:07:36 +10:00
litest-device-apple-internal-keyboard.c touchpad: fix DWT pairing for Macbook Pro 2015 2016-01-11 10:11:32 +10:00
litest-device-apple-magicmouse.c test: add an apple magicmouse device 2016-06-20 09:17:38 +10:00
litest-device-asus-rog-gladius.c evdev: init pointer acceleration for any device with pointer cap and rel x/y 2015-10-30 11:18:18 +10:00
litest-device-atmel-hover.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-bcm5974.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-cyborg-rat-5.c evdev: disable the mode button on the Cyborg RAT 5 2016-02-01 08:37:41 +10:00
litest-device-elantech-touchpad.c test: add an Elantech touchpad device 2015-07-13 09:11:28 +10:00
litest-device-generic-singletouch.c test: drop slot events from the singletouch device 2016-04-15 14:28:45 +10:00
litest-device-huion-pentablet.c test: fix a bunch of tablet tests for pressure threshold introduction 2016-01-11 15:17:46 +10:00
litest-device-keyboard-all-codes.c test: add a keyboard test device with all codes enabled 2016-05-17 07:58:15 +10:00
litest-device-keyboard-razer-blackwidow.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-keyboard.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-logitech-trackball.c Add tagging of trackballs 2016-05-03 17:17:28 +10:00
litest-device-magic-trackpad.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-mouse-low-dpi.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-mouse-roccat.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-mouse-wheel-click-angle.c Read the horizontal wheel click angle property if available 2016-08-22 11:29:35 +10:00
litest-device-mouse.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-ms-surface-cover.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-nexus4-touch-screen.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-protocol-a-touch-screen.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-qemu-usb-tablet.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-synaptics-hover.c test: fix the udev rule for the synaptics hover device 2016-02-04 16:26:29 +10:00
litest-device-synaptics-i2c.c test: make one ALPS and the Synaptics i2c test devices Dell touchpads 2016-07-18 11:15:00 +10:00
litest-device-synaptics-st.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-synaptics-t440.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-synaptics-x1-carbon-3rd.c touchpad: re-enable hysteresis by default for all devices 2016-06-20 09:23:58 +10:00
litest-device-synaptics.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-touch-screen.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-touchscreen-fuzz.c evdev: always defuzz absolute touchscreens 2016-04-18 08:40:42 +10:00
litest-device-trackpoint.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-vmware-virtual-usb-mouse.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-wacom-bamboo-tablet.c test: add pressure axes to proximity in for the bamboo and the cintiq 2015-12-15 08:08:16 +10:00
litest-device-wacom-cintiq-13hdt-finger.c test: move the Intuos 5 and Cintiq 13HD test tablets into the same device group 2016-09-07 11:17:03 +10:00
litest-device-wacom-cintiq-13hdt-pad.c test: move the Intuos 5 and Cintiq 13HD test tablets into the same device group 2016-09-07 11:17:03 +10:00
litest-device-wacom-cintiq-13hdt-pen.c test: move the Intuos 5 and Cintiq 13HD test tablets into the same device group 2016-09-07 11:17:03 +10:00
litest-device-wacom-cintiq-24hd.c test: add Wacom Cintiq 24HD Pen 2016-02-11 16:02:22 +10:00
litest-device-wacom-cintiq-24hdt-pad.c test: add pad mode group tests 2016-06-24 13:29:18 +10:00
litest-device-wacom-cintiq-tablet.c tablet: add tilt tests 2015-12-21 09:47:31 +10:00
litest-device-wacom-ekr.c test: add an Wacom EKR test device 2016-06-24 13:29:18 +10:00
litest-device-wacom-hid4800-pen.c test: add a Wacom HID 4800 test device 2016-09-02 09:10:54 +10:00
litest-device-wacom-intuos-finger.c test: move the Intuos 5 and Cintiq 13HD test tablets into the same device group 2016-09-07 11:17:03 +10:00
litest-device-wacom-intuos-tablet.c test: move the Intuos 5 and Cintiq 13HD test tablets into the same device group 2016-09-07 11:17:03 +10:00
litest-device-wacom-intuos3-pad.c test: tablet pad tests 2016-04-18 09:12:02 +10:00
litest-device-wacom-intuos5-pad.c test: move the Intuos 5 and Cintiq 13HD test tablets into the same device group 2016-09-07 11:17:03 +10:00
litest-device-wacom-isdv4-tablet.c test: fix a bunch of tablet tests for pressure threshold introduction 2016-01-11 15:17:46 +10:00
litest-device-wacom-touch.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-waltop-tablet.c test: fix a bunch of tablet tests for pressure threshold introduction 2016-01-11 15:17:46 +10:00
litest-device-wheel-only.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-xen-virtual-pointer.c test: prefix all test device files with litest-device 2015-07-13 09:11:26 +10:00
litest-device-yubikey.c touchpad: if we have a serio keyboard, override any previous dwt pairing 2016-02-05 07:43:25 +10:00
litest-int.h test: tablet pad tests 2016-04-18 09:12:02 +10:00
litest-selftest.c test: fix compiler warning 2016-01-20 12:56:35 +10:00
litest.c test: add litest_assert_touch_sequence helper 2016-09-07 11:17:03 +10:00
litest.h test: add litest_assert_touch_sequence helper 2016-09-07 11:17:03 +10:00
log.c test: merge all tests into a single binary 2016-08-02 10:19:38 +10:00
Makefile.am test: add a Wacom HID 4800 test device 2016-09-02 09:10:54 +10:00
misc.c test: merge all tests into a single binary 2016-08-02 10:19:38 +10:00
pad.c test: merge all tests into a single binary 2016-08-02 10:19:38 +10:00
path.c test: merge all tests into a single binary 2016-08-02 10:19:38 +10:00
pointer.c Read the horizontal wheel click angle property if available 2016-08-22 11:29:35 +10:00
symbols-leak-test.in add simple symbols leak checker 2015-02-13 10:20:44 +10:00
tablet.c tablet: add touch arbitration 2016-09-07 11:17:03 +10:00
touch.c test: merge all tests into a single binary 2016-08-02 10:19:38 +10:00
touchpad-buttons.c test: merge all tests into a single binary 2016-08-02 10:19:38 +10:00
touchpad-tap.c test: prevent cursor jumps in the various tap tests 2016-08-29 14:12:57 +10:00
touchpad.c test: add test for touchpad disabling on external mouse 2016-09-05 10:48:59 +10:00
trackball.c test: merge all tests into a single binary 2016-08-02 10:19:38 +10:00
trackpoint.c test: add trackpoint palm detection tests 2016-09-07 09:20:15 +10:00
udev.c test: merge all tests into a single binary 2016-08-02 10:19:38 +10:00
valgrind.suppressions Merge branch 'master' into tablet-support 2015-05-22 14:21:21 +10:00