[PATCH synaptics] Prevent two-finger taps from being ignored

Peter Hutterer peter.hutterer at who-t.net
Wed Aug 13 22:54:11 PDT 2014


On Sun, Jul 27, 2014 at 12:58:18PM +0200, Gabriele Mazzotta wrote:
> When two fingers are used, the coordinates of only one of them is taken into 
> account. This can lead to sudden variations of the absolute coordinates when 
> two-fingers taps are performed if the finger considered changes.
> 
> Take into account coordinates variations to prevent unwanted taps only if 
> the number of fingers doesn't change.

sorry about the delay. merged and pushed, thanks.

a36edf8..7d0ff39  master -> master

Cheers,
   Peter

> ---
>  src/synaptics.c | 5 +++--
>  1 file changed, 3 insertions(+), 2 deletions(-)
> 
> diff --git a/src/synaptics.c b/src/synaptics.c
> index b25c902..b49957c 100644
> --- a/src/synaptics.c
> +++ b/src/synaptics.c
> @@ -1960,8 +1960,9 @@ HandleTapProcessing(SynapticsPrivate * priv, struct SynapticsHwState *hw,
>              (priv->tap_max_fingers <=
>               ((priv->horiz_scroll_twofinger_on ||
>                 priv->vert_scroll_twofinger_on) ? 2 : 1)) &&
> -            ((abs(hw->x - priv->touch_on.x) >= para->tap_move) ||
> -             (abs(hw->y - priv->touch_on.y) >= para->tap_move)));
> +            (priv->prevFingers == hw->numFingers &&
> +             ((abs(hw->x - priv->touch_on.x) >= para->tap_move) ||
> +              (abs(hw->y - priv->touch_on.y) >= para->tap_move))));
>      press = (hw->left || hw->right || hw->middle);
>  
>      if (touch) {
> -- 
> 2.0.1
> 
> _______________________________________________
> xorg-devel at lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
> 


More information about the xorg-devel mailing list