Existe-t-il un moyen de désactiver un pavé tactile à l'aide d'une commande de terminal ?
Réponses
Trop de publicités?Il existe au moins deux méthodes (à ma connaissance) que vous pouvez essayer.
synclient
Si votre ordinateur portable est équipé d'un pavé tactile Synaptics (ou ALPS), vous pouvez en effet utiliser les fonctions suivantes synclient
comme l'a déjà mentionné Shutupsquare. Je travaille sous Ubuntu 14.04 et sur ma machine, il a été installé par défaut.
Tester si synclient est installé : synclient -V
(il doit indiquer le numéro de version)
Allumez le pavé tactile : synclient TouchpadOff=0
Désactiver le pavé tactile : synclient TouchpadOff=1
Je ne l'ai pas testé moi-même, mais si votre objectif est de ne pas bouger la souris lorsque vos bras reposent sur le pavé tactile, cela pourrait vous aider.
Activer la détection de la paume de la main : synclient PalmDetect=1
Désactiver la détection de la paume : synclient PalmDetect=0
En général, vous pouvez configurer n'importe quelle propriété de votre pavé tactile Synaptics de la manière suivante synclient property=value
. Lorsque le bien est l'un des biens disponibles indiqués par synclient -l
Liens pour une lecture plus approfondie
ubuntu - comminity help wiki - SynapticsTouchpad
archlinux - wiki - Touchpad Synaptics
ask ubuntu - Comment faire en sorte que mes paramètres synclient soient pris en compte ? - Ubuntu
xinput
Si vous ne voulez pas ou ne pouvez pas utiliser synclient, vous pouvez également utiliser xinput
. La procédure est assez similaire.
liste tous les périphériques xinput : xinput
Une partie de la sortie pourrait ressembler à ceci :
Virtual core pointer id=2 [master pointer (3)]
Virtual core XTEST pointer id=4 [slave pointer (2)]
Logitech USB-PS/2 Optical Mouse id=13 [slave pointer (2)]
ETPS/2 Elantech Touchpad id=17 [slave pointer (2)]
Dans ce cas particulier, mon pavé tactile a pour identifiant id=17 et son nom complet est "ETPS/2 Elantech Touchpad".
La commande pour définir une propriété est xinput set-prop
. La propriété permettant d'activer ou de désactiver le pavé tactile est la suivante Device Enabled
Pour l'activer ou le désactiver, il faut donc taper :
Allumez le pavé tactile : xinput set-prop <id> "Device Enabled" 1
(où <id>
est l'identifiant de votre appareil, dans mon cas 17)
Désactiver le pavé tactile : xinput set-prop <id> "Device Enabled" 0
Activer la détection de la paume de la main : xinput set-prop <id> "Palm Detection" 1
Désactiver la détection de la paume : xinput set-prop <id> "Palm Detection" 0
Pour interroger les propriétés disponibles : xinput list-props <id>
OU xinput list-props <full-name>
Cela devrait ressembler à ce que l'on trouve dans synclient -l
.
Liens pour une lecture plus approfondie
NOTE
Lorsque vous définissez des propriétés à l'aide de l'un ou l'autre des outils suivants xinput
ou synclient
les propriétés ne sont pas définies pour l'autre outil. Elles ne sont pas non plus définies dans unity-control-center.
synclient
y xinput
ne fonctionnera pas si vous utilisez l'environnement gnome (ou unity, cinnamon), car il écrasera les paramètres, donc si vous voulez synclient
ou xinput
pour prendre en charge ces paramètres, vous devez d'abord le désactiver :
-
installer
dconf-editor
s'il n'est pas installé :apt-get install dconf-editor
-
courir
dconf-editor
dconf-editor
-
ouvrir le répertoire
/org/gnome/settings-daemon/plugins/mouse/
ou/org/cinnamon/settings-daemon/plugins/mouse/
et décochez la case de l'optionactive
. -
logout
oureboot
Cela devrait permettre de synclient
ou xinput
travail.
J'ai écrit un morceau de code Python (maintenant mis à jour de python2 à python3) pour que vous puissiez utiliser la fonction xinput
sans faire tout le travail manuel. Copyleft, AS-IS, pas de garantie, utilisation à vos propres risques. Cela fonctionne très bien pour moi : et si vous utilisez gnome, il suffit de le faire correspondre à un raccourci clavier comme CtrlShiftT .
#!/usr/bin/python3
# -*- coding: utf-8 -*-
'''Program to toggle Touchpad Enable to Disable or vice-versa.'''
from subprocess import check_output
import re
def current_id():
""" Search through the output of xinput and find the line that has the
word Touchpad. At that point, I believe we can find the ID of that device.
"""
props = check_output(["xinput"]).decode("utf-8").splitlines()
match = [line for line in props if "Touchpad" in line]
assert len(match) == 1, "Problem finding Touchpad string! %s" % match
pat = re.match(r"(.*)id=(\d+)", match[0])
assert pat, "No matching ID found!"
return int(pat.group(2))
def current_status(tpad_id):
"""Find the current Device ID
- it has to have the word Touchpad in the line."""
props = check_output(
['xinput','list-props',str(tpad_id)]).decode("utf-8").splitlines()
match = [line for line in props if "Device Enabled" in line]
assert len(match) == 1, "Can't find the status of device #%d" % tpad_id
pat = re.match(r"(.*):\s*(\d+)", match[0])
assert pat, "No matching status found!"
return int(pat.group(2))
def flop(tpad_id, status):
"""Change the value of status, and call xinput to reverse that status."""
if status == 0:
status = 1
else:
status = 0
print("Changing Device #",tpad_id," Device Enabled to ",status)
props = check_output(['xinput',
'set-prop',
str(tpad_id),
'Device Enabled',
str(status)])
def main():
"""Get curent device id and status, and flop status value."""
tpad = current_id()
stat = current_status(tpad)
flop(tpad, stat)
main()
- Réponses précédentes
- Plus de réponses