27

I updated ubuntu 18.04 to 20.04. All worked fine for weeks until today. Touchpad on lenovo y580 stopped working just like that. I didn't install any new updates yesterday.

Xinput log:

Virtual core pointer                        id=2    [master pointer  (3)]
↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
↳ PS/2 Synaptics TouchPad                   id=14   [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)]
↳ Sleep Button                              id=9    [slave  keyboard (3)]
↳ Video Bus                                 id=10   [slave  keyboard (3)]
↳ Lenovo EasyCamera: Lenovo EasyC           id=11   [slave  keyboard (3)]
↳ Ideapad extra buttons                     id=12   [slave  keyboard (3)]
↳ AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]
scof93
  • 371

13 Answers13

35

This is solution, that has worked for me:

sudo rmmod psmouse
sudo modprobe psmouse proto=imps

or

sudo modprobe -r psmouse && sudo modprobe psmouse proto=imps

To make it permanent, edit:

sudo gedit /etc/modprobe.d/options

and add line:

options psmouse proto=imps

NOTE:

This fix will make the touchpad be recognized as a mouse instead, which might remove some features specific to touchpads such as disable while typing and scroll gestures.

Hope this helps.

Frankusky
  • 103
Ubuntovative is here
  • 1,162
  • 2
  • 15
  • 41
9

I've been using 20.04 since august and just and at the end of August 2020, suddenly the touchpad/trackpoint stopped working on my Lenovo Thinkpad X1 extreme.

After struggling, getting it partially working, and eventually trying to re-install 20.04 3 or 4 times to fix the issue (initial install was fine), I found that the problem may have been introduced in the kernel 5.4.0-47-generic.

To work around this, I select the older kernel 5.4.0-42-generic at boot time by accessing the GRUB menu and going to Advanced Options.

Now I'm able to use the trackpad/trackpoint as before.

I still have a bit of a display issue with suspend, but at least I can work on my laptop again.

To configure the kernels and defaults to set, this Ask Ubuntu question is a good resource.

UPDATE

I raised a bug with ubuntu, and managed to resolve the issue in my case by changing the Config->Graphics Device value from Discrete Graphics to Hybrid Graphics. With Hybrid Graphics set in BIOS and running the lastest kernal/updates as of 2020-11-6 I'm able to use my trackpad/trackpoint.

monkut
  • 291
8

You can try reinstalling touchpad driver (synaptics in your case):

sudo apt purge xserver-xorg-input-synaptics
sudo apt autoremove
sudo apt update
sudo apt install xserver-xorg-input-synaptics

Restart and check.

Calico Cat
  • 1,456
7

I solved my touchpad problem on Ubuntu 20.04 with this:

  1. Edit (create it if doesn't exist) the psmouse.conf file:

    sudo gedit /etc/modprobe.d/psmouse.conf
    
  2. Add the line:

    options psmouse synaptics_intertouch=1
    
  3. Then run:

    sudo modprobe -r psmouse && sudo modprobe psmouse
    
4

Disabling and enabling the touchpad in Settings somehow solves the problem.

4

Well, all I did was to get to the “settings” and enabled the touchpad which surprisingly was disabled. I will check for the next few days if there is an issue and I will report here.

This touchpad issue happened on my ASUS N550JK and I think after I did “dist-upgrade” and my Linux distribution was upgraded.

enter image description here

IS_Eagle_NG
  • 71
  • 1
  • 5
2

Here's an easy and quick way to do solve the problem:

Just press Alt+F2 and enter the command r. This will be restarting your environment for a while and then everything will work properly.

2

This just happened to me today with Ubuntu 20.04 5.4.0-100-generic kernel: just restarting the system with "shutdown -r now" fixed the issue.

1

I'm running into this situation every now and then on my Lenovo laptop. Trackpad suddenly stops working; sometimes the keyboard stops too. I can rescue things a bit with the virtual keyboard. ALt-F-R doesn't solve the problem. Reboots usually restore mouse/keyboard function. Recently, none of this worked, but plugging in the dongle of a Bluetooth mouse (I think) forced a bus rescan and restored mouse/keyboard function.

0

I was facing the issue on elementary OS 6.1 (based on Ubuntu 20.04), and the problem seemed to be related to ignore while typing option getting apparently stuck. Toggling this option from System Settings > Mouse & Touchpad > Device > Touchpad > Ignore While typing got it working back on.

kqvanity
  • 135
0

this answer is just an extension of the answer by @ubuntovative is here

simply to get trackpad accessed as mouse we need to use this command
sudo modprobe -r psmouse && sudo modprobe psmouse proto=imps
This command will basically unload the psmouse kernel module and load it with an extra parameter proto=imps, which will make the kernel to treat the touchpad as mouse.

Make command permanent

There are various ways for it, the one that is used in general is to create a .conf file(any name can be used such as psmouse.conf, just .conf is required as file-extension) in /etc/modeprobe.d/ directory with the command options psmouse proto=imps, which will basically load the kernel module psmouse with parameter proto=imps at first place.

The problem with these approaches is they are not working all the time, for me it is not working in debian 12 based distro.

The approach that always work for me

For me using cron jobs works all the time, which will run this command at every boot, for this do the following:

  1. create a file /etc/crontab if not already created,
  2. Then add this line at end of this file @reboot root modprobe -r psmouse && modprobe psmouse proto=imps

Issue with the command

As mentioned in the above answers, using trackpad as mouse will result in loss of some of its features, for me the scrolling is not available anymore.

Workaround to get scrolling back

To get scrolling back i am using "button" scrolling method in libinput driver, what this will do is when you press the set button(the one we would set among the two trackpad buttons to be recognized as scroll button) then any finger movement on trackpad will be considered as scroll while the button is being pressed.

How to do this

First note that i am using libinput driver(recommended and available by default on most distros) than the synaptic driver.

Now do the following:

  1. open file /usr/share/X11/xorg.conf.d/40-libinput.conf (number can be different, smaller number means higer priority as compared to other scripts present in the directory) as root user.
  2. Now look for the para
Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchIsTouchpad "on"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
EndSection

Change this to

Section "InputClass"
        Identifier "libinput touchpad catchall"
        MatchDevicePath "/dev/input/event*"
        Driver "libinput"
        Option "ScrollMethod" "button"
        Option "ScrollButton" "3"
EndSection

Explanation

The line MatchIsTouchpad "on" has been removed to apply these setting to pointer device also(which in this case your touchpad has already become after loading the psmouse with proto=imps option).

The line Option "ScrollMethod" "button" is used to set the "scrollmethod" to "button" (other available options are "twofinger", "none", and "edge" none of which are working in my case).

The line Option "ScrollButton" "3" is used to set the bottom right button on the touchpad as scrollbutton basically the button which when down will make any finger movement on touchpad as corresponding scroll.

The number "3" is generally the number assigned to the bottom right button, for bottom left button it is "1", you can also check the number assigned to each button via command xinput get-button-map <device-id> (for example xinput get-button-map 10), where device-id is the device id of your touchpad which you can get via command xinput list.

After all this you should have a working touchpad with button scroll enabled.

0

In my case few years ago I turned off touchpad, after updating to kernel 6.5 (ubutnu 22.04 xfce lenovo x230) the ID of touchpad changed and my startup script was turning off trackpoint instead of touchpad :-)

xinput list #pick correct ID for trackpoint and enable it
xinput set-prop 11 "Device Enabled" 1 #then i disabled touchpad again with proper id

Hope this helps someone.

Honza P.
  • 141
0

The accepted answer did not work in my case, however the following worked for me:

xinput list