GNOME Bugzilla – Bug 747133
overshoot animation is stopped on libinput-managed touchpads
Last modified: 2015-04-01 14:26:02 UTC
If I scroll towards and edge with the touchpad, and move the pointer right away (got 2finger scrolling enabled, maybe makes this more easy/frequent), the overshoot gradient stays set mid-position until the next time scroll events are received. I traced this to the 0/0 scroll event that the libinput driver sends on touchpads to indicate that scrolling finished, it happens to come after the first motion event, which confuses scrolledwindow state and cancels early the kinetic/overshoot animation. I'm attaching a patch that's a bit of a kludge, as we do want to eventually trigger kinetic scrolling on libinput touchpads on 0/0 scroll events, but the patch will at least stop this behavior.
Created attachment 300700 [details] [review] scrolledwindow: Ignore 0/0 scroll events when possibly cancelling animation These should be used eventually to start kinetic scrolling, so should definitely be ignored on cancellation.
Review of attachment 300700 [details] [review]: would perhaps be good to add a comment explaining why this check is necessary ? "libinput is generating scroll events with dx=dy=0"
Pushed with an added comment as suggested. Attachment 300700 [details] pushed as b169643 - scrolledwindow: Ignore 0/0 scroll events when possibly cancelling animation