From 3b73342e34196d355c07b89c109e8a91a9abf6ad Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 20 Jul 2015 11:13:55 +1000 Subject: [PATCH] touchpad: reduce 2fg scroll threshold to 2mm 3mm is too large, especially on fine-grained scroll motions. Since we already use the hysteresis to defuzz the current touchpad point, having a slower threshold here should not cause any adverse motions. This affects the pinch gestures too and needs a minor test adjustment. The atmel hover device's resolution is low enough that we trigger a >1 degree angle now, make the movement a bit more finegrained. https://bugs.freedesktop.org/show_bug.cgi?id=91364 Signed-off-by: Peter Hutterer Reviewed-by: Hans de Goede --- src/evdev-mt-touchpad-gestures.c | 3 ++- test/gestures.c | 10 +++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/evdev-mt-touchpad-gestures.c b/src/evdev-mt-touchpad-gestures.c index a23b5ce1..a7231eb6 100644 --- a/src/evdev-mt-touchpad-gestures.c +++ b/src/evdev-mt-touchpad-gestures.c @@ -195,9 +195,10 @@ tp_gesture_get_direction(struct tp_dispatch *tp, struct tp_touch *touch) if (tp->semi_mt) move_threshold = TP_MM_TO_DPI_NORMALIZED(4); else - move_threshold = TP_MM_TO_DPI_NORMALIZED(3); + move_threshold = TP_MM_TO_DPI_NORMALIZED(2); delta = device_delta(touch->point, touch->gesture.initial); + normalized = tp_normalize_delta(tp, delta); if (normalized_length(normalized) < move_threshold) diff --git a/test/gestures.c b/test/gestures.c index 8b6639f3..b9d73257 100644 --- a/test/gestures.c +++ b/test/gestures.c @@ -287,16 +287,16 @@ START_TEST(gestures_spread) litest_touch_down(dev, 1, 50 - dir_x, 50 - dir_y); libinput_dispatch(li); - for (i = 0; i < 8; i++) { + for (i = 0; i < 15; i++) { litest_push_event_frame(dev); if (dir_x > 0.0) - dir_x += 3; + dir_x += 2; else if (dir_x < 0.0) - dir_x -= 3; + dir_x -= 2; if (dir_y > 0.0) - dir_y += 3; + dir_y += 2; else if (dir_y < 0.0) - dir_y -= 3; + dir_y -= 2; litest_touch_move(dev, 0, 50 + dir_x,