Find a file
Peter Hutterer a8e3f4d1a5 touchpad: ignore motion speed for hovering touches
tp_detect_thumb_while_moving() assumes that of the 2 fingers down, at least
one must be in TOUCH_UPDATE, otherwise we wouldn't have a speed to analyze for
thumb.

If a touch starts in HOVERING and exceeds the speed limit, we were previously
increasing the 'exceeded count'. This later leads to an assert() in
tp_detect_thumb_while_moving() when the second finger comes down because
although we have multiple fingers, none of them are in TOUCH_UPDATE.

This only happens when fingers 2 and 3 come down in the same event frame,
because then we have nfingers_down at 2 (the hovering one doesn't count) but
we don't yet have a finger in TOUCH_UPDATE.

Fix this twofold, first by now calculating the speed on anything but
TOUCH_UPDATE. And second by force-resetting the speed count on
TOUCH_BEGIN/TOUCH_END so we definitely cover all the hover transitions.

Fixes #150

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2018-10-02 22:32:55 +00:00
.gitlab/issue_templates Add issue templates for bugs and feature requests 2018-09-18 12:04:40 +10:00
doc doc: fix libinput_event_destroy parameter 2018-09-18 14:14:09 +02:00
include/linux Add input.h for FreeBSD 2018-07-16 13:48:54 +03:00
quirks quirks: fix the trackpoint multiplier for the Dell E7470 2018-10-02 04:06:16 +00:00
src touchpad: ignore motion speed for hovering touches 2018-10-02 22:32:55 +00:00
test touchpad: ignore motion speed for hovering touches 2018-10-02 22:32:55 +00:00
tools tools: align the rotation value with 3 digits 2018-09-27 10:27:19 +10:00
udev udev: tighten the conditions when we call the model quirks 2018-09-10 15:57:34 +10:00
.dir-locals.el indentation: add .dir-locals.el for emacs 2018-02-26 18:44:00 +10:00
.gitignore gitignore: ignore gnuplot files 2018-05-10 16:25:40 +10:00
.gitlab-ci.yml gitlab CI: increase the artifacts expiry to 6h 2018-08-22 07:35:12 +10:00
.vimdir Add .vimdir for libinput-specific settings 2015-05-25 09:17:29 +10:00
CODING_STYLE.md Move CODING_STYLE to markdown 2018-06-14 08:45:56 +10:00
COPYING COPYING: change a cgit to a gitlab URL 2018-06-06 11:17:54 +10:00
meson.build evdev: add a quirk for the Kensington Orbit 2018-09-26 13:12:46 +10:00
meson_options.txt Autodetect and use libepoll-shim on FreeBSD 2018-07-18 21:07:24 +03:00
README.md README: drop a @ref in favor of the full link 2018-08-02 11:22:11 +10:00

libinput

libinput is a library that provides a full input stack for display servers and other applications that need to handle input devices provided by the kernel.

libinput provides device detection, event handling and abstraction so minimize the amount of custom input code the user of libinput need to provide the common set of functionality that users expect. Input event processing includes scaling touch coordinates, generating relative pointer events from touchpads, pointer acceleration, etc.

User documentation

Documentation explaining features available in libinput is available here.

This includes the FAQ and the instructions on reporting bugs.

Source code

The source code of libinput can be found at: https://gitlab.freedesktop.org/libinput/libinput

For a list of current and past releases visit: https://www.freedesktop.org/wiki/Software/libinput/

Build instructions: https://wayland.freedesktop.org/libinput/doc/latest/building_libinput.html

Reporting Bugs

Bugs can be filed on freedesktop.org GitLab: https://gitlab.freedesktop.org/libinput/libinput/issues/

Where possible, please provide the libinput record output of the input device and/or the event sequence in question.

See https://wayland.freedesktop.org/libinput/doc/latest/reporting-bugs.html for more info.

Documentation

Examples of how to use libinput are the debugging tools in the libinput repository. Developers are encouraged to look at those tools for a real-world (yet simple) example on how to use libinput.

License

libinput is licensed under the MIT license.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: [...]

See the COPYING file for the full license information.

About

Documentation generated by from git commit GIT_VERSION