libinput/test
Peter Hutterer 25d54b90db touchpad: add pressure-base palm detection
If a touch goes past the fixed pressure threshold it is labelled as a palm and
stays a palm. Default value is one that works well here on a T440 and is
virtually impossible to trigger by a normal finger or thumb. A udev property
is exposed so we can handle this in the udev hwdb and the new tool introduce a
few commits ago can help finding the palm detection threshold.

Unlike the other palm detection features, once a palm goes past the threshold
it remains a palm until the touch is released. This means palm overrides any
other palm detection features. For code simplicity, we don't combine the
states but merely check for pressure before and after the other palm detection
functions. If the pressure triggers, it will trigger before anything else. And
if something else is already active (e.g. edge where the pressure doesn't work
well) it will trigger as soon as the palm is released.

The palm threshold should thus be chosen with some room to spare between the
highest finger pressure.

https://bugs.freedesktop.org/show_bug.cgi?id=94236

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2017-07-03 15:58:13 +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
generate-gcov-report.sh Hook up gcov for coverage reports 2017-01-20 10:35:37 +10:00
litest-device-acer-hawaii-keyboard.c touchpad: if an external touchpad and keyboard share a VID/PID assume dwt 2016-12-20 10:21:43 +10:00
litest-device-acer-hawaii-touchpad.c touchpad: if an external touchpad and keyboard share a VID/PID assume dwt 2016-12-20 10:21:43 +10:00
litest-device-alps-dualpoint.c touchpad: use pressure values for touch is-down decision 2017-01-30 10:50:28 +10:00
litest-device-alps-semi-mt.c touchpad: use pressure values for touch is-down decision 2017-01-30 10:50:28 +10:00
litest-device-anker-mouse-kbd.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-apple-appletouch.c touchpad: mark the Apple onebutton touchpad as clickfinger-default 2017-02-09 09:26:07 +10:00
litest-device-apple-internal-keyboard.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-apple-magicmouse.c test: unset MOUSE_DPI for the apple magic mouse 2017-03-30 12:56:49 +10:00
litest-device-asus-rog-gladius.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-atmel-hover.c touchpad: use pressure values for touch is-down decision 2017-01-30 10:50:28 +10:00
litest-device-bcm5974.c test: drop ABS_MT_PRESSURE from the bcm5974 2017-03-08 14:44:26 +10:00
litest-device-calibrated-touchscreen.c path: parse the WL_OUTPUT property for patch devices too 2017-02-09 11:54:03 +10:00
litest-device-cyborg-rat-5.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-elantech-touchpad.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-generic-singletouch.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-huion-pentablet.c Fix the license for a bunch of tablet test devices 2016-12-01 11:12:09 +10:00
litest-device-keyboard-all-codes.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-keyboard-razer-blackwidow.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-keyboard.c test: add a test for keyboard LED updates 2017-01-20 10:35:43 +10:00
litest-device-lid-switch-surface3.c switch: for surface 3 tablets, write the lid open to the device 2017-01-30 15:26:45 +10:00
litest-device-lid-switch.c switch: only sync the initial state if we know the state is reliable 2017-01-26 14:44:04 +10:00
litest-device-logitech-trackball.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-magic-trackpad.c test: mark the magic trackpad as external in udev 2016-12-20 08:53:35 +10:00
litest-device-mouse-low-dpi.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-mouse-roccat.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-mouse-wheel-click-angle.c test: fix two test udev rules 2017-01-30 15:26:44 +10:00
litest-device-mouse-wheel-click-count.c test: fix udev rule for click count device 2017-03-30 12:09:06 +10:00
litest-device-mouse-wheel-tilt.c test: add wheel tilt tests 2017-01-20 11:45:29 +10:00
litest-device-mouse.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-ms-surface-cover.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-nexus4-touch-screen.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-protocol-a-touch-screen.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-qemu-usb-tablet.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-synaptics-hover.c touchpad: use pressure values for touch is-down decision 2017-01-30 10:50:28 +10:00
litest-device-synaptics-i2c.c touchpad: add a model tag to mark touchpads with visible marker 2017-01-11 10:39:05 +10:00
litest-device-synaptics-rmi4.c test: add a synaptics RMI4 test device 2017-01-12 14:45:50 +10:00
litest-device-synaptics-st.c touchpad: use pressure values for touch is-down decision 2017-01-30 10:50:28 +10:00
litest-device-synaptics-t440.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-synaptics-x1-carbon-3rd.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-synaptics.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-touch-screen.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-touchscreen-fuzz.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-trackpoint.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-vmware-virtual-usb-mouse.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-wacom-bamboo-16fg-pen.c test: rename wacom test devices to a consistent naming scheme 2017-01-16 12:11:19 +10:00
litest-device-wacom-cintiq-12wx-pen.c test: rename wacom test devices to a consistent naming scheme 2017-01-16 12:11:19 +10:00
litest-device-wacom-cintiq-13hdt-finger.c Fix the license for a bunch of tablet test devices 2016-12-01 11:12:09 +10:00
litest-device-wacom-cintiq-13hdt-pad.c Fix the license for a bunch of tablet test devices 2016-12-01 11:12:09 +10:00
litest-device-wacom-cintiq-13hdt-pen.c Fix the license for a bunch of tablet test devices 2016-12-01 11:12:09 +10:00
litest-device-wacom-cintiq-24hd-pen.c test: rename wacom test devices to a consistent naming scheme 2017-01-16 12:11:19 +10:00
litest-device-wacom-cintiq-24hdt-pad.c Fix the license for a bunch of tablet test devices 2016-12-01 11:12:09 +10:00
litest-device-wacom-ekr.c Fix the license for a bunch of tablet test devices 2016-12-01 11:12:09 +10:00
litest-device-wacom-hid4800-pen.c Fix the license for a bunch of tablet test devices 2016-12-01 11:12:09 +10:00
litest-device-wacom-intuos3-pad.c Fix the license for a bunch of tablet test devices 2016-12-01 11:12:09 +10:00
litest-device-wacom-intuos5-finger.c test: rename wacom test devices to a consistent naming scheme 2017-01-16 12:11:19 +10:00
litest-device-wacom-intuos5-pad.c Fix the license for a bunch of tablet test devices 2016-12-01 11:12:09 +10:00
litest-device-wacom-intuos5-pen.c test: rename wacom test devices to a consistent naming scheme 2017-01-16 12:11:19 +10:00
litest-device-wacom-isdv4-e6-finger.c test: rename wacom test devices to a consistent naming scheme 2017-01-16 12:11:19 +10:00
litest-device-wacom-isdv4-e6-pen.c test: rename wacom test devices to a consistent naming scheme 2017-01-16 12:11:19 +10:00
litest-device-waltop-tablet.c test: fix udev rule for waltop tablet test device 2017-02-17 15:39:31 +10:00
litest-device-wheel-only.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-xen-virtual-pointer.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-device-yubikey.c Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-int.h Drop HAVE_CONFIG_H ifdef 2016-12-01 11:06:54 +10:00
litest-selftest.c test: fix compiler warning 2016-01-20 12:56:35 +10:00
litest.c test: strdup the suite and test name 2017-06-26 18:43:59 +10:00
litest.h test: remove unused litest_handle_events 2017-06-02 10:53:53 +10:00
Makefile.am test: install the litest device groups file 2017-05-11 11:48:39 +10:00
symbols-leak-test.in test: allow running the symbols-leak-test.in script directly 2017-05-04 13:49:37 +10:00
test-device.c test: drop two superfluous empty queue checks 2017-06-01 09:52:31 +10:00
test-gestures.c test: prefix all test source files with "test-" 2017-01-16 08:59:00 +10:00
test-keyboard.c test: tighten some test cases 2017-06-01 09:52:31 +10:00
test-lid.c Revert "lid: force the lid to open when the keyboard device is removed" 2017-05-23 15:10:10 +10:00
test-log.c test: don't leak test warnings to stdout 2017-06-02 10:53:50 +10:00
test-misc.c touchpad: add pressure-base palm detection 2017-07-03 15:58:13 +10:00
test-pad.c test: add test for pad event mode groups 2017-02-06 11:00:43 +10:00
test-path.c test: localise the open/close function counter in the path tests 2017-06-09 14:28:19 +10:00
test-pointer.c evdev: improve default scroll button detection 2017-04-24 10:27:32 +10:00
test-tablet.c test: fix compiler warning 2017-05-04 12:45:23 +10:00
test-touch.c test: don't leak test warnings to stdout 2017-06-02 10:53:50 +10:00
test-touchpad-buttons.c touchpad: ignore hovering touches for the software button state 2017-03-02 08:34:17 +10:00
test-touchpad-tap.c touchpad: ignore the tap motion threshold if fingers > slots 2017-06-26 18:43:59 +10:00
test-touchpad.c touchpad: add pressure-base palm detection 2017-07-03 15:58:13 +10:00
test-trackball.c test: prefix all test source files with "test-" 2017-01-16 08:59:00 +10:00
test-trackpoint.c evdev: add "READY" state to button scrolling 2017-02-20 21:16:34 +10:00
test-udev.c test: add test for invalid path operations on udev backends 2017-01-20 10:35:43 +10:00
valgrind.suppressions test: suppress Python3 valgrind errors 2017-05-08 20:51:15 +10:00