Kann ich mein Touchpad automatisch deaktivieren, wenn eine USB-Maus angeschlossen ist?

20

Ich weiß, dass ich mit prüfen kann, ob das Touchpad aktiv ist

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

und ich kann es mit deaktiviert / aktiviert setzen

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

Mit lsusbkann ich alle angeschlossenen USB-Geräte sehen. Welches ist für meine Maus:

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

Weitere Informationen mit 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

Und hier sind die Informationen von 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

Und noch mehr Informationen:

$ 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: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:1d.0/usb5/5-2/5-2:1.0/input/input15/mouse1
E: MAJOR=13
E: MINOR=33
E: DEVNAME=/dev/input/mouse1
E: SUBSYSTEM=input
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_VENDOR=Logitech
E: ID_VENDOR_ENC=Logitech
E: ID_VENDOR_ID=046d
E: ID_MODEL=USB-PS_2_Optical_Mouse
E: ID_MODEL_ENC=USB-PS\x2f2\x20Optical\x20Mouse
E: ID_MODEL_ID=c00e
E: ID_REVISION=1110
E: ID_SERIAL=Logitech_USB-PS_2_Optical_Mouse
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030102:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=usbhid
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

Wie kann ich dieses verwenden, um mein Touchpad automatisch zu deaktivieren, wenn eine USB-Maus angeschlossen ist, und es erneut zu aktivieren, sobald die USB-Maus verschwindet?

Martin Thoma
quelle
Hier ist Autoscript askubuntu.com/questions/533266/…
Dawid Drozd

Antworten:

10

Dieses Projekt scheint nicht mehr gepflegt zu sein.

Für Natty gibt es eine Touchpad-Anzeige-App. Es kann so eingestellt werden, dass das Touchpad deaktiviert / aktiviert wird, wenn eine Maus ein- oder ausgesteckt ist. Ich habe keine Ahnung, ob es auch für ältere Ubuntu-Versionen funktionieren könnte.

https://launchpad.net/touchpad-indicator

sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator
Christian
quelle
1
Dieses Tool scheint nicht für Ubuntu 14.04 LTS zu funktionieren. Gnome-Shell getestet.
NobbZ
Funktioniert auch nicht in meinem Unity Ubuntu 14.04.3.
Waldir Leoncio
Das funktioniert beim Tippen, aber nicht beim Deaktivieren des Touchpads, wenn die Maus angeschlossen ist.
Vipin8169
Funktionierte gut für mich auf Ubuntu 14.04 LTS (Unity). Vielen Dank!
Kimberly W
Funktioniert auch gut am 15.04
PTS
6

Sie können udevRegeln zum Deaktivieren / Aktivieren des Touchpads einrichten . Im ArchLinux-Wiki gelten folgende Regeln zum Umschalten eines synaptischen Touchpads 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"
Piskvor
quelle
Ich konnte es nicht zum Laufen bringen. Ich habe /etc/udev/rules.d/10-local.rulesmit 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"und dann sudo service udev reload; sudo udevadm trigger; sudo service udev restartaber nichts passiert.
Martin Thoma
3

Ich bin nicht sicher, ob alle Laptops Synaptiks verwenden, aber Sie könnten versuchen, es zu verwenden. Falls Sie nicht installiert haben, schreiben Sie in einem Terminal: $sudo apt-get install kde-config-touchpad, dann $synaptiksund schließlich im Menü «Touchpad - Management» Check:

  • Bei der Anmeldung automatisch starten
  • Touchpad automatisch ausschalten, wenn eine Maus eingesteckt ist

Ich hoffe, diese Informationen waren für Sie wertvoll!

Brallan Aguilar
quelle
3

Sie können ein Skript erstellen und ausführen, wenn Sie das Touchpad deaktivieren / aktivieren möchten.

/usr/local/bin/touchpad_toggle.sh

#!/bin/bash

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 ]
then
    xinput disable $ID
    # echo "Touchpad disabled."
    # notify-send 'Touchpad' 'Disabled' -i /usr/share/icons/Adwaita/48x48/devices/input-touchpad.png
else
    xinput enable $ID
    # echo "Touchpad enabled."
    # notify-send 'Touchpad' 'Enabled' -i /usr/share/icons/Adwaita/48x48/devices/input-touchpad.png
fi
realhu
quelle
Das funktioniert wie ein Genuss!
Aggsol
Arbeit wie ein Zauber !!!
Robbycandra
0

