Mapeando acentos no N900 com teclado US

Se tinha algo que estava me incomodando no N900 era a digitação de acentos (o meu modelo segue o teclado americano). Perde-se um tempo enorme já que é preciso exibir a janela de símbolos e escolher o acento desejado através de um toque na tela. Depois, voltar para o teclado e digitar a letra a ser acentuada.

Pensei que o xmodmap resolveria o problema mas vi no fórum do Maemo que ele não está funcionando adequadamente ainda. A estratégia alternativa é via xkb, alterando o mapeamento do teclado. O melhor link que achei sobre o assunto foi o blog The world won’t listen. No fundo, é preciso alterar o arquivo /usr/share/X11/xkb/symbols/nokia_vndr/rx-51, indicando as alternativas de mapeamento.

No meu caso, eu usei a tecla de função (shift azul) para acessar os acentos grave, agudo, circunflexo e til nas teclas de direção up, down, left e right. Também aproveitei para mapear o cedilha na combinação shift azul + backspace, como pode ser visto nesta montagem perfeita:

Abaixo, o trecho alterado, que fica bem no final do arquivo. As quatro linhas comentadas são as originais, seguidas pelas cinco linhas novas. Eu usei o vi para fazer a edição, direto no aparelho, como super usuário (root). Veja como virar root neste post e use o leafpad caso não saiba usar o vi. Todo cuidado é pouco e não me responsabilizo por qualquer dano. Tudo por sua conta e risco, naturalmente. Fazer uma cópia do arquivo original é sempre uma boa idéia. O arquivo completo, compactado, pode ser baixado daqui.

    //key 	{ type[Group1] = "ONE_LEVEL", symbols[Group1] = [	Up	] };
    //key 	{ type[Group1] = "ONE_LEVEL", symbols[Group1] = [	Left	] };
    //key 	{ type[Group1] = "ONE_LEVEL", symbols[Group1] = [	Down	] };
    //key 	{ type[Group1] = "ONE_LEVEL", symbols[Group1] = [	Right	] };
    key 	{ type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [	Up,dead_acute	] };
    key 	{ type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [	Left,dead_circumflex	] };
    key 	{ type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [	Down,dead_grave	] };
    key 	{ type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [	Right,dead_tilde	] };
    key 	{ type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [	BackSpace,ccedilla	] };

Parece estranho, mas você acostuma rapidinho. Enquanto não temos um teclado brasileiro no N900, acredito que a dica pode ser útil para os que estão importando o aparelho.

25 comentários em “Mapeando acentos no N900 com teclado US”