J'essaie de modifier le touchpad sur Ubuntu 16.04, mais aucune des méthodes habituelles ne semble fonctionner. par exemple.
synclient touchpadOff=1
Ça fonctionne encore!
$ xinput set-prop $DEVICE_ID "Device Enabled" 0
$ xinput list-props 15 |head -n2
Device 'SynPS/2 Synaptics TouchPad':
Device Enabled (168): 0
...ça fonctionne encore!
Je peux le désactiver depuis l'application Paramètres. mais je veux pouvoir mapper ceci à un raccourci clavier, alors je cherche une solution en ligne de commande.
Les points bonus si vous répondez fonctionnent aussi bien dans Gnome-Shell que dans Unity :-)
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ELAN Touchscreen id=12 [slave pointer (2)]
⎜ ↳ DLL06E4:01 06CB:7A13 Touchpad id=13 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=15 [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)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ Integrated_Webcam_HD id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
↳ Dell WMI hotkeys id=16 [slave keyboard (3)]
Nb. J'ai utilisé 15 pour $DEVICE_ID
Vous pouvez le faire en une ligne, mais vous recevez également une notification Nice. Je l'ai attaché à une touche de raccourci et cela fonctionne un charme. Merci a tous.
#!/bin/bash
if xinput list-props 13 | grep "Device Enabled (168):.*1" >/dev/null
then
xinput disable 13
notify-send -u low -i mouse "Trackpad disabled"
else
xinput enable 13
notify-send -u low -i mouse "Trackpad enabled"
fi
Vous pouvez désactiver le touchpad avec cette commande:
xinput disable 13
Activer le retour par
xinput enable 13
Le périphérique n'est pas contrôlé par psmouse
. Il est contrôlé par synaptics_i2c
. Et c'est le périphérique 13.
Vous pouvez également basculer par nom, comme vous avez essayé auparavant, pour ne pas dépendre de l'ID. Mais si vous ne connectez pas de nouveaux périphériques d'entrée, l'ID doit rester.
Voir cette réponse pour plus de détails.
Pour supprimer un périphérique mal détecté, vous devez ajouter i8042.nopnp
paramètre de démarrage du noyau.
Si vous pouvez modifier les paramètres avec gsettings
, c'est généralement l'option préférée. Étant donné que vous pouvez activer/désactiver le pavé tactile à partir des paramètres système, et que je suis pratiquement sûr que les paramètres système utilisent l'utilisation de gsettings
, il semble que la méthode ci-dessous devrait faire l'affaire. , sur votre Dell aussi.
14.04
#!/usr/bin/env python3
import subprocess
key = "org.gnome.settings-daemon.peripherals.touchpad" ;val = "touchpad-enabled"
curr = subprocess.check_output(["gsettings", "get", key, val]).decode("utf-8").strip()
newval = "false" if curr == "true" else "true"
subprocess.Popen(["gsettings", "set", key, val, newval])
15.04 +
#!/usr/bin/env python3
import subprocess
key = "org.gnome.desktop.peripherals.touchpad" ;val = "send-events"
curr = subprocess.check_output(["gsettings", "get", key, val]).decode("utf-8").strip()
newval = "disabled" if curr == "'enabled'" else "enabled"
subprocess.Popen(["gsettings", "set", key, val, newval])
toggle_touchpad.py
Ajoutez la commande suivante à un raccourci:
python3 /path/to/toggle_touchpad.py
Choisissez: Paramètres système> "Clavier"> "Raccourcis"> "Raccourcis personnalisés". Cliquez sur le "+" et ajoutez la commande:
python3 /path/to/toggle_touchpad.py
La commande pour désactiver le pavé tactile:
pour 14.04:
gsettings set org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled false
pour 15.04 +:
gsettings set org.gnome.desktop.peripherals.touchpad send-events disabled
Si nous utilisons un script pour lire les paramètres actuels à l'aide de la commande:
gsettings get org.gnome.settings-daemon.peripherals.touchpad touchpad-enabled
(14.04), ou
gsettings get org.gnome.desktop.peripherals.touchpad send-events
(15.04+)
Nous pouvons faire en sorte que le script définisse la valeur opposée et que bascule le pavé tactile.
Pour être complet, et parce que OP a indiqué que le ou les scripts python
fonctionnaient mais ne souhaitaient pas utiliser python
, la ou les versions bash
des deux scripts de basculement:
14.04
#!/bin/bash
key="org.gnome.settings-daemon.peripherals.touchpad"
val="touchpad-enabled" ;curr="$key $val"
if [ "$(gsettings get $curr)" == "false" ]
then
gsettings set $key $val true
else
gsettings set $key $val false
fi
15.04 +
#!/bin/bash
key="org.gnome.desktop.peripherals.touchpad"
val="send-events" ;curr="$key $val"
if [ "$(gsettings get $curr)" == "'enabled'" ]
then
gsettings set $key $val disabled
else
gsettings set $key $val enabled
fi
toggle_touchpad.sh
mettez la commande suivante sous un raccourci personnalisé:
/bin/bash /path/to/toggle_touchpad.sh
Je suis aussi sur 16.04. J'utilise généralement un petit script que je mets sur un raccourci clavier. Lorsque j'exécute, mon pavé tactile est désactivé ... mais quelques secondes après, il s'allume ...
Le scénario:
#!/bin/sh
STATUS=`synclient | grep TouchpadOff | awk '{ print $3}'`
if [ $STATUS != 1 ];
then
synclient touchpadOff=1;
else
synclient touchpadOff=2;
fi
exit 0
Je n'essaie pas de l'utiliser avant de voir votre question ...