Puis-je désactiver automatiquement mon pavé tactile lorsqu'une souris USB est connectée?

20

Je sais que je peux vérifier si le pavé tactile est actif avec

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

et je peux le désactiver / activer avec

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

Avec lsusbje peux voir tous les périphériques USB connectés. C'est pour ma souris:

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

Plus d'informations avec 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

Et voici les informations de 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

Et encore plus d'informations:

$ 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

Comment puis-je l'utiliser pour désactiver automatiquement mon pavé tactile lorsqu'une souris USB est connectée et la réactiver dès que la souris USB disparaît?

Martin Thoma
la source
Voici l'autoscript askubuntu.com/questions/533266/…
Dawid Drozd

Réponses:

10

Ce projet ne semble plus être maintenu.

Pour natty, il existe une application d'indicateur de pavé tactile. il peut être réglé pour désactiver / activer le pavé tactile lorsqu'une souris est branchée ou déconnectée. Je ne sais pas si cela pourrait également fonctionner pour les anciennes versions d'Ubuntu.

https://launchpad.net/touchpad-indicator

sudo add-apt-repository ppa:atareao/atareao
sudo apt-get update
sudo apt-get install touchpad-indicator
Christian
la source
1
Cet outil ne semble pas fonctionner pour Ubuntu 14.04 LTS. Gnome shell testé.
NobbZ
Ne fonctionne pas non plus dans mon Unity Ubuntu 14.04.3.
Waldir Leoncio
qui fonctionne lors de la frappe, mais pas le pavé tactile désactivé lorsque la souris est connectée.
vipin8169
A très bien fonctionné pour moi sur Ubuntu 14.04 LTS (Unity). Merci!
Kimberly W
Fonctionne également très bien le 15.04
PTS
6

Vous pouvez configurer des udevrègles pour désactiver / activer le pavé tactile. Le wiki ArchLinux a ces règles pour basculer un pavé tactile Synaptic de 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
la source
Je ne pouvais pas le faire fonctionner. J'ai ajouté /etc/udev/rules.d/10-local.rulesavec 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"et puis sudo service udev reload; sudo udevadm trigger; sudo service udev restartmais il ne s'est rien passé.
Martin Thoma
3

Je ne sais pas si tous les ordinateurs portables utilisent Synaptiks, mais vous pouvez essayer de l'utiliser. Dans le cas où vous ne l'avez pas installé, écrivez dans un terminal:, $sudo apt-get install kde-config-touchpadpuis $synaptikset enfin dans le menu «Gestion du touchpad» cocher:

  • Démarrer automatiquement à la connexion
  • Éteignez automatiquement le pavé tactile, si une souris est branchée

J'espère que ces informations vous ont été précieuses!

Brallan Aguilar
la source
3

Vous pouvez créer un script et l'exécuter lorsque vous souhaitez désactiver / activer le pavé tactile.

/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
la source
Cela fonctionne comme un régal!
aggsol
Travaillez comme un charme !!!
robbycandra
0

Ceci est une réponse plus longue d'une réponse similaire de realhu.

Script pour activer / désactiver le pavé tactile avec notification d'écran

Crédit partiel à ce message ( Activer / désactiver le pavé tactile )

Créer un script à pavé tactile

Créez un nouveau répertoire /home/USER/bin, puis utilisez gedit /home/USER/bin/toggle-touchpad. REMARQUE: remplacez USER par votre ID utilisateur. Copiez et collez ces lignes dans votre éditeur:

#!/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

Marquer le script du pavé tactile comme exécutable

Enregistrez le fichier et quittez l'éditeur. Marquez maintenant le fichier comme exécutable à l'aide de

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

Attribuer le script du pavé tactile au raccourci clavier

Ouvrez System SettingsKeyboardShortcutsCustom Shortcuts+

Cet écran apparaît:

pavé tactile

Remplissez les champs de raccourcis personnalisés comme ceci:

  • Nom = Toggle Touchpad
  • Commande = /home/USER/bin/toggle-touchpad

Cliquez sur le Applybouton pour enregistrer.

La nouvelle entrée apparaît avec le statut Désactivé . Faites un clic droit sur Désactivé et utilisez Super+ Z(ou toute autre combinaison de raccourcis inutilisés). Je voulais utiliser Super+ Tmais cela est déjà attribué à Nautilus Trashcan .

Modifier le script du pavé tactile à différents numéros de périphérique

Le numéro d'appareil par défaut est fixé à 14. Pour savoir quel est votre numéro d'appareil, utilisez ce qui suit:

───────────────────────────────────────────────────────────────────────────────
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$ 

Vous pouvez choisir n'importe quel appareil que vous aimez, par exemple Touchpad = 14, Webcam = 12, etc.

Quel que soit le numéro d'appareil que vous utilisez, ouvrez simplement votre /home/USER/bin/toggle-touchpadscript et remplacez-le 14par ce numéro d'appareil.

Modifier le script du pavé tactile pour utiliser différentes icônes

Lorsque la bulle de notification «Pavé tactile activé» / «Pavé tactile désactivé» s'affiche, une icône s'affiche à gauche du texte. Les icônes de stock sont utilisées à partir de /usr/share/icons/gnome/256x256/status/mais vous pouvez les changer.

Pour activer le pavé tactile, cela s'affiche:

utilisateur disponible

Pour désactiver le pavé tactile, cela s'affiche:

Utilisateur occupé

WinEunuuchs2Unix
la source