Dies ist eine längere Antwort von realhu.

Skript zum Ein- und Ausschalten des Touchpads mit Bildschirmbenachrichtigung

Teilgutschrift für diesen Beitrag ( Touchpad aktivieren / deaktivieren )

Erstellen Sie ein Toggle-Touchpad-Skript

Erstellen Sie ein neues Verzeichnis /home/USER/binund verwenden Sie dann gedit /home/USER/bin/toggle-touchpad. HINWEIS: Ersetzen Sie USER durch Ihre Benutzer-ID. Kopieren Sie diese Zeilen und fügen Sie sie in Ihren Editor ein:

#!/bin/bash

# NAME: toggle-touchpad
# PATH: /home/$USER/bin
# DESC: Update pulseaudio output device when HDMI TV plugged / unplugged
# CALL: called from Keyboard Shortcut `Super`+`T`
# DATE: Created Dec 23, 2016.
# NOTE: Written for AU question: http://askubuntu.com/questions/863746/keyboard-shortcut-to-disable-the-laptop-touchpad/863750?noredirect=1#comment1333958_863750


# Use device number matching touchpad, in this case 14
if [[ $(xinput list 14 | grep -Ec "disabled") -eq 1 ]]; then
    xinput enable 14
    DISPLAY=:0 notify-send --urgency=critical --icon=/usr/share/icons/gnome/256x256/status/user-available.png "Touchpad enabled"
else
    xinput disable 14
    DISPLAY=:0 notify-send --urgency=critical --icon=/usr/share/icons/gnome/256x256/status/user-busy.png "Touchpad disabled"
fi

exit 0

Markieren Sie das Toggle-Touchpad-Skript als ausführbar

Speichern Sie die Datei und beenden Sie den Editor. Kennzeichnen Sie nun die Datei als ausführbar mit

chmod +x /home/USER/bin/toggle-touchpad

Weisen Sie das Toggle-Touchpad-Skript der Tastenkombination zu

Öffne System SettingsKeyboardShortcutsCustom Shortcuts+

Dieser Bildschirm erscheint:

Toggle-Touchpad

Füllen Sie die Felder für die benutzerdefinierte Verknüpfung folgendermaßen aus:

  • Name = Toggle Touchpad
  • Befehl = /home/USER/bin/toggle-touchpad

Klicken Sie Applyzum Speichern auf die Schaltfläche.

Der neue Eintrag wird mit dem Status Deaktiviert angezeigt . Klicken Sie mit der rechten Maustaste auf Deaktiviert und verwenden Sie Super+ Z(oder eine andere nicht verwendete Tastenkombination). Ich wollte Super+ verwenden, Taber das ist bereits Nautilus Trashcan zugewiesen .

Ändern Sie das Toggle-Touchpad-Skript auf eine andere Gerätenummer

Die Standardgerätenummer ist auf 14 eingestellt. Um herauszufinden, wie Ihre Gerätenummer lautet, gehen Sie wie folgt vor:

───────────────────────────────────────────────────────────────────────────────
USER@host:~/bin$ xinput
⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech Performance MX                   id=10   [slave  pointer  (2)]
⎜   ↳ Logitech K800                             id=11   [slave  pointer  (2)]
⎜   ↳ AlpsPS/2 ALPS GlidePoint                  id=14   [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_HD               id=12   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys                          id=15   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=13   [slave  keyboard (3)]
───────────────────────────────────────────────────────────────────────────────
USER@host:~/bin$ 

Sie können ein beliebiges Gerät auswählen, z. B. Touchpad = 14, Webcam = 12 usw.

Egal welche Gerätenummer Sie verwenden, öffnen Sie einfach Ihr /home/USER/bin/toggle-touchpadSkript und ersetzen Sie es 14durch diese Gerätenummer.

Ändern Sie das Toggle-Touchpad-Skript, um andere Symbole zu verwenden

Wenn die Benachrichtigungsblase "Touchpad aktiviert" / "Touchpad deaktiviert" angezeigt wird, wird links vom Text ein Symbol angezeigt. Aktiensymbole werden von verwendet, /usr/share/icons/gnome/256x256/status/aber Sie können sie ändern.

Zum Aktivieren des Touchpads wird Folgendes angezeigt:

Benutzer verfügbar

Zum Deaktivieren des Touchpads wird Folgendes angezeigt:

Nutzer beschäftigt

WinEunuuchs2Unix
quelle