Restore natural scrolling in Ubuntu 16.04 on Dell XPS 13

I have a Dell XPS 13 which, by default, has a very sensitive trackpad. As you are typing, if you brush the trackpad by accident, the trackpad considers it as a click and the text insertion point jumps to wherever the mouse happens to be. I found and installed this fix for this issue:

sudo apt-get install xserver-xorg-input-libinput

However, now the scrolling is unnatural. When I use the trackpad to scroll a long document, it is the viewport that moves over the content. I want the content to move in the same direction as my fingers, just as it did before, just like on a touchscreen.

Can you explain to me what changes I should make to the files at /usr/share/X11/xorg.conf.d/ that will make this happen?

The solution proposed here did not help.


Solution 1:

Edit the file /usr/share/X11/xorg.conf.d/40-libinput.conf or 90-libinput.conf depending on your HWE stack.

Add to the end of the touchpad section of the file a line

Option "NaturalScrolling" "True"

and restart the session.

The section should look this way:

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "NaturalScrolling" "True"
EndSection

You can also add Option "Tapping" "True", if you want to enable tap to click feature.

Solution 2:

If anyone prefers not to restart their X server you can do this with xinput.

  1. Run xinput --list
  2. Note the identifier of your trackpad
  3. Run xinput --list-props <trackpad identifier>
  4. Note the identifier of the natural scrolling parameter
  5. Run xinput --set-prop <trackpad identifier> <natural scrolling parameter> 1

For example, on my system I run

xinput --set-prop "CUST0001:00 06CB:76B1 Touchpad" "libinput Natural Scrolling Enabled" 1