[PATCH synaptics] Fix inverted circular scrolling direction
Chase Douglas
chase.douglas at canonical.com
Fri Mar 16 16:56:42 PDT 2012
On 03/13/2012 08:27 PM, Peter Hutterer wrote:
> Introduced in 26831a6eeac6762ad4d99532f62ebbab0827de10.
> In said commit, the old-style button events were changed to delta
> accumulation. Alas, for circular scrolling, a positive delta is up whereas
> for everything else a positive delta is down.
>
> Reported-by: Thomas Bächler <thomas at archlinux.org>
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
> ---
> src/synaptics.c | 4 ++--
> 1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/synaptics.c b/src/synaptics.c
> index fa46f0d..c9609cd 100644
> --- a/src/synaptics.c
> +++ b/src/synaptics.c
> @@ -2554,9 +2554,9 @@ HandleScrolling(SynapticsPrivate *priv, struct SynapticsHwState *hw,
> double diff = diffa(priv->scroll.last_a, angle(priv, hw->x, hw->y));
> if (delta >= 0.005 && diff != 0.0) {
> if (priv->circ_scroll_vert)
> - priv->scroll.delta_y += diff / delta * para->scroll_dist_vert;
> + priv->scroll.delta_y -= diff / delta * para->scroll_dist_vert;
> else
> - priv->scroll.delta_x += diff / delta * para->scroll_dist_horiz;;
> + priv->scroll.delta_x -= diff / delta * para->scroll_dist_horiz;;
> priv->scroll.last_a = angle(priv, hw->x, hw->y);
> DBG(priv, 10, "circ scoll delta: %.2f diff %.2f angle %.2f\n", delta, diff, priv->scroll.last_a);
> }
Looks fine to me, though I'd suggest cleaning up the double semi-colon.
Reviewed-by: Chase Douglas <chase.douglas at canonical.com>
More information about the xorg-devel
mailing list