mirror of
https://github.com/X11Libre/xf86-input-synaptics.git
synced 2026-03-24 01:34:04 +00:00
Fix coasting for negative ScrollDelta
Fix the coasting direction for when VertScrollDelta or HorizScrollDelta is
negative.
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=49966
Regression introduced in 0de4445ff8
Signed-off-by: Chun Yang <Chuck.Yang@gmail.com>
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
committed by
Peter Hutterer
parent
1ee5bd0af6
commit
53557a5cab
@@ -2393,7 +2393,7 @@ HandleScrolling(SynapticsPrivate * priv, struct SynapticsHwState *hw,
|
||||
double dtime = (hw->millis - priv->scroll.last_millis) / 1000.0;
|
||||
double ddy = para->coasting_friction * dtime;
|
||||
|
||||
priv->scroll.delta_y += priv->scroll.coast_speed_y * dtime * para->scroll_dist_vert;
|
||||
priv->scroll.delta_y += priv->scroll.coast_speed_y * dtime * abs(para->scroll_dist_vert);
|
||||
delay = MIN(delay, POLL_MS);
|
||||
if (abs(priv->scroll.coast_speed_y) < ddy) {
|
||||
priv->scroll.coast_speed_y = 0;
|
||||
@@ -2408,7 +2408,7 @@ HandleScrolling(SynapticsPrivate * priv, struct SynapticsHwState *hw,
|
||||
if (priv->scroll.coast_speed_x) {
|
||||
double dtime = (hw->millis - priv->scroll.last_millis) / 1000.0;
|
||||
double ddx = para->coasting_friction * dtime;
|
||||
priv->scroll.delta_x += priv->scroll.coast_speed_x * dtime * para->scroll_dist_vert;
|
||||
priv->scroll.delta_x += priv->scroll.coast_speed_x * dtime * abs(para->scroll_dist_horiz);
|
||||
delay = MIN(delay, POLL_MS);
|
||||
if (abs(priv->scroll.coast_speed_x) < ddx) {
|
||||
priv->scroll.coast_speed_x = 0;
|
||||
|
||||
Reference in New Issue
Block a user