
O suporte para laptop no Ubuntu é bastante decepcionante. É como se Ubuntu e Kubuntu fossem dois mundos diferentes. Existe um script para desativar o touchpad durante a execução de aplicativos em tela cheia? Tentei escrever sozinho, mas sem sucesso no final. Meu palpite é combinar xdotool
com xinput
.
Qualquer abordagem diferente, bem como sugestões de scripts semelhantes, são muito bem-vindas.
E não, não estou interessado em definir atalhos! O script deve desativar automaticamente o touchpad quando o aplicativo em tela cheia estiver ativo.
Responder1
Depois de alguma pesquisa consegui escrever um script funcional. Ele desativará automaticamente o touchpad enquanto o aplicativo em tela cheia estiver ativoe o mouse está conectado. Portanto, é adequado para jogos em tela cheia.
O que você precisa fazer é copiar o texto para o Gedit e salvar o arquivo como, por exemplo: .auto_disable_touchpad.sh
(Como está .
na frente do nome, é um arquivo oculto, mas você pode nomeá-lo como quiser). Então: clique com o botão direito/propriedades/permissões/permitir a execução do arquivo como programa. Para adicioná-lo à inicialização, abra Startup applications
e adicione o seguinte comando your/script/folder/.auto_disable_touchpad.sh
.
#!/bin/bash
SC1=$(xdpyinfo | grep dimensions)
SC2="${SC1#*dimensions: }"
SC3="${SC2%% pixels*}"
while :
do
TP=$(xinput list --name-only | grep -i Touchpad)
TPS1=$(xinput --list-props "$TP" | grep -i "device enabled")
TPS2="${TPS1#*:}"
MO=$(xinput list --name-only | grep -i mouse)
if [ ! -z "$MO" ];then
WN1=$(xdotool getactivewindow getwindowgeometry)
WN2="${WN1#*Geometry: }"
WNN=$(xdotool getactivewindow getwindowname)
case ${WNN,,} in
desktop|*vlc*|*smplayer*|*mozilla*firefox*) WNN=1;;
*) WNN=0;;
esac
if [ $SC3 == $WN2 ] && [ $WNN == 0 ]; then
xinput -disable "$TP"
elif [ $TPS2 == 0 ]; then
xinput -enable "$TP"
fi
else sleep 2
fi
sleep 1
done
Se você estiver assistindo a filmes ou vídeos do YouTube em tela cheia, isso também desativará o touchpad enquanto o mouse estiver presente. Então, você pode quereradicionar exceções. Já adicionei alguns para: desktop, firefox (plugin-container), VLC e SMPlayer.
Quando você quiser que o touchpad esteja ativo enquanto o aplicativo em tela cheia estiver em execução, adicione o nome do aplicativo a esta linha:
desktop|*vlc*|*smplayer*|*mozilla*firefox*) WNN=1;;
Por exemplo, para adicionar o reprodutor de vídeo padrão do Ubuntu Videos
às exceções adicionadas |*videos*
antes
) WNN=1;;
, ficará assim:
desktop|*vlc*|*smplayer*|*mozilla*firefox*|*videos*) WNN=1;;
Observe que o nome do aplicativo diferencia maiúsculas de minúsculas, portanto você deve usar apenas letras minúsculas ( smplayer
mas não SMPlayer
).