Testado e funciona no Ubuntu 14.04, 16.04 e 18.04.
Faça como a resposta de @Almas Dusal , que gosta da resposta de @ negusp , exceto usar meu script modificado, pois possui 3 benefícios adicionais ( UPDATE: os benefícios 1 e 3 abaixo foram adicionados em 12 de setembro de 2019 ):
- Ele pesquisa a saída de
xinput
ambos Touchpad
AND TouchPad
, já que alguns sistemas têm P capitalizado enquanto outros não. Isso torna meu script compatível com mais sistemas (espero que TODOS os sistemas).
- Ele adiciona as janelas pop-up de fechamento automático de 2 segundos via
zenity
para mostrar se o seu touchpad está agora ATIVADO ou DESATIVADO. Veja as capturas de tela dessas janelas pop-up abaixo.
- Ele corrige corretamente a velocidade da roda de rolagem, ativando
imwheel
(que corrige o problema da roda de rolagem lenta no Ubuntu / Linux ao usar uma roda de rolagem do mouse) quando você está usando um mouse, enquanto desativa imwheel
ao usar um touchpad, pois, imwheel
caso contrário, torna a rolagem do touchpad realmente muito complicada quando ativado.
#!/bin/bash
# GS_toggle_touchpad.sh
# - toggle the touchpad on and off
# Gabriel Staples
# Written: 2 Apr. 2018
# Updated: 12 Sept. 2019
# References:
# - /ubuntu//a/874865/327339
# - /ubuntu/844151/enable-disable-touchpad/1109515#1109515 <-- my own ans!
# Search for id number of "TouchPad" OR "Touchpad" in `xinput` list; manually type `xinput` to see all your devices
read TouchPadDeviceId <<< $( xinput | sed -nre '/TouchPad|Touchpad/s/.*id=([0-9]*).*/\1/p' )
state=$( xinput list-props "$TouchPadDeviceId" | grep "Device Enabled" | grep -o "[01]$" )
echo "TouchPadDeviceId = $TouchPadDeviceId"
echo "state = $state"
if [ "$state" -eq '1' ];then
xinput --disable "$TouchPadDeviceId"
zenity --info --text "Touchpad DISABLED" --timeout=2
# Next line required only if using imwheel to fix slow scroll speed in Chrome, for ex; see here:
# /ubuntu//a/991680/327339
# imwheel -b "4 5"
else
xinput --enable "$TouchPadDeviceId"
zenity --info --text "Touchpad ENABLED" --timeout=2
# Next line required only if using imwheel to fix slow scroll speed in Chrome, for ex; see here:
# /ubuntu//a/991680/327339
# killall imwheel
fi
Observe que a coisa imwheel só é necessária se você estiver seguindo esta resposta para corrigir também a velocidade da roda de rolagem: Corrija permanentemente a velocidade de rolagem do Chrome .
Agora, atribua a ele uma tecla de atalho de Ctrl+ Alt+ P(ou o que você escolher [o 'P' significa touch'P'ad no meu caso]). Minha adição ao script acima é a zenity
parte da janela pop-up de fechamento automático, que descrevo mais na minha resposta aqui ( /superuser//a/1310142/425838 ).
Agora, quando uso o atalho acima, vejo esta janela pop-up, que fecha automaticamente após 2 segundos:
E se eu pressionar novamente, recebo esta janela pop-up, que fecha automaticamente após 2 segundos:
Perfeito!
Como um bônus adicional, se você é um usuário pesado de um mouse, basta adicionar o comando que chama seu script acima aos seus programas de inicialização no Ubuntu, para que ele execute e desative o track pad toda vez que o computador iniciar! Eu tenho esse conjunto para que eu possa parar de bater no track pad com a base da minha mão e excluir coisas acidentalmente o tempo todo! Agora, quando minha mão bate no track pad, nada acontece porque está desativado. :)
Nota: tudo isso funciona muito bem no Ubuntu 18.04, bem como em versões mais antigas. Eu testei no Ubuntu 18.04 e Ubuntu 14.04. Aqui está uma captura de tela da janela de configurações de atalho no 18.04:
Relacionado:
- Corrija permanentemente a velocidade de rolagem do Chrome
grep
esed
. Você pode facilmente consolidar os dois parased -nre '/TouchPad/s/.*id=([0-9]*).*/\1/p'
.