[PATCH libinput] touchpad: on a non-clickpad, reset the motion history on nfingers change
Hans de Goede
hdegoede at redhat.com
Thu Aug 18 09:22:26 UTC 2016
Hi,
On 18-08-16 08:02, Peter Hutterer wrote:
> The only reason to have more than one finger on a non-clickpad is to tap,
> scroll or gesture. In all cases resetting the motion history is a good idea to
> avoid jumps moving from 2 to 1 finger.
>
> https://bugs.freedesktop.org/show_bug.cgi?id=91695
> https://bugs.freedesktop.org/show_bug.cgi?id=97194
>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
Looks good to me:
Reviewed-by: Hans de Goede <hdegoede at redhat.com>
Regards,
Hans
> ---
> src/evdev-mt-touchpad.c | 7 +++++--
> 1 file changed, 5 insertions(+), 2 deletions(-)
>
> diff --git a/src/evdev-mt-touchpad.c b/src/evdev-mt-touchpad.c
> index 6cebfa3..3baed09 100644
> --- a/src/evdev-mt-touchpad.c
> +++ b/src/evdev-mt-touchpad.c
> @@ -957,8 +957,11 @@ tp_need_motion_history_reset(struct tp_dispatch *tp)
> {
> bool rc = false;
>
> - /* semi-mt finger postions may "jump" when nfingers changes */
> - if (tp->semi_mt && tp->nfingers_down != tp->old_nfingers_down)
> + /* Semi-mt finger postions may "jump" when nfingers changes. And on
> + * a non-clickpad the only reason to have more than one finger down
> + * is scrolling/gesture, so a reset just makes things sane again */
> + if ((tp->semi_mt || !tp->buttons.is_clickpad) &&
> + tp->nfingers_down != tp->old_nfingers_down)
> return true;
>
> /* if we're transitioning between slots and fake touches in either
>
More information about the wayland-devel
mailing list