My touchpad/mouse suddenly stopped working

I was running ubuntu 22.04 fine for a month. I put my laptop on sleep and when i turned it back on the touchpad isn’t working. I checked xinput list and the only thing listed under “virtual core pointer” is “virtual core XTEST pointer” (there isn’t any type of touchpad listed). I’ve also tried 10 different kernels and that also didn’t fix the problem. I don’t know what to to do.

Lenovo IdeaPad 330-15IGM
Celeron N4000
PC model: 81D1009LUS
RAM: 4GB

I would boot from an ISO of ubuntu 22.04 and use the live-session to confirm if the touchpad is OK.

If it isn’t this would indicate that its a hardware fault rather than software.

Note though - some laptops have a “switch off” touchpad Fn key - do check that you haven’t accidently switched it off. I’ve also seen some laptops with a hardware switch on one of the sides that similarly turns off the touchpad.

Ok so i tried a live session and the mouse is not working there too. Does this necessarily mean that it is physically damaged or could it be an issue from BIOS?

That would be unusual. Software would not have changed the bios settings.

Yes some laptops have bios settings for mouse and touchpads.

Guess i should try to update BIOS as a last resort. Thanks for the help man

Hello! Sorry for necroposting but I’ve had the same problem on a Thinkpad T440 (i5) with Kali Linux 6.0.0 and Ubuntu Budgie 22.04 LTS and the solution I’ve found is to “unplung” and “re-plug” the psmouse module, like so:

sudo modprobe -r psmouse
modprobe psmouse

This would solve the problem, until my computer goes back to sleep.
In order to run these commands automatically when I open my laptop’s lid (since the only time I put my computer to sleep is when closing the lid), I leveraged the ACPI.

To automate the running of these commands:

  1. Create a Custom Root Script:

    Create a script that will be executed as root when the laptop lid is opened.

    sudo nano /etc/acpi/lid-open.sh

    #!/bin/bash
    modprobe -r psmouse
    modprobe psmouse
    

    Make the script executable:

    sudo chmod +x /etc/acpi/lid-open.sh

  2. Configure acpid:

    sudo nano /etc/acpi/events/lid

    Add the following content to the file, specifying the sudo command to execute the script as root:

    event=button/lid.*
    action=sudo /etc/acpi/lid-open.sh
    

    Restart acpid Service:

    sudo systemctl restart acpid

Voilà!

1 Like