[PATCH synaptics] Use cumulative relative touch movements while scrolling

Peter Hutterer peter.hutterer at who-t.net
Thu Sep 4 20:39:53 PDT 2014


On Thu, Aug 14, 2014 at 08:03:42PM +0200, Gabriele Mazzotta wrote:
> Signed-off-by: Gabriele Mazzotta <gabriele.mzt at gmail.com>

sorry about the delay, merged, 
   90d1930..ec0901e  master -> master

Cheers,
  Peter

> ---
>  src/eventcomm.c | 8 +++++---
>  src/synaptics.c | 8 +++++---
>  2 files changed, 10 insertions(+), 6 deletions(-)
> 
> diff --git a/src/eventcomm.c b/src/eventcomm.c
> index 1f440b8..54421bb 100644
> --- a/src/eventcomm.c
> +++ b/src/eventcomm.c
> @@ -665,9 +665,11 @@ EventReadHwState(InputInfoPtr pInfo,
>  
>      SynapticsResetTouchHwState(hw, FALSE);
>  
> -    /* Reset cumulative values if buttons were not previously pressed,
> -     * or no finger was previously present. */
> -    if ((!hw->left && !hw->right && !hw->middle) || hw->z < para->finger_low) {
> +    /* Reset cumulative values if buttons were not previously pressed and no
> +     * two-finger scrolling is ongoing, or no finger was previously present. */
> +    if (((!hw->left && !hw->right && !hw->middle) &&
> +        !(priv->vert_scroll_twofinger_on || priv->vert_scroll_twofinger_on)) ||
> +        hw->z < para->finger_low) {
>          hw->cumulative_dx = hw->x;
>          hw->cumulative_dy = hw->y;
>          sync_cumulative = TRUE;
> diff --git a/src/synaptics.c b/src/synaptics.c
> index b1dbe03..a84536b 100644
> --- a/src/synaptics.c
> +++ b/src/synaptics.c
> @@ -3187,9 +3187,11 @@ HandleState(InputInfoPtr pInfo, struct SynapticsHwState *hw, CARD32 now,
>          }
>      }
>  
> -    /* If a physical button is pressed on a clickpad, use cumulative relative
> -     * touch movements for motion */
> -    if (para->clickpad && (priv->lastButtons & 7) &&
> +    /* If a physical button is pressed on a clickpad or a two-finger scrolling
> +     * is ongoing, use cumulative relative touch movements for motion */
> +    if (para->clickpad &&
> +        ((priv->lastButtons & 7) ||
> +        (priv->vert_scroll_twofinger_on || priv->horiz_scroll_twofinger_on)) &&
>          priv->last_button_area != TOP_BUTTON_AREA) {
>          hw->x = hw->cumulative_dx;
>          hw->y = hw->cumulative_dy;
> -- 
> 2.1.0.rc1
> 
> _______________________________________________
> 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