libinput/src
Peter Hutterer bab4ca0274 touchpad: use the fuzz value (if any) for the hysteresis margin
We currently used 0.5mm on touchpads as hysteresis value. This causes pointer
movement delays, it is likely too high. Reduce it to a kernel-set fuzz value
(if any) and see how we go with that. On many touchpads, the fuzz is 8 which
would be closer to 0.2mm on e.g. a T440.

Note that the does some defuzzing anyway, but the response of that function is
nonlinear, e.g. for a fuzz of 8, the physical deltas map to:

phys 0..3  → delta 0
phys 4..7  → delta 1
phys 8..15 → delta 4, 5, 6, 7
phys 16..N → delta 16..N

In other words, we never see some logical deltas 2 and 3. While this shouldn't
matter given the average touchpad resolution, reducing the hysteresis margin
is likely to provide some better response. We never see values 8-15 either
which could be the cause of some pointer jumps we've been seeing.

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

Devices with a fuzz of 0 have the hysteresis margin reduced to 0.25mm (from
0.5mm).

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

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit ea7498ef97)
2018-04-09 11:38:08 +10:00
..
evdev-debounce.c evdev: add a quirk to disable debouncing on the MS Nano Transcievers 2018-02-28 08:47:07 +10:00
evdev-fallback.c Introduce omnidirectional (elliptical) hysteresis 2018-03-07 10:42:27 +10:00
evdev-fallback.h evdev: add a quirk to disable debouncing on the MS Nano Transcievers 2018-02-28 08:47:07 +10:00
evdev-middle-button.c evdev: fix a coverity warning 2017-10-10 08:05:28 +10:00
evdev-mt-touchpad-buttons.c touchpad: post a SYN_REPORT after a faked trackpoint button 2017-11-14 12:04:27 +10:00
evdev-mt-touchpad-edge-scroll.c touchpad: add a TOUCH_MAYBE_END state 2018-03-07 10:42:15 +10:00
evdev-mt-touchpad-gestures.c touchpad: drop the double normalization 2018-01-10 12:21:01 +10:00
evdev-mt-touchpad-tap.c touchpad: only begin fake touches when we have at least one finger down 2018-02-28 08:47:44 +10:00
evdev-mt-touchpad.c touchpad: use the fuzz value (if any) for the hysteresis margin 2018-04-09 11:38:08 +10:00
evdev-mt-touchpad.h touchpad: add a TOUCH_MAYBE_END state 2018-03-07 10:42:15 +10:00
evdev-tablet-pad-leds.c Abort if zalloc ever fails 2017-07-12 10:18:07 +10:00
evdev-tablet-pad.c evdev: abstract the get_switch_state method 2017-09-25 15:13:37 +10:00
evdev-tablet-pad.h util: harmonize container_of() definition with linux kernel one 2017-05-17 15:04:41 +10:00
evdev-tablet.c tablet: don't set rotation on a tool if we don't have ABS_Z 2018-02-09 12:18:35 +10:00
evdev-tablet.h Correct Lyude's Copyright assignment 2017-11-21 15:33:49 +10:00
evdev.c evdev: add a quirk to disable debouncing on the MS Nano Transcievers 2018-02-28 08:47:07 +10:00
evdev.h Introduce omnidirectional (elliptical) hysteresis 2018-03-07 10:42:27 +10:00
filter-private.h filter: change the filter functions to take raw device coordinates 2016-12-21 10:55:57 +10:00
filter.c filter: don't allow an accel factor of 0 on the flat profile 2017-09-11 08:30:34 +10:00
filter.h touchpad: Enable timestamp smoothing support for bluetooth touchpads 2017-08-01 16:42:19 +01:00
libinput-private.h Include stdarg.h where variadic functions are used 2017-12-01 09:31:42 +10:00
libinput-restore-selinux-context.sh meson: Fix absolute libdir case in install script 2018-02-28 08:47:29 +10:00
libinput-uninstalled.pc.in buildsystem: add missing uninstalled pkg-config infra 2016-08-30 17:18:39 +10:00
libinput-util.c util: add an extra assert for list_insert() 2017-10-18 16:17:22 +10:00
libinput-util.h Add helper function for time to timeval conversion 2017-09-14 09:43:51 +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 Include stdarg.h where variadic functions are used 2017-12-01 09:31:42 +10:00
libinput.h Include stdarg.h where variadic functions are used 2017-12-01 09:31:42 +10:00
libinput.pc.in Add -lrt to the libs 2014-07-03 09:59:43 +10:00
libinput.sym Add libinput_device_switch_has_switch() 2017-09-06 09:24:29 +10:00
path-seat.c path: if the udev device is never initialized, bail 2018-01-09 13:47:42 +10:00
path-seat.h path: remove unused declaration of path_input_process_event 2017-02-01 16:59:58 +10:00
timer.c timer: change the timer offset warning to a client bug 2018-02-06 19:29:26 +10:00
timer.h timer: flush the timer funcs if our events come in late 2017-09-21 12:27:46 +10:00
udev-seat.c udev: validate input devices during cold-plug 2018-04-09 11:14:03 +10:00
udev-seat.h COPYING: Update boilerplate from MIT X11 to MIT Expat license 2015-06-16 14:36:04 +10:00