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.
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)]
15 replies on “Como desabilitar o teclado interno do notebook”
Venho aqui agradecer, pois sua solução funcionou. Após reiniciar até agora não voltou a ficar vivo o teclado.
Muito obrigado. E viva o pinguim.
Acompanho os seus posts há décadas, Riba!
Obrigado e viva o pinguim!
Meu teclado defeituoso do notebook não me deixava fazer nada, ficava apertando teclas aleatórias o tempo inteiro.
Esse tutorial me salvou demais. Obrigado.
Grub version 2.06 e funcionou perfeitamente
A dica foi realmente útil. Porém a xinput agora funciona de maneira diferente. O comando atual basta que você escreva o comando abaixo:
>xinput disable (id)
E para reativar:
>xinput enable (id)
Sendo que em (id), vc precisa colocar apenas o número do id do seu teclado, sem parênteses.
Olá, faz um tempo eu desativei o teclado do meu notebook usando o comando xinput.
Agora queria reativar, mas não lembro o id.
Como fazer?
Obrigado.
acho que você/esse site são os únicos que ensina de forma decente como fazer isso, muito obg enfim vou poder terminar meus trabalhos da faculdade sem meu pc ficar loco ✨
Muito obrigado! Resolveu meu problema!
Obrigado pelas dicas vou poder, enfim escrever meu TCC o meu teclado sujou e não consegui abrir para limpar então tive que comprar um externo mas ainda interferia.
como deixar de forma permanente
Muito boa a dica. Me ajudou bastante com um netbook que estava com problema nas teclas. Obrigado!
Seria possível você também ensinar a nós meros mortais como criar este script ? : ” Eu sugeriria criar um script ou uma atalho de teclado somente para ativar/desativar o teclado com este comando.”
Muito boa as dicas, principalmente,a do xinput, pois ela não é permanente.
TB gostei da dica sobre criar um script para ativar de modo rápido, pois minha mulher, não sabe e não quer aprender a acessar o terminal e digitar os comandos. Seria possível criar o script, atrelar um atalho e fazer com q seja ativado na inicialização do sistema?
Excelente dica, meu blog de linux favorito. Meu notebook é velho de guerra, tem uma configuração que deixa muito atual no chinelo, mas o teclado realmente estava incomodando. Dica funcionou perfeitamente.
Achei a solução FENOMENAL porque não é dependente de distro! =D Meus mais efusivos parabéns! =D
Obrigado! 😉
Muito obrigado pela ajuda!