58

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.

9
  • @vanadium Nothing to do with Mate specifically. Aug 21, 2020 at 10:39
  • @JacobVlijm How to change the touchpad settings will depend on the used desktop. For example, the answer with 75 upvotes will work on Gnome, and likely it works the same on Mate, but it will not work on KDE desktop and I am not sure about xfce, except perhaps since they moved to GTK3..
    – vanadium
    Aug 21, 2020 at 10:43
  • @vanadium sure, but making it specifically Mate-related suggests it is a Mate thing, which it isn't. No Gnome based distro has this in its GUI Settings, while it can be set in gsettings. Aug 21, 2020 at 10:47
  • @JacobVlijm gsettings is a GTK3 thing, and a setting as org.gnome.desktop will only be applicable for desktops that use underlying Gnome 3 parts. Mate was forked since Gnome 2, so not sure if such a gsetting may also apply to Mate.
    – vanadium
    Aug 21, 2020 at 15:58
  • @vanadium in the days of the answer, I even installed Mate to make sure, so yes, it does. Aug 21, 2020 at 16:26

5 Answers 5

95

On Gnome-based distros, 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
26
  • 8
    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, 2016 at 17:30
  • 11
    Works for me on Ubuntu 16.10. My only regret is that I have but one upvote to give.
    – anon
    Nov 4, 2016 at 1:04
  • 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! :) Feb 21, 2017 at 18:31
  • 2
    Did not work on my ubuntu 16.04
    – Paul Praet
    Apr 30, 2017 at 9:29
  • 2
    disabled-on-external does not work on 18.04, whereas disabled works :) which is certainly not desired.
    – aitchkhan
    May 2, 2018 at 10:13
6

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/

4
  • The other solutions seemed long or didn't work... Installed touchpad-indicator started it, set the setting, worked.
    – Fabian N.
    Jul 10, 2018 at 20:47
  • Also love the option to disable touchpad on typing!
    – Nash
    Nov 1, 2018 at 8:53
  • Thank you for this, finally! I thought I was going crazy, all those dialogs "mysteriously" closing, cursor jumping around the doc, I was banging my head (and my laptop) constantly in frustration! Disabled my touchpad, the buttons, the track mouse - all of it, and seems to reliably enable them when external mouse is disconnected. + with the status notification on the top bar - I always know where I stand. Nov 30, 2018 at 14:51
  • I don't see any icon on the system tray after installing it.
    – Ziyuan
    Sep 27, 2022 at 10:53
6

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

5
  • I'm sorry but your screenshot shows gnome while the question is about MATE - maybe you can update the screenshot ? Jan 22, 2018 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).
    – jl005
    Jan 22, 2018 at 15:43
  • LIke a charm it worked.
    – Harry
    Jun 13, 2021 at 15:54
  • Both the gsettings command and the touchpad-indicator methods didn't work for me, but dconf worked perfectly. Jul 20, 2021 at 16:43
  • This works for me, while the supposedly equivalent terminal command doesn't.
    – Ziyuan
    Sep 27, 2022 at 10:57
3

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.

1

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

Now select disable when mouse is plugged in.

2
  • When I disable the touchpad, exit from settings and later come back, there's no option to turn the touch pad back on! Jun 30, 2017 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. Jun 30, 2017 at 22:34

You must log in to answer this question.