Enable something like "DragLockButtons" for the scroll button in "ScrollMethod" "Button" mode
Summary
"ScrollMethod" "Button" with Lock Mode
Feature details
Holding the button allows scrolling by moving the mouse/trackball by default. This can get tiresome if you want to e.g. scroll through long documents for prolonged times. Therefore it would be nice to be able to click the button and lock/toggle the scroll mode until the next click of the button.
Bonus: if I hold the button AND move the mouse/trackball at the same time, emulate the default behavior (= disable scrolling when the button is released again).
I have also tried using the DragLockButtons option of libinput to lock the button used for scrolling, expecting this option to provide this feature but while it technically locks the desired button, libinput ignores the scrolling input itself and just moves the mouse pointer.
Affected Hardware
Most likely trackballs and mice
Implementation in Other Systems
I implemented this in Windows by modifying the original TrackballScroll tool from Seelge, see links below.
It allows the following two things:
- Holding the button and moving the ball allows scrolling until the button is released similar to the original version of TrackballScroll and how it works by default in libinput using "ScrollMethod" "Button".
- Clicking the button on its own toggles scroll mode on/off and allows to comfortably scroll through long documents, websites or ebooks without having to hold the button for prolonged periods of time.