|start | find | index | login or register | edit|
by earl, 5123 days agoat some point, X.org, firefox and horizontal scrolling hardware meet. what follows is a lengthy post on this otherwise utterly irrelevant topic. go figure.
in X, vertical mousewheel scrolling is indicated via button events 4 (up) and 5 (down). firefox handles these events as it should. firefox further uses buttons 6 and 7 for page backward/forward navigation, and until recent X versions, this was all working fine as well. but recent X.org versions (6.9 and higher) use button events 6 and 7 for horizontal mousewheel scrolling, leaving events 8, 9 and higher for side buttons. so here we got a problem: firefox responds to 6 7 but X sends 8 9.
note that this is a "nobody's fault" situation. changing firefox's
well, great! but i don't need no horizontal scrolling. i want my side buttons bound to back/forward and not have horizontal scrolling interfere with that! now the proper way would most likely be to do application specific remapping and map mouse events 8 and 9 to key events Alt-Left and Alt-Right, for firefox. the easier way, however, is to instruct X to get the horizontal scrolling events out of the way.
the mousewheel is called the "z axis" in X jargon, so the default
now, if you don't have/want/need horizontal mousescrolling, but want your side buttons to work with firefox to move backward/foward through the page history, you need to do some remapping. if you don't have a horizontal mousewheel, just restrain
if you actually have a 4-way mousewheel, you can simply remap the horizontal mousewheel events to 8 9, which will free up 6 7 for buttons. this can be done by setting
finally, as an example, let's use the pseudo-device
y- and x-axis in the above actually refers to the mousewheel axes. so we map horizontal scrolling to 8 and 9. we also don't have to care if the external mouse is actually able to do horizontal scrolling natively as emulation using the middle button is enabled for all mice.
this setup plays nicely with firefox and doesn't swallow horizontal scrolling events completely. never mind that i've yet to find a case when i need this pesky horizontal scrolling (or even an app i use that supports them properly).
as mentioned before, there is an alternative solution using the venerable imwheel to do application specific remapping. so for firefox, you'd remap button events 8 and 9 to key events Alt-Left/Alt-Right. this would theoretically allow other applications that properly support X.org 7's 4-way mousewheel scrolling to still work fine. go google, if you want/need that -- i personally prefer having one moving piece less to look after.
5 active users
|earl.strain.at • esa3 • online for 7413 days • c'est un vanilla site|