[PATCH libinput 2/2] touchpad: introduce MULTITAP for multi-tap-and-drag
Hans de Goede
hdegoede at redhat.com
Fri Apr 17 00:36:59 PDT 2015
On 17-04-15 05:00, Peter Hutterer wrote:
> On Thu, Apr 16, 2015 at 10:00:45AM +0200, Hans de Goede wrote:
>> On 16-04-15 07:04, Peter Hutterer wrote:
>>> 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
>> I think you've one down/up to many here.
> heh, no, should be correct. three full taps plus finger down is
Ah right tap + finger down is single-click drag, etc.
>> Otherwise looks good:
>> Reviewed-by: Hans de Goede <hdegoede at redhat.com>
> thanks, much appreciated.
>>> 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.
>>> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
>>> doc/touchpad-tap-state-machine.svg | 1593 ++++++++++++++++++++++--------------
>>> src/evdev-mt-touchpad-tap.c | 88 +-
>>> src/evdev-mt-touchpad.h | 3 +
>>> test/touchpad.c | 394 +++++++++
>>> 4 files changed, 1447 insertions(+), 631 deletions(-)
More information about the wayland-devel