RFE: Proposal for libinput mouse wheel acceleration
Submitted by Adam Goode
Assigned to Wayland bug list
Link to original bug (#101141)
Description
Let me start with this proposal for mouse wheel acceleration in libinput.
Use case:
- Scrolling through a long document is slow with a mouse wheel
Prior work showing benefits of wheel acceleration:
- macOS
- Chrome OS
Requirements:
- Don't break anything
- Require minimum changes from clients
Proposal:
- Mouse wheel acceleration at the libinput level, only for mouse wheels
- Do no acceleration on values returned from libinput_event_pointer_get_axis_value_discrete, this keeps the promise in the API of reporting "physical mouse wheel clicks" and keeps us from needing to implement a new "get unaccelerated" API
- Ensure that legacy X wheel events (pre-XI2.1) are not accelerated
Open questions:
- Does this cover enough clients without breaking things? Chrome and Firefox support XI2.1, so this would accelerate those programs.
- Under X or XWayland, is it possible to accelerate XI2.1 events but not the legacy events? Or are the legacy events generated automatically?
- Or is it ok to accelerate legacy X wheel events? emacs has scroll acceleration already, and other clients may as well.