libinput/src
Peter Hutterer 7860a9ed77 touchpad: stop palm detection when a second finger is detected
This avoids accidental palm detection during two-finger scrolling if one
finger is inside the edge exclusion zone.

Palm detection is designed to avoid accidental touches while typing. If a
non-palm finger is on the touchpad already the user is unlikely to be typing.
So stop palm detection in this case and process the fingers as normal.

This implementation has a minor bug: if both palm touches start within the
palm exclusion zone within the same frame, neither will be labelled as palm
due to how we check the other touches. Since this is an extremeley niche case
we can live with that.

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2016-06-15 10:23:18 +10:00
..
evdev-middle-button.c evdev: add helper to get the libinput context from the evdev device 2016-06-10 06:57:41 +10:00
evdev-mt-touchpad-buttons.c touchpad: add a middle button software area 2016-04-05 10:13:56 +10:00
evdev-mt-touchpad-edge-scroll.c touchpad: short-circuit the edge scroll handling when it's not enabled 2016-06-01 15:31:43 +10:00
evdev-mt-touchpad-gestures.c touchpad: use the tp_libinput_context() helper 2016-06-10 06:57:41 +10:00
evdev-mt-touchpad-tap.c touchpad: add a config option to disable tap-and-drag 2016-01-27 10:03:28 +10:00
evdev-mt-touchpad.c touchpad: stop palm detection when a second finger is detected 2016-06-15 10:23:18 +10:00
evdev-mt-touchpad.h evdev: add helper to get the libinput context from the evdev device 2016-06-10 06:57:41 +10:00
evdev-tablet-pad.c pad: add helper function to access the libinput context 2016-06-10 06:57:41 +10:00
evdev-tablet-pad.h pad: add helper function to access the libinput context 2016-06-10 06:57:41 +10:00
evdev-tablet.c tablet: add helper function to access the libinput context 2016-06-10 06:57:41 +10:00
evdev-tablet.h tablet: add helper function to access the libinput context 2016-06-10 06:57:41 +10:00
evdev.c evdev: add helper to get the libinput context from the evdev device 2016-06-10 06:57:41 +10:00
evdev.h evdev: add helper to get the libinput context from the evdev device 2016-06-10 06:57:41 +10:00
filter-private.h Add an API to change pointer acceleration profiles 2015-09-11 00:54:01 +10:00
filter.c Fix spelling mistakes 2016-04-06 07:42:03 +10:00
filter.h tablet: hook up relative motion events 2016-01-22 16:16:55 +10:00
libinput-private.h Add support for relative device rotation (trackball only) 2016-05-16 09:21:38 +10:00
libinput-util.c Change to micro seconds for measuring time internally 2015-07-28 17:42:32 +08:00
libinput-util.h Add support for relative device rotation (trackball only) 2016-05-16 09:21:38 +10:00
libinput-version.h.in COPYING: Update boilerplate from MIT X11 to MIT Expat license 2015-06-16 14:36:04 +10:00
libinput.c pad: group the button state into a private struct 2016-06-08 11:36:45 +10:00
libinput.h doc: update ref/unref behavior for the tablet tool 2016-05-24 14:40:48 +10:00
libinput.pc.in Add -lrt to the libs 2014-07-03 09:59:43 +10:00
libinput.sym Add support for relative device rotation (trackball only) 2016-05-16 09:21:38 +10:00
Makefile.am Fix distcheck 2016-04-21 15:21:08 +10:00
path.c Ignore test devices for libinput contexts not run from the test suite 2015-07-28 17:42:32 +08:00
path.h COPYING: Update boilerplate from MIT X11 to MIT Expat license 2015-06-16 14:36:04 +10:00
timer.c timer: print the wrong offset when we have a negative timer offset bug 2016-04-11 13:02:19 +10:00
timer.h Change to micro seconds for measuring time internally 2015-07-28 17:42:32 +08:00
udev-seat.c Ignore test devices for libinput contexts not run from the test suite 2015-07-28 17:42:32 +08:00
udev-seat.h COPYING: Update boilerplate from MIT X11 to MIT Expat license 2015-06-16 14:36:04 +10:00