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.
-
1Ok, I think touchpad-indicator dev team is going to fix this issue. – Peng Wu Oct 16 '11 at 01:35
-
possible duplicate of Touchpad not working on Dell XPS L501x – Panther Jun 21 '14 at 01:49
-
The most simple solution is not the first answer. Scroll down to the screen shot :-) – guettli Sep 19 '15 at 19:01
30 Answers
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
In Ubuntu versions >12.04
you can also directly disable via
xinput --disable 12
(and enable via a similar command)
-
39turn 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 -
1sudo 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
-
-
@PengWu Great work! THanks. been complaining about my touchpad on thinkpad. – CppLearner Nov 29 '12 at 20:34
-
So I can toggle this on and off using xinput? That's fantastic. – Ehtesh Choudhury Mar 01 '13 at 20:20
-
4
-
9In 12.10 and later, you can also use
xinput -disable 12
to disable input device 12 (orxinput -enable 12
to enable it). See manual page xinput(1). – Lekensteyn Aug 25 '13 at 22:55 -
i added two buttons to launcher (in xfce, - don't know about gnome and unity but perhaps there's something similar there), one with the command "synclient TouchpadOff=1" and the other with "synclient TouchpadOff=0". This has the same basic functionality as touchpad-indicator but with the advantage of not having to install a new program. – lebatsnok Dec 04 '13 at 07:49
-
2@Lekensteyn Don't you mean
--disable
and--enable
, with 2 dashes each? That's what I do withxinput --disable 11
– Ehtesh Choudhury Jan 22 '14 at 06:54 -
@Shurane It seems that any leading number of dashes can be used, so
enable
,-enable
and--enable
(or even-------enable
) are usable. Only--enable
is documented though (xorg-input 1.6.1). I probably mentioned-enable
because many other X tools use a single dash (e.g.-display
) – Lekensteyn Jan 22 '14 at 09:39 -
-
I have created this answer to show how beautifully these commands can be used in Xfce/Xubuntu by using the Xfce launchers – Oct 14 '14 at 16:04
-
Add this to your .bashrc to disable your touchpad at boot: xinput list | grep "Synaptics TouchPad" | awk '{ print $6 }' | awk -F= '{print $2}' | xargs -i xinput set-prop {} "Device Enabled" 0 – Geremy Jun 08 '15 at 07:03
-
@Geremy your trick works only if users open a terminal window. How to do the same at boot without run terminal? – smartmouse Dec 14 '15 at 12:08
-
The ids might slide if you plug another device (like a USB mouse), so don't put that line in your .bashrc or you might become unable to use your keyboard (in such a case, just remove the new USB device and reboot). – Nicolas Raoul Jan 15 '16 at 10:18
-
To enable and disable devices in lubuntu 16.04, use xinput enable
or xinput disable – Ali_Waris Feb 04 '17 at 02:23respectively. -
This is absolutely great! I've used this in the past in conjunction with udev to disable my touchpad when I attach a USB mouse. I've also used it to great success with keyboard shortcuts. – b_laoshi Apr 11 '17 at 02:01
-
1@smartmouse, try putting Geremy's command in a script and then use the "Start Applications" program to run the script on login. – b_laoshi Apr 11 '17 at 02:05
-
1@Lekensteyn you can even type
xinput disable 12
with no dashes and it still works (at least for me). – mike239x Sep 21 '18 at 17:34 -
In my version (1.6.2)
xinput
without arguments returns the same list asxinput list
. – Bas Peeters Oct 03 '18 at 01:50 -
1To automatically disable the device whose name contains "touchpad":
xinput set-prop \
xinput --list | awk '/[Tt]ouch[Pp]ad.pointer/ {print $0}' | sed 's/.id=([0-9])./\1/'` "Device Enabled" 0` – pikiou Jan 11 '19 at 08:15 -
1I made this a keyboard shortcut attached to Ctrl + Alt + P to toggle the touchpad on and off, including with a 2-second window popup to indicate the new touchpad state, while also handling fixing the scroll wheel speed problem via
imwheel
: https://askubuntu.com/questions/844151/enable-disable-touchpad/1109515#1109515 – Gabriel Staples Sep 12 '19 at 17:24 -
- Search for mouse
- Click on Mouse and Touchpad
- Click off/on button to the right of touchpad settings.

