16

I recently downloaded Ubuntu on my Dell Inspiron 7559 laptop, and I've noticed the palm rejection acting up. The software works ts partially; the cursor does not move when I try to use the track pad with my palm, so it clearly recognizes my palm, but when I place my palm on the track pad, not necessarily tapping, just placing it there, a click will occur automatically. This causes windows to disappear, so I have to hunt for them in order to get them back.

This is a specifically weird problem I haven't been able to find anyone else having. I dual boot Windows and Ubuntu and I do not have this problem when I boot Windows 10. So is there a setting I can change or a driver I can update? Any help would be appreciated.

Edit:

I checked my devices using xinput list, and I noticed I apparently had 2 touchpad inputs:

↳ ELAN1010:00 04F3:3012 Touchpad id=12 [slave pointer (2)]

↳ ETPS/2 Elantech Touchpad id=14 [slave pointer (2)]

So is the OS listening to the wrong driver? And if so, how do I get it to use the correct one?

13

First, you want to find your touch pad driver. You can do so by typing under terminal:

xinput

There you will receive a list of drivers. Under list Virtual core pointer, look for keyword TouchPad. That variable will be the {id} e.g. mine is "SynPS/2 Synaptics TouchPad".

Next go to Startup Applications Preferences, select "Add", you can put whatever for the name, I used "Palm Detection", and for the cmd you want to put:

xinput set-prop "{id}" "Synaptics Palm Detection" 1

Also, add another one to set the dimensions. Call it "Palm Dimensions" (you can replace the value as you wish, you might want to play with the value to get the best experience):

xinput set-prop "{id}" "Synaptics Palm Dimensions" 3, 3

Now you can reboot your laptop and good luck :)

P.S. I think the correct touch pad id to use is the one starting with ETPS/2. If not you can just try both and hopefully that will work.

3
  • 1
    So this worked even though the OP has an Elantech touchpad? I'm asking because I have a CyPS/2 Cypress Trackpad and am frustrated with the terrible palm detection in Ubuntu Gnome. – Dan Oct 22 '17 at 22:26
  • Works perfectly for my with an Elantech touchpad. Only change required on my side is that I set the palm size to 7x7; with 3x3 is rejects even a single finger. – tglas Mar 3 '18 at 19:55
  • 3
    To enlighten on @Dan's situation, you can run xinput list-props {id} and see the available properties. My Elantech touchpad indeed lists many Synaptics properties. – Gertlex Jun 8 '18 at 0:51
4

For my XPS 13 2017 with Ubuntu 16.04 the solution is to install dconf-editor and go to

org > gnome > desktop > peripherals > touchpad

and set click-method to fingers or if the key disable-while-typing is available, just set it to true.


Another solution is to add new shortcuts by going to Keyboard > Shortcuts > Custom Shortcuts. My shortcuts are

Ctrl + Shift + M -> gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true

Ctrl + Shift + N -> gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click false

So whenever you want to enable tap to click, just press Ctrl+Shift+M and Ctrl +Shift +N to disable it.

2
  • If you want a single keyboard shortcut to toggle between two values (true/false), then use this command: ``` gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click $(if $(gsettings get org.gnome.desktop.peripherals.touchpad tap-to-click) ; then echo "false" ; else echo "true"; fi;) ``` – KapilDev Neupane Jul 26 '20 at 9:59
  • The keyboard shortcuts ended up the easiest / lowest-risk solution for me. @KapilDevNeupane your script works for me in the terminal, but using that in the custom shortcut UI did not work for some reason. – Chris Hayes Apr 21 at 19:26
3

For me, all the solutions above didn't work. So if someone is in a similar situation, this could help to reduce the activation area of your touchpad at the edges. This hasn't created any negative side effects since you rarely start by clicking at the edges and when the touchpad is touched, you can still use the area at the edges. It can be done like this:

First, use this ( xinput list-props "ETPS/2 Elantech Touchpad"|grep Edges ) to get your touchpad edge dimensions. It returns 4 values (left, right ,top, down) e.g. Synaptics Edges (274): 100, 2408, 71, 1249

Second, these values can be used like this:

synclient AreaTopEdge=71
synclient AreaLeftEdge=100
synclient AreaRightEdge=2408
1
  • Worked for me like a charm on Ubuntu 18.04. Thank you! For other people like me, the above commands (with your own position values) need to run on startup. To do that, create a shell script with the above commands and add it to autostart (using any method that can be found if you google). – diadochos Sep 26 '19 at 4:39
2

If you have a modern Dell laptop, these instructions may help. They are directly from Dell, Precision / XPS: Ubuntu General Touchpad/Mouse Issue Fix

The first portion did wonders for me. Here is the script that they suggest adding to sudo gedit /usr/share/X11/xorg.conf.d/51-synaptics-quirks.conf. I do not recommend following the accepted answer's solutions as that route seems to create other problems.

# Disable generic Synaptics device, as we're using
# "DLL0704:01 06CB:76AE Touchpad"
# Having multiple touchpad devices running confuses syndaemon
Section "InputClass"
    Identifier "SynPS/2 Synaptics TouchPad"
    MatchProduct "SynPS/2 Synaptics TouchPad"
    MatchIsTouchpad "on"
    MatchOS "Linux"
    MatchDevicePath "/dev/input/event*"
    Option "Ignore" "on"
EndSection

For compatability comparison, I've a Dell Inspiron 13 7000 series with xinput list

jonathan@Dell:~$ xinput list
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=10   [slave  pointer  (2)]
⎜   ↳ Logitech USB Receiver                     id=11   [slave  pointer  (2)]
⎜   ↳ ELAN Touchscreen                          id=13   [slave  pointer  (2)]
⎜   ↳ DELL0741:00 06CB:7E7E Touchpad            id=14   [slave  pointer  (2)]
...

Synaptics is not on that list because it has been disabled by the above script. Before adding this script, I suggest running xinput --test <id>" (for me 14). If you get output on a terminal, that means your device is working (your device is "on").

1
  • Seems to work well. I didn't have the "dual trackpad driver" problem, so I just skipped to the next section. – Raffi Khatchadourian Aug 18 '18 at 16:10

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.