Is there a way to turn off high resolution scroll wheel support for a mouse?
by kalaleq from LinuxQuestions.org on (#5SPEH)
Hi there! I've recently (within the last year or so) noticed that my mouse, a Logitech M705 wireless "marathon mouse", has picked up support for trackpad-style "high resolution" scrolling for the mouse wheel. I think i first noticed this in firefox, but over the past year it's turned up more and more thanks, i believe, to support in recent kernels (i'm on 5.15) and in xinput.
I want - need - to turn it off.
The reason is simple - the mouse wheel is also my middle button. I tend to keep a finger on it at all times. And the high resolution support is so over-sensitive that it scrolls randomly constantly while in use. Even if i could train myself to hover my finger over it instead of on it, as soon as i want to middle-click it tends to scroll whatever i was trying to click on out of the way. It's basically unusable as a middle button now, and it's also useless to do any kind of precision scrolling at all.
I did a bunch of searching to no avail, finding only advice about *enabling* high resolution scrolling, about fixing a problem with certain Microsoft mice, or old out of date advice relating to pre-xinput implementations.
I believe i essentially understand the problem now. The driver for this mouse is using a feature associated with the constant REL_WHEEL_HI_RES in the kernel source, that causes wheel movement to send both movement-style "high resolution" signals, and button-style wheel events (buttons 4 and 5, when the wheel gently "clicks" through one cycle of motion). Apps that use the button events (like xterm) work beautifully. Everything that uses the movement events (firefox and basically now everything that uses xinput) is pretty much unusable. In xinput's test mode it looks like this:
# xinput test 'Logitech M705'
motion a[3]=XXXX # signal for motion style, many per button click
button press 5 # signal for button scrolling,
button release 5 # once per wheel "click"
I can't find an option anywhere to turn off the 'motion' events, which would be my preference, assuming programs that use it would then fall back on the button presses.
In solaar there's an option to turn off high resolution wheel movement, but all that does is limit the "movement" events to once per "click" and the button events to much less than that, which makes scrolling unusable in all applications as i have to scroll like mad just to move one line.
I know there are some options i haven't entirely figured out to control this in firefox specifically but firefox is just one piece of the puzzle, and i suspect that even if i toned it down, it would still be too sensitive to be usable.
At this point i'd be happy just to patch the kernel so that this device looks like it doesn't support the "high res" movement option at all. Looks like that could be done in drivers/hid/hid-logitech-hidpp.c but i'm out of my depth here.
Any advice? Does anyone else at least feel my pain? Thanks!
-damon
I want - need - to turn it off.
The reason is simple - the mouse wheel is also my middle button. I tend to keep a finger on it at all times. And the high resolution support is so over-sensitive that it scrolls randomly constantly while in use. Even if i could train myself to hover my finger over it instead of on it, as soon as i want to middle-click it tends to scroll whatever i was trying to click on out of the way. It's basically unusable as a middle button now, and it's also useless to do any kind of precision scrolling at all.
I did a bunch of searching to no avail, finding only advice about *enabling* high resolution scrolling, about fixing a problem with certain Microsoft mice, or old out of date advice relating to pre-xinput implementations.
I believe i essentially understand the problem now. The driver for this mouse is using a feature associated with the constant REL_WHEEL_HI_RES in the kernel source, that causes wheel movement to send both movement-style "high resolution" signals, and button-style wheel events (buttons 4 and 5, when the wheel gently "clicks" through one cycle of motion). Apps that use the button events (like xterm) work beautifully. Everything that uses the movement events (firefox and basically now everything that uses xinput) is pretty much unusable. In xinput's test mode it looks like this:
# xinput test 'Logitech M705'
motion a[3]=XXXX # signal for motion style, many per button click
button press 5 # signal for button scrolling,
button release 5 # once per wheel "click"
I can't find an option anywhere to turn off the 'motion' events, which would be my preference, assuming programs that use it would then fall back on the button presses.
In solaar there's an option to turn off high resolution wheel movement, but all that does is limit the "movement" events to once per "click" and the button events to much less than that, which makes scrolling unusable in all applications as i have to scroll like mad just to move one line.
I know there are some options i haven't entirely figured out to control this in firefox specifically but firefox is just one piece of the puzzle, and i suspect that even if i toned it down, it would still be too sensitive to be usable.
At this point i'd be happy just to patch the kernel so that this device looks like it doesn't support the "high res" movement option at all. Looks like that could be done in drivers/hid/hid-logitech-hidpp.c but i'm out of my depth here.
Any advice? Does anyone else at least feel my pain? Thanks!
-damon