I can disable my touchpad but if I'm away from my bluetooth mouse or forget my wireless dongle for my backup mouse, I'm SOL. Linux Mint had a nice setting that allowed the touchpad to be disabled when using a mouse. I'm now on Ubuntu MATE 16.04 and do not have that setting. How can I get that functionality? The turn off touchpad while typing option is not enough to prevent light touches of my palm to FU something I'm working on.

I've read other similar questions on here and was unable to find an answer for this exact issue.

You should be able to disable the touchpad, if an external mouse is connected, by the command:

gsettings set org.gnome.desktop.peripherals.touchpad send-events disabled-on-external-mouse

To get the current situation:

gsettings get org.gnome.desktop.peripherals.touchpad send-events

Options are:

enabled
disabled
disabled-on-external-mouse
  • 3
    The above command to disable did not work. It now shows disabled-on-external-mouse but the touchpad still works with either my bluetooth mouse or wireless mouse connected. – user533063 Jun 15 '16 at 17:30
  • 9
    Works for me on Ubuntu 16.10. My only regret is that I have but one upvote to give. – Jeremiah Peschka Nov 4 '16 at 1:04
  • 1
    I'm lacking a mischief of mice to test on, but it seems the disabled-on-external-mouse works for wired mice but not wireless mice. – Brent Jan 26 '17 at 18:46
  • 2
    I can confirm that this is working for me on Ubuntu 16.04 with Bluetooth mouse. As soon as my mouse gets connected, the touchpad gets disabled. This is simply beautiful! :) – Muhammad bin Yusrat Feb 21 '17 at 18:31
  • 2
    Did not work on my ubuntu 16.04 – Paul Praet Apr 30 '17 at 9:29

There is also a program which introduces some GUI to edit some such settings.

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

Read a more detailed instruction set at https://itsfoss.com/disable-touchpad-when-mouse-used/

  • The other solutions seemed long or didn't work... Installed touchpad-indicator started it, set the setting, worked. – Fabian N. Jul 10 at 20:47
  • Also love the option to disable touchpad on typing! – Nash Nov 1 at 8:53

If are afraid of the terminal you can use the dconf-editor: dconf-enable-touchpad-image

  • I'm sorry but your screenshot shows gnome while the question is about MATE - maybe you can update the screenshot ? – Robert Riedl Jan 22 at 15:21
  • @RobertRiedl, you are right (although it shows Budgie), didn't see that. But except for the theme it works the same (and even the theme could be used with mate). – Zeromatiker Jan 22 at 15:43

On Kubuntu 16.04 you can just go to SystemSettings->Input Devices->Touchpad->Enable/Disable Touchpad

Now select disable when mouse is plugged in.

  • When I disable the touchpad, exit from settings and later come back, there's no option to turn the touch pad back on! – Brian Borchers Jun 30 '17 at 22:00
  • The Unity version of settings does have the option to turn the touchpad back on, while the gnome version of settings doesn't allow me to turn the touchpad back on. Iwas able to get the touchpad turned back on in Unity. – Brian Borchers Jun 30 '17 at 22:34

I realise that I'm a bit late to the party (and also that my answer is not specific to ubuntu-mate), but here goes...

I have very similar requirements to you but I run xfce on debian 9 (stretch) so I have no gnome/gsettings installed. To disable/re-enable the synaptics touchpad whenever I plug-in/unplug a usb-mouse, I use udev rules to trigger a (posix) shell script that unbinds/rebinds the synaptics touchpad driver:

  1. As root, create /usr/local/sbin/touchpadctl.sh with the following contents:

    #!/bin/sh
    set -o errexit #(equivalent -e)
    set -o nounset #(equivalent -u)
    
    usage(){
      echo "Usage: ${0} {-enable|-e|-disable|-d}"
    }
    
    if [ $# -ne 1 ]; then
      usage
      exit 1
    fi
    
    base_dir=/sys/bus/serio/drivers/psmouse
    device_id=serio1
    
    if [ ${1} = "-disable" -o ${1} = "-d" ]; then
      logger "${0} is disabling the touchpad"
      echo -n manual > $base_dir/bind_mode
      echo -n $device_id > $base_dir/unbind 2>/dev/null || true
    elif [ ${1} = "-enable" -o ${1} = "-e" ]; then
      logger "${0} is enabling the touchpad"
      echo -n auto > $base_dir/bind_mode
    else
      usage
      exit 1
    fi
    
  2. Make your touchpad control script executable:

    sudo chmod +x /usr/local/sbin/touchpadctl.sh
    
  3. Now test out your script. To disable the touchpad:

    sudo /usr/local/sbin/touchpadctl.sh -d
    

    and to enable the touchpad:

    sudo /usr/local/sbin/touchpadctl.sh -e
    

Because this uses "driver unbinding", there is no dependency whatsoever on X/xorg/wayland/gnome. As a result, you can use it in udev rules that will function correctly during boot-up:

  1. As root, create /etc/udev/rules.d/01-touchpad.rules with the following contents:

    KERNEL=="mouse*", ATTRS{phys}=="usb*", ACTION=="add", \
      RUN+="/usr/local/sbin/touchpadctl.sh -disable"
    KERNEL=="mouse*", ATTRS{phys}=="usb*", ACTION=="remove", \
      RUN+="/usr/local/sbin/touchpadctl.sh -enable"
    

As with all things linux, your mileage may vary - you might need to "tweak" it, but I've tried my best to make it easy to understand. For more information re driver binding/unbinding, read Greg Kroah-Hartman's 2005 article in Linux Weekly News and there's also some good info in the kernel source. For more information re writing udev rules, have a look at Daniel Drake's excellent tutorial.

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.