[PATCH libinput 2/4] touchpad: reset the wobble detection for non-pointer events
Konstantin Kharlamov
hi-angel at yandex.ru
Wed May 2 09:08:58 UTC 2018
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.hutterer at 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;
>
More information about the wayland-devel
mailing list