Find a file
Peter Hutterer 271616265b touchpad: don't allow for multifinger tapping after a move
In the current implementation, movements > threshold and timeouts usually move
to HOLD state and continue from there. Where a finger is lifted, we go back
up the diagram into the previous finger count's HOLD state.

The side-effect of this is that a tap of a finger can be counted as tap even
after a movement:

- two fingers down, move to scroll, hold down
- third finger down, third finger up

This sequence triggers an erroneous three-finger tap. Once the motion
threshold is hit by any touch, no finger must trigger 2/3 finger tap events
while any touch is down.

The false tap is only triggered where the new finger can execute a tap without
any other finger changing any property. This can be triggered on the
reporter's Dell Precision 5520 but on most other touchpads, a new finger down
will trigger slight movement, pressure or touch size updates and thus the bug
cannot be triggered.

Fixes #382

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
2019-11-15 00:24:00 +00:00
.gitlab/issue_templates Update gitlab templates for label renames 2019-01-16 09:34:29 +10:00
.gitlab-ci CI: use templates for Ubuntu 2019-04-01 04:11:20 +00:00
completion/zsh Fix typo in zsh completion 2019-11-14 20:28:00 +00:00
doc doc/user: add a faq entry about the pointer acceleration "issue" 2019-10-23 08:00:44 +10:00
include test: replace the USING_VALGRIND env with the valgrind.h header 2019-05-07 04:48:00 +00:00
quirks quirks: add RollerMouse Free 3 for double-click fix 2019-10-26 16:04:05 +00:00
src touchpad: don't allow for multifinger tapping after a move 2019-11-15 00:24:00 +00:00
test touchpad: don't allow for multifinger tapping after a move 2019-11-15 00:24:00 +00:00
tools tools: debug-gui: show pressure/distance as vertical bar 2019-11-01 08:38:59 +10:00
udev udev: fix potential memory leak for the phys string 2019-10-24 14:27:37 +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: work around collapsed multiline commands in the rebuild check 2019-11-05 11:00:16 +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 meson.build: drop the explicit -g flag 2019-11-06 11:48:49 +10:00
meson_options.txt completion: add libinput(1) zsh completions 2019-08-13 15:05:35 -07:00
README.md doc: fix sentence 2019-10-16 14:58:21 +02: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 to minimize the amount of custom input code the user of libinput needs 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.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 from git commit GIT_VERSION