- 3,213
- 5
- 21
- 21
-
3the 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
-
1I've accidentally disabled the touchpad using this method,how do I enable it again without connecting a mouse to my computer? – Ziv May 19 '17 at 15:26
-
1@Ziv You go to this Mouse & Touchpad window, keep clicking tab until the on/off toggler is focused, then press Enter. – paibamboo Oct 07 '17 at 09:57
-
this is a good way to do it. My touchpad keep re-enabling itself after I disable it through commandline – Hoàng Long Jul 26 '18 at 07:14
-
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...
-
-
-
1
-
-
1
-
-
2WARNING: this requires trusting user
atareao
, he could be hosting malware in his PPA – knocte Oct 16 '16 at 10:30 -
1Does not work properly in Xubuntu 16.04.1. Registers certain clicks as key presses and then prevents further usage of the touchpad, although you clicked and did not press a key, while on the other hand it did nothing when I pressed keys and kept moving around the cursor using the touchpad. Something must be buggy with it or not general enough over distributions or machines, so that it causes this kind of behavior. – Zelphir Kaltstahl Feb 10 '17 at 10:38
-
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

- 28,246
- 16
- 81
- 118

- 487
-
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 -
On my system, it was
Touchpad
instead ofTouchPad
. To make it case-insensitive, just add ani
to your grep options. – zondo Nov 05 '16 at 01:11 -
ruby touchpad toggle oneliner
synclient TouchpadOff=$(synclient | ruby -ne 'puts ($_.match(/\\d+/)[0].to_i ^ 1) if /TouchpadOff/ =~ $_')
– galva May 21 '18 at 08:23 -
-
I made this a keyboard shortcut attached to Ctrl + Alt + P to toggle the touchpad on and off, including with a 2-second window popup to indicate the new touchpad state, while also handling fixing the scroll wheel speed problem via
imwheel
: https://askubuntu.com/questions/844151/enable-disable-touchpad/1109515#1109515. Also my answer searchesxinput
for bothTouchPad
andTouchpad
, as sometimes the P is or is not capitalized, depending on the system, so the script may otherwise not work if you don't search for both. – Gabriel Staples Sep 12 '19 at 17:25 -
Simply, in a terminal:
synclient TouchpadOff=1
However, the above seems to not work anymore in Ubuntu 16.04. In this case, then xinput
still works:
xinput set-prop `xinput --list | awk '/[Tt]ouch[Pp]ad.*pointer/ {print $7}' | sed 's/id=\(.*\)/\1/'` "Device Enabled" 0

- 996
-
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
-
-
-
1Works on Ubuntu 16.04, does not need sudo, one can easily create a keyboard shortcut with it: +1 :-) – Martin Thoma May 04 '16 at 16:34
-
Great solution especially when the id keeps changing. To make it adapt to letter case (I have Touchpad, not TouchPad) :
– pikiou Jan 11 '19 at 08:12xinput set-prop \
xinput --list | awk '/[Tt]ouch[Pp]ad.pointer/ {print $0}' | sed 's/.id=([0-9])./\1/'` "Device Enabled" 0` .
UPDATED SOLUTION:
Instead of xinput
, with id variables that can change, better use synclient
as indicated in other answers, like this.
sudo apt install xserver-xorg-input-synaptics
To turn off touchpad:
synclient TouchpadOff=1
To turn on:
synclient TouchpadOff=0
To be used with launchers or shortcuts as said below.
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
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'

- 567
-
Since you put it in a script, you may want to merge the two command above (for portability), even at cost of some fraction of seconds
xinput -disable "$(xinput list --name-only | grep -i Touchpad)"
– Hastur Mar 10 '20 at 12:10
I use the following script to enable/disable touchpad. I also assigned it to the keyboard shortcut.
Usage: toggle_touchpad.sh [on|off
]
if you run without arguments then it will simply invert the current state of he touchpad.
#!/bin/bash
# toggle_touchpad.sh
is_off=`synclient | grep -Pio "TouchpadOff.*?(\d)" | grep -Eo "[01]"`
if [ -z "$1" ]; then
echo "Inverting touchpad state"
if [ "$is_off" -eq '0' ];then
synclient TouchpadOff=1
notify-send "Touchpad Disabled"
else
synclient TouchpadOff=0
notify-send "Touchpad Enabled"
fi
else
if [ "$1" == "on" ]; then
echo "Turning on touchpad"
synclient TouchpadOff=0
notify-send "Touchpad Enabled"
elif [ "$1" == "off" ]; then
echo "Turning off touchpad"
synclient TouchpadOff=1
notify-send "Touchpad Disabled"
else
echo "Unknown arg! Pass no args or on/off !"
fi
fi

