Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

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 know that I can check if the touchpad is active with

gconftool-2 --get /desktop/gnome/peripherals/touchpad/touchpad_enabled 

and I can set it disabled / enabled with

gconftool-2 --set --type boolean /desktop/gnome/peripherals/touchpad/touchpad_enabled true

With lsusb I can see all connected USB-devices. Which is for my mouse:

Bus 003 Device 002: ID 046d:c00e Logitech, Inc. M-BJ58/M-BJ69 Optical Wheel Mouse

More information with lsusb -v:

Bus 005 Device 002: ID 046d:c00e Logitech, Inc. M-BJ58/M-BJ69 Optical Wheel Mouse
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         8
  idVendor           0x046d Logitech, Inc.
  idProduct          0xc00e M-BJ58/M-BJ69 Optical Wheel Mouse
  bcdDevice           11.10
  iManufacturer           1 
  iProduct                2 
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           34
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower               98mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      2 Mouse
      iInterface              0 
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      52
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0004  1x 4 bytes
        bInterval              10

And here is the information from tail -n 10 -f /var/log/messages:

Aug 27 08:36:47 pc08 kernel: [ 1795.936583] usb 5-2: USB disconnect, address 3
Aug 27 08:36:55 pc08 kernel: [ 1804.208042] usb 5-2: new low speed USB device using uhci_hcd and address 4
Aug 27 08:36:56 pc08 kernel: [ 1804.384272] usb 5-2: configuration #1 chosen from 1 choice
Aug 27 08:36:56 pc08 kernel: [ 1804.400743] input: Logitech USB-PS/2 Optical Mouse as /devices/pci0000:00/0000:00:1d.0/usb5/5-2/5-2:1.0/input/input13
Aug 27 08:36:56 pc08 kernel: [ 1804.400923] generic-usb 0003:046D:C00E.0004: input,hidraw0: USB HID v1.10 Mouse [Logitech USB-PS/2 Optical Mouse] on usb-0000:00:1d.0-2/input0

And even more information:

$ udevadm info --query=all --name=/dev/input/mouse1
P: /devices/pci0000:00/0000:00:1d.0/usb5/5-2/5-2:1.0/input/input15/mouse1
N: input/mouse1
S: char/13:33
S: input/by-id/usb-Logitech_USB-PS_2_Optical_Mouse-mouse
S: input/by-path/pci-0000:00:1d.0-usb-0:2:1.0-mouse
E: DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb5/5-2/5-2:1.0/input/input15/mouse1
E: DEVNAME=/dev/input/mouse1
E: ID_VENDOR=Logitech
E: ID_MODEL=USB-PS_2_Optical_Mouse
E: ID_MODEL_ENC=USB-PS\x2f2\x20Optical\x20Mouse
E: ID_SERIAL=Logitech_USB-PS_2_Optical_Mouse
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_PATH=pci-0000:00:1d.0-usb-0:2:1.0
E: DEVLINKS=/dev/char/13:33 /dev/input/by-id/usb-Logitech_USB-PS_2_Optical_Mouse-mouse /dev/input/by-path/pci-0000:00:1d.0-usb-0:2:1.0-mouse

How can I use this to automatically deactivate my touchpad when a USB-mouse is connected and activate it again as soon as the USB-mouse disappears?

share|improve this question
Here is autoscript… – Dawid Drozd Jul 26 '15 at 11:30

For natty there is a touchpad indicator app. it can be set to disable/enable the touchpad when a mouse is plugged in or out. I have no idea if it might also work for older Ubuntu versions.

sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator
share|improve this answer
That tool does not seem to work for Ubuntu 14.04 LTS. Gnome shell tested. – NobbZ May 27 '15 at 11:36
Also not working in my Unity Ubuntu 14.04.3. – Waldir Leoncio Dec 2 '15 at 17:29
that works while typing, but not the disable touchpad when mouse is connected. – vipin8169 Jan 26 at 15:21
Worked just fine for me on Ubuntu 14.04 LTS (Unity). Thank you! – Jamil Jan 30 at 1:34
Also working fine on 15.04 – Professor Sparkles Feb 12 at 13:05

You can set up udev rules to disable/enable touchpad. ArchLinux wiki has these rules for toggling a Synaptic touchpad from udev:

ACTION=="add", SUBSYSTEM=="input", KERNEL=="mouse[1-9]", ENV{DISPLAY}=":0.0", 
ENV{XAUTHORITY}="/home/USERNAME/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=1"

ACTION=="remove", SUBSYSTEM=="input", KERNEL=="mouse[1-9]", ENV{DISPLAY}=":0.0", 
ENV{XAUTHORITY}="/home/USERNAME/.Xauthority", ENV{ID_CLASS}="mouse", RUN+="/usr/bin/synclient TouchpadOff=0"
share|improve this answer
I couldn't get it working. I added /etc/udev/rules.d/10-local.rules with ACTION=="add", SUBSYSTEMS=="input", KERNELS=="mouse[1-9]", RUN+="gconftool-2 --set --type boolean /desktop/gnome/peripherals/touchpad/touchpad_enabled false" ACTION=="remove", SUBSYSTEMS=="input", KERNELS=="mouse[1-9]", RUN+="gconftool-2 --set --type boolean /desktop/gnome/peripherals/touchpad/touchpad_enabled true" and then sudo service udev reload; sudo udevadm trigger; sudo service udev restart but nothing happened. – Martin Thoma Aug 27 '11 at 7:11

I'm not sure if all the laptops use Synaptiks, but you could try to use it. In case you haven't installed, write in a terminal: $sudo apt-get install kde-config-touchpad, then $synaptiksand finally in the menu «Touchpad management» check:

  • Automatically start at logon
  • Automatically switch off touchpad, if a mouse is plugged

I hope this information has been valuable for you!

share|improve this answer

You can create a script, and execute it when you want to disable/enable touchpad.


declare -i ID
ID=`xinput list | grep -Eio '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 ]
    xinput disable $ID
    # echo "Touchpad disabled."
    # notify-send 'Touchpad' 'Disabled' -i /usr/share/icons/Adwaita/48x48/devices/input-touchpad.png
    xinput enable $ID
    # echo "Touchpad enabled."
    # notify-send 'Touchpad' 'Enabled' -i /usr/share/icons/Adwaita/48x48/devices/input-touchpad.png
share|improve this answer
This works like a treat! – aggsol Jul 11 at 11:28

Your Answer


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.