Respuestas:
Para desactivar el panel táctil:
synclient TouchpadOff=1
Para volver a encenderlo:
synclient TouchpadOff=0
Hay al menos dos métodos (que yo sepa) que podrías probar.
Si su computadora portátil está equipada con un panel táctil Synaptics (o ALPS), puede usarlo synclient
como ya lo mencionó Shutupsquare. Estoy ejecutando Ubuntu 14.04 y en mi máquina se instaló por defecto.
Prueba si está instalado synclient: synclient -V
(debe informar el número de versión)
Encienda el panel táctil: synclient TouchpadOff=0
Apague el panel táctil: synclient TouchpadOff=1
No lo he probado yo mismo, pero si su objetivo es no mover el mouse cuando sus brazos descansan sobre el panel táctil, esto podría ayudar.
Active la detección de palma: synclient PalmDetect=1
Apague la detección de palma: synclient PalmDetect=0
En general, puede configurar cualquier propiedad de su panel táctil Synaptics synclient property=value
. Donde la propiedad es una de las propiedades disponibles mostradas porsynclient -l
ubuntu - wiki de ayuda comunitaria - SynapticsTouchpad
archlinux - wiki - Synaptics de panel táctil
ask ubuntu - ¿Cómo hago para que mis ajustes de sincronización se mantengan? - Ubuntu
Si no quiere o no puede usar synclient, también puede usarlo xinput
. El procedimiento es algo similar.
enumerar todos los dispositivos xinput: xinput
Parte de la salida podría verse así:
⎡ 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)]
En este caso particular, mi panel táctil tiene id = 17 y su nombre completo es "ETPS / 2 Elantech Touchpad".
El comando para establecer una propiedad es xinput set-prop
. La propiedad para habilitar o deshabilitar el panel táctil es Device Enabled
, así que para habilitarlo o deshabilitarlo, escriba:
Encienda el panel táctil: xinput set-prop <id> "Device Enabled" 1
(donde <id>
está la identificación de su dispositivo, en mi caso 17)
Apague el panel táctil: xinput set-prop <id> "Device Enabled" 0
Active la detección de palma: xinput set-prop <id> "Palm Detection" 1
Apague la detección de palma: xinput set-prop <id> "Palm Detection" 0
Para consultar las propiedades disponibles: xinput list-props <id>
O xinput list-props <full-name>
, esto debería ser bastante similar a synclient -l
.
Al establecer propiedades a través de cualquiera xinput
o de synclient
las propiedades no se establecen en la otra herramienta. Tampoco se establecen en la unidad-centro de control.
synclient
no funcionó para mí, lo xinput
hizo.
xinput
identificadores pueden cambiar durante los reinicios. Por lo tanto, confiar en estos identificadores en scripts o accesos directos no funcionará.
synclient
totalmente funciona en Arch Linux. Gracias por lo tanto !!!
xinput <enable/disable> <id>
, ya que la configuración a TouchpadOff
través de synclient
era ineficaz.
xinput
. Estaba un poco en apuros con mi teclado incorporado y los botones de trackpoint aparentemente enviando entradas malas que interferían con la entrada del teclado externo. Esto me permitió desactivar los dispositivos incorporados. ¡Aclamaciones! :)
synclient
y xinput
no funcionará si está utilizando el entorno gnome (o unity, canela), ya que anulará la configuración, por lo que si desea synclient
o xinput
asume estas configuraciones, primero debe desactivar eso:
instalar dconf-editor
si no está instalado:
apt-get install dconf-editor
correr dconf-editor
dconf-editor
abre el directorio /org/gnome/settings-daemon/plugins/mouse/
o/org/cinnamon/settings-daemon/plugins/mouse/
, y desmarque la casilla de verificación para active
.
logout
o reboot
Esto debería hacer synclient
o xinput
trabajar.
Enumere sus dispositivos de entrada:
xinput list
En mi caso tengo esta lista:
Virtual core XTEST pointer id=4
Logitech M510 id=11
ETPS/2 Elantech Touchpad id=15
Desactive su panel táctil pasando la identificación
xinput set-prop 15 "Device Enabled" 0
xinput enable [device]
y xinput disable [device]
directamente. Sin embargo, cuando se utilizan secuencias de comandos, el uso set-prop [device] "Device Enabled" [value]
puede ser un poco más fácil, como en la respuesta de World Python Developer.
Escribí un código de Python para que puedas usar la xinput
técnica sin hacer todo el trabajo manual. Copyleft, TAL CUAL, sin garantía, uso bajo su propio riesgo. Funciona muy bien para mí: y si está utilizando gnome, simplemente asigne un atajo de teclado como 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()
En Gnome, mi tecla de función para alternar el panel táctil no funcionaba por alguna razón, así que hice un script usando gsettings.
xinput
solución desactiva completamente el panel táctil como se esperaba. Si como yo, tu único problema es que mueves el cursor sin querer mientras escribes, eso será suficiente.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()
También debería funcionar en Unity, pero no lo he probado.