From aee7ba8360ec9aa36a7a3880329d54c8105820e9 Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 14 Jan 2015 10:17:06 +0100 Subject: [PATCH] touchpad: Allow the center of pinned fingers to drift over time Allow the center of pinned fingers to drift over time, to avoid accidentally unpinning fingers. BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=86807 Signed-off-by: Hans de Goede Reviewed-by: Peter Hutterer Signed-off-by: Peter Hutterer --- src/evdev-mt-touchpad.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c index bdd8f9ef..53a0bf21 100644 --- a/src/evdev-mt-touchpad.c +++ b/src/evdev-mt-touchpad.c @@ -385,7 +385,12 @@ tp_unpin_finger(struct tp_dispatch *tp, struct tp_touch *t) tp->buttons.motion_dist * tp->buttons.motion_dist) { t->pinned.is_pinned = false; tp_set_pointer(tp, t); + return; } + + /* The finger may slowly drift, adjust the center */ + t->pinned.center_x = t->x + t->pinned.center_x / 2; + t->pinned.center_y = t->y + t->pinned.center_y / 2; } static void