Bug 443727 - Scroll mouse wheel -> Cycle through desktops not working for MX Master
Summary: Scroll mouse wheel -> Cycle through desktops not working for MX Master
Status: RESOLVED FIXED
Alias: None
Product: lattedock
Classification: Unmaintained
Component: application (other bugs)
Version First Reported In: 0.10.2
Platform: Manjaro Linux
: NOR normal
Target Milestone: ---
Assignee: Michail Vourlakos
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-10-14 16:03 UTC by Kristen McWilliam
Modified: 2022-06-19 05:22 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kristen McWilliam 2021-10-14 16:03:24 UTC
SUMMARY

One of my mice is a Logitech MX Master, and for some reason scrolling on the taskbar to cycle desktops doesn't work with this specific mouse.


STEPS TO REPRODUCE
1. Scroll on empty part of task bar with MX Master

OBSERVED RESULT
None

EXPECTED RESULT
Change virtual desktop

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 5.22.5
KDE Frameworks Version: 5.86.0
Qt Version: 5.15.2

ADDITIONAL INFORMATION


`evtest` for the MX Master:

```
Event: time 1634226719.154269, -------------- SYN_REPORT ------------
Event: time 1634226719.190266, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226719.190266, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1634226719.190266, -------------- SYN_REPORT ------------
Event: time 1634226719.286266, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226719.286266, -------------- SYN_REPORT ------------
Event: time 1634226719.330269, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226719.330269, -------------- SYN_REPORT ------------
Event: time 1634226719.354264, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226719.354264, -------------- SYN_REPORT ------------
Event: time 1634226719.378268, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226719.378268, -------------- SYN_REPORT ------------
Event: time 1634226719.850253, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226719.850253, -------------- SYN_REPORT ------------
Event: time 1634226719.874254, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226719.874254, -------------- SYN_REPORT ------------
Event: time 1634226719.890252, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226719.890252, -------------- SYN_REPORT ------------
Event: time 1634226719.898248, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226719.898248, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1634226719.898248, -------------- SYN_REPORT ------------
Event: time 1634226719.906250, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226719.906250, -------------- SYN_REPORT ------------
Event: time 1634226719.922250, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226719.922250, -------------- SYN_REPORT ------------
Event: time 1634226719.930251, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226719.930251, -------------- SYN_REPORT ------------
Event: time 1634226719.946250, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226719.946250, -------------- SYN_REPORT ------------
Event: time 1634226720.100250, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226720.100250, -------------- SYN_REPORT ------------
Event: time 1634226720.172251, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226720.172251, -------------- SYN_REPORT ------------
Event: time 1634226720.196248, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226720.196248, -------------- SYN_REPORT ------------
Event: time 1634226720.220248, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226720.220248, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1634226720.220248, -------------- SYN_REPORT ------------
Event: time 1634226720.236247, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226720.236247, -------------- SYN_REPORT ------------
Event: time 1634226720.262249, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226720.262249, -------------- SYN_REPORT ------------
Event: time 1634226720.276269, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226720.276269, -------------- SYN_REPORT ------------
Event: time 1634226720.302250, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226720.302250, -------------- SYN_REPORT ------------
Event: time 1634226720.490245, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226720.490245, -------------- SYN_REPORT ------------
Event: time 1634226720.568246, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226720.568246, -------------- SYN_REPORT ------------
Event: time 1634226720.592247, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226720.592247, -------------- SYN_REPORT ------------
Event: time 1634226720.608249, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -15
Event: time 1634226720.608249, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
```

`evtest` for my MX Vertical (which works as expected):

```
Event: time 1634226913.533252, -------------- SYN_REPORT ------------
Event: time 1634226913.903235, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1634226913.903235, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -120
Event: time 1634226913.903235, -------------- SYN_REPORT ------------
Event: time 1634226914.379228, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1634226914.379228, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -120
Event: time 1634226914.379228, -------------- SYN_REPORT ------------
Event: time 1634226914.717221, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1634226914.717221, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -120
Event: time 1634226914.717221, -------------- SYN_REPORT ------------
Event: time 1634226915.401212, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1634226915.401212, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -120
Event: time 1634226915.401212, -------------- SYN_REPORT ------------
Event: time 1634226915.797207, type 2 (EV_REL), code 8 (REL_WHEEL), value -1
Event: time 1634226915.797207, type 2 (EV_REL), code 11 (REL_WHEEL_HI_RES), value -120
```

Looks like maybe the issue is the Master is only emitting the `REL_WHEEL` infrequently, and the Vertical always does.. I took a quick poke in the relevant code and the `QWheelEvent()` there is marked as depreciated: https://invent.kde.org/plasma/latte-dock/-/blob/d354cc45135d8ec41f96072dad493ccfa530e379/app/view/eventssink.cpp#L195 -- so wondering if perhaps the issue is even resolved by the new function, as QWheelEvent has a bunch of mentions of supporting high-resolution mouse wheels, but I am not familiar with any of it.
Comment 1 Richard Llom 2022-06-18 13:39:45 UTC
Can you still reproduce this issue?
Comment 2 Kristen McWilliam 2022-06-18 15:22:31 UTC
(In reply to Richard Llom from comment #1)
> Can you still reproduce this issue?

I just tried in KDE Neon, it seems to be working now! 👍