web-dev-qa-db-fra.com

Activer / désactiver le pavé tactile

J'ai réussi à installer Ubuntu 16.04 sur mon asus ux501 vw, mais certains de mes raccourcis ne fonctionnent pas. Je ne cherche pas à les résoudre tous, mais un seul: le raccourci qui me permet d'activer ou de désactiver le pavé tactile, afin que je puisse rédiger de longs documents en travaillant sur le pavé tactile.

J'ai essayé de le trouver sur google mais je n'ai rien eu.

Quelqu'un peut-il m'expliquer comment résoudre ce problème s'il vous plaît? Merci !

15
Thomas

J'ai créé ce script bash à partir de la réponse de negusp . Il trouve et bascule le périphérique TouchPad. Vous pouvez configurer un raccourci personnalisé dans les paramètres système.

#!/bin/bash

read TPdevice <<< $( xinput | sed -nre '/TouchPad/s/.*id=([0-9]*).*/\1/p' )
state=$( xinput list-props "$TPdevice" | grep "Device Enabled" | grep -o "[01]$" )

if [ "$state" -eq '1' ];then
    xinput --disable "$TPdevice" && notify-send -i emblem-nowrite "Touchpad" "Disabled"
else
    xinput --enable "$TPdevice" && notify-send -i input-touchpad "Touchpad" "Enabled"
fi

Je me couche Ctrl+Shift+F9 pour activer/désactiver le pavé tactile, procédez comme suit:

enter image description here

Éditer: vous devrez peut-être exécuter votre script avec la commande chmod + x nom du fichier ou entrée /bin/bash/filepath dans le champ de commande de la fenêtre de raccourci personnalisé.

23
Almas Dusal

Vous voulez un raccourci, mais vous pouvez facilement mettre 2 scripts sur le bureau et les exécuter.

Tout d'abord, allez au terminal. Tapez xinput. Exemple de sortie:

⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=12   [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_1.3M             id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=11   [slave  keyboard (3)]
    ↳ Dell WMI hotkeys 

Trouvez le pavé tactile. Dans cet exemple, le pavé tactile est répertorié sous la forme id = 12

Créez le premier script avec ceci:

#!/bin/bash
xinput enable 12

Enregistrez-le et nommez-le touchpadenable.sh, puis, dans le terminal, marquez-le comme exécutable avec:

chmod +x touchpadenable.sh

Refaites exactement la même chose, mais renommez le fichier en touchpaddisable.sh (ou autre) et au lieu de

xinput enable 12

Utilisez la commande

xinput disable 12

Enregistrer, marquer comme exécutable et vous devriez pouvoir exécuter les scripts à partir du bureau. Remarque: vous devrez peut-être cliquer avec le bouton droit de la souris sur les scripts, cliquer sur les propriétés et autoriser son exécution.

10
negusp

Vous devez faire comme la réponse de negusp, vérifiez d'abord votre appareil tactile, et montrera quelque chose comme ceci:

 ~ $ xinput 
 ⎡ Identifiant de pointeur de noyau virtuel = 2 [pointeur principal (3)] 
 ↳ Identifiant de pointeur XTEST de noyau virtuel = 4 [pointeur esclave (2)] 
 Ar ↳ PixArt Identifiant de souris optique USB Dell MS116 = 10 [pointeur esclave (2)] 
 SynPS/2 id de TouchPad Synaptics = 14 [pointeur esclave (2)] 
 ↳ DLLC6B2: 00 06CB: 75BF Id du pavé tactile = 12 [pointeur esclave (2)] 
 Id Identifiant du clavier du noyau virtuel = 3 [clavier principal (2)] 
 Identifiant du clavier du noyau virtuel XTEST = 5 [ clavier esclave (3)] 
 ↳ Id du bouton d'alimentation = 6 [clavier esclave (3)] 
 ↳ ID du bus vidéo = 7 [clavier esclave (3)] 
 Bouton d'alimentation id = 8 [clavier esclave (3)] 
 ↳ Bouton Veille id = 9 [clavier esclave (3)] 
 ↳ intégré _Webcam_HD id = 11 [clavier esclave (3)] 
 AT ensemble traduit 2 id de clavier = 13 [clavier esclave (3)] 
 ↳ id de raccourcis clavier Dell WMI = 15 [clavier esclave (3)] 
 ↳ Touches de raccourci Dell Wireless id = 16 [clavier esclave (3)] 

Dans mon cas, le périphérique avec l'id = 12, créez maintenant un script bash avec le nom "toggle-touch" dans votre dossier Desktop dans un dossier nommé "bin". Ce serait "~/Desktop/bin" et copiez le code suivant, cochez la variable de périphérique est pointée sur mon ID de contact = 12, corrigez-le avec votre cas:

#!/bin/bash

device=12
state=`xinput list-props "$device" | grep "Device Enabled" | grep -o "[01]$"`

if [ $state == '1' ];then
  xinput --disable $device
else
  xinput --enable $device
fi

Définissez cette autorisation d'exécution de script:

chmod 775 /Desktop/bin/toggle-touch

Enfin, vous pouvez ajouter ce chemin au ".bashrc" à partir de votre dossier personnel, ajoutez juste cette ligne à la fin du fichier:

PATH=$PATH:~/Desktop/bin

mettre à jour le chemin avec:

. .bashrc

Ensuite, vous pouvez exécuter ce script depuis n’importe quel endroit, j’espère cette aide.

6
hermeslm

Faites comme la réponse de @ Almas Dusal , ce qui fait comme la réponse de @ negusp , sauf que vous utilisez plutôt mon script modifié:

read TPdevice <<< $( xinput | sed -nre '/TouchPad/s/.*id=([0-9]*).*/\1/p' )
state=$( xinput list-props "$TPdevice" | grep "Device Enabled" | grep -o "[01]$" )

if [ "$state" -eq '1' ];then
    xinput --disable "$TPdevice"
    zenity --info --text "Touchpad DISABLED" --timeout=2
else
    xinput --enable "$TPdevice"
    zenity --info --text "Touchpad ENABLED" --timeout=2
fi

Maintenant, attribuez-lui un raccourci clavier de Ctrl + Alt + P (ou ce que vous choisissez [le 'P' signifie Touch'P'ad dans mon cas]). Mon ajout au script ci-dessus est la partie zenity à fermeture automatique, que je décris plus en détail dans ma réponse ici ( https://superuser.com/a/1310142/ 425838 ).

Maintenant, lorsque j'utilise le raccourci ci-dessus, je vois cette fenêtre contextuelle, qui se ferme automatiquement après 2 secondes:

enter image description here

Et si j'appuie à nouveau, la fenêtre contextuelle qui se ferme automatiquement après 2 secondes s'affiche:

enter image description here

Parfait!

En prime, si vous êtes un grand utilisateur de souris, ajoutez simplement la commande qui appelle votre script ci-dessus à vos programmes de démarrage dans Ubuntu afin qu’il s'exécute et désactive votre pavé tactile à chaque démarrage de votre ordinateur! J'ai cet ensemble pour pouvoir cesser de cogner le pavé tactile avec la base de la main et de supprimer tout le temps accidentellement! Maintenant, quand ma main cogne le pavé tactile, rien ne se passe car il est désactivé. :)

Remarque: tout cela fonctionne très bien dans Ubuntu 18.04 ainsi que dans les versions antérieures. Je l'ai testé sous Ubuntu 18.04 et Ubuntu 14.04. Voici une capture d'écran de la fenêtre des paramètres de raccourci dans 18.04:

enter image description here

1
Gabriel Staples

Dans mon Ubuntu 18.04 , la réponse d'Almas Dusal n'a pas fonctionné jusqu'à ce que je modifie le "p" en minuscule dans TouchPad dans la ligne suivante de son code:

read TPdevice <<< $( xinput | sed -nre '/Touchpad/s/.*id=([0-9]*).*/\1/p' )

Après cela, le pavé tactile a été désactivé et activé avec succès par le script, mais cela n’a pas été reflété dans l’écran de réglages de la souris et du pavé tactile . J'ai créé le nouveau script suivant qui bascule le pavé tactile lors de la mise à jour de la vue des paramètres.

#!/bin/bash

state=$( gsettings get org.gnome.desktop.peripherals.touchpad send-events )

if [ "$state" = "'enabled'" ];then
    gsettings set org.gnome.desktop.peripherals.touchpad send-events 'disabled' \
        && notify-send -i touchpad-disabled-symbolic "Touchpad" "Disabled"
else
    gsettings set org.gnome.desktop.peripherals.touchpad send-events 'enabled' \
        && notify-send -i input-touchpad-symbolic "Touchpad" "Enabled"
fi
0
Samuli Asmala

Laissant mon script ici (plus ou moins le même que ci-dessus). Fonctionne hors de la boîte, pas besoin de recherche préalable de l'ID de périphérique.

#!/bin/bash

function query_device_id {
    xinput list | grep -i touchpad | sed 's/.*id=\([0-9]*\).*/\1/g'
}

let device_id=$(query_device_id)

let state=$(xinput list-props $device_id | grep Enabled | awk '{print $4;}')

let new_state=$((1 - $state))

xinput set-prop $device_id "Device Enabled" $new_state
0
erosb

Créez un script Shell, collez-y le code ci-dessous et nommez-le touchPadDisable.sh.

#!/bin/bash
temp=$(xinput | grep -i "Elantech Touchpad" | cut -d"=" -f 2 | cut -d"[" -f 1)
xinput disable $temp

Créez un autre script Shell, collez-y le code ci-dessous et nommez-le touchPadEnable.sh.

#!/bin/bash
temp=$(xinput | grep -i "Elantech Touchpad" | cut -d"=" -f 2 | cut -d"[" -f 1)
xinput enable $temp

Le premier script désactive le pavé tactile et le second active le pavé tactile.

Vous pouvez ajouter ce script aux raccourcis personnalisés des claviers.

0
Shrinivas Kulkarni