Linux tux

Como desabilitar o teclado interno do notebook

Se você usa um teclado externo conectado ao seu notebook via USB, Bluetooth ou de outra forma, possivelmente, não precisará usar o teclado do notebook.
Caso o teclado do notebook esteja causando problemas (por ter algum defeito), pode ser interessante desligá-lo.
Neste texto, vou demonstrar algumas técnicas para desligar o teclado via software, no Linux.
No decorrer da experiência, usei uma máquina com o Ubuntu 16.04 LTS Xenial Xerus instalado. Os procedimentos, portanto, devem funcionar em outras distribuições GNU/Linux relacionadas ou derivadas.

O que você perde ao desligar o teclado do notebook

A maioria das funções continuam acessíveis pelo teclado externo — principalmente se este vier com teclas multimídia.
Mas você precisa estar atento a outras funções que deixarão de estar acessíveis.
Teclas de regulagem do brilho, para ligar/desligar o WiFi, não costumam estar presentes em teclados externos, por mais completos que eles sejam.
Se elas são importantes para você, talvez estes procedimentos não sejam a solução.
Teclado notebook gateway

Um pouco da história

Recentemente, me chegou às mãos um notebook Gateway com o teclado danificado. Em alguns momentos, algumas de suas teclas “disparavam” aleatoriamente, atrapalhando a digitação de qualquer coisa.
Abrir o teclado e desconectar seu cabo da máquina é uma solução e não é das mais difíceis. Mas, como este não é um blog (predominantemente) de hardware, decidi pesquisar uma forma de resolver o problema pela via do software.

Computadores e carros velhos são danadinhos para nos ensinar bastante sobre tecnologia e mecânica.

Além do mais, para desfazer o procedimento no hardware, o usuário seria obrigado a desligar o computador e abri-lo novamente.
Some a isto o fato de que os teclados costumam ser ligados à carcaça do notebook por um fino e curto cabo — neste caso, reconectá-lo pode não ser uma tarefa muito fácil.
As 2 soluções que proponho, neste texto são fáceis de aplicar e fáceis de desfazer.

Desligue o teclado do notebook através do GRUB

O GRUB, já foi dito, é um trabalho em progresso.
Recursos novos são adicionados, outros são retirados.
O procedimento, aqui relatado, funcionou perfeitamente no GRUB versão 2.02. Tem a vantagem de ser extremamente fácil de se reverter.
Para saber a versão do GRUB instalado no seu sistema, use o comando abaixo:

sudo grub-probe --version
grub-probe (GRUB) 2.02~beta2-36ubuntu2

Faça uma cópia de segurança do arquivo de configuração padrão do GRUB, antes de alterá-lo:

sudo cp /etc/default/grub /etc/default/grub.original

Agora abra o arquivo, com seu editor favorito:

sudo editor /etc/default/grub

Localize a linha
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
e substitua-a por
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash i8042.nokbd"
Salve e feche o arquivo.
Agora atualize o arquivo de configuração do GRUB:

sudo update-grub

Agora, reinicie o computador e veja se tudo deu certo.
Para reverter o processo, basta levar de volta o conteúdo da cópia de segurança ao arquivo de configuração e atualizar o GRUB:

sudo cp /etc/default/grub.original /etc/default/grub
sudo update-grub

Se você não gostou desta solução, experimente a próxima…

Use o xinput para desativar temporariamente o teclado

O uso do comando xinput provê uma solução mais leve e mais restrita.
Com o xinput, é possível desativar imediatamente o teclado, sem a necessidade de reiniciar ou, mesmo, se logar como root — um usuário simples dá conta do recado.
Este procedimento só terá efeito na sessão atual. Ao reiniciar o computador, tudo volta ao normal.
Se você iniciar outra sessão paralela ou simultânea, ela já não estará mais sob o efeito deste ajuste.
Eu sugeriria criar um script ou uma atalho de teclado somente para ativar/desativar o teclado com este comando.
O xinput é um utilitário do sistema que lista os dispositivos de entrada disponíveis, bem como informações sobre estes.
O aplicativo permite também alterar alguns ajustes relativos a cada dispositivo de entrada.
Veja como obter uma lista dos dispositivos de entrada atuais no seu sistema:

xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Dell Dell KM632 Wireless Keyboard and Mouse id=12 [slave pointer (2)]
⎜ ↳ Dell Dell KM632 Wireless Keyboard and Mouse id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ 1.3M WebCam id=10 [slave keyboard (3)]
↳ Dell Dell KM632 Wireless Keyboard and Mouse id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
↳ Acer WMI hotkeys id=15 [slave keyboard (3)]

No meu resultado, acima, a informação que me interessa é a que se encontra na penúltima linha (em destaque) — onde tenho o ‘id’ do teclado e o ‘slave keyboard (3)’.
Com estes dados é que irei trabalhar, daqui pra frente.
Adapte os exemplos dados à sua realidade, aí.
No comando, que segue, vou “suspender” o dispositivo com o id=14 e pedir uma nova lista:

xinput float 14
xinput list

Note que, na próxima listagem, o dispositivo de teclado suspenso está em último lugar e seu estado consta como floating:

⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Dell Dell KM632 Wireless Keyboard and Mouse id=12 [slave pointer (2)]
⎜ ↳ Dell Dell KM632 Wireless Keyboard and Mouse id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ 1.3M WebCam id=10 [slave keyboard (3)]
↳ Dell Dell KM632 Wireless Keyboard and Mouse id=11 [slave keyboard (3)]
↳ Acer WMI hotkeys id=15 [slave keyboard (3)]
∼ AT Translated Set 2 keyboard id=14 [floating slave]

Neste momento, o teclado do notebook não vai mais funcionar para o usuário/sessão em questão.
Para reverter o processo, vou usar a opção reattach, em conjunto com as informações colhidas, lá no começo. Veja:

xinput reattach 14 3
xinput list

Ao pedir a lista, veja que o teclado aparece novamente em penúltimo lugar e não se encontra mais susṕenso (ou floating):

⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Dell Dell KM632 Wireless Keyboard and Mouse id=12 [slave pointer (2)]
⎜ ↳ Dell Dell KM632 Wireless Keyboard and Mouse id=13 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ 1.3M WebCam id=10 [slave keyboard (3)]
↳ Dell Dell KM632 Wireless Keyboard and Mouse id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
↳ Acer WMI hotkeys id=15 [slave keyboard (3)]

Referências

Saiba mais sobre o GRUB.

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como “Rick and Morty” e “BoJack Horseman”.
Me siga no Twitter e vamos trocar ideias!

3 thoughts on “Como desabilitar o teclado interno do notebook”

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *