Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I want my touchpad to be disabled when I use my mouse. How can I do that? touchpad-indicator has stopped working on 11.10. It used to work on 11.04. Gnome3 is not a solution as I don't like it and find it buggy.

share|improve this question
1  
Ok, I think touchpad-indicator dev team is going to fix this issue. – Peng Wu Oct 16 '11 at 1:35
    
possible duplicate of Touchpad not working on Dell XPS L501x – bodhi.zazen Jun 21 '14 at 1:49
    
The most simple solution is not the first answer. Scroll down to the screen shot :-) – guettli Sep 19 '15 at 19:01

22 Answers 22

up vote 157 down vote accepted

Run the following command in a terminal:

xinput list

You will get an output that looks like this:

⎡ 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)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Laptop_Integrated_Webcam_1.3M             id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=11   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=13   [slave  keyboard (3)]

It displays all the input devices connected. Note that they all have an id. Since 12 is the id for my touchpad, running the following command will disable it.

xinput set-prop 12 "Device Enabled" 0
share|improve this answer
22  
turn off touch pad synclient TouchpadOff=1 turn it back on synclient TouchpadOff=0 This way even better. – Peng Wu Oct 17 '11 at 10:40
1  
sudo apt-get install touchpad-indicator the good new is that touchpad-indicator is worked again in 11.10. – Peng Wu Nov 10 '11 at 23:47
    
To edit approvers: I made the pending edit a CW answer - see below. – Takkat Nov 25 '12 at 9:18
3  
"synclient -l | less" to see all available options – Samus Arin Jul 16 '13 at 2:39
7  
In 12.10 and later, you can also use xinput -disable 12 to disable input device 12 (or xinput -enable 12 to enable it). See manual page xinput(1). – Lekensteyn Aug 25 '13 at 22:55
  1. Search for mouse
  2. Click on Mouse and Touchpad
  3. Click off/on button to the right of touchpad settings.

step one

enter image description here

share|improve this answer
2  
the big ON|OFF widget there is not available in 12.04, that's one one has to resort to the command line... – knocte Jan 29 '14 at 10:44

check this link out: How to disable-enable touchpad in ubuntu 11.10

The answer found there is really neat:

sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator

After this you will get a switch in your notification area.

The only thing I would wish is to be able to set the switch key to Fn-F8 (which is a touchpad key switch on my keyboard...

share|improve this answer
    
orsome! It once was broken in 11.10. but now it is worked – Peng Wu Nov 10 '11 at 23:47
    
This repository doesn't have the touchpad-indicator for 12.10 – Ed Villegas Jan 13 '13 at 16:04
1  
Does work in 12.04. – viking Feb 20 '13 at 20:06
    
Very cool. The easiest and most attractive solution. – RobinLovelace Mar 20 '13 at 17:29
1  
works fine in 14.04 – voiger Sep 4 '14 at 13:28

Based on answer given by @Peng Wu I created a bash script that can be used...

#!/bin/bash

declare -i ID
ID=`xinput list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`

xinput set-prop $ID "Device Enabled" 0

echo 'Touchpad has been disabled.'

You can manually run it or run it on start. Then you can make the script run at boot.

Another bash script to toggle touchpad:

#!/bin/bash

declare -i ID
ID=`xinput list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}'`
declare -i STATE
STATE=`xinput list-props $ID|grep 'Device Enabled'|awk '{print $4}'`
if [ $STATE -eq 1 ]
then
    xinput disable $ID
    echo "Touchpad disabled."
else
    xinput enable $ID
    echo "Touchpad enabled."
fi
share|improve this answer
    
Would be cool to check the status code for the first script. I had to change the grep pattern to 'Touchpad in mouse emulation mode\s*id\=[0-9]{1,2}' – galath Sep 18 '15 at 21:53

Simply, in a terminal:

synclient TouchpadOff=1

(Taken from a comment from Peng Wu above... This should be an answer, not a comment.)

share|improve this answer
3  
+1 This is the easiest way that worked for me. – I Like to Code Aug 10 '14 at 1:52
    
Easiest solution, thanks. Accidentally touching the touchpad despite "Disable touchpad while typing" was on - was driving me a little crazy. This way I can just use a USB mouse instead and keep the keyboard behaving nicely. – David Thomas Sep 22 '14 at 23:37
    
Does this need sudo? It has no effect on my HP 6460b + Ubuntu 14.04 – itsols Dec 23 '15 at 3:22
    
it doesn't, and it works on my 14.04 – knocte Dec 23 '15 at 3:45
    
Works on Ubuntu 16.04, does not need sudo, one can easily create a keyboard shortcut with it: +1 :-) – Martin Thoma May 4 at 16:34

Xfce/Xubuntu solution

This is just the application of the commands in this answer under the present question. The solution below is limited to Xfce/Xubuntu, but although I made it by chance, I find it too elegant not too share it here. So, I created a separate question initially, just for Xubuntu. That question cannot but be a duplicate of this one and may be closed for this reason, that's why I dare to re-post that answer here.


It is about these two commands:

Disable:

xinput set-prop 15 "Device Enabled" 0

Enable:

xinput set-prop 15 "Device Enabled" 1

The id number will be found by running

xinput list

The commands can be added into Xfce launchers.

enter image description here

The beauty is that:

  • by adding them into a single launcher,

  • setting advanced properties like in the image below

enter image description here

(namely 'show last used item' and 'inside button'),

  • and adding two specific icons,

the launcher will always display the current status of the touchpad.

enter image description here

share|improve this answer

This is how to disable your touchpad automatically on startup This method will disable the pad more safely by name rather than by id. Here is how to get the name of your touchpad:

$ xinput list --name-only | grep -i Touchpad
ETPS/2 Elantech Touchpad

Create a bash script file. I added the file to ubuntu Startup Applications so it runs on every restart. Remember to make the file executable. Here are the contents:

#!/bin/bash
$ xinput disable 'ETPS/2 Elantech Touchpad'
share|improve this answer

First check if your laptop has enable/disable touchpad keyboard shortcut, by any chance! On my Lenovo Thinkpad T500 it's Fn+F8

share|improve this answer
    
Great solution! And its KISS: Keep it super simple. – Esteve Feb 5 '14 at 9:49
1  
It seems too specific. Not working with my n550jv. Peng Wu comments did the trick. – louiscoquio Mar 3 '14 at 14:23
1  
Most laptops with touchpads will have such a key, but there's no guarantee it will work. If I use xev or xinput and attempt to use the button on my G700 it doesn't register a darn thing. Even evemu-record doesn't register anything, and that's at the kernel level. If the kernel can't see it, there's nothing much to be done about it except fix device drivers. That being said, this is a great solution, but not a reliable one for all use cases. – wxl Jan 18 '15 at 15:38

This worked for me in 11.10 :

⎡ 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)]
    ↳ Sleep Button                              id=9    [slave  keyboard (3)]
    ↳ Laptop_Integrated_Webcam_1.3M             id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=11   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=13   [slave  keyboard (3)]

It displays all the input devices connected. Note that they all have an id. Since 12 is the id for my touchpad, running the following command will disable it.

xinput set-prop 12 "Device Enabled" 0

and I would put it in .bashrc or whatever except that I'm not sure that device 12 (actually 11 for me) is always the touchpad.

Now if I could just get the up-arrow in nautilius to work and see the .dirs

share|improve this answer
    
no the touchpad utiity won't disable the tp in 11.10 so back to the commandline – touristguy87 Apr 20 '12 at 17:32
    
run xinput list, get the id of the touchpad then run xinput set-prop (id) "Device Enabled" 0 works like a charm – touristguy87 Apr 20 '12 at 17:33

