I'm having trouble enabling the two finger scrolling on my new Asus X540L.

sugarman@sugarman:~$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ELAN1000:00 04F3:0401                     id=10   [slave  pointer  (2)]

sugarman@sugarman:~$ cat /proc/bus/input/devices | grep ELAN
N: Name="ELAN1000:00 04F3:0401"
S: Sysfs=/devices/pci0000:00/INT3433:00/i2c-9/i2c-ELAN1000:00/0018:04F3:0401.0001/input/input6

sugarman@sugarman:~$ uname -a
Linux sugarman 3.16.0-4-amd64 #1 SMP Debian 3.16.36-1+deb8u1 (2016-09-03) x86_64 GNU/Linux

I have an ELAN touchpad and I use Debian. I followed instructions from this page: https://wiki.debian.org/SynapticsTouchpad.

I copied the /usr/share/X11/xorg.conf.d/50-synaptics.conf --> to /etc/X11/xorg.conf.d/synaptics.conf

I modified the file to match my needs, here it is:

# Example xorg.conf.d snippet that assigns the touchpad driver
# to all touchpads. See xorg.conf.d(5) for more information on
# InputClass.
# DO NOT EDIT THIS FILE, your distribution will likely overwrite
# it when updating. Copy (and rename) this file into
# /etc/X11/xorg.conf.d first.
# Additional options may be added in the form of
#   Option "OptionName" "value"
Section "InputClass"
        Identifier "touchpad catchall"
        Driver "synaptics"
        MatchIsTouchpad "on"
# This option is recommend on all Linux systems using evdev, but cannot be
# enabled by default. See the following link for details:
# http://who-t.blogspot.com/2010/11/how-to-ignore-configuration-errors.html
        MatchDevicePath "/dev/input/event*"
        Option          "MinSpeed"              "0.5"
        Option          "MaxSpeed"              "1.0"
        Option          "AccelFactor"           "0.075"
        Option          "VertTwoFingerScroll"   "1"     # multitouch
        Option          "HorizTwoFingerScroll"  "1"     # multitouch

Section "InputClass"
        Identifier "touchpad ignore duplicates"
        MatchIsTouchpad "on"
        MatchOS "Linux"
        MatchDevicePath "/dev/input/mouse*"
        Option "Ignore" "on"

# This option enables the bottom right corner to be a right button on clickpads
# and the right and middle top areas to be right / middle buttons on clickpads
# with a top button area.
# This option is only interpreted by clickpads.
Section "InputClass"
        Identifier "Default clickpad buttons"
        MatchDriver "synaptics"
        Option "SoftButtonAreas" "50% 0 82% 0 0 0 0 0"
        Option "SecondarySoftButtonAreas" "58% 0 0 15% 42% 58% 0 15%"

# This option disables software buttons on Apple touchpads.
# This option is only interpreted by clickpads.
Section "InputClass"
        Identifier "Disable clickpad buttons on Apple touchpads"
        MatchProduct "Apple|bcm5974"
        MatchDriver "synaptics"
        Option "SoftButtonAreas" "0 0 0 0 0 0 0 0"

According to this page: http://who-t.blogspot.ca/2010/11/how-to-ignore-configuration-errors.html, the problem is caused because the device is loaded twice, once with a /dev/input/eventX path and another time with the /dev/input/mouseX path.

After reboot these new configurations still cause error with the driver "ic2_hid":

sugarman@sugarman:~$ sudo cat /var/log/kern.log | grep hid
Sep 18 10:27:28 sugarman kernel: [    0.773763] hidraw: raw HID events driver (C) Jiri Kosina
Sep 18 10:27:28 sugarman kernel: [    7.930955] i2c_hid i2c-ELAN1000:00: error in i2c_hid_init_report size:653 / ret_size:7
Sep 18 10:27:28 sugarman kernel: [    7.935696] i2c_hid i2c-ELAN1000:00: error in i2c_hid_init_report size:131 / ret_size:7
Sep 18 10:27:28 sugarman kernel: [    7.935941] hid-generic 0018:04F3:0401.0001: input,hidraw0:  HID v1.00 Mouse [ELAN1000:00 04F3:0401] on 

And I still get these errors even though the xserver-xorg-input-synaptics package is installed (synaptics driver).

sugarman@sugarman:~$ synclient 
Couldn't find synaptics properties. No synaptics driver loaded?
sugarman@sugarman:~$ syndaemon 
Unable to find a synaptics device.

2 Answers 2


According to Debian Wiki, it seems that you are using the libinput driver instead of the synaptics one, and this is why the synclient command fails. As advised by Debian Wiki:

You can make the synaptics driver take precedence over libinput by copying /usr/share/X11/xorg.conf.d/50-synaptics.conf into /etc/X11/xorg.conf.d, so as to make it take precendence over the libinput configuration file found at /usr/share/X11/xorg.conf.d/90-libinput.conf.

Make the copy, modify the copied file as you wish but be sure to maintain the same name (i.e 50-synaptics.conf) in the new directory, since this number is a kind of priority number. To find the correct conf file in your system run

find / -name '*.conf' |grep synaptics

For example in my pc the file is named 70-synaptics.conf and not 50.

Moreover to be sure that libinput driver is out of the game i use to do the following:
I locate the libinput conf file : find / -name '*.conf' |grep libinput
I edit this 90-libinput.conf file (your libinput.conf can have a different number) abd i comment out the part that refers to touchpad to be sure that libinput will not handle touchpad:

#Section "InputClass"
#        Identifier "libinput touchpad catchall"
#        MatchIsTouchpad "on"
#        MatchDevicePath "/dev/input/event*"
#        Driver "libinput"

Once the libinput is out of the game and synaptics driver is used, you must be able to use synclient.


Don't copy any config files, just put this to autostart of your desktop environment: synclient VertTwoFingerScroll=1

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .