WIP: Add a scroll button lock feature
Scroll button locking is an accessibility feature. When eneabled, the scroll button does not need to be held down, the first click holds it logically down, to be released on the second click of that same button.
This is implemented as simple event filter, so we still get the same behavior from the emulated logical button, i.e. a physical double click results in a single logical click of that button provided no scrolling was triggered.
This can be tested with the
--enable-scroll-button-lock argument in
libinput debug-events and
$ sudo ./builddir/libinput-debug-events --enable-scroll-button-lock --set-scroll-method=button --set-scroll-button=BTN_RIGHT
libinput debug-gui do not have an effect on the running session.
- test cases
- default settings and changing config settings
- changing the button, enabling/disabling the button lock while the method is enabled/disabled
- what happens when other buttons are pressed while scrolling?
- interaction with middle button emulation needs to be better defined, I don't think double-clicking a middle button emulation button is useful here