I tried using the laptop function key (fn) to disable the pointer and it works. It did not work during my 11.04 days though, so give that a try.

share|improve this answer
    
I do not have that button bro. It is a HP probook 4520s – Peng Wu Oct 16 '11 at 8:51
    
oh ok. I just found out that the solution I posted is not permanent either, I have to do it every time I restart my machine. – Fayaz Oct 18 '11 at 12:19

Define keyboard shortcuts

(this answer was copied from an invalid edit)

Instead of remembering that command every time you wish to enable/disable the touchpad, you can instead add it as a keyboard combination shortcut.

Under preferences in Keyboard Shortcuts click add. Give a name to the shortcut like "Disable Touchpad" or something and add the command you discovered above

xinput set-prop <id> "Device Enabled" 0

and click apply. Then add another shortcut called "Enable Touchpad" or something similar to the first and change the previous command to a 1 at the end

xinput set-prop <id> "Device Enabled" 1

those are the off/on respectivly.

Now that those are added, click on Enable Touchpad's Shortcut column (should say 'disabled') and type the keyboard shortcut you want it to be, I chose Win+1 (Hold Windows Key and press the number 1). Do the same for Disable Touchpad, I chose Win+2.

Now Win+1 enables my touchpad and Win+2 disables it.

share|improve this answer

Just add a couple of bash functions to your .bashrc to give you a togggle...

#toggle-touchpad on|off
function touchpadon  { /usr/bin/xinput --enable $(xinput --list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}') ; echo "touchpad enabled";}
function touchpadoff  { /usr/bin/xinput --disable $(xinput --list | grep -Eo 'TouchPad\s*id\=[0-9]{1,2}' | grep -Eo '[0-9]{1,2}') ; echo "touchpad disabled";}
share|improve this answer

install the Jupiter app. You can disable the touchpad with it and it is remembered. This has worked effectively for me on both a Lenovo IdeaPad and ThinkPad on 11.04, 11.10, and 12.04.

share|improve this answer

fn+f8 work like a charm on 12.10

share|improve this answer
    
f8 is a media key for me – It's Willem Feb 6 at 15:24

https://bitbucket.org/barseghyanartur/xinput

It's a very tiny code which allows you to disable/enable the touchpad from terminal.

Simply follow the Instructions below:

Install:

$ pip install xinput

Disable touchpad:

$ disable-touchpad

Enable touchpad:

$ enable-touchpad
share|improve this answer

I have a Medion Akoya notebook model P7812 using Ubuntu 11.10 (64 bit) and the Fn & F6 key combination disables the touchpad.

share|improve this answer

If your laptop keyboard doesn't have a touchpad on/off special-function key, maybe you can find an on-screen virtual keyboard that simulates it (although I haven't found one).

Short of that, this works well:

sudo apt-get install gpointing-device-settings

enter image description here

share|improve this answer

Alternative solution which works for all touchpads, no id needed.

open a terminal and write "gedit toggle_touchpad.sh"

#!/bin/bash
condition="$(gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled)"

if [ "$condition" == "false" ]; then
     gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled true
elif [ "$condition" == "true" ]; then
    gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false
fi

Save the file and exit. Now you have a file with the name "toggle_touchpad.sh"

Run the command chmod +x toggle_touchpad.sh to make the file executable.

Place the file in any folder you like. Let us assume that you have it in the folder /home/username/myscripts/.

From the menu on the top-right go to system-settings->keyboard->shortcuts->custom-shortcuts.

Create a new shortcut and put as name whatever you want. Put as command /home<username>;/myscripts/toggle_touchpad.sh where "username" is your username

Assign whatever keyboard shortcut you want.

Ready :)

P.S. Personally I put the file in the /opt/myscripts/ folder but in order to put it there you should run the following commands after creating the file:

sudo mkdir /opt/myscripts/

sudo mv toggle_touchpad.sh /opt/myscripts/

