From patchwork Wed Mar 14 03:27:29 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [synaptics] Fix inverted circular scrolling direction Date: Wed, 14 Mar 2012 03:27:29 -0000 From: Peter Hutterer X-Patchwork-Id: 9512 Message-Id: <20120314032729.GA16614@yabbi.bne.redhat.com> To: "X.Org Devel List" Cc: Thomas =?iso-8859-1?Q?B=E4chler?= 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 Signed-off-by: Peter Hutterer --- 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); }