Configuração de teclado e dispositivos de entrada em geral a partir do HAL no Xorg 1.5 e superiores

A partir do Xorg 1.5, a configuração "default" dos dispositivos de entrada (teclado, mouse etc) passa a ser feita pelo HAL ao invés dos drivers que acompanham o Xorg. Este artigo pretende mostrar o porquê dessa mudança e como resolver o problema se seu sistema simplesmente parou de funcionar como deveria após o upgrade do Xorg.

[ Hits: 35.999 ]

Por: Cláudio Henrique Fortes Félix em 17/06/2009 | Blog: http://www.helpo.com.br


Identificando o problema



Normalmente, para utilizarmos um teclado brasileiro no X, costumávamos configurar o teclado para *layout br / modelo abnt2* inserindo uma seção "InputDevice" no arquivo de configuração do Xorg (geralmente localizado em /etc/X11/xorg.conf):

Section "InputDevice"
    Identifier     "Keyboard0"
    Driver         "kbd"
    Option         "XkbModel" "abnt2"
    Option         "XkbLayout" "br"
EndSection

Se ainda assim seu teclado insiste em funcionar com o layout padrão do X (us) e seu Xorg é recente (versão 1.5 ou superior), muito provavelmente você está sendo afetado pelo pequeno "choque evolucionário" descrito na introdução.

Antes de mais nada, verifique se a versão do seu Xorg é 1.5 ou superior. Isto pode ser feito pelo próprio sistema de gerenciamento de pacotes que você utiliza, ou simplesmente obtendo a informação no cabeçalho do arquivo de log do seu servidor X (no Slackware ele fica em /var/log/Xorg.0.log):

X.Org X Server 1.6.1
Release Date: 2009-4-14
X Protocol Version 11, Revision 0
Build Operating System: Slackware 13.0 Slackware Linux Project
Current Operating System: Linux atlantis 2.6.30-k8 #33 SMP PREEMPT Thu Jun 11 14:33:34 BRT 2009 i686
Build Date: 05 June 2009 04:58:05AM

Confirmada a versão do Xorg, verifique novamente em Xorg.0.log se aparece a seguinte mensagem:

(WW) AllowEmptyInput is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
(WW) Disabling Keyboard0
(WW) Disabling Mouse0

O que isto lhe diz é justamente que o novo "default" está sendo utilizado, ou seja, os drivers de entrada do X estão sendo desabilitados, sendo os eventos dos dispositivos de entrada adquiridos através da interface evdev do kernel.

Dessa forma as configurações especificadas nas seções "InputDevice" de xorg.conf para o teclado e o mouse estão sendo completamente ignoradas, podendo até mesmo ser retiradas do arquivo se você desejar mudar para o "novo jeito" de fazer as coisas.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Identificando o problema
   3. Resolvendo o problema de forma "evolutiva"
   4. Resolvendo o problema de forma "reacionária"
Outros artigos deste autor

Acessando computadores remotos protegidos por NAT ou firewall com túnel SSH reverso direcionado por DNS dinâmico

Configuração do OpenOffice para o português do Brasil (pt-BR) a partir de uma instalação do BrOffice

Importando extratos do Banco do Brasil para o Kmymoney (gerenciador de finanças pessoais)

Leitura recomendada

Adicionando suporte ao Layer7 no CentOS 5.3

Faça backup do MySQL e envie para seu e-mail

Autenticando e protegendo diretórios no Apache

Dhcp3-server e Bind9 no Debian 4 Etch Linux

Montando o diretório /home em outra partição

  
Comentários
[1] Comentário enviado por fco em 17/06/2009 - 15:02h

Muito bom o artigo! Belamente escrito!

Passei pelo tormento de atualizar o xorg no Slackware current.

As coisas ficaram doidonas. :)

O mesmo problema do teclado, perda de performance da placa de vídeo, travadas legais no KDE4.

O artigo é uma luz para começar a por as coisas no eixo.

Mas, confesso que prefiro a simplicidade das coisas antigas... :)

Abraço,
Xico.

[2] Comentário enviado por xerxeslins em 17/06/2009 - 16:07h

