Touchpad issue: jumping cursor while typing (Ubuntu 14.04), syndaemon don't help
I know there are other questions about this issue, but I can't find the right tweak in order to fix it.
The touchpad still detects my palms while typing stuff. It's REALLY annoying, especially because it spoils my productivity on my brand new Dell XPS Gold Edition. It's a fresh Ubuntu 14.04 install and I don't want to mess around trying scripts and stuff that would finally break the touchpad recognition.
I tried to use syndaemon as it looks like it's the best workaround for this bug:
syndaemon -i 0.5 -dWhen I try it on the terminal, it seems to work as long as I don't log out from my session.
But if I put the command on my start-up programs utility, and I reboot, the cursor always freezes after a minute or two. So I must uncheck the command using my keyboard and I'm back to this very annoying palm detection stuff. Any solution?
Some info about my system:
greguti@greguti-XPS13-9333:~$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ SYNAPTICS Synaptics Large Touch Screen id=9 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=12 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Power Button id=8 [slave keyboard (3)] ↳ Integrated_Webcam_HD id=10 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)] ↳ Dell WMI hotkeys id=13 [slave keyboard (3)]
greguti@greguti-XPS13-9333:~$ xinput list-props "SynPS/2 Synaptics TouchPad" | grep -i finger Synaptics Finger (288): 25, 30, 0 Synaptics Two-Finger Pressure (294): 282 Synaptics Two-Finger Width (295): 7 Synaptics Two-Finger Scrolling (298): 1, 1 5 5 Answers
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-settingsthen run
gpointing-device-settingsCheck: Enable Palm Detection and move range:Narrow to about 10% from beginning.
2Answering 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 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-devIf 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 gitOnce 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-synapticsThe 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://Now you enter inside the folder where the source code has been downloaded:
cd xf86-input-synapticsNow 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 - | git amNow, 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 installYour 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 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=VALUEBy 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:
4. DON'T FORGET TO REBOOT :)
3None 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 psmouseThen call
sudo update-initramfs -uAfter 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.
The upgrade mentioned by greguti has now been incorporated into the general kernel upgrade for Linux to 3.1.6+: see .
The general instructions to upgrade the kernel for Ubuntu may be found here at . For a generic 64-bit system, I've copied them below:
cd /tmp/
wget
wget
wget
sudo dpkg -i linux-headers-3.16.0-*.deb linux-image-3.16.0-*.debAnd then reboot.
After my computer rebooted, I followed greguit's advice and changed the PalmMinZ parameter. I used 100 too.
synclient PalmMinZ=VALUEI also re-enabled the trackpad setting to disable while typing, using the GUI.
I've spent only 10-15 minutes using the computer after doing this, but so far the whole experience is much better.
4More in general
"Zoraya ter Beek, age 29, just died by assisted suicide in the Netherlands. She was physically healthy, but psychologically depressed. It's an abomination that an entire society would actively facilitate, even encourage, someone ending their own life because they had no hope. Th…"