sudo chown <username>:<username> /opt/myscripts/toggle_touchpad.sh

chmod +x  /opt/myscripts/toggle_touchpad.sh

where "username" is your username

Then when you will create the shortcut you will use the path "/opt/myscripts/toggle_touchpad.sh" instead of the one mentioned above

share|improve this answer

It is actually very simple to disable touchpad in Ubuntu. Just remove the package xserver-xorg-input-synaptics that is required for using touchpads in Ubuntu!

sudo apt-get remove xserver-xorg-input-synaptics

It is the only way to disable touchpad permanently that worked for me. The other ways were only temporary:

xinput list
xinput set-prop IDOFTOUCHPAD "Device Enabled" 0 
synclient TouchpadOff=1 

I am using LXDE and I was not able to automatically disable the touchpad by adding these lines to ~/.config/lxsession/LXDE/autostart or /etc/xdg/lxsession/LXDE/autostart with a @-prefix. It was just ignored.

And I tried disabling touchpad with dconf-editor (org.gnome.desktop.peripherals.touchpad) and gconf-editor (desktop.gnome.peripherals.TOUCHPADNAME), but both did not work. The settings on dconf-editor have no effect at all and on gconf-editor it keeps showing the error message "This key has no schema".

share|improve this answer

first use xinput list to get the base device name of your touchpad... than add the xinput disable command with the full device name (in double qoutes to accept the whitespace) to the ~/.bashrc file (ie xinput disable "SynPS/2 Synaptics TouchPad") the scripts above proved very hit or miss.

share|improve this answer

This method works, but I can't seem to use the "win" button. So I used the CtrlF1 & F2 for it.

Currently my laptop OS is ubuntu 14.04LTS.

Oh, need to find out the xinput < id > with the command below. For Ubuntu 14.04, it is the "SynPS/2 Synaptics TouchPad"

xinput list
SynPS/2 Synaptics TouchPad                  id=###
share|improve this answer

What work for me is (ubuntu 12.04 LTS with Dell Laptop)

I wanted disable the pointer which is in middle of keyboard and creating lot of issues while typing. So;

$ xinput list
 ⎡ Virtual core pointer                     id=2
 ⎜   ↳ Virtual core XTEST pointer               id=4
 ⎜   ↳ Wacom Graphire2 4x5 eraser               id=9
 ⎜   ↳ Wacom Graphire2 4x5 cursor               id=10
 ⎜   ↳ Wacom Graphire2 4x5                      id=11
 ⎜   ↳ AlpsPS/2 ALPS DualPoint TouchPad         id=14
 ⎜   ↳ Macintosh mouse button emulation         id=15
 ⎜   ↳ DualPoint Stick                          id=13
 ⎣ Virtual core keyboard                    id=3
     ↳ Virtual core XTEST keyboard              id=5
     ↳ Video Bus                                id=6
     ↳ Power Button                             id=7
     ↳ Sleep Button                             id=8
     ↳ AT Translated Set 2 keyboard             id=12

The device I want to disable has id 13. Use xinput to list its properties:

$ xinput -list-props 13
 Device 'DualPoint Stick':
    Device Enabled (115):   0
 [...several lines removed...]
 $ xinput -set-prop 13 115 0

This has disabled the Dualpoint stick. But above any of the solution didn't work for me, except below;

Install dconf-tools:

$sudo apt-get install  dconf-tools
$ dconf-editor

Then go to "org"->"gnome"->"settings-daemon"->"peripherals"->"touchpad" on dconf-editor, and uncheck "touchpad-enabled" field...

share|improve this answer
    
The small Nob! between G H and B keys is actually mounted on a small square peg, pull it out with a pair of tweezers! This will prevent you from hitting it when typing - and if needed later just put it back (so do not throw it away) Trying to disable it through software might impede the functionality of your mouse or touch-pad! – Ken Mollerup Apr 21 at 8:40

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.