libinput/src
Peter Hutterer a608d9dc2c touchpad: add quirk for the T450 and T460 generation hardware
The touchpad's sensors are too far apart (or the firmware interferes), causing
in a jerky movement visible especially on slow motion. We get a bunch of
normal motion events, then only ABS_MT_PRESSURE updates without x/y updates.
After about one mm of movement x/y updates resume, with the first event
covering the distance between the last motion event. That event is usually
accelerated and thus causes a large jump. Subsequent events are sufficiently
fine-grained again.

This patch counts the number of non-motion events. Once we hit 10 in a row, we
mark the first motion update as non-dirty, effectively discarding the motion
and thus stopping the pointer jumps.

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Tested-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
2016-03-11 10:02:26 +10:00
..
evdev-middle-button.c middle-button: don't call libinput_now() in the timeout handler 2015-08-04 15:44:39 +10:00
evdev-mt-touchpad-buttons.c touchpad: constify a couple of helper functions 2016-01-20 15:38:12 +10:00
evdev-mt-touchpad-edge-scroll.c touchpad: constify a couple of helper functions 2016-01-20 15:38:12 +10:00
evdev-mt-touchpad-gestures.c touchpad: only trigger immediate pinch detection for three fingers 2016-02-28 20:35:59 +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: add quirk for the T450 and T460 generation hardware 2016-03-11 10:02:26 +10:00
evdev-mt-touchpad.h touchpad: add quirk for the T450 and T460 generation hardware 2016-03-11 10:02:26 +10:00
evdev-tablet.c tablet: reject mislabelled tablet devices 2016-03-07 13:05:26 +10:00
evdev-tablet.h tablet: sanitize button mask passing 2016-03-01 16:00:47 +10:00
evdev.c touchpad: add quirk for the T450 and T460 generation hardware 2016-03-11 10:02:26 +10:00
evdev.h touchpad: add quirk for the T450 and T460 generation hardware 2016-03-11 10:02:26 +10:00
filter-private.h Add an API to change pointer acceleration profiles 2015-09-11 00:54:01 +10:00
filter.c tablet: hook up relative motion events 2016-01-22 16:16:55 +10:00
filter.h tablet: hook up relative motion events 2016-01-22 16:16:55 +10:00
libinput-private.h tablet: change tilt axes to use degrees 2016-02-09 12:19:12 +10:00
libinput-util.c Change to micro seconds for measuring time internally 2015-07-28 17:42:32 +08:00
libinput-util.h Indentation fixes 2016-02-05 15:39:58 +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 Assert that the interface is actually filled in. 2016-03-07 13:05:26 +10:00
libinput.h test: add tablet test for out-of-bounds motion coordinates 2016-02-11 16:03:13 +10:00
libinput.pc.in Add -lrt to the libs 2014-07-03 09:59:43 +10:00
libinput.sym Prepare tablet-support branch for merging 2016-01-27 15:38:47 +10:00
Makefile.am Merge branch 'master' into tablet-support 2015-05-22 14:21:21 +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 Change to micro seconds for measuring time internally 2015-07-28 17:42:32 +08: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