- 61
- 1
- 3
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

- 23,120

- 49
- 1
-
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
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.
In my case, fn+F9 is mapped into Touchpad toggle.
But the key does nothing just showing touch pad icon on the right-top of the screen like this.
Here is a solution for toggling touchpad just by pressing a shortcut.
1. Getting id of your touchpad
$ xinput list
2. Writing a script for toggling touchpad
So I got a bash script file for toggling touchpad with 'xinput' command(original script can be found here).
In my case, the id of touch pad was 12.
#!/bin/bash
device=12
state=`xinput list-props "$device" | grep "Device Enabled" | grep -o "[01]$"`
if [ "$state" -eq '1' ];then
xinput --disable "$device"
else
xinput --enable "$device"
fi
Save the above script file as .toggleTouchPad.sh
at where you want.
3. Keyboard shortcut for running the script
And last step is adding keyboard shortcut to run the script file.
So just write sh /PATH/TO/SCRIPT
in the Command
of your shortcut window .
4. Try the shortcut
Press the shortcut and check if touchpad is toggled.
It worked at ASUS A556UA Laptop and Ubuntu14.04 x64 installed.
Thing to be improved.
- assigning Touchpad toggle key to the above custom shortcut would not work
- it just shows touch pad icon on the right-top of the screen
- so I had to assign another key(super+F9) rather than Touchpad toggle(fn+F9) key.
please suggest a way to assign Touchpad toggle key to a custom shortcut for complete solution

- 141
- 5
For Ubuntu 16.04
For disable touchpad:
xinput --disable $(xinput --list | grep -i 'touchpad' | grep -o 'id=[0-9]*' | sed 's/id=//')
and for enable touchpad:
xinput --enable $(xinput --list | grep -i 'touchpad' | grep -o 'id=[0-9]*' | sed 's/id=//')

- 387
- 3
- 6
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

- 463
- 9
- 9

- 75
- 1
First check if your laptop has enable/disable touchpad keyboard shortcut, by any chance! On my Lenovo Thinkpad T500 it's Fn+F8
-
-
1It seems too specific. Not working with my n550jv. Peng Wu comments did the trick. – lcoq Mar 03 '14 at 14:23
-
1Most laptops with touchpads will have such a key, but there's no guarantee it will work. If I use
xev
orxinput
and attempt to use the button on my G700 it doesn't register a darn thing. Evenevemu-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
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";}

- 1,154
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.
-
-
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
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".

- 206
- 1
- 8
So, by combining Krzysztof Tomaszewski and JaeJun LEE's answers I came to this solution.
Create the following toggleTouchPad.sh
script and save it wherever you want:
#!/bin/bash
device=14
state=`xinput list-props "$device" | grep "Device Enabled" | grep -o "[01]$"`
if [ "$state" -eq '1' ];then
xinput --disable "$device" && sleep 1 && xdotool key 201
else
xinput --enable "$device" && sleep 1 && xdotool key 200
fi
where 14 is your TouchDevice Id (refer to JaeJun LEE's answer)
Go to Ubuntu Settings -> Devices -> Keyboard
At the end of the list, click on
+
to add a new custom shortcutName it
Toggle Touchpad
, with Command/path/to/.toggleTouchPad.sh
and whatever key combination you'd want (I've just chosen Super + F7).
Now, whenever you hit your chosen key combination, it not only toggle the Touchpad but it also shows a notification icon thanks to xdotool

