summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2012-04-26 12:00:49 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2012-04-26 16:22:37 +1000
commit58581bfbecfc15e7fa63c2fa4be20d2b0654f9b8 (patch)
tree4dc10f53c2728231f3f11d268535ae7966c4b22a
parent1a76d9f00e1e54ba912a47aa665968e0cfe1b8a0 (diff)
Reset scroll delta when no finger is touching
Provides for a more consistent scrolling experience, otherwise delta leftovers may trigger extra events even when the actual scrolling action stays the same. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
-rw-r--r--src/synaptics.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/synaptics.c b/src/synaptics.c
index 893a5c8..51ecda5 100644
--- a/src/synaptics.c
+++ b/src/synaptics.c
@@ -2398,6 +2398,8 @@ HandleScrolling(SynapticsPrivate *priv, struct SynapticsHwState *hw,
/* scroll detection */
if (finger && priv->finger_state == FS_UNTOUCHED) {
stop_coasting(priv);
+ priv->scroll.delta_y = 0;
+ priv->scroll.delta_x = 0;
if (para->circular_scrolling) {
if ((para->circular_trigger == 0 && edge) ||
(para->circular_trigger == 1 && edge & TOP_EDGE) ||