Tuesday, October 26, 2010

:: Keyboard Layout on Xorg ::

Bom, esta dica vai pra quem tem teclado abnt2 e não entende porque seu linux não obedece mais aquela boa e velha configuração de teclado no /etc/X11/xorg.conf. Pra encurtar a história (quer saber mais? pesquisa no google), agora o Xorg obedece o que o hal tem a dizer sobre o assunto (input devices).

Então sendo bem direto, faça o seguinte:
  • Digite:
# lshal | grep xkb
  • O resultado deve ser algo como:
input.xkb.layout = 'us' (string)
input.xkb.model = 'evdev' (string)
input.xkb.options = 'terminate:ctrl_alt_bksp' (string)
input.xkb.rules = 'base' (string)
input.xkb.variant = '' (string)
input.xkb.layout = 'us' (string)
input.xkb.model = 'evdev' (string)
input.xkb.options = 'terminate:ctrl_alt_bksp' (string)
input.xkb.rules = 'base' (string)
input.xkb.variant = '' (string)
  • OK, notou que está apontando para teclado com layout americano, certo?
  • Copie o arquivo /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi para /etc/hal/fdi/policy/
#cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy/
  • Edite o arquivo /etc/hal/fdi/policy e:
na linha que tem merge key="input.xkb.model" type="string" troque evdev por abnt2
na linha que tem merge key="input.xkb.layout" type="string" troque us por br
  • Reinicie o hal e teste o 'lshal | grep xkb" novamente:
input.xkb.layout = 'br' (string)
input.xkb.model = 'abnt2' (string)
input.xkb.options = 'terminate:ctrl_alt_bksp' (string)
input.xkb.rules = 'base' (string)
input.xkb.variant = '' (string)
input.xkb.layout = 'br' (string)
input.xkb.model = 'abnt2' (string)
input.xkb.options = 'terminate:ctrl_alt_bksp' (string)
input.xkb.rules = 'base' (string)
input.xkb.variant = '' (string)
input.xkb.layout = 'br' (string)
input.xkb.model = 'abnt2' (string)
input.xkb.options = 'terminate:ctrl_alt_bksp' (string)
input.xkb.rules = 'base' (string)
input.xkb.variant = '' (string)
  • Se estiver com o Xorg rodando, reinicie-o e pronto ;)
Ah pra que tudo isso? Bom, se você está usando um Window Manager como LXDE e Openbox... bom, eles não têm um configurador de layout de teclado como Gnome e o KDE têm. Então...

A real é que eu resolvi testar o LXDE no meu netbook, daí como tive problemas com o layout de teclado dentro do LXDE, o jeito foi aprender mais essa, e por conseguinte compartilhar com a comunidade.

Feita a boa ação de hoje, vou dormir!

No comments: