mirror of
https://gitlab.freedesktop.org/libinput/libinput.git
synced 2026-04-21 13:30:47 +02:00
touchpad: drop distance threshold to detect pinches
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>
This commit is contained in:
parent
0d40aefeca
commit
6b59b4273c
1 changed files with 1 additions and 16 deletions
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue