[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