Eu queria desabilitar o touchpad antes de fazer login no Ubuntu 16.10.
Eu tentei executar
#!/bin/bash
ID=$(/usr/bin/xinput list --id-only "SynPS/2 Synaptics TouchPad")
if [[ $ID ]]; then
/usr/bin/xinput --disable $ID
echo "Touchpad disabled"
else
echo "Touchpad not found"
fi
na inicialização com systemctl, rc.d, o que não. Nada parecia funcionar, pois precisava do X rodando ou algo assim.
Responder1
Adicione o seguinte código a
/usr/share/X11/xorg.conf.d/*-synaptics.conf
# Disable generic Synaptics device, as we're using
Section "InputClass"
Identifier "SynPS/2 Synaptics TouchPad"
MatchProduct "SynPS/2 Synaptics TouchPad"
MatchIsTouchpad "on"
MatchOS "Linux"
MatchDevicePath "/dev/input/event*"
Option "Ignore" "on"
EndSection
Reinicie e teste se funciona.
Responder2
Tenho o Linux Mint 18 instalado com kernel 4.4.0-45. Fiz o seguinte para facilitar a alternância do estado do touchpad.
sudo apt-get install xinput
xinput -list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ MOSART Semi. 2.4G Keyboard Mouse id=11 [slave pointer (2)]
⎜ ↳ **FTE1001:00 0B05:0101** ***id=14*** [slave pointer (2)]
Procure o id do touchpad, no meu caso é 14. Escrevi um pequeno script de shell para ligar e desligar o touchpad.
TouchPad desativado:
cd /usr/local/bin
sudo nano touchpad-off
#!/bin/bash # touchpad off xinput --set-prop 14 "Device Enabled" 0 echo touchpad off
TouchPad ativado:
sudo nano touchpad-on
#!/bin/bash # touchpad on xinput --set-prop 14 "Device Enabled" 1 echo touchpad on
Torne os scripts executáveis com:
chmod +x touchpad-off chmod +x touchpad-on
Agora você pode alternar facilmente o estado do touchpad com
touchpad-off
etouchpad-on
no seu terminal.
DESATIVAR NA INICIALIZAÇÃO:
Vá para Aplicativos de inicialização e adicione um novo aplicativo de inicialização, procure o script touchpad-off
e adicione-o à lista. Você vai querer ter certeza de que o script está localizado usr/local/bin
conforme indicado acima, bem como confirmar se é executável.
Outra coisa a verificar é garantir que o arquivo seja executado com o prompt de execução automática. Clique com o botão direito no arquivo e vá para a guia "Abrir com" e selecione Prompt de execução automática.
Tutorial de vídeo sobre como desativar o touchpad na inicialização
Responder3
Como me deparo com isso toda vez que compro um novo Thinkpad, aqui está um método um pouco mais generalizado, extraído das outras duas respostas:
- encontre o nome do touchpad:
xinput --list
. Você deve obter algo assim:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ TPPS/2 Elan TrackPoint id=15 [slave pointer (2)]
⎜ ↳ SYNA8022:00 06CB:CE67 Touchpad id=12 [slave pointer (2)]
⎜ ↳ SYNA8022:00 06CB:CE67 Mouse id=11 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Video Bus id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Integrated Camera: Integrated C id=9 [slave keyboard (3)]
↳ Intel HID events id=13 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=16 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ Integrated Camera: Integrated I id=10 [slave keyboard (3)]
No meu caso o nome a usar seráSYNA8022:00 06CB:CE67 Touchpad
Teste se esse é realmente o dispositivo correto (e também poupe uma reinicialização):
xinput --set-prop ID "Device Enabled" 0
, onde ID é o ID da lista que você obteve com o comando acima. Se isso desativar o touchpad, você encontrou o ID e o nome corretosCrie um arquivo em
/etc/X11/xorg.conf.d/
call it, por exemplo20_synaptics.conf
(o número define a ordem em relação aos demais arquivos, como sempre):
# Disable touchpad
Section "InputClass"
Identifier "SynPS/2 Synaptics TouchPad"
MatchProduct "SYNA8022:00 06CB:CE67 Touchpad"
MatchIsTouchpad "on"
MatchOS "Linux"
MatchDevicePath "/dev/input/event*"
Option "Ignore" "on"
EndSection
A string MatchProduct deve ser aquela que você encontrou na lista xinput.
- Para testar se funciona, mude para um console de texto pressionando Ctrl+Alt+F3 (ou tente outros números se o console 3 já estiver em uso). Faça login e inicie uma sessão X:
sudo xinit -- :2
. Isto iniciará um segundo servidor X sem reiniciar sua máquina. Você provavelmente verá apenas uma única janela de terminal (sem borda, porque não terá um gerenciador de janelas em execução), mas é o suficiente para testar se o touch pad está desabilitado. Você pode sair digitando Ctrl+D na janela do terminal.