libinput/src
Peter Hutterer 3928f32281 filter: add a custom low-dpi acceleration
Motion normalization does not work well for devices below the default 1000dpi
rate. A 400dpi mouse's minimum movement generates a 2.5 normalized motion,
causing it to skip pixels at low speeds even when unaccelerated.

Likewise, we don't want 1000dpi mice to be normalized to a 400dpi mouse, it
feels sluggish even at higher acceleration speeds.
Instead, add a custom acceleration method for lower-dpi mice. At low-speeds,
one device unit results in a one-pixel movement. Depending on the DPI factor,
the acceleration kicks in earlier and goes to higher acceleration so faster
movements with a low-dpi mouse feel approximately the same as the same
movement on a higher-dpi mouse.

https://bugzilla.redhat.com/show_bug.cgi?id=1231304

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-07-02 13:03:43 +10:00
..
evdev-middle-button.c COPYING: Update boilerplate from MIT X11 to MIT Expat license 2015-06-16 14:36:04 +10:00
evdev-mt-touchpad-buttons.c evdev: store the device dimensions 2015-06-26 06:46:32 +10:00
evdev-mt-touchpad-edge-scroll.c evdev: store the device dimensions 2015-06-26 06:46:32 +10:00
evdev-mt-touchpad-gestures.c Drop motion normalization of unaccelerated deltas 2015-07-02 13:03:43 +10:00
evdev-mt-touchpad-tap.c touchpad: disable tap drag lock by default 2015-06-29 07:52:41 +10:00
evdev-mt-touchpad.c evdev: store the device dimensions 2015-06-26 06:46:32 +10:00
evdev-mt-touchpad.h Drop motion normalization of unaccelerated deltas 2015-07-02 13:03:43 +10:00
evdev.c filter: add a custom low-dpi acceleration 2015-07-02 13:03:43 +10:00
evdev.h filter: pass the DPI to the acceleration filter 2015-07-02 13:03:43 +10:00
filter-private.h COPYING: Update boilerplate from MIT X11 to MIT Expat license 2015-06-16 14:36:04 +10:00
filter.c filter: add a custom low-dpi acceleration 2015-07-02 13:03:43 +10:00
filter.h filter: add a custom low-dpi acceleration 2015-07-02 13:03:43 +10:00
libinput-private.h Drop motion normalization of unaccelerated deltas 2015-07-02 13:03:43 +10:00
libinput-util.c COPYING: Update boilerplate from MIT X11 to MIT Expat license 2015-06-16 14:36:04 +10:00
libinput-util.h filter: pass the DPI to the acceleration filter 2015-07-02 13:03:43 +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 Drop motion normalization of unaccelerated deltas 2015-07-02 13:03:43 +10:00
libinput.h Drop motion normalization of unaccelerated deltas 2015-07-02 13:03:43 +10:00
libinput.pc.in Add -lrt to the libs 2014-07-03 09:59:43 +10:00
libinput.sym Add configuration interface for tap drag-lock 2015-06-23 14:24:29 +10:00
Makefile.am evdev: add support for middle button emulation 2015-04-17 12:50:03 +10:00
path.c Add missing includes for *stat 2015-06-25 17:08:32 +10:00
path.h COPYING: Update boilerplate from MIT X11 to MIT Expat license 2015-06-16 14:36:04 +10:00
timer.c COPYING: Update boilerplate from MIT X11 to MIT Expat license 2015-06-16 14:36:04 +10:00
timer.h COPYING: Update boilerplate from MIT X11 to MIT Expat license 2015-06-16 14:36:04 +10:00
udev-seat.c COPYING: Update boilerplate from MIT X11 to MIT Expat license 2015-06-16 14:36:04 +10:00
udev-seat.h COPYING: Update boilerplate from MIT X11 to MIT Expat license 2015-06-16 14:36:04 +10:00