Scroll wheel input is duplicating at higher values

I have my mouse’s scroll speed set one tick below the halfpoint on KDE’s mouse settings panel.

This is too slow for me though. I want to have it at the halfway point, but if I do that, the mousewheel’s input is sometimes applied twice in certain applications (such as Minecraft via MultiMC/Onesix, the hotbar scrolls two spaces instead of one)

Is there a more concrete way to test how my mouse is being input by the system? (edit below) I believe Windows only does it by how many lines you want to move when you scroll. And of course is there a way to prevent input duplication.

edit: Just checked, it also happens in Chromium as well. Reducing the scroll speed on the system settings panel by two ticks doesn’t affect scroll rate in Chromium. But moving it to the halfway point does increase the scroll rate.

The mouse is a G604 Lightspeed connected by bluetooth.

edit 2: found Mouse buttons - ArchWiki, suggesting to use xev | grep button. here’s the output at half scroll speed, scrolling once up, down, up, down:

    state 0x10, button 4, same_screen YES
    state 0x810, button 4, same_screen YES
    state 0x10, button 4, same_screen YES
    state 0x810, button 4, same_screen YES
    state 0x10, button 4, same_screen YES
    state 0x810, button 4, same_screen YES
    state 0x10, button 5, same_screen YES
    state 0x1010, button 5, same_screen YES
    state 0x10, button 5, same_screen YES
    state 0x1010, button 5, same_screen YES
    state 0x10, button 4, same_screen YES
    state 0x810, button 4, same_screen YES
    state 0x10, button 4, same_screen YES
    state 0x810, button 4, same_screen YES
    state 0x10, button 5, same_screen YES
    state 0x1010, button 5, same_screen YES
    state 0x10, button 5, same_screen YES
    state 0x1010, button 5, same_screen YES

output when at 1 tick below halfway:

    state 0x10, button 4, same_screen YES
    state 0x810, button 4, same_screen YES
    state 0x10, button 5, same_screen YES
    state 0x1010, button 5, same_screen YES
    state 0x10, button 4, same_screen YES
    state 0x810, button 4, same_screen YES
    state 0x10, button 5, same_screen YES
    state 0x1010, button 5, same_screen YES

Using Plasma Wayland as the DE (confirmed with loginctl show-session -p Type)

I would suspect that may be related to bluetooth and the mouse. There are two possible problems there. Mouse & bluetooth.

Have you tried a usb wired mouse to determine if it is or is not bluetooth related?

Yep, same outputs from xev. Input is still duplicated. Seems like it’ll report 5 events if you scroll twice in the same direction. (Logitech G502 wired mouse)

Half-speed, up up down down:

    state 0x10, button 4, same_screen YES
    state 0x810, button 4, same_screen YES
    state 0x10, button 4, same_screen YES
    state 0x810, button 4, same_screen YES
    state 0x10, button 4, same_screen YES
    state 0x810, button 4, same_screen YES
    state 0x10, button 4, same_screen YES
    state 0x810, button 4, same_screen YES
    state 0x10, button 4, same_screen YES
    state 0x810, button 4, same_screen YES
    state 0x10, button 5, same_screen YES
    state 0x1010, button 5, same_screen YES
    state 0x10, button 5, same_screen YES
    state 0x1010, button 5, same_screen YES
    state 0x10, button 5, same_screen YES
    state 0x1010, button 5, same_screen YES
    state 0x10, button 5, same_screen YES
    state 0x1010, button 5, same_screen YES
    state 0x10, button 5, same_screen YES
    state 0x1010, button 5, same_screen YES

1-below-half:

    state 0x10, button 4, same_screen YES
    state 0x810, button 4, same_screen YES
    state 0x10, button 4, same_screen YES
    state 0x810, button 4, same_screen YES
    state 0x10, button 4, same_screen YES
    state 0x810, button 4, same_screen YES
    state 0x10, button 5, same_screen YES
    state 0x1010, button 5, same_screen YES
    state 0x10, button 5, same_screen YES
    state 0x1010, button 5, same_screen YES
    state 0x10, button 5, same_screen YES
    state 0x1010, button 5, same_screen YES

Also has the same output on a generic Dell usb optical mouse.
However, chromium is responding to the scroll speed correctly now for both USB mice.
Minecraft doesn’t. Not particularly concerned with that so don’t worry.
So yes, it seems to be related to bluetooth mouse input.

Scrolled 4 times at different tick speeds on KDE’s mouse settings in Chromium using the G604.

Interesting… This is actually the same scroll distance for the 502 USB mouse as well. So chromium does respond to scroll amount (line count?) correctly on the 604, it’s just that the setting panel’s slider UI for scroll speed does this weird switchover from slow to fast.

Still having this issue, but I also found this.

https://bugs.kde.org/show_bug.cgi?id=403843

Could it be related? Seems this was addressed last year.