SUMMARY STEPS TO REPRODUCE 1. Close all app windows 2. Use touchpad (two finger scroll) to switch virtual desktop 3. Observe the transition OBSERVED RESULT The desktop is jumping, check the video EXPECTED RESULT The desktop should move smoothly SOFTWARE/OS VERSIONS Operating System: openSUSE Tumbleweed 20200211 KDE Plasma Version: 5.18.0 KDE Frameworks Version: 5.66.0 Qt Version: 5.14.1 Kernel Version: 5.5.2-1-default OS Type: 64-bit Processors: 8 × Intel® Core™ i7-8550U CPU @ 1.80GHz Memory: 31.1 GiB ADDITIONAL INFORMATION
Created attachment 125951 [details] desktop jumping when scroll with touchpad
Can reproduce. This makes switching using a touchpad scroll almost impossible and very frustrating.
Investigated. We haven't changed anything our side. Scrolling momentum is being faked at a lower level. angleDelta and pixelDelta keep being sent after a physical scroll finishes which adds up and goes psycho. We don't have QWheelEvent::phase() data which would be ideal for detecting these fake events. At best, I can bodge it by checking for pixelDelta and setting a different target to trigger the action, but it's not a proper fix and that could break setups without the fake scrolls. Which means I'm stuck.
The Synaptics touchpad drivers can send fake scroll events, but Libinput deliberately does not, delegating that to the UI toolkit. Yunhe, which drivers were you using? I was able to reproduce this using Libinput, which means the culprit would be somewhere in Qt.
Hi Nate, I am using libinput.
I'm able to reproduce this bug even with a regular mouse. It seems like the switch desktop action is invoked per each wheel tick, which can be a lot! Either way, this bug doesn't belong here.
I can also reproduce it with Thinkpad track point, which is similar to a mouse wheel without ticks. Maybe it should detect wheel scroll distance instead of number of ticks.
> Either way, this bug doesn't belong here. Where does it belong? Plasma? Qt?
plasmashell
Exact same symptoms and workaround as Bug 419867; marking as a duplicate. *** This bug has been marked as a duplicate of bug 419867 ***
*** This bug has been marked as a duplicate of bug 419878 ***