Réponses:
Pour désactiver le pavé tactile:
synclient TouchpadOff=1
Pour le réactiver:
synclient TouchpadOff=0
Vous pouvez essayer au moins deux méthodes (à ma connaissance).
Si votre ordinateur portable est équipé d'un pavé tactile Synaptics (ou ALPS), vous pouvez en effet utiliser synclient
comme déjà mentionné par Shutupsquare. J'utilise Ubuntu 14.04 et sur ma machine, il a été installé par défaut.
Testez si synclient est installé: synclient -V
(il devrait indiquer le numéro de version)
Activer le touchpad: synclient TouchpadOff=0
Désactiver le touchpad: synclient TouchpadOff=1
Je n'ai pas testé cela moi-même, mais si votre objectif est de ne pas déplacer la souris lorsque vos bras reposent sur la tablette tactile, cela pourrait vous aider.
Activer la détection de paume: synclient PalmDetect=1
Désactiver la détection des paumes: synclient PalmDetect=0
En général, vous pouvez configurer n’importe quelle propriété de votre pavé tactile Synaptics synclient property=value
. Lorsque la propriété est l'une des propriétés disponibles montrées parsynclient -l
ubuntu - wiki d'aide de comminity - SynapticsTouchpad
archlinux - wiki - Pavé tactile Synaptics
ask ubuntu - Comment puis-je conserver les paramètres de mon synclient? - Ubuntu
Si vous ne voulez pas ou ne pouvez pas utiliser synclient, vous pouvez également utiliser xinput
. La procédure est un peu 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 touchpad a 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é pour activer ou désactiver le pavé tactile est Device Enabled
, donc pour l'activer ou le désactiver tapez:
Activer le touchpad: xinput set-prop <id> "Device Enabled" 1
(où <id>
est l'identifiant de votre appareil, dans mon cas 17)
Désactiver le touchpad: xinput set-prop <id> "Device Enabled" 0
Activer la détection de paume: xinput set-prop <id> "Palm Detection" 1
Désactiver la détection des paumes: 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 être assez similaire à synclient -l
.
Lorsque vous définissez des propriétés via l'un xinput
ou synclient
l' autre, les propriétés ne sont pas définies sur l'autre outil. Ils ne sont pas non plus placés dans le centre de contrôle de l'unité.
synclient
ne fonctionne pas pour moi, a xinput
fait.
xinput
identifiants peuvent changer après un redémarrage. Donc, compter sur ces identifiants dans les scripts ou les raccourcis ne fonctionnera pas.
synclient
fonctionne totalement sur Arch Linux. Merci donc beaucoup !!!
xinput <enable/disable> <id>
, car le réglage TouchpadOff
via synclient
était inefficace.
xinput
. J'étais un peu embarrassé avec mon clavier intégré et les boutons de point de route qui envoyaient apparemment de mauvaises entrées qui interféraient avec l'entrée du clavier externe. Cela m'a permis de désactiver les périphériques intégrés. À votre santé! :)
synclient
et xinput
ne fonctionnera pas si vous utilisez un environnement gnome (ou unite, cannelle), car il remplacera les parametres. Si vous voulez synclient
ou xinput
pour reprendre ces parametres, vous devez d'abord le desactiver:
installer dconf-editor
si non installé:
apt-get install dconf-editor
courir dconf-editor
dconf-editor
ouvrez le répertoire /org/gnome/settings-daemon/plugins/mouse/
ou /org/cinnamon/settings-daemon/plugins/mouse/
décochez la case correspondante active
.
logout
ou reboot
Cela devrait faire synclient
ou xinput
travailler.
Listez vos périphériques d'entrée:
xinput list
Dans mon cas j'ai cette liste:
Virtual core XTEST pointer id=4
Logitech M510 id=11
ETPS/2 Elantech Touchpad id=15
Désactiver votre touchpad en passant l'ID
xinput set-prop 15 "Device Enabled" 0
xinput enable [device]
et xinput disable [device]
directement. Cependant, lors de la création de scripts, l’utilisation set-prop [device] "Device Enabled" [value]
peut être un peu plus facile, comme dans la réponse de World Python Developer.
J'ai écrit un morceau de code en python pour que vous puissiez utiliser la xinput
technique sans effectuer tout le travail manuel. Copyleft, AS-IS, pas de garantie, utilisation à vos risques et périls. Cela fonctionne très bien pour moi: et si vous utilisez gnome, associez-le simplement à un raccourci clavier comme CtrlShiftT.
#!/usr/bin/python2
# -*- coding: utf-8 -*-
'''Program to toggle Touchpad Enable to Disable or vice-versa.'''
import commands
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 = commands.getoutput("xinput").split("\n")
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 = commands.getoutput("""xinput list-props %d""" % tpad_id).split('\n')
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 #%d Device Enabled %d" % (tpad_id, status)
commands.getoutput("""xinput set-prop %d "Device Enabled" %d""" % (tpad_id, status))
def main():
"""Get curent device id and status, and flop status value."""
tpad = current_id()
stat = current_status(tpad)
flop(tpad, stat)
main()
Sur Gnome, ma touche de fonction pour basculer le pavé tactile ne fonctionnait pas pour une raison quelconque, alors j'ai créé un script en utilisant gsettings.
xinput
solution le désactive complètement comme prévu. Si comme moi, votre seul problème est que vous déplacez le curseur par inadvertance en tapant, cependant, cela suffira.toggle_touchpad_gsettings.py
#!/usr/bin/python3.6
import sys
import subprocess
gsettings_schema, gsettings_key = "org.gnome.desktop.peripherals.touchpad", "send-events"
def get_touchpad_send_events():
send_events_value = subprocess.check_output(["gsettings", "get", gsettings_schema, gsettings_key])
return send_events_value.strip()
def toggle_touchpad():
# string returned from get is a repr including quotes,
# but string sent with set does not need to have quotes
if get_touchpad_send_events() == b"'enabled'":
newval = 'disabled'
else:
newval = 'enabled'
subprocess.Popen(["gsettings", "set", gsettings_schema, gsettings_key, newval])
print(f"Set {gsettings_schema}:{gsettings_key} to {newval}")
def main():
toggle_touchpad()
if __name__ == '__main__':
main()
Cela devrait également fonctionner sur Unity, mais je n'ai pas encore testé.