web-dev-qa-db-fra.com

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

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éfinir désactivé/activé avec

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

Avec lsusb, je peux voir tous les périphériques USB connectés. Ce qui 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 le pavé tactile lorsqu'une souris USB est connectée et le réactiver dès que la souris USB disparaît?

20
Martin Thoma

Ce projet semble ne plus être maintenu.

Pour Natty, il existe une application avec indicateur tactile. il peut être configuré pour désactiver/activer le pavé tactile lorsqu'une souris est connecté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
10
Christian

Vous pouvez configurer les règles udev pour désactiver/activer le pavé tactile. ArchLinux wiki 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"
6
Piskvor

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
3
realhu

Je ne sais pas si tous les ordinateurs portables utilisent Synaptiks, mais vous pouvez essayer de l'utiliser. Au cas où vous ne l'auriez pas installé, écrivez dans un terminal: $Sudo apt-get install kde-config-touchpad, puis $synaptikset enfin dans le menu "Gestion du pavé tactile", cochez:

  • Démarrer automatiquement à l'ouverture de session
  • Désactiver automatiquement le pavé tactile, si une souris est branchée

J'espère que cette information vous a été utile!

3
Brallan Aguilar

Ceci est une réponse plus longue de la même chose par realhu.

Script pour activer/désactiver le pavé tactile avec notification à l'é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 UTILISATEUR 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 toggle-touchpad comme exécutable

Enregistrez le fichier et quittez l'éditeur. Maintenant, marquez le fichier comme exécutable en utilisant

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

Attribuer un script de pavé tactile à un raccourci clavier

Ouvrez System SettingsKeyboardShortcutsCustom Shortcuts+

Cet écran apparaît:

toggle-touchpad

Remplissez les champs de raccourci personnalisé comme ceci:

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

Cliquez sur Apply bouton 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 non utilisée). Je voulais utiliser Super+T mais cela est déjà attribué à Nautilus Trashcan .

Modifier le script du pavé tactile en un autre numéro de périphérique

Le numéro de périphérique par défaut est défini sur 14. Pour connaître le numéro de votre périphérique, utilisez les éléments suivants:

───────────────────────────────────────────────────────────────────────────────
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, par exemple Touchpad = 14, Webcam = 12, etc.

Quel que soit le numéro de périphérique que vous utilisez, ouvrez simplement votre script /home/USER/bin/toggle-touchpad et remplacez 14 par ce numéro de périphérique.

Modifier le script du pavé tactile pour qu'il utilise différentes icônes

Lorsque la bulle de notification "Touchpad enabled"/"Touchpad disabled" est affichée, une icône est affichée à gauche du texte. Les icônes de stock sont utilisées à partir de /usr/share/icons/gnome/256x256/status/ mais vous pouvez les modifier.

Pour activer le pavé tactile, ceci est affiché:

user available

Pour désactiver le pavé tactile, ceci est affiché:

user busy

0
WinEunuuchs2Unix