Hello everyone,
I have a strange issue with my G502 mouse:
Every first “tick” of scrolling doesn’t apply. Not in the Browser, not in games, just nowhere.
The mouse wheel one the G502 is the type where you can feel distinct clicks while rotating the wheel and every first “tick” while starting to scroll is ignored.
This always happens when the mouse wheel wasn’t used for more than ~1.5 seconds.
libinput debug-events
shows the following:
event8 POINTER_SCROLL_WHEEL +3.775s vert 7.50/60.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +3.785s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +3.794s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +3.799s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +5.000s vert 7.50/60.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +5.029s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +5.041s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +5.049s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +5.054s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +6.694s vert -7.50/-60.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +6.699s vert -1.88/-15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +6.702s vert -1.88/-15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +6.708s vert -1.88/-15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +7.588s vert -7.50/-60.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +7.594s vert -1.88/-15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +7.602s vert -1.88/-15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +7.605s vert -1.88/-15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +7.615s vert -1.88/-15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +10.139s vert 7.50/60.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +10.146s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +10.153s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +10.156s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +11.311s vert 7.50/60.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +11.328s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +11.336s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +11.343s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +11.347s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +13.267s vert -7.50/-60.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +13.274s vert -1.88/-15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +13.278s vert -1.88/-15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +13.283s vert -1.88/-15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +14.104s vert -7.50/-60.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +14.113s vert -1.88/-15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +14.122s vert -1.88/-15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +14.128s vert -1.88/-15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +14.142s vert -1.88/-15.0* horiz 0.00/0.0 (wheel)
So every “tick” was registered.
Here the “tick” was registered but no scroll was performed:
event8 POINTER_SCROLL_WHEEL +3.775s vert 7.50/60.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +3.785s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +3.794s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +3.799s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
Here the “tick” was registered and a scroll was performed:
event8 POINTER_SCROLL_WHEEL +5.000s vert 7.50/60.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +5.029s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +5.041s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +5.049s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
event8 POINTER_SCROLL_WHEEL +5.054s vert 1.88/15.0* horiz 0.00/0.0 (wheel)
And this goes on and on and on in the shown log, the first “tick” doesn’t result in a scroll, the next one does. Then I wait ~1.5 seconds and the next “tick” doesn’t result in a scroll while the one right after does.
I noticed that all “ticks” that perform a scroll have 1x7.50
and 4x1.88
while “ticks” that doesn’t only have 3x1.88
.
I tried using solaar and changing the xinput
value of libinput Scrolling Pixel Distance
to no avail.
Does anyone have an idea what I could try next?
EDIT: After some more testing the issue is not, that the first “tick” isn’t performing a scroll instead it’s very application depended. Applications like steam and discord perform a scroll on every “tick” while firefox and every game I tested don’t perform a scroll.
The next thing I tried to fix this was to increase the wheel speed via libinput
but this didn’t work either.
EDIT2: Using imwheel
the issue changes a bit, now the 1.5 seconds are gone but instead the first “tick” in either direction is either ignored or performs a very small scroll.
For example in Cs:Go I have to scroll two “ticks” up to change a weapon, after that I the item is changed every “tick” I scroll down. Now if I want to scroll down I will have to scroll two “ticks” down and so on.
In Steam on the other hand every “tick” performs a scroll, but the first “tick” in either direction is very very short while every other “tick” perform a normal scroll.
If you need any logs or other examples let me know and when it’s logs please add how to get them