gestures: fast-track scroll/swipe detection when gestures are off
authorPeter Hutterer <peter.hutterer@who-t.net>
Thu, 20 Jun 2019 11:25:25 +0000 (21:25 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Mon, 15 Jul 2019 03:08:47 +0000 (13:08 +1000)
We can't detect pinch when gestures are off anyway, so we don't need to check
the finger distances.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
src/evdev-mt-touchpad-gestures.c

index e13fb3d..a3f18dc 100644 (file)
@@ -499,12 +499,13 @@ tp_gesture_handle_state_unknown(struct tp_dispatch *tp, uint64_t time)
 
        /* If both touches are within 7mm vertically and 40mm horizontally
         * past the timeout, assume scroll/swipe */
-       if (distance_mm.x < 40.0 && distance_mm.y < 7.0 &&
+       if ((!tp->gesture.enabled ||
+            (distance_mm.x < 40.0 && distance_mm.y < 7.0)) &&
            time > (tp->gesture.initial_time + DEFAULT_GESTURE_SWIPE_TIMEOUT)) {
                if (tp->gesture.finger_count == 2) {
                        tp_gesture_set_scroll_buildup(tp);
                        return GESTURE_STATE_SCROLL;
-               } else if (tp->gesture.enabled) {
+               } else {
                        return GESTURE_STATE_SWIPE;
                }
        }