Ubuntu touchpad issues - mouse pointer jumps around
I am having major issues with Ubuntu touchpad on a Dell Latitude 3570 Laptop. If I use a USB mouse, everything works fine, but if I use a touchpad it is very hard to control. For example, if I want to click on something that is in the middle of the screen, I click, but for some reason Ubuntu THINKS I have clicked at the bottom Left-Hand corner of the screen, and thus opens the rubbish bin. It is REALLY making me angry.
I read somewhere that the following changes to synclient
would fix it:
synclient FingerLow=9
synclient FingerHigh=10
These don't work. And in any case as soon as I reboot the machine, synclient resets back to defaults (FingerLow=25
, FingerHigh=30
), so even if they did work I would have to set them every time I rebooted the machine!
Is there anything else I can try? This is driving me insane. For the sake of my sanity, please help me before I smash up my laptop.
As requested, xinput list
gives me the following:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ DLL06F3:00 06CB:75DA Touchpad id=12 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=14 [slave pointer (2)]
⎜ ↳ USB Optical Mouse id=17 [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)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ Integrated_Webcam_HD id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
↳ Dell WMI hotkeys id=15 [slave keyboard (3)]
↳ DELL Wireless hotkeys id=16 [slave keyboard (3)]
Solution 1:
Well, following advice from user WinEunuuchs2Unix, I DID google this. Apparently it is a major bug, has been since Ubuntu 14.04. Anyway, on the bug report page, a guy called Juan Hernandez (juanhm) suggested that installing xserver-xorg-input-libinput worked for him. I wanted to try this, so I typed:
sudo apt-get install xserver-xorg-input-libinput
and I got a message about broken dependencies, but it also said that the above package depended on xserver-xorg-core
, so I tried running:
sudo apt-get install xserver-xorg-core
This installed a whole lot of xserver-xorg packages. I then ran:
sudo apt-get install xserver-xorg-input-libinput
and this time it worked. Next I rebooted, and tried to run:
sudo apt-get remove --purge xserver-xorg-input-synaptics
but it had already been removed. My touchpad in System Settings is now a very very simple dialogue, BUT the pointer doesn't seem to be jumping around anymore! The only disadvantage I can see is that I can no longer tap the touchpad to click (I have to use the buttons), but I wasn't doing that anyway!
So I do believe this is now working!
The bug report page is here: https://bugs.launchpad.net/ubuntu/+source/xorg/+bug/1574667
I will update it to confirm that Juan Hernandez's suggestion worked.
Solution 2:
In my case @SamuelH solution didn't work since everything was already installed and up to date. What I helped was
- Disable
Natural Scroll
- Enable
Edge scrolling
- Reduce
touch pad speed
- Disable
Tap to click
Machine:
Dell E6540
OS:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04 LTS
Release: 18.04
Codename: bionic
Solution 3:
I am using Razer Blade Early 2017 and my touchpad is Synaptics TM2438-005
running Ubuntu 18.04 Bionic Beaver
I was looking everywhere for a solution and had to dig through the history of synclient
, being replaced by libinput
and the corresponding cli tool xinput
.
But this article solved my problem and more specifically, simply installing libinput-tools
$ sudo apt install libinput-tools
Bionic Beaver is not using Unity as a GUI server but uses Gnome instead, so I am guessing all the dependencies are in there already (xserver-core, libinput etc.)
For anyone who is having issues on Ubuntu 18.04 - this solved my problem and I have a semi-working touchpad now. It still jumps occasionally, but that's once per 10 new touch presses, it used to be every ~millisecond.
Solution 4:
After upgrading to Ubuntu 20.04 from Ubuntu 19.10, I started facing this issue of jumping pointer. My Laptop and OS details:
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 20.04 LTS
Release: 20.04
Codename: focal
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [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)]
↳ Lenovo EasyCamera: Lenovo EasyC id=9 [slave keyboard (3)]
↳ Ideapad extra buttons id=10 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=11 [slave keyboard (3)]
These packages were already installed: xserver-xorg-input--libinput, xserver-xorg-input-libinput, xserver-xorg-core
, no -broken dependencies, apt autoremove
and apt autoclean
already cleaned the OS.
I coundn't find the xserver-xorg-input-synaptics
package
"as answered by SamuelH in this post answers where he removed it to solve this problem"
I decided to install it to see the results. It worked for me and the problem was gone. My tap functions are also working fine.
$ sudo apt install xserver-xorg-input-synaptics
Solution 5:
Please refer to this solution by Alucard
I have tested this with the same laptop being a Latitude E5470 running Bionic Beaver with all the latest updates.
It would seem that the pointer stick or the "nipple" is what causes the cursor to randomly jump. If you have your backlit keyboard enabled you will see it switch on when the cursor jumps.
For ease of use I will paste Alucard's solution below:
1) Type in terminal:
xinput list
Look for something like "AlpsPS/2 ALPS DualPoint Stick". Look for a field "ID=xxx" of that particular device.
2) Type in terminal:
xinput -list-props {ID of Dualpoint Stick}
One of the lines should be something like: "Device Enabled (142): 1" Take note of the ID, which is 142 in this case).
3) Disable Dualpoint Stick: (Setting value to 0 is the same as disabling the device)
xinput -set-prop {ID of Dualpoint Stick} 142 0