On 30.04.2018 08:33, Peter Hutterer wrote:
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 <peter.hutte...@who-t.net>
IMO this shouldn't matter, because if a user managed to consciously
trigger an event other than movement, it would definitely take time more
than the threshold in milliseconds which is used for detection.
On the other hand I imagine a broken touchpad could send a spurious
event which would break a detection possibility because we reset.
---
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 dc2ed8dc..704d238a 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;
_______________________________________________
wayland-devel mailing list
wayland-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/wayland-devel