[PATCH synaptics] Fix inverted circular scrolling direction

Peter Hutterer peter.hutterer at who-t.net
Tue Mar 13 20:27:29 PDT 2012


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);
         }
-- 
1.7.7.6



More information about the xorg-devel mailing list