[Wayland-bugs] [Bug 99554] No horizontal scrolling with mouse

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Feb 21 23:34:20 UTC 2017


https://bugs.freedesktop.org/show_bug.cgi?id=99554

--- Comment #5 from Peter Hutterer <peter.hutterer at who-t.net> ---
for an overview on button mapping in X see:
https://who-t.blogspot.com.au/2009/06/button-mapping-in-x.html, but the basic
summary is: physical buttons 1, 2, 3, 4, 5 are mapped into logical buttons 1,
2, 3, 8, 9 because logical buttons 4-7 are reserved for vertical and horizontal
scroll wheel clicks. That is done because when scroll wheels showed up the X
protocol didn't have any ability to send separate axis events, so they were
sent as clicks. That is a *convention* only though, i.e. a client could in
theory use button 4 as a normal button click. No sensible client does so, of
course :)

With the evdev driver and libinput as well, the mapping is not static between
kernel event codes and logical codes. We merely run up the event codes and fill
in the mapping as codes exist, so if you have BTN_SIDE and BTN_FORWARD but not
the others, those will be assigned mappings 8 and 9 (back and forward). That's
done because the hid mappings of the buttons aren't always consistent on mice
and some devices merely fill in the buttons numerically (leading to the
BTN_SIDE mapping for what should be BTN_BACK).

For this specific device, the problem is that the scroll wheel sends button
events. libinput has a couple of promises regarding wheel events, so what we
would have to do is convert these button presses into wheel clicks or tilts
inside libinput so it is never passed on as button press. But as I said above,
I'm hesitant to do this because this device is configurable, so shipping a
quirk like this would break any custom configuration on this device with little
options to work around it.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/wayland-bugs/attachments/20170221/9fd03a6f/attachment.html>


More information about the wayland-bugs mailing list