touchpad: Only break out of tap FSM for clickpad button presses
authorJonas Ådahl <jadahl@gmail.com>
Sun, 27 Jul 2014 21:28:31 +0000 (23:28 +0200)
committerPeter Hutterer <peter.hutterer@who-t.net>
Tue, 2 Sep 2014 00:14:11 +0000 (10:14 +1000)
commit94c59ef2014e9f81ed63d47367bae43221702253
treee688974d95d9f92466c0df169cbffa95bff55988
parent496cd6ab27da0b255111992946cb085f43ffce96
touchpad: Only break out of tap FSM for clickpad button presses

It should be possible to initiate a drag by tapping-drag, but continue
it by pressing a physical button continuing to drag by subsequent finger
motions.

As the generic evdev layer helps us ignore multiple button presses we
can have the tap machine run completely separate from and uneffected by
regular physical button presses, making the tap FSM much simpler than
adding new states for handling button presse life times from outside
of the tap state machine.

A touchpad test is updated to test click while tapping instead of tap
FSM break out. The updated test is re-added but only for clickpads only.

The tap FSM svg is updated to say "clickpad button press" instead of
"phys button press".

Signed-off-by: Jonas Ådahl <jadahl@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
doc/touchpad-tap-state-machine.svg
src/evdev-mt-touchpad-tap.c
test/touchpad.c