Eu tenho um laptop Ubuntu 20 LTS com teclado QWERTY espanhol. Para facilitar a localização de crases e outros caracteres especiais durante a codificação, comprei um teclado USB externo adicional.
Gostaria de fazer com que quando o teclado externo estiver conectado, o principal fique desabilitado (para que eu possa colocá-lo em cima sem pressionar as teclas resultando em entradas indesejadas), e para que quando o teclado externo for desconectado, o principal é ativado novamente.
Eu criei um script para rodar como um daemon e fazer uma pesquisa para ver se o teclado externo está conectado.
#!/bin/bash
while true; do
if [ $(xinput -list | grep "SEM USB Keyboard" | wc -l) -gt 0 ]; then
echo "External keyboard found"
xinput --disable "AT Translated Set 2 keyboard"
echo "Main keyboard disabled"
else
echo "External keyboard NOT found"
xinput --enable "AT Translated Set 2 keyboard"
echo "Main keyboard enabled"
fi
echo "Waiting..."
sleep 5
done
Duas perguntas aqui.
- O script funciona perfeitamente quando executado em primeiro plano, mas quando executado em segundo plano assim:
setsid kb-disabler-daemon.sh >/dev/null 2>&1 < /dev/null &
Em seguida, não consegue habilitar novamente o teclado principal quando o externo é desconectado. O que estou fazendo de errado?
- Existe uma maneira mais simples de fazer isso? Talvez um aplicativo utilitário ou algum tipo de configuração que faça isso?