Meu teclado de laptop está quebrado ( Esc continua sendo pressionado aleatoriamente, não posso consertá-lo), então comprei um teclado USB. Eu quero escrever um script que será executado no login, que irá verificar se o meu teclado USB está conectado, e desabilite o teclado do meu laptop em caso afirmativo.
Eu quero usar o xinput para fazer isso. para o fundo, o comando correto para desativar o dispositivo com o ID 14 seria:
xinput set-int-prop 14 "Device Enabled" 8 0
Eu tenho o que eu pensei ser um método confiável de ter certeza de que estou desativando o dispositivo correto, listando, digitando, cortando para obter o número de ID e, em seguida, usando-o no comando correto da seguinte forma:
xinput --list | egrep "AT Translated" | cut -d "=" -f 2| cut -d "[" -f 1 | xargs -I {} xinput set-int-prop {} "Device Enabled" 8 0
No entanto, mesmo isso dá uma falha:
unable to find device 14
Eu não sei por que isso é (primeira pergunta), mas eu queria saber como eu iria verificar se o teclado USB está lá? Eu preciso de uma função if, obviamente, algo que verifica se qualquer resultado é retornado quando eu grep a string "USB Keykoard USB" [sim que a ortografia está errada, mas o que aparece na minha lista] de xinput --list
. Então, minha segunda pergunta é: como eu escrevo essa função?