Adaptive acceleration for touchpad on Ubuntu 17.10

I recently updated from Ubuntu 16.04 running Unity to 17.10 running GNOME. Since the upgrade, I'm missing the adaptive acceleration feature on my touchpad. I absolutely loved it because it was more accurate for shorter distances.

On digging a bit, I found out that 17.10 uses GNOME with libinput instead of synaptics, but libinput uses a flat acceleration profile for touchpads by default (https://wayland.freedesktop.org/libinput/doc/1.4.3/pointer-acceleration.html#ptraccel-touchpad).

I also tried installing xserver-xorg-input-synaptics on 17.10. This works fine, except for the fact that it is too cumbersome to enable 'Natural Scrolling' from the command line (https://askubuntu.com/a/206006). Another problem is that GNOME doesn't show touchpad settings with synaptics installed (https://unix.stackexchange.com/a/292920).

I also tried fidgeting with gnome-tweak-tool under the 'Keyboard and Mouse' submenu on the sidebar but it has an option to select 'Acceleration Profile' only for a mouse, not for touchpads (see screenshot in What are Mouse Acceleration profiles in the gnome-tweak-tool?).

Is there a way to enable adaptive acceleration for touchpads with libinput which has none of the above side effects?


In 17.10, you can also set the acceleration profile directly and disable mouse acceleration by setting accel-profile to 'flat'

gsettings set org.gnome.desktop.peripherals.mouse accel-profile 'flat'

Alternatively, use dconf-editor:

Disable mouse acceleration in Ubuntu 17.10


For this, try editing the key speed from the schema org.gnome.desktop.peripherals.touchpad. The description for the key is as follows:

Pointer speed for the touchpad. Accepted values are in the [-1..1] range (from "unaccelerated" to "fast"). A value of 0 is the system default.

which strongly indicates the gnome key has something to do with touchpad acceleration. Use the dconf editor or gsettings through the command line and see if modifying this key has any effect.


Edit: Sorry this only helps if you're using Xorg, not Wayland according to Arch Linux' Wiki:

For Wayland, there is no libinput configuration file. The configurable options depend on the progress of your desktop environment's support for them; see #Graphical tools.

For Xorg, a default configuration file for the wrapper is installed to /usr/share/X11/xorg.conf.d/40-libinput.conf. No extra configuration is necessary for it to autodetect keyboards, touchpads, trackpointers and supported touchscreens.

For Xorg:

According to its man page libinput also supports adaptive acceleration:

You should be able to add it as an option in xorg.conf, e.g. /usr/share/X11/xorg.conf.d/40-libinput.conf:

Option "AccelProfile" "adaptive"