touchpad: drop distance threshold to detect pinches
authorPeter Hutterer <peter.hutterer@who-t.net>
Tue, 28 Jul 2015 02:54:16 +0000 (12:54 +1000)
committerPeter Hutterer <peter.hutterer@who-t.net>
Thu, 30 Jul 2015 00:52:15 +0000 (10:52 +1000)
This gives us too many false positives of 2fg scroll being detected as pinch
gesture. Reporter in [1] uses index+ring finger and thus exceeds the distance
easily (that's admittedly a special case).

This is worsed by the lack of a client stack that handles the gestures. User's
don't see that they're inadvertently performing a gesture, they just see 2fg
scroll not working.

Drop the distance for now, once we have a ubiquitous client stack we can
revisit and bring it back.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1246868

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
src/evdev-mt-touchpad-gestures.c

index 6b1a273..3b1839e 100644 (file)
@@ -264,26 +264,11 @@ tp_gesture_twofinger_handle_state_none(struct tp_dispatch *tp, uint64_t time)
 static enum tp_gesture_2fg_state
 tp_gesture_twofinger_handle_state_unknown(struct tp_dispatch *tp, uint64_t time)
 {
-       struct normalized_coords normalized;
-       struct device_float_coords delta;
        struct tp_touch *first = tp->gesture.touches[0],
                        *second = tp->gesture.touches[1];
        int dir1, dir2;
 
-       delta = device_delta(first->point, second->point);
-       normalized = tp_normalize_delta(tp, delta);
-
-       /* If fingers are further than 3 cm apart assume pinch */
-       if (normalized_length(normalized) > TP_MM_TO_DPI_NORMALIZED(30)) {
-               tp_gesture_get_pinch_info(tp,
-                                         &tp->gesture.initial_distance,
-                                         &tp->gesture.angle,
-                                         &tp->gesture.center);
-               tp->gesture.prev_scale = 1.0;
-               return GESTURE_2FG_STATE_PINCH;
-       }
-
-       /* Elif fingers have been close together for a while, scroll */
+       /* if fingers stay unmoving for a while, assume (slow) scroll */
        if (time > (tp->gesture.initial_time + DEFAULT_GESTURE_2FG_SCROLL_TIMEOUT)) {
                tp_gesture_set_scroll_buildup(tp);
                return GESTURE_2FG_STATE_SCROLL;