Touchpad issue: jumping cursor while typing (Ubuntu 14.04), syndaemon don't help

I couldn't follow this answer with My XPS 13, and Ubuntu 14.04.

But found a quick solution to disable touchpad while typing:

sudo apt-get install gpointing-device-settings

then run

gpointing-device-settings

Check: Enable Palm Detection and move range:Narrow to about 10% from beginning.


Answering my own question as I guess I finally found the solution.

Seems like the culprid is the Synaptics driver itself. Wathever frontend or command you use it won't work as long as the driver is not patched.

Thanks to the wonderful webpage http://xps13-9333.appspot.com/#touchpad and some e-mails with the owner, I finally managed to fix this awfull bug!

So here is the process in a nut shell, refer to the webpage above for the details.

The thing to do it to get rid of the Synaptics driver, then download the sources of the upstream driver, patch it for a proper palm detection, and then create the file with the right settings for the touchpad. The following steps work well on my Dell XPS "Gold Edition" (xps-9333) with Ubuntu 14.04.

1. THINGS TO CHECK FIRST

I had a trouble during the process because of the lack of a libevdev-dev package in my system (I guess it's not installed with Ubuntu 14.04 ?). So first, try installing this package :

sudo apt-get install libevdev-dev

If it's not yet present on your system, it should install 3 packages: libevdev-dev, libevdev2{a}, and libjs-jquery{a}

Another thing to to is to install the GIT package, in order to allow the download of the source code of the upstream Synaptics driver from the GIT servers.

sudo apt-get install git

Once these packages are on your system, you can follow these commands.

2. GET RID OF THE ACTUAL SYNAPTICS DRIVER AND INSTALL THE UPSTREAM ONE

Enter the following commands in the Terminal (press enter and check the outputs after each command):

sudo aptitude purge xserver-xorg-input-synaptics

sudo aptitude build-dep xserver-xorg-input-synaptics

The next command uses GIT. If it's the first time you use it, it will ask you for a mail address and a nickname in order to complete the process (that is, download the source code for the driver). You can do that in the terminal, it's a pretty simple process. The output of the command tells you what to type, you just have to follow the instructions. I never used GIT before myself and I could handle this step very easily.

sudo git clone git://anongit.freedesktop.org/xorg/driver/xf86-input-synaptics

Now you enter inside the folder where the source code has been downloaded:

cd xf86-input-synaptics

Now you download the patch for the new driver, this patch will fix the driver by enabling palm detection and the width of the finger on the touchpad.

wget -q -O - http://xps13-9333.appspot.com/root/0001-Don-t-use-finger-width-for-the-palm-detection.patch | git am

Now, build the new driver from the patched source code (type Enter after each line, each command will produce quite a lot of output):

./autogen.sh --prefix=/usr
make
sudo make install

Your new Synaptics driver, with the patch that allows for palm detection, is now installed on your system, but you still need to specify the settings that allow it.

3. CREATE AND EDIT 20-SYNAPTICS-CONF FILE

And now for the last part, create a file with the settings for the touchpad, that file will be read each time you boot your system.

First, you create the right folder :

mkdir -p /etc/X11/xorg.conf.d/

Then you download the file provided by the owner of the previously mentionned webpage, and you copy it in the new folder you just created:

sudo wget -q -O /etc/X11/xorg.conf.d/20-synaptics.conf http://xps13-9333.appspot.com/root/etc/X11/xorg.conf.d/20-synaptics.conf

Finally, you can use synclient in order to specify the optimal value of the parameter PalmMinZ (type a number instead of "VALUE", I suggest 100, which works great for me).

synclient PalmMinZ=VALUE

By the end of this process, you should have the new file 20-synaptics.conf inside /etc/X11/xorg.conf.d and the file should look like that:

My 20-synaptics.conf file

4. DON'T FORGET TO REBOOT :)


None of the answers here were working for a fresh install of Ubuntu 14.04.3 on an XPS12, at least not until I blacklisted the psmouse module. The following instructions are essentially quoted from this set of instructions for an XPS13 machine:

Check if your touchpad is only using the I2C bus, and not ps2 mode. Start up a terminal and enter

 xinput 

The virtual core pointer should have only two items:

 Virtual core XTEST pointer
 DLL0665:01 06CB:76AD UNKNOWN 

If it lists a third item with PS2 touchpad in the name, you should blacklist the psmouse module by adding these lines to /etc/modprobe.d/blacklist.conf:

# remove SynPS/2 Synaptics Touchpad because we want the mouse to work over IC2b
blacklist psmouse

Then call

sudo update-initramfs -u

After rebooting, the option Disable touchpad while typing in System Settings/Mouse & Touchpad did its job as expected.


If you add syndaemon to your Startup Applications, you need to also uncheck "Disable while typing" in the Mouse & Touchpad settings. If you don't do that, the two mechanisms interfere and cause the touchpad to completely stop working as you describe. This works for me on stock 14.04 (Lenovo T410 laptop) without upgrading the driver.