How do I disable a touchpad using the command line?

Solution 1:

To turn off touch pad:

synclient TouchpadOff=1

To turn it back on:

synclient TouchpadOff=0

Solution 2:

There are at least two methods (that I know of) you could try.

synclient

If your laptop is equipped with a Synaptics (or ALPS) touchpad you can indeed use synclient as already mentioned by Shutupsquare. I'm running Ubuntu 14.04 and on my machine it was installed by default.

Test if synclient is installed: synclient -V (it should report the version number)

Turn touchpad ON: synclient TouchpadOff=0

Turn touchpad OFF: synclient TouchpadOff=1

I have not tested this myself, but if your goal is to not move the mouse when your arms are resting on the touch pad, this might help.

Turn palm detection ON: synclient PalmDetect=1

Turn palm detection OFF: synclient PalmDetect=0

In general you can configure any property of your Synaptics touchpad by synclient property=value. Where the property is one of the available properties shown by synclient -l

Links for further reading

ubuntu - comminity help wiki - SynapticsTouchpad

archlinux - wiki - Touchpad Synaptics

ask ubuntu - How do I make my synclient settings stick? - Ubuntu

xinput

If you do not want or cannot use synclient, you could also use xinput. The procedure is somewhat similar.

list all xinput devices: xinput

Part of the ouput could look like this:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB-PS/2 Optical Mouse           id=13   [slave  pointer  (2)]
⎜   ↳ ETPS/2 Elantech Touchpad                  id=17   [slave  pointer  (2)]

It this particular case my touchpad has id=17 and its full name is "ETPS/2 Elantech Touchpad".

The command to set a property is xinput set-prop. The property to enable or disable the touchpad is Device Enabled, so to enable or disable it type:

Turn touchpad ON: xinput set-prop <id> "Device Enabled" 1 (where <id> is your device id, in my case 17)

Turn touchpad OFF: xinput set-prop <id> "Device Enabled" 0

Turn palm detection ON: xinput set-prop <id> "Palm Detection" 1

Turn palm detection OFF: xinput set-prop <id> "Palm Detection" 0

To query available properties: xinput list-props <id> OR xinput list-props <full-name>, this should be quite similair to synclient -l.

Links for further reading

ubuntu - wiki - input

NOTE

When setting properties through either xinput or synclient the properties are not set to the other tool. They are also not set in unity-control-center.

Solution 3:

synclient and xinput will not work if you are using gnome (or unity, cinnamon) environment, because it will override settings, so if you want synclient or xinput to take over these settings, you should disable that first:

  1. install dconf-editor if not installed:

    apt-get install dconf-editor
    
  2. run dconf-editor

    dconf-editor 
    
  3. open the directory /org/gnome/settings-daemon/plugins/mouse/ or /org/cinnamon/settings-daemon/plugins/mouse/, and unclick the checkbox for active.

  4. logout or reboot

This should make synclient or xinput work.