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 in0de4445ff8Signed-off-by: Chun Yang <Chuck.Yang@gmail.com> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> (cherry picked from commit53557a5cab)
This commit is contained in:
committed by
Peter Hutterer
parent
23e87b57bb
commit
67a02d676c
@@ -2740,7 +2740,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;
|
||||
@@ -2755,7 +2755,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