Cléber Zavadniak Website

Natural scrolling on Linux touchpad

I’m not the “typical” Linux desktop user: my window manager of choice is Fluxbox and I use parts of XFCE4 here and there. And although XFCE4 has the “natural scrolling” option enabled and xfsettingsd is running, it never worked. And that was not really a problem until I decided to test Thunderbird and, voilà, natural scrolling was working there. But not anywhere else. And that rapidly became confusing as hell!

So I searched around and found a way of setting things directly into Xorg settings.


First, identify the device ID according to xinput:

$ xinput list | grep Touchpad
      ELAN1200:00 04F3:3045 Touchpad id=17 [slave  pointer  (2)]
  $ DEV=17

Then, identify the Property ID:

$ xinput list-props $DEV | grep "Scrolling Distance"
    Synaptics Scrolling Distance (353):   77, 77
    Synaptics Circular Scrolling Distance (363): 0.100000
  $ PROP=353

Then invert the “scrolling distance” for your touchpad:

$ xinput set-prop $DEV $PROP -77 -77

And there you go!

You can also change the speed value itself in case you find your scrolling too fast or too slow.

(It’s possible to save your changes so that it’s okay again after Xorg restarts, but I have Xorg config files and would rather simply call a shell script…)

Back to index