Configuração de teclado no Xorg (Debian Squeeze)

A poucos dias instalei o Debian Squeeze no meu desktop doméstico. Achei bem legal o GDM3, mas ainda estou apanhando um pouco para descobrir como personalizá-lo.

Por questões pessoais (e para treino mesmo), sempre que instalo o SO procuro fazê-lo utilizando a língua inglesa.

Durante a instalação utilizei um teclado padrão americano (sem cedilha). Depois, resolvi adotar um teclado ABNT-2. Foi aí que começou a dor de cabeça.

A nova versão do Xorg não utiliza mais o xorg.conf, a menos que você o crie por completo. Como tenho uma placa de vídeo NVidia, instalei o driver e ele criou o xorg.conf. Funcionou pereitamente, exceto pelo teclado.

Bem, eu poderia adicionar as seguintes configurações no xorg.conf:

Section "InputDevice"
    Identifier      "Generic Keyboard"
    Driver          "kbd"
    Option          "XkbRules"      "xorg"
    Option          "XkbModel"      "pc105"
    Option          "XkbLayout"     "br"
    Option          "XkbVariant"    "abnt2"
EndSection

Porém, pensei que devesse haver outra forma, para os casos em que o xorg.conf não exista (ou esteja vazio) e não queiramos criar um xorg.conf completo, mesmo sabendo que o comando a seguir cria um arquivo modelo já com as configurações básicas da máquina:

X -configure

Pois bem, o arquivo /etc/default/keyboard pode ser utilizado para configurar o teclado no Xorg, adicionando-se as seguintes configurações:

XKBMODEL="pc105"
XKBLAYOUT="br"
XKBVARIANT="abnt2"
XKBOPTIONS=""

Para que as configurações sejam assumidas na próxima inicialização do Xorg, precisamos executar um comando, conforme indicado no comentário no início do arquivo keyboard:

# Check /usr/share/doc/keyboard-configuration/README.Debian for
# documentation on what to do after having modified this file.

O arquivo /usr/share/doc/keyboard-configuration/README.Debian diz que as configurações efetuadas no arquivo /etc/default/keyboard só serão ativadas após a execução do seguinte comando:

udevadm trigger --subsystem-match=input --action=change

Após isso, reinicie o modo gráfico (use um console em modo texto para isso, como root):

invoke-rc.d gdm3 stop
invoke-rc.d gdm3 start

Bem, comigo funcionou :)

Feliz Natal galera!

Sds,

Marião