Tilt-wheel actions on Firefox 17

04.12.2012 13:06

Starting with version 17, Firefox has a new set of preferences for mouse wheel actions. Unfortunately, this change makes it impossible to directly define "back in history" and "forward in history" actions for tilting the scroll wheel on tilt-wheel mice (something that used to be possible by setting mousewheel.horizscroll.withnokey.action=2 in about:config)

I use tilt-wheel mice almost exclusively and this is the only modern feature since the addition of the vertical scroll wheel on the middle button that I have been able to tolerate on mice. I just hate those new models that put buttons everywhere. But using the tilt-wheel for moving backwards and forwards in browser's history soon became second nature and now it's just annoying to be left without this feature.

Here's a quick workaround for this regression in Mozilla's software I found. Add the following to ~/.Xmodmap:

pointer = 1 2 3 4 5 8 9 0 0

This remaps pointer buttons 6 and 7 (horizontal scroll) to mouse buttons 8 and 9. Buttons 8 and 9 seem to be used by default in Firefox as shortcuts for back and forward buttons, so this solution doesn't require any additional poking around about:config. Of course, this also affects all other applications, so now you won't be able to use the tilt-wheel for horizontal scrolling.

Log-out and back in for the change to take effect or run xmodmap ~/.Xmodmap.

By the way, loading the .Xmodmap file in your home directory automatically when you log-in is not a given. GNOME display manager 3 on Debian seems to do it. Yours might not. If it doesn't work (you can check current button mappings with xmodmap -pp), check around /etc/X11/Xsession or /etc/gdm/Xsession.

Also, xmodmap seems to be deprecated in favor of setxkbmap, but I don't see any way of mapping pointer buttons with that.

Posted by Tomaž | Categories: Code


Hey man, you made my day!

Posted by Max

OMG! It works.Thank you sooooo much!!

Posted by Bob

I have found a side problem in using this trick: trying to use rdesktop I get a segmentation fault.
It took me some time to find out that it was caused by this.
So I solved (since I find another issue) using <xinput set-button-map> as remapping tool
Nonetheless it's just a different way to implement the trick
Again, nice job!

Posted by Max

Finally fixed in FF20. New name is mousewheel.default.action.override_x.

Posted by Claudia

This was a great help, thanks a lot!

Posted by Ulrik

Add a new comment

(No HTML tags allowed. Separate paragraphs with a blank line.)