Senti essa mudança há alguns meses ao atualizar o Arch Linux, antes que essa modificação fosse feita na maioria das distros... já que Arch sempre se mantém moderna, embora não tão estável.

Tomara que essa configuração seja logo implantada no processo de instalação das distros de agora em diante, enquanto isso seu excelente artigo será imprescindível. Artigo realmente é muito esclarecedor =D

Outra opção é usar o comando:

setxkbmap -model abnt2 br

no /etc/rc.d/rc.local

Para ser executado automaticamente ao inicializar o sistema. Provisoriamente é assim que faço aqui.

Valeu!


[3] Comentário enviado por aaron.binner em 17/06/2009 - 17:01h

Também percebi esta mudança na minha ultima atualização, mas resolvi da forma "reacionária" apenas avaliando o arquivo de log do xorg, e, à primeira impressão repreendi a mudança, mais acredito que os desenvolvedores estão pensando somente na melhora do desempenho e na diminiução de trabalho para nós usuários. Ótimo artigo, muito bem explicado, e agora sei como resolver o problema da maneira 'correta'. VALEU!!!

[4] Comentário enviado por pablover em 18/06/2009 - 08:57h

Gostei demais do seu artigo. Ajudou a esclarecer várias coisas. Porém após eu configurar o "br" e "abnt2", a tecla de interrogação para de funcionar. Você sabe por que isso acontece?

[5] Comentário enviado por dfsantos em 19/06/2009 - 11:59h

Amigo parabens pelo belo artigo. otima qualidade.

[6] Comentário enviado por chffelix em 22/06/2009 - 22:24h

Obrigado pessoal! É sempre um prazer poder participar e trocar novas idéias com vocês. Em breve devo postar alguns updates, pois tive problemas no acesso via NX usando o novo método - talvez seja uma questão de tempo para que o nxclient seja adaptado, mas o teclado fica totalmente louco dentro dele:( . Sobre a questão da interrogação pablover, não tive problemas. Como foi que você fez a configuração? Editou quais arquivos?

Abraços!

[7] Comentário enviado por elton.linux em 08/07/2009 - 18:20h

Parabéns!!!

Uso archlinux + LXDE e estava com esse problema. Antes configurava no XORG, mas agora o HAL toma conta o que creio ter ficado melhor.

Só um detalho, como diria o REI ROBERTO CARLOS, no ARCHLINUX para reiniciar o HAL faça:

#/etc/rc.d/hal restart

Valeu
Abraço

[8] Comentário enviado por zereis em 02/09/2009 - 10:48h

Caros colegas,
Tive problemas ao atualizar o xorg. O teclado continua com o layout abnt2, mas perdi as teclas Page Down, End, seta para baixo (virou /) e o ponto do teclado numérico virou vírgula. Para resolver, tem alguns truques, mas só funcionam naquela Sessão. Se reiniciar o X, perde-se a solução e tem-se que refazer o comando. Uma da soluções é usar o comando setxkbmap -model abnt2 br; Outro é remapeando a tecla, especificando a ação específica dela; uma terceiro solução é fazendo Ctrl+Alt+F1 e voltando com Ctrl+Alt+F7. Só que, repito, ao reiniciar o X, o problema volta.
Tentei automatizar as soluções, tanto colocando o comando setxkbmap -model abnt2 br no arquivo /etc/rc.d/rc.local, ou fazendo um script e colocando em Autostart. Não funcionaram.
No arquivo /etc/hal/fdi/policy/10-keymap.fdi está informando abnt2 e br nos locais específicos.
De tanto tentar resolver o problema, acabei criando outro que não consigo resolver: perdi o console pelas teclas Ctrl+Alt+Fn. Parece que chama-se o console mas a resolução da tela não permite-se que as letras sejam visualizadas. A tela preta fica até tipo no quarto superior da tela. Abaixo vê-se o X mas sem ação nenhuma sobre a tela. A digitar Ctrl+Alt+F7 volta-se ao X, normalmente.
Ao tentar Option "AutoAddDevices" "off" no xorg.conf, o mouse simplesmente fica congelado no centro da tela.
Att.
José Reis

[9] Comentário enviado por yermandu em 15/02/2010 - 16:14h

Cara

Valeu !!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts