From 9c3a597aabc1ad7f004f2bdcc9fa8a423d19417d Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Tue, 24 Apr 2018 15:35:46 +1000 Subject: [PATCH] touchpad: reset the wobble detection for non-pointer events If we get an event other than a motion event we're not wobbling so we need to reset and restart. Signed-off-by: Peter Hutterer --- src/evdev-mt-touchpad.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c index 62ed7482..56c618eb 100644 --- a/src/evdev-mt-touchpad.c +++ b/src/evdev-mt-touchpad.c @@ -155,9 +155,14 @@ tp_detect_wobbling(struct tp_dispatch *tp, int dx, dy; uint64_t dtime; - if (!(tp->queued & TOUCHPAD_EVENT_MOTION) || tp->hysteresis.enabled) + if (tp->hysteresis.enabled) return; + if (!(tp->queued & TOUCHPAD_EVENT_MOTION)) { + t->hysteresis.x_motion_history = 0; + return; + } + if (t->last_point.x == 0) { /* first invocation */ dx = 0; dy = 0;