[PATCH libinput resend] touchpad: Allow the center of pinned fingers to drift over time

Hans de Goede hdegoede at redhat.com
Wed Jan 14 01:17:06 PST 2015


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 <hdegoede at redhat.com>
---
 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 147142a..d8866e5 100644
--- a/src/evdev-mt-touchpad.c
+++ b/src/evdev-mt-touchpad.c
@@ -325,7 +325,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
-- 
2.1.0



More information about the wayland-devel mailing list