Find a file
Peter Hutterer abdca33387 touchpad: introduce MULTITAP for multi-tap-and-drag
Once we have a doubletap, enter a loop in the state machine where we can tap
multiple times and either get a multi-click or a multi-click drag-and-drop.

The sequence down/up down/up down/up produces a triple-click. The sequence
down/up down/up down/up down produces a triple-click with a button down for
dragging. Yes, that glorious octuple-tap-and-drag, it is now possible. World
domination has been achieved, thank you for playing.

We don't know when we finish tapping now, so add a timeout to send the last
click event once the finger has been released for the last time. This
guarantees that the timestamp of the last button down is later than the
last release. This avoids the bug fixed in synaptics commit
xf86-input-synaptics-1.8.0-21-g37d34f0 (some application don't handle
doubletap correctly without the timestamps).

This works for double-tap immediately, for multi-tap we need to remember the
timestamp of the first press event and use it for the release event so that
there's a forced gap between the release and the second press.

https://bugs.freedesktop.org/show_bug.cgi?id=89511

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
2015-04-17 12:59:22 +10:00
doc touchpad: introduce MULTITAP for multi-tap-and-drag 2015-04-17 12:59:22 +10:00
include/linux include: update to v3.18 header 2015-04-08 09:26:02 +10:00
m4 Port evdev code to be used as a shared library 2013-11-12 22:37:20 +01:00
src touchpad: introduce MULTITAP for multi-tap-and-drag 2015-04-17 12:59:22 +10:00
test touchpad: introduce MULTITAP for multi-tap-and-drag 2015-04-17 12:59:22 +10:00
tools Add middle mouse button emulation config options 2015-04-17 12:49:43 +10:00
udev Add udev bits to assign LIBINPUT_DEVICE_GROUP 2015-02-18 10:08:29 +10:00
.gitignore add simple symbols leak checker 2015-02-13 10:20:44 +10:00
autogen.sh Port evdev code to be used as a shared library 2013-11-12 22:37:20 +01:00
configure.ac configure.ac: libinput 0.13.0 2015-03-24 15:49:41 +10:00
COPYING test: Test seat wide button and key count helpers 2014-04-23 00:07:40 +02:00
Makefile.am Add udev bits to assign LIBINPUT_DEVICE_GROUP 2015-02-18 10:08:29 +10:00
README.txt README: Add the libinput component to the bugzilla URL 2015-02-09 08:12:45 +10:00

/*!@mainpage

libinput
========

libinput is a library that handles input devices for display servers and other
applications that need to directly deal with input devices.

It provides device detection, device handling, input device event processing
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
pointer events from touchpads, pointer acceleration, etc.

libinput originates from weston, the Wayland reference compositor.

The source code of libinput can be found at:
http://cgit.freedesktop.org/wayland/libinput

For more information, visit:
http://www.freedesktop.org/wiki/Software/libinput/

Bugs can be filed in the libinput component of Wayland:
https://bugs.freedesktop.org/enter_bug.cgi?product=Wayland&component=libinput

Online API documentation:
http://wayland.freedesktop.org/libinput/doc/latest/modules.html

*/