Para desativar o touch pad:
synclient TouchpadOff=1
Para reativar:
synclient TouchpadOff=0
Existe uma maneira de desativar um touchpad usando um comando de terminal?
Para desativar o touch pad:
synclient TouchpadOff=1
Para reativar:
synclient TouchpadOff=0
Existem pelo menos dois métodos (que eu conheço) que você pode tentar.
Se o seu laptop estiver equipado com um touchpad Synaptics (ou ALPS), você pode usar synclient
como já foi mencionado pelo Shutupsquare. Estou executando o Ubuntu 14.04 e na minha máquina ele foi instalado por padrão.
Teste se o synclient estiver instalado: synclient -V
(deve informar o número da versão)
Ativar o touchpad: synclient TouchpadOff=0
Transformar o touchpad em OFF: synclient TouchpadOff=1
Eu não testei isso sozinho, mas se seu objetivo é não mover o mouse quando seus braços estiverem apoiados no touch pad, isso pode ajudar.
Ativar a detecção de palma: synclient PalmDetect=1
Ativar a detecção da palma da mão: synclient PalmDetect=0
Em geral, você pode configurar qualquer propriedade do seu touchpad Synaptics por synclient property=value
. Onde a propriedade é uma das propriedades disponíveis mostradas por synclient -l
ubuntu - wiki de ajuda de comminity - SynapticsTouchpad
archlinux - wiki - Touchpad Synaptics
ask ubuntu - Como faço minhas configurações de synclient? - Ubuntu
Se você não quiser ou não puder usar o synclient, também poderá usar xinput
. O procedimento é um pouco semelhante.
liste todos os dispositivos xinput: xinput
Parte da saída pode ser assim:
⎡ 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)]
Neste caso particular, meu touchpad tem id = 17 e seu nome completo é "ETPS / 2 Elantech Touchpad".
O comando para definir uma propriedade é xinput set-prop
. A propriedade para ativar ou desativar o touchpad é Device Enabled
, portanto, para ativar ou desativar, digite:
Transformar o touchpad em: xinput set-prop <id> "Device Enabled" 1
(onde <id>
é o seu ID do dispositivo, no meu caso 17)
Transformar o touchpad em OFF: xinput set-prop <id> "Device Enabled" 0
Ativar a detecção de palma: xinput set-prop <id> "Palm Detection" 1
Ativar a detecção da palma da mão: xinput set-prop <id> "Palm Detection" 0
Para consultar as propriedades disponíveis: xinput list-props <id>
OR xinput list-props <full-name>
, isso deve ser bem semelhante a synclient -l
.
ubuntu - wiki - input
Ao definir propriedades através de xinput
ou synclient
, as propriedades não são definidas para a outra ferramenta. Eles também não são colocados no centro de controle da unidade.
synclient
e xinput
não funcionarão se você estiver usando o ambiente gnome (ou unidade, canela), porque substituirá as configurações, portanto, se você quiser que synclient
ou xinput
assumam essas configurações, deve desativar isso primeiro:
instale dconf-editor
se não estiver instalado:
apt-get install dconf-editor
execute dconf-editor
dconf-editor
abra o diretório /org/gnome/settings-daemon/plugins/mouse/
ou /org/cinnamon/settings-daemon/plugins/mouse/
e desmarque a caixa de seleção de active
.
logout
ou reboot
Isso deve fazer synclient
ou xinput
funcionar.
Relacione seus dispositivos de entrada:
xinput list
No meu caso, tenho esta lista:
Virtual core XTEST pointer id=4
Logitech M510 id=11
ETPS/2 Elantech Touchpad id=15
Desative seu touchpad passando o ID
xinput set-prop 15 "Device Enabled" 0
Eu escrevi um pedaço de código python para que você possa usar a técnica xinput
sem fazer todo o trabalho manual. Copyleft, AS-IS, sem garantia, use a seu próprio risco. Funciona muito bem para mim: e se você estiver usando o gnome, apenas mapeie-o para um atalho-chave como Ctrl Deslocamento T .
#!/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()
Tags command-line touchpad