Summary: | False positives with wobble detection | ||
---|---|---|---|
Product: | Wayland | Reporter: | Peter Hutterer <peter.hutterer> |
Component: | libinput | Assignee: | Wayland bug list <wayland-bugs> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | Hi-Angel, nate, peter.hutterer |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
evemu with master (doesn't trigger hysteresis)
revert-9c3a597aa (in case anybody need it, as git-revert gets conflicts) |
Description
Peter Hutterer
2018-05-02 22:36:25 UTC
Created attachment 139294 [details]
evemu with master (doesn't trigger hysteresis)
I did the evemu-record by commenting out the "fuzz-enabling-line", then trying to select a text. Hysteresis haven't been enabled.
I think however, the solution to this have already been indirectly mentioned by Peter on ML — it's to revert the 9c3a597aa "reset the wobble detection for non-pointer events", then to use the last movement time, as opposed to any event.
Created attachment 139296 [details] [review] revert-9c3a597aa (in case anybody need it, as git-revert gets conflicts) embarassing... issue is that I had the logic inverted (from an earlier version). This one makes it work: diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c index 6560ac3e..ce694c28 100644 --- a/src/evdev-mt-touchpad.c +++ b/src/evdev-mt-touchpad.c @@ -155,8 +155,8 @@ tp_detect_wobbling(struct tp_dispatch *tp, int dx, dy; uint64_t dtime; - if (tp->nfingers_down == 1 && - tp->nfingers_down == tp->old_nfingers_down) + if (tp->nfingers_down != 1 || + tp->nfingers_down != tp->old_nfingers_down) return; if (tp->hysteresis.enabled) (In reply to Peter Hutterer from comment #3) > embarassing... issue is that I had the logic inverted (from an earlier > version). This one makes it work: > > > diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c > index 6560ac3e..ce694c28 100644 > --- a/src/evdev-mt-touchpad.c > +++ b/src/evdev-mt-touchpad.c > @@ -155,8 +155,8 @@ tp_detect_wobbling(struct tp_dispatch *tp, > int dx, dy; > uint64_t dtime; > > - if (tp->nfingers_down == 1 && > - tp->nfingers_down == tp->old_nfingers_down) > + if (tp->nfingers_down != 1 || > + tp->nfingers_down != tp->old_nfingers_down) > return; > > if (tp->hysteresis.enabled) Don't be sad! Thank you, works for me. commit 3d81f1179f007dd555ccf0f183a02494ce22d3a8 Author: Peter Hutterer <> Date: Thu May 3 19:14:14 2018 +1000 touchpad: only try to detect touchpad wobbling with one finger down |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.