libinput/src
Peter Hutterer d8bd650540 Expose a custom acceleration profile
This adds a third profile to the available profiles to map device-specific
speed to an acceleration factor, fully defined by the caller.

There has been a consistent call for different acceleration profiles in
libinput, but very little specifics in what actually needs to be changed.
"faster horses" and whatnot (some notable exceptions in e.g. bug 101139).
Attempts to change the actual acceleration function will likely break things
for others.

This approach opens up the profile itself to a user-specific acceleration
curve. A caller can set an acceleration curve by defining a number of points
on that curve to map input speed to an output factor. That factor is applied
to the input delta.

libinput does relatively little besides mapping the deltas to the
device-specific speed, querying the curve for that speed and applying that
factor. The curve is device-specific, the input speed is in device units/ms.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-04-26 14:48:37 +10:00
..
evdev-debounce.c Remove some duplicate empty lines 2018-04-16 15:14:23 +10:00
evdev-fallback.c fallback: Add IBM/Lenovo Scrollpoint mice quirk to enable smooth scrolling. 2018-04-26 09:53:57 +10:00
evdev-fallback.h evdev: add a quirk to disable debouncing on the MS Nano Transcievers 2018-02-13 15:58:48 +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: ignore palm touches when handling clickfingers 2018-04-20 09:04:13 +10:00
evdev-mt-touchpad-edge-scroll.c touchpad: add a TOUCH_MAYBE_END state 2018-03-01 12:24:48 +10:00
evdev-mt-touchpad-gestures.c gestures: if two fingers are in definitive pinch position, pinch 2018-04-26 13:59:03 +10:00
evdev-mt-touchpad-tap.c touchpad: ignore any semi-mt movement in the same frame as a finger release 2018-04-20 09:41:21 +10:00
evdev-mt-touchpad.c Remove some duplicate empty lines 2018-04-16 15:14:23 +10:00
evdev-mt-touchpad.h Merge branch 'wip/touchpad-maybe-end-state' 2018-03-05 08:26:47 +10:00
evdev-tablet-pad-leds.c Abort if zalloc ever fails 2017-07-12 10:18:07 +10:00
evdev-tablet-pad.c pad: use libwacom to get the evdev to button number mapping 2018-03-05 15:00:03 +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: add missing space in an error message 2018-03-23 10:17:52 +10:00
evdev-tablet.h Correct Lyude's Copyright assignment 2017-11-21 15:33:49 +10:00
evdev.c Expose a custom acceleration profile 2018-04-26 14:48:37 +10:00
evdev.h gestures: if two fingers are in definitive pinch position, pinch 2018-04-26 13:59:03 +10:00
filter-custom.c Expose a custom acceleration profile 2018-04-26 14:48:37 +10:00
filter-flat.c filter: move the flat filter into a separate file 2018-04-18 16:15:38 +10:00
filter-low-dpi.c filter: duplicate the pointer_accelerator struct into the bits that use it 2018-04-18 17:10:05 +10:00
filter-mouse.c filter: duplicate the pointer_accelerator struct into the bits that use it 2018-04-18 17:10:05 +10:00
filter-private.h Expose a custom acceleration profile 2018-04-26 14:48:37 +10:00
filter-tablet.c filter: split the tablet accel code into a separate file 2018-04-18 16:15:38 +10:00
filter-touchpad-x230.c filter: namespace the various trackers_* functions 2018-04-18 17:01:03 +10:00
filter-touchpad.c filter: duplicate the pointer_accelerator struct into the bits that use it 2018-04-18 17:10:05 +10:00
filter-trackpoint.c filter: split trackpoint acceleration code into a separate file 2018-04-18 16:15:38 +10:00
filter.c Expose a custom acceleration profile 2018-04-26 14:48:37 +10:00
filter.h Expose a custom acceleration profile 2018-04-26 14:48:37 +10:00
libinput-git-version.h.in tools: add the git version in the libinput-record output 2018-03-06 14:22:30 +10:00
libinput-private.h Expose a custom acceleration profile 2018-04-26 14:48:37 +10:00
libinput-restore-selinux-context.sh meson: Fix absolute libdir case in install script 2018-02-16 16:57:30 +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 util: add a helper function to split a key-value pair string 2018-04-26 14:48:37 +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 Expose a custom acceleration profile 2018-04-26 14:48:37 +10:00
libinput.h Expose a custom acceleration profile 2018-04-26 14:48:37 +10:00
libinput.pc.in Add -lrt to the libs 2014-07-03 09:59:43 +10:00
libinput.sym Expose a custom acceleration profile 2018-04-26 14:48:37 +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-05 09:38:36 +10:00
udev-seat.h COPYING: Update boilerplate from MIT X11 to MIT Expat license 2015-06-16 14:36:04 +10:00