- 111
-
Just a couple of notes. On Kubuntu 18.04LTS
xdotool
are not installed by default. You can usenotify-send Touchpad Disabled
orEnable
instead. You may find useful to add a line to autodetect the device number (14) instead to hardcode it,just to extend the lifespan of the script, e.g. (device=$(xinput --list | grep -i 'touchpad' | grep -o 'id=[0-9]*' | sed 's/id=//')
) – Hastur Mar 10 '20 at 12:01
My solution is the following tp script:
#!/bin/bash
TT=`xinput --list | grep -i touchpad | sed -e "
s/(//
s/)//
s/ //g
"`
set $TT
(( $2 ))
xinput list | grep -iq mouse &&{
xinput --disable $id
}||{
xinput --enable $id
}
The touchpad is disabled if a mouse is detected, and enable if not.
The touchpad id is found by the script.

- 2,426

- 11
Like so often this is not really one problem but two.
So first we get the touchpads id.
Then we can disable and enable, that given id.
# Get the touchpad's id.
touchpad_id=$(
xinput list |
grep Touchpad |
grep -E -o id=[0-9]* |
grep -o [0-9]* \
;
);
Enable.
xinput --enable ${touchpad_id};
Disable.
xinput --disable ${touchpad_id};

- 301
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

- 2,836
What worked for me on Ubuntu 12.04 LTS with Dell Laptop
I wanted disable the pointer which is in the middle of the keyboard and creates a 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 none of the other answers worked for me. I did
Install dconf-tools
:
sudo apt-get install dconf-tools
dconf-editor
Then go to org -> gnome -> settings-daemon -> peripherals -> touchpad and uncheck touchpad-enabled field

- 70,465
-
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 '16 at 08:40
I found a nice solution of creating a key binding that will invoke the command:
xdotool key 199
where 199 is a keycode recognized as XF86TouchpadToggle. This way one can make a key combination of his/her choice to behave like a special key some laptops have to toggle the touchpad as desktop environments like Mate or Cinnamon handle it great. You can check keycodes by this command:
xmodmap -pke
I have created a how-to on my blog: https://artofcode.wordpress.com/2017/10/01/how-to-add-a-key-binding-to-toggle-a-touchpad-under-linux/
To disable my dell latitude's middle stick, I put this on .profile of Ubuntu so every-time I start/reboot my laptop, it will disable that input.
I used the --id-only
to avoid mismatch in grep
declare -i ID
ID=`xinput list --id-only 'AlpsPS/2 ALPS DualPoint Stick' | 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
echo "id" $ID
xinput disable $ID
echo "Touchpad disabled."
else
echo "id" $ID
xinput enable $ID
echo "Touchpad enabled."
fi

- 1,156

- 1
Alternative: using awk
and xbindkeys
(automatic detection)
First please add touchpad_toggle
script in your ~/bin
directory:
#!/bin/bash
tpad_device=`xinput list | grep Touchpad | awk '{print $6}' | sed -e 's/id=//'`
tpad_enable=`xinput --list-props $tpad_device | grep 'Device Enable' | awk '{print $4}'`
if [ "$tpad_enable" == "1" ]; then
xinput --disable $tpad_device
elif [ "$tpad_enable" == "0" ]; then
xinput --enable $tpad_device
else
echo "!WARNNING touchpad device not found!"
fi
In your ~/.xbindkeysrc
add:
#touchpad_toggle
"touchpad_toggle"
m:0x0 + c:199
XF86TouchpadToggle

- 101
- 2
I created a script before on another question: https://askubuntu.com/a/874865/433961
It finds and toggles TouchPad device. You can configure a custom shortcut to it in system settings.
#!/bin/bash
read TPdevice <<< $( xinput | sed -nre '/TouchPad|Touchpad/s/.id=([0-9]).*/\1/p' )
state=$( xinput list-props "$TPdevice" | grep "Device Enabled" | grep -o "[01]$" )
if [ "$state" -eq '1' ];then
xinput --disable "$TPdevice" && notify-send -i emblem-nowrite "Touchpad" "Disabled"
else
xinput --enable "$TPdevice" && notify-send -i input-touchpad "Touchpad" "Enabled"
fi
I'm setting Ctrl+Shift+F9 for toggle touchpad enable and disable like this:
Update: You may need to make your script to executable with command chmod +x filename or input /bin/bash /filepath to Command field of Custom shortcut window.

- 839
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

- 1,408
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=###
I tried all the previous answers here without success.
What worked for me on Ubuntu 16.10 was
killall syndaemon
syndaemon -i 1 -KRd
You may want to change the value 1 to 0.5.

- 70,465

- 231
- 2
- 8