Bug 417566 - Bouncing when changing virtual desktop through touchpad scroll
Summary: Bouncing when changing virtual desktop through touchpad scroll
Status: RESOLVED DUPLICATE of bug 419867
Alias: None
Product: plasmashell
Classification: Plasma
Component: Desktop Containment (show other bugs)
Version: 5.18.0
Platform: OpenSUSE Linux
: VHI major
Target Milestone: 1.0
Assignee: Marco Martin
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2020-02-13 13:55 UTC by Guo Yunhe
Modified: 2020-06-23 16:11 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
desktop jumping when scroll with touchpad (2.01 MB, video/webm)
2020-02-13 13:59 UTC, Guo Yunhe
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Guo Yunhe 2020-02-13 13:55:46 UTC
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
Comment 1 Guo Yunhe 2020-02-13 13:59:27 UTC
Created attachment 125951 [details]
desktop jumping when scroll with touchpad
Comment 2 Nate Graham 2020-02-15 22:55:33 UTC
Can reproduce. This makes switching using a touchpad scroll almost impossible and very frustrating.
Comment 3 David Edmundson 2020-03-04 23:12:05 UTC
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.
Comment 4 Nate Graham 2020-03-04 23:14:24 UTC
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.
Comment 5 Guo Yunhe 2020-03-05 08:28:22 UTC
Hi Nate, I am using libinput.
Comment 6 Vlad Zahorodnii 2020-03-10 12:54:41 UTC
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.
Comment 7 Guo Yunhe 2020-03-10 12:59:37 UTC
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.
Comment 8 Nate Graham 2020-03-10 14:23:13 UTC
> Either way, this bug doesn't belong here.
Where does it belong? Plasma? Qt?
Comment 9 Vlad Zahorodnii 2020-03-10 14:58:04 UTC
plasmashell
Comment 10 Nate Graham 2020-06-23 16:11:53 UTC
Exact same symptoms and workaround as Bug 419867; marking as a duplicate.

*** This bug has been marked as a duplicate of bug 419867 ***