Is there a way to "restart" the touchpad driver?
Solution 1
I was having that problem with one laptop repeatedly until I noticed that the touchpad of that computer had its own On/Off switch which I must have been hitting by accident. Notably, the switch did not help to turn it back on. I just became careful not to press it, and before long I took to using an external wireless keyboard with integrated wireless touchpad, and I haven't had that problem since.
UPDATE: (Note: link below broken, solution is above) Since posting this "solution" I posted a comment which apparently met the user's needs. Having only just now learned that the comments remain only temporarily and are automatically deleted, I'm reposting the content of the useful comment below that it may be preserved for others:
I was sharing the "solution" that worked for me. Today it occurred to me to google for solutions more closely fitting your original question and found the following link. It isn't what I would personally consider "convenient", but it could at least be more elegant by making it a script out of it. I found this (see below) – gyropyge Sep 25 at 20:06
Press Alt+F2 and type in
gksudo modprobe -r psmouse
Type in the password, press Enter, and then press Alt+F2 again for entering the followinggksudo modprobe psmouse
and then press Enter
Solution 2
To restart the laptop's touchpad driver:
Open terminal by pressing Ctrl+Alt+T and execute the following command
sudo modprobe -r psmouse
then
sudo modprobe psmouse
I have found the solution here and there is also solution for a usb mouse
Solution 3
I found a way to do this:
First, open a terminal, and print out all input devices to find the id you need for the input device you want to disable. In terminal, type:
xinput --list
Next: Notice where it says id=X in one long column for every input device. You want to find the device id that corresponds to the input device you want to disable (Maybe something that sounds like "touchpad"). Then replace X in the following command with the id number representing the input device you want to disable:
xinput disable X
Note: If you're not sure which device id you should use to disable the touchpad, then you can find out by testing random id's and seeing if your mouse pad still works. Make sure you are NOT DOING ANYTHING IMPORTANT. Save all your work and be prepared to restart your computer if you do something like disable your keyboard. (You may have trouble trying to enable it again if you can't type into the terminal.
Then you'll have to run this last line (Thanks for catching this Arch Stanton!)
xinput enable X
Reason: I desperately needed an answer to this problem because the problems I was experiencing with my touchpad made doing any kind of work impossible. Suddenly, at some random moment when using my laptop, for apparently no reason, my touchpad goes into some kind of "special mode". Merely moving one finger on my touchpad would cause the screen to scroll, instead of actually moving the cursor of the mouse on the screen so it was impossible to get the mouse to hover over anything in broswer without considerable coordinating efforts to account for the scrolling screen and non moving mouse. I wanted to find a way, WITHOUT RESTARTING THE LAPTOP, to reset the touchpad. On the plus side, resetting the touchpad with the method above actually fixes my problem.
Update: To make resetting the touchpad even easier, I made a hotkey for the above listed commands. When my touchpad goes on the fritz, I simply do the key combination ctrl+super+r and it does the reset for me. Quick and easy.
Here's how:
-Create a file inside your home directory and call it something like "touchpad-reset.sh".
-Inside this file, put in two of the three (the last two) previous commands listed above except, instead of using an X id number for the device, since it's subject to change with added peripherals (maybe??) you can do use this instead:
Here's an output from my computer inside the terminal using this commmand:
xinput --list
Result:
Virtual core pointer id=2 [master pointer (3)]⎜
↳ Virtual core XTEST pointer id=4 [slave pointer (2)]⎜
↳ Genius 2.4G Wireless Mouse id=10 [slave pointer (2)]⎜
↳ MSFT0001:00 06CB:75BD UNKNOWN id=13 [slave pointer (2)]⎜
↳ ELAN Touchscreen id=12 [slave pointer (2)]⎜
-Now what you do, you replace the X (which was an id before) for xinput disable X and xinput enable X with the name corresponding to that id inside single quotes. For example, from the above, if you wanted to do it for id=13, my touchpad device, you would use:
xinput disable 'MSFT0001:00 06CB:75BD UNKNOWN'
xinput enable 'MSFT0001:00 06CB:75BD UNKNOWN'
-So now, you're disabling by name instead of ID number, where an id may possibly change in time and then you'd be disabling and enabling some other device.
Finally, you need to give the permissions to make this file executable; run this command with your working directory in the terminal as your home directory (where you created the file):
chmod +x your_script_name.sh
So once you make this file with the appropriate commands written inside, making sure it's in your home directory, take the following steps below:
- Press the super key (windows key on PC) on keyboard to bring up the unity side bar. Type in 'system settings' and press the enter key.
- Find the 'Keyboard' option under where it says 'Hardware' and click on it.
- Select the 'Shortcuts' tab.
- In the left window, select 'Custom Shortcuts'
- Click on the + button near the bottom center.
- A window should pop up asking for a description name and a command to put in.
- Make the name something like "reset touchpad"
- Use this command: gnome-terminal -x ./name_of_your_script.sh
- Click on 'Apply'
- You should now see your shortcut listed and on the far right it should say "Disabled" or some other garbage. Click on that text and be prepared to make some kind of key combination, perhaps like ctrl+super+r.
- Once you make this key combination, you're done.
Congrats! Have fun.
Solution 4
If you have a synaptics touchpad :
synclient TouchpadOff=0
Solution 5
If you do not know what module your touchpad uses you can find out with a bit of digging around
grep -iA2 touchpad /proc/bus/input/devices
for me this returns
N: Name="Elan Touchpad"
P: Phys=
S: Sysfs=/devices/platform/80860F41:03/i2c-11/i2c-ELAN0100:00/input/input10
then see what kernel modules are available in this category:
ls $(find /lib/modules/$(uname -r) -type d -name mouse)
which for me returns
appletouch.ko bcm5974.ko cyapatp.ko elan_i2c.ko gpio_mouse.ko
psmouse.ko sermouse.ko synaptics_i2c.ko synaptics_usb.ko vsxxxaa.ko
Cross reference the two - in my case it looks like the module for my touchpad is elan_i2c.ko
Edit: I recently figured out how to reliably get the name of the driver in use with a convoluted command, which terdon simplified nicely for me
grep -hriPo 'DRIVER=\K.+' /sys 2>/dev/null | while read driver; do [ -e /lib/modules/$(uname -r)/kernel/drivers/input/mouse/"$driver"* ] && echo $driver; done
To check you got the right module, test the command to unload it from the kernel:
sudo modprobe -r elan_i2c
The touchpad will instantly die if you got the right module, so you can easily find it by trial and error. Reload it with
sudo modprobe elan_i2c
This effectively restarts the module. You can run the two commands together like this:
sudo modprobe -r elan_i2c && sudo modprobe elan_i2c
I occasionally have to do this on resume from suspend.
Related videos on Youtube
matteo
Updated on September 18, 2022Comments
-
matteo over 1 year
I use Ubuntu 14.04 on a laptop, usually with an external usb mouse and keyboard and screen connected. Sometimes, however, I unplug all of them and move the laptop and keep using it with the builtin keyboard and screen and touchpad.
At random times it happens that the touchpad stops working (but if I plug the usb mouse, the usb mouse does work). Though this happens very rarely, when it does it's a great annoyance, as I'm forced to reboot if I need the touchpad to work again.
Is there some workaround that I can try, such as killing some process that would automatically restart, or some command that would cause the touchpad driver to restart or refresh or something? Anything that may "wake up" the touchpad without having to reboot?
-
illusionist over 6 yearsSometimes shutting the laptop screen and opening up again solves the issue.
-
sancho.s ReinstateMonicaCellio over 2 years@illusionist - Worked for me.
-
-
matteo over 9 yearsnot my case, though
-
gyropyge over 9 yearsI was sharing the "solution" that worked for me. Today it occurred to me to google for solutions more closely fitting your original question and found the following link. It isn't what I would personally consider "convenient", but it could at least be make more elegant by making it a script. tuxtrix.com/2010/06/…
-
matteo over 9 yearsThanks! I've marked your answer as the accepted answer though the answer is actually in your comment (well I haven't had the opportunity to test it but it sounds like it is the solution).
-
gyropyge over 9 yearsThank you for the consideration of my after-thought comment. I too may wind up benefiting from that solution in the future, as my solution of trying not to hit a particularly easy-to-hit button bordering the edge of the touch-pad hasn't been particularly satisfactory.
-
matteo over 9 years"Having only just now learned that the comments remain only temporarily and are automatically deleted" WTF, really????
-
Scaine over 8 yearsNews to me - comments are permanent as far as I know. Also, the link to your solution is broken. Looks like tuxtrix.com is no more...
-
user2392762 over 8 yearsThe link to the script no longer works. Could you please revise the answer?
-
Arch Stanton over 8 yearsThen you'll have to run
xinput enable X
. -
user3499524 over 8 yearsAh-ha! Did i forget to put that in there? Shoot. Thanks for adding that in there. Just like me to blow it in the end.
-
G Trawo over 8 yearsLink was working for me, but just in case: If you are stuck with no mouse movement on your laptop (touchpad) then press the key combinations Alt+F2 and type in gksudo modprobe -r psmouse Type in the password, press enter, and then press Alt+F2 again for entering the following gksudo modprobe psmouse
-
Arch Stanton over 8 yearsAhah nevermind, you saved me :-)
-
axel22 about 8 yearsxinput list + disable + enable works great
-
Manikandan Arunachalam over 7 yearsPerfect finding.My pointer gets stucked in a position this helped me to resolve it.
-
Ur Ya'ar over 7 yearsthis worked for me - my touchpad would stop working after some time. I have an ALPS touchpad on Dell running Xubuntu 16.04
-
Z. Zlatev about 7 years
enable
/disable
also work with ID only instead of device name -
chao about 7 yearsthx! works for zenbook ux305ca on ubuntu 16.04 lts.
-
Pablo Bianchi almost 7 years
sudo modprobe psmouse proto=imps
worked for me on a Asus UX303UB+Ubuntu 16.04.2 but without multitouch features. Somehow from one day to another I need to run that command to have touchpad, never again with gestures. -
petobens over 6 yearsWorked with my touchpad and built-in keyboard as well. Had to use a USB keyboard though. I'm running Xenial (16.04.3 LTS). Thanks :)
-
jpenna over 6 yearsLooks like my notebook has this "disable key" too. Just got my touch pad to work again doing some ocus pocus, but I don't know what I did, next time I will make sure to keep track of my moves haha
-
Mala about 6 yearsMy touchpad (dell xps 13) has recently starting falling into 2-finger-mode (which means one finger causes it to scroll, etc) which makes it impossible to move the mouse or left click. Installing xinput then disabling / re-enabling the touchpad is the only reliable fix I've found. Thank you!
-
Archit Kapoor almost 6 yearsThanks. This solution worked for me. And I didn't even need to restart my computer. My touchpad was troubling me. I think xinput disable/enable is a quick fix.
-
Fabby almost 6 yearsWelcome to Ask Ubuntu! ;-) Solutions do not need to be geeky to be good! Just keep it short and simple... :-)
-
yurenchen over 5 yearsthis save my life ; )
-
Cerin over 5 yearsThis didn't work for me on a Dell Precision.
-
Tomofumi over 5 yearsmy Asus laptop is using a hid driver for BOTH keyboard & touchpad, so it need to do like this in a single cmdline, otherwise you cannot type after modprobe -r.
-
Old account over 5 yearsid didn't work for me, but the full device name seemed to work. What ended up happening is that the touchpad would let me move the mouse cursor just a little bit then it would stop again.
-
4Z4T4R almost 5 yearsYeyaaaaa! Ubuntu 18.04 LTS with xfce and it worked like a charm with Synaptics!
-
Yaron almost 5 years11 is the specific device number in your case, you'll have to find this number using
xinput --list
before you can use it here. -
SaTa over 4 yearsThis solution did not work for me. Ubuntu 18.04 with "SYNA8004:00 06CB:CD8B Touchpad", Lenovo X1 Carbon Gen 7. I get snappy touchpad behavior after resuming from hibernation.
-
SaTa over 4 yearsThis solution did not work for me. Ubuntu 18.04 with "SYNA8004:00 06CB:CD8B Touchpad", Lenovo X1 Carbon Gen 7. I get snappy touchpad behavior after resuming from hibernation.
-
Santropedro over 4 yearsworked for XFCE
-
user56reinstatemonica8 almost 4 yearsBe careful if synclient isn't installed... I tried installing synclient to see if it would help and after installing
xserver-xorg-input-synaptics
, after restart, my keyboard and USB mouse stopped working.sudo apt-get remove --auto-remove xserver-xorg-input-synaptics
and restart got them back again -
user56reinstatemonica8 almost 4 years+1 for
lsmod | grep touch
, most answers here are specific to particular drivers, and this is how to find out which one(s) you have -
pholat almost 4 years@user56reinstatemonica8 it should, thanks for noticing, edited.
-
Hendy Irawan almost 4 yearsTHANK YOU! Works very well and you saved me from restarting my computer! :)
-
sh37211 over 3 yearsThis is the only solution that worked for me! Tried various "lsmod" and "sudo modprobe" solutions above, none of them worked.
-
Allexj over 3 yearsthis solution WORKS for me.
-
Aces about 3 yearsThank you! This worked for me on Ubuntu/Xubuntu 20.04.2 LTS. If you put the above command in a hidden BASH script somewhere and link it to a keyboard shortcut, you can easily reactivate the touchpad when it goes out.
-
MycrofD about 3 yearsthis is strange. touchpad always switches back to one-finger scrolling after reboots and shutdowns. using your method only disables the touchpad, and doesn't enable it.
-
OZ1SEJ almost 3 yearsWorked like a charm! Ubuntu 20.04.
-
Eric Walker over 2 yearsOf the top answers, this is the only one that worked for me.
-
asgs over 2 yearsthis is it for me. I tried to enable the "disable touchpad while typing" feature and it disabled until I ran the command you shared. Thank you!