7

My laptop has a Synaptics touchpad with multi-touch support. Kinetic two-finger scrolling works fine on windows, how can I get it to work on ubuntu?

I have already reversed the scrolling direction by editing the /usr/share/xorg.conf.d/50-synaptics.conf, all I need now is to give it some inertia.

I am using the 32 bit version of Ubuntu 12.04 LTS

This link explains a lot about the different parameters, but I can't seem to find the right parameters to set in order to achieve this. Please do not answer unless you have tried this before. Thank you :)

2
+100

In Linux kinetic scrolling is called "Coasting", at least in the Synaptics driver.

You can do it by adding following option lines to the file 50-synaptics.conf file, adapting the values as you require:

# Coasting configuration
Option "CornerCoasting" "0"
Option "CoastingSpeed" "20"
Option "CoastingFriction" "50"
  • I copied those three lines and it didn't work? I have edge scrolling disabled, I use two finger scrolling. Does this apply to two-finger scrolling too? (I did a restart to make sure) – Anthony Sep 5 '13 at 10:57
  • Yes and you also need to add in /etc/X11/xorg.conf.d. – Ketan Patel Sep 5 '13 at 11:09
  • You should have edge scrolling enable. – Ketan Patel Sep 5 '13 at 11:31
  • When enabling edge scrolling through the GUI I cannot enable both two-finger and edge scrolling. How can I enable it in the configuration file? – Anthony Sep 5 '13 at 11:50
  • 1
    i have no /etc/X11/xorg.conf.d folder, also some changes in the synaptics.conf file aren't taking effect anymore, does the section they're in matter? – Anthony Sep 5 '13 at 12:53
3

Kinetic two-finger scrolling is called "conventional coasting" in the Synaptics driver:

Coasting comes in two flavors: conventional (finger off) coasting, and corner (finger on) coasting. Conventional coasting is enabled when coasting is enabled, and CornerCoasting is set to false. [Synaptics manpage]

The two modes are mutually exclusive: kinetic two-finger scrolling does not work with corner coasting enabled. So let's enable conventional coasting. As per the new Ubuntu recommendations in the file, do not edit your 50-synaptics.conf directly but create a directory /etc/X11/xorg.conf.d/ and in it a file like 51-synaptics-tweaks.conf, containing:

Section "InputClass"
    Identifier "touchpad"
    Driver "synaptics"
    MatchIsTouchpad "on"
        Option "CornerCoasting" "0"
        Option "CoastingSpeed" "20"
        Option "CoastingFriction" "50"
EndSection

To see the effect, restart X.

As you noticed, the speed and friction values are hardware dependent. What works on one touchpad might not have a noticable effect on another. Some experimentation might be needed.

For experiments, it is better to use synclient, as it creates an immediate (but non-permanent) effect without having to restart X all the time. The equivalent to the above would be:

synclient CornerCoasting=0 CoastingSpeed=20 CoastingFriction=50

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.