touchpad: Gesture support preparation
Handle everything which is not handled by the tap, (soft)button or edge-scroll code/statemachines in a unified way. Everything is treated as a X-finger gesture now, and the action to take on finger movement is decided by the gesture.finger_count setting. Pointer control now simply is seen as a 1 finger gesture, and 2fg scrolling as a 2fg gesture. This removed the need for special-casing things like switching back to pointer mode when lifting a finger in 2fg scrolling mode, and also lays the groundwork for adding 3+ fg gesture support. Note that 1 test-case needs to be updated to wait for the finger mode switching when switching mode while a gesture has already been started. This is actually an improvement as this stops sending spurious pointer motion events at the end of 2fg scrolling when not lifting both fingers at exactly the same time. Signed-off-by:Hans de Goede <hdegoede@redhat.com> Reviewed-by:
Peter Hutterer <peter.hutterer@who-t.net>
- src/Makefile.am 1 addition, 0 deletionssrc/Makefile.am
- src/evdev-mt-touchpad-buttons.c 0 additions, 1 deletionsrc/evdev-mt-touchpad-buttons.c
- src/evdev-mt-touchpad-edge-scroll.c 0 additions, 1 deletionsrc/evdev-mt-touchpad-edge-scroll.c
- src/evdev-mt-touchpad-gestures.c 146 additions, 0 deletionssrc/evdev-mt-touchpad-gestures.c
- src/evdev-mt-touchpad.c 22 additions, 107 deletionssrc/evdev-mt-touchpad.c
- src/evdev-mt-touchpad.h 37 additions, 10 deletionssrc/evdev-mt-touchpad.h
- test/litest.c 6 additions, 0 deletionstest/litest.c
- test/litest.h 1 addition, 0 deletionstest/litest.h
- test/touchpad.c 6 additions, 0 deletionstest/touchpad.c