Not all mice have scroll balls that scroll in all directions, or even scroll wheels with side tilt functionality.

In Windows, when browsing with Firefox, one can scroll to the side by holding the Shift key while rolling the scroll wheel.

In Linux, doing that actually navigates through the page history (last page, next page), which is far less usable.

In Windows, the mouse navigation is more customizable. There is a feature to display a circle around the mouse when pressing “Ctrl” to be able to spot the cursor more easily, and scroll distance can also be easily adjusted, which Linux can't that reliably yet (only in a restricted manner), as of 2019. Additionally, long-distance/automated scrolling after pressing the middle mouse button is also something all Linux distributions that I know, lack.

How can I make shift+scroll scroll sideways instead of navigating through the tab history?

  • 1
    A lot of that is controlled by the Desktop Environment (gnome, KDE, etc.) -- which are you using? – drewbenn Jun 5 at 23:34
  • Relevant answer. @drewbenn I've never found a way to do this via either of those DEs. I've had to use xbindkeys, which works poorly. – Sparhawk Jun 5 at 23:45
  • 1
    huh. As far as I can tell, side scrolling happens by default in multiple applications in KDE (Debian stable (9)) with shift-scrollwheel (I'd never tried it before today, though I've often inadvertently side-scrolled with the touchpad). I was also easily able to enable a circle around the mouse with ctrl (system settings | desktop behavior | desktop effects | track mouse); I didn't try other things OP mentioned. – drewbenn Jun 6 at 0:08

If you use GNOME, run this in a terminal window:

gsettings set org.gnome.settings-daemon.peripherals.touchpad horiz-scroll-enabled "true"

and you may turn that off if you wish with

gsettings set org.gnome.settings-daemon.peripherals.touchpad horiz-scroll-enabled "false"

Alternatively, use xbindkeys after installing xautomation

sudo apt-get install xautomation

Edit ~/.xbindkeysrc.scm and write:

; bind shift and vertical scroll to horizontal scroll events
(xbindkey '(shift "b:4") "xte 'mouseclick 6'")
(xbindkey '(shift "b:5") "xte 'mouseclick 7'")

Then, launch xbindkeys

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.