Add support for Horizontal Wheels (angle > click events) and Horizontal Wheel "sensitivity"
Submitted by Ariel
Assigned to Peter Hutterer @whot
Description
As discussed with whot on #wayland (freenode) & in this systemd bug: https://github.com/systemd/systemd/issues/3947
This request is to add conversion for the Click Angle to click events for a new device that was added in hwdb (see github bug above)
The actual conversion from click angle to click events is done by the xf86-input-libinput driver.
Device:
Input device name: "Logitech MX Master" Input device ID: bus 0x03 vendor 0x46d product 0x4041 version 0x111
Main Vertical scroll wheel: 24 clicks for a full revolution Reported by evemu-record as (for each click): E: 9.273909 0002 0008 -001 # EV_REL / REL_WHEEL
Horizontal scroll wheel AKA "thumbwheel": generates 14 events for a full revolution (it's a tiny wheel) Reported by evemu-record as (for each 'click'): E: 11.859882 0002 0006 0001 # EV_REL / REL_HWHEEL
Notes: The main wheel supports "free spinning mode" or "ratchet mode". It produces 24 events in either mode. The smaller 'horizontal scroll wheel' is always in free spinning mode (no ratchet) but spins slowly (no inertia)
The bottom line request is to have equivalent functionality in libinput as we had with evdev, where we could add "dividers" to the events generated by either wheel, for example:
xinput set-prop 11 "Evdev Scrolling Distance" 1 2 1
... this caused the Horizontal Wheel to send to the app a single horizontal scroll keystroke for every 2 "mouse whell events", in effect decreasing the "sensitivity" of the wheel.