[PATCH synaptics] Stop coasting when two-finger scroll begins

Peter Hutterer peter.hutterer at who-t.net
Mon Apr 16 20:32:05 PDT 2012


On Mon, Apr 16, 2012 at 12:01:56PM +0200, Pierre Lulé wrote:
> There is currently a problem that can lead the coasting to continue while scrolling in a particular situation :
> with
>  Option "VertTwoFingerScroll" "on"
>  Option "CornerCoasting" "0"
>  Option "CoastingSpeed" "10"
>  Option "CoastingFriction" "50"
>  Option "CornerCoasting" "0"
> If you scroll down with two finger then raise a finger, coasting will start. But if you put down that finger and try to
> scroll up, the inertia will still scroll down while you scroll up. This can look like a very particular situation, but
> happens to me often while scrolling in a big document.
> 
> This (awfully simple) patch stop coasting when detecting two-finger scroll.
> 
> Signed-off-by: Pierre Lulé <pierre at lule.fr>

applied, thank you.

Cheers,
  Peter
> ---
>  src/synaptics.c |    2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/src/synaptics.c b/src/synaptics.c
> index 40478ec..2ea7375 100644
> --- a/src/synaptics.c
> +++ b/src/synaptics.c
> @@ -2418,6 +2418,7 @@ HandleScrolling(SynapticsPrivate *priv, struct SynapticsHwState *hw,
>  	    if (hw->numFingers == 2) {
>  		if (!priv->vert_scroll_twofinger_on &&
>  		    (para->scroll_twofinger_vert) && (para->scroll_dist_vert != 0)) {
> +		    stop_coasting(priv);
>  		    priv->vert_scroll_twofinger_on = TRUE;
>  		    priv->vert_scroll_edge_on = FALSE;
>  		    priv->scroll.last_y = hw->y;
> @@ -2425,6 +2426,7 @@ HandleScrolling(SynapticsPrivate *priv, struct SynapticsHwState *hw,
>  		}
>  		if (!priv->horiz_scroll_twofinger_on &&
>  		    (para->scroll_twofinger_horiz) && (para->scroll_dist_horiz != 0)) {
> +		    stop_coasting(priv);
>  		    priv->horiz_scroll_twofinger_on = TRUE;
>  		    priv->horiz_scroll_edge_on = FALSE;
>  		    priv->scroll.last_x = hw->x;
> -- 
> 1.7.10
> 
> _______________________________________________
> 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