Find a file
Paolo Giangrandi a88d73cef4 touchpad: multitap state transitions use the same timing used for taps
Multitap sequences (more than 2 taps) had a 180ms timer set only on press,
not on release.
New taps within those 180ms could either trigger multitap+drag or another
multitap (for N+1 taps), resetting the timer on press once again.
If no new tap appears within those 180ms, the sequence was considered
complete.

This behavior differed from regular taps: for the very first tap of a
sequence the timer was set both on touch and on release.

The multitap timing caused misdetection of triple-tap-and-drag sequences as
the timer was hit frequently. Some of those were correctly detected, others
as tripletap only.

Changing the timer to be set on press **and** release gives us a more lenient
timeout. 180ms for tap-and-drag and 180ms for the next tap down after
release. This was also the behavior for the xorg synaptics driver.

Note that quadruple-tap-and-drag didn't suffer from this because the timeout
resulted in double-tap + double-tap-and-drag. Which has the same
user-visible effect.
2019-03-18 02:45:00 -06:00
.gitlab/issue_templates Update gitlab templates for label renames 2019-01-16 09:34:29 +10:00
ci GitLab CI: use buildah/podman instead of docker 2018-11-28 00:56:44 +00:00
doc test: make the test suite runner available as installed binary 2019-03-14 12:04:22 +10:00
include/linux include: sync kernel headers for v5.0 2019-03-06 01:30:59 +00:00
quirks Set TouchPad Pressure Range for Toshiba L855 2019-03-17 21:45:43 +00:00
src touchpad: multitap state transitions use the same timing used for taps 2019-03-18 02:45:00 -06:00
test touchpad: multitap state transitions use the same timing used for taps 2019-03-18 02:45:00 -06:00
tools tools: flake8 fixes, typo fixes and missing exception handling 2019-03-15 12:01:51 +10:00
udev test: install the test device udev rule from a string 2019-03-14 11:28:05 +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 meson.build: make valgrind optional 2019-03-15 04:10:39 +00: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: make valgrind optional 2019-03-15 04:10:39 +00:00
meson_options.txt test: make the test suite runner available as installed binary 2019-03-14 12:04:22 +10:00
README.md README: update documentation links 2018-12-22 19:56: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 by from git commit GIT_VERSION