Summary: | AlpsPS/2 ALPS DualPoint TouchPad scrolling is jumpy | ||
---|---|---|---|
Product: | Wayland | Reporter: | Ignacio Casal Quinteiro <nacho.resa> |
Component: | libinput | Assignee: | Wayland bug list <wayland-bugs> |
Status: | RESOLVED FIXED | QA Contact: | |
Severity: | normal | ||
Priority: | medium | CC: | jwrdegoede, nacho.resa, peter.hutterer |
Version: | unspecified | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: | jumpy log |
Description
Ignacio Casal Quinteiro
2015-06-16 09:10:36 UTC
Created attachment 116530 [details]
jumpy log
And here the log
ok, afaict what's happening here is that you set the finger down, then move it and edge scrolling doesn't trigger until you pass the built-in motion threshold (5mm). When you pass it, the first scroll event includes the full motion so far but it's accelerated too which causes that massive jump. I guess that leaves three options: * reduce the initial threshold, but would likely cause the same jump even at 3mm and I don't want to go below that * don't release the full distance but just the last delta when we hit the threshold. this would add a dead zone to scrolling * replay the motion history in full once the threshold is hit. this would only add a slight delay to scrolling Test packages for the three outlined above: 1) 3mm threshold: http://koji.fedoraproject.org/koji/taskinfo?taskID=10152166 2) last-delta: http://koji.fedoraproject.org/koji/taskinfo?taskID=10152173 3) replay: http://koji.fedoraproject.org/koji/taskinfo?taskID=10152180 Note that 3 is the technically best solution but is mostly pointless in X since we don't use the event timestamps - the server adds their own. So I don't expect that to be much of an improvement. This may actually work better in a pure wayland context but even there I doubt it since the events still come in simultaneously and thus render at the same time. For 2: that's not the complete solution yet since it'll have the same deadzone for scroll timeouts (and we def. don't want that). I just felt lazy :) So 3 I am not going to try it since I am with X. I just tried 2 and it seems much better, at least I do not see the jumpy problem with it. Do you want me to try 1 as well? 2 includes 1, they're all on top of each other. It' be interesting if 1 alone is enough so please do give it a try. (In reply to Peter Hutterer from comment #3) > For 2: that's not the complete solution yet since it'll have the same > deadzone for scroll timeouts (and we def. don't want that). I just felt lazy > :) note to self: we already have that deadzone anyway for timeout-based scrolling, so leaving the current behaviour shouldn't be much of an issue then. So I just tried 1 and it seems to be less jumpy than before, though I still feel it a bit jumpy even though now it is hard to notice. From 1 to 2 I'd say 2 is a bit better but dunno it is hard to say without being able to test both side by side :) commit abc8c0d6c29ce60275ff8a35fc7bdbbf6407969b Author: Peter Hutterer <peter.hutterer@who-t.net> Date: Fri Jun 19 10:11:13 2015 +1000 touchpad: reduce edge scroll motion threshold to 3mm commit f783dae0a70e660f8fc0175b4a702bd3f9953d7d Author: Peter Hutterer <peter.hutterer@who-t.net> Date: Fri Jun 19 09:21:58 2015 +1000 touchpad: only send most recent edge delta when triggering threshold |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.