input: slow trackpad scrolling now eventually scroll a line

Before, we converted each axis event's scroll amount to an integer and
scrolled that many lines.

However, axis events are speed sensitive - very slow scrolling will
result in events with a scroll amount that is < 1.0.

For us, this meant we never scrolled a single line. You could slow
scroll all day if you wanted, and still we would never scroll a single
line.

Fix this by aggregating the scroll amount from axis events until the
scroll amount is > 1.0, and then scroll.
This commit is contained in:
Daniel Eklöf 2020-04-10 18:43:29 +02:00
parent 03bdb40bd9
commit 00dbe12e41
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
3 changed files with 19 additions and 1 deletions

View file

@ -292,6 +292,7 @@ struct wayland {
struct timeval last_time;
/* We used a discrete axis event in the current pointer frame */
double axis_aggregated;
bool have_discrete;
} mouse;