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.

Comments on this entry are closed.

  • @marcelo vc como sempre competentíssimo com seus posts. Apesar de estar esperando o E72, meu sonho de consumo n#1, o N900 é o n#2 então debuga ele ai que quando eu tiver o meu, seguirei todos os seus posts aqui no NOKIABR.

  • Mas esse programa também pinta as teclas?? 😀

  • Marcelo Barros de Almeida

    Não é fantástico ? Você muda o mapa e isso se reflete nas teclas. É uma nova tecnologia de nano tinta remoto controlada. No fundo, a Nokia só faz um teclado e altera o firmware. 🙂

  • Eu já desconfiava disso. Ha ha ha. Pelo visto essa vai ser a alternativa dos Nokiamaníacos que adquirirem o N900 enquanto ele não vem para o Brasil.

  • Aknaton

    Bom dia!
    Ótima dica! Mas francamente isso é demais.
    Tantos malabarismos pra poder usar um gadget.
    E caro pacas.é como comprar um carro sem motor e direção.
    Vou esperar até o N900 estar em condições de uso se ter que fazer nada!
    E claro um preço mais realista!

  • Marcelo Barros de Almeida

    @Aknaton de certa forma, concordo. Uma versão em pt_br, teclado pt_br, preço mais baixo e alguns updates de firmware o tornarão mais “aprazível”.

    Mas, por hora, precisamos ajudar os early adopters 🙂

  • Bruno Gomes

    Oi Marcelo, muito boa essa dica, estava sentindo falta mas ainda não tinha tido tempo de pesquisar. Só dois comentários: o trecho do arquivo que você publicou aqui está incompleto (faltam os nomes das teclas após o “key” no começo das linhas) e seria interessante você colocar também que para que a configuração tenha efeito sem reboot, é necessário rodar um “setxkbmap us”. Abraço!

  • @Aknaton, concordo com vc e acho que a Nokia está negligenciando o mercado consumidor brasileiro, o N900 em PT_BR ainda nem foi anunciado e o E72, apesar de homologado pela ANATEL só fica no status de “Avise-me quando estiver disponível”. Mas não se engane, a plataforma MAEMO ainda vai nos dar muitas alegrias, eu creio até que o N900 é um Tablet Conceito, e será seguido por uma geração de gadgets que rivalizarão como ANDROID em praticidade, produtividade e diversão.

  • isaias

    isso ae fernando “eagle”
    aa e o x6 foi homologado pela anatel (segundo o picolé parcelado

  • Rodrigo Antonioli

    Essa dica é nota 1000! Muito Obrigado! Já está funcionando aqui perfeito!
    Só reforço o aviso do Bruno Gomes, copiando o código do seu arquivo modificado. Lá está com o nome das teclas:

    partial hidden alphanumeric_keys
    xkb_symbols "arrows_4btns" {
    // standard arrows mapping
    // normal 2nd level must not be enumerated to allow text selection with Shift key
    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 ] };
    // original mapping
    //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 ] };
    };

    depois da edição, rode setxkbmap us

  • A comunidade Maemo se pronuncia…..hahahaha @marcelobarros vc iniciou um processo amigo.

  • Rodrigo Antonioli

    Caras, mandei o código e não apareceu o nome das teclas porque, como elas estão entre o símbolo de menor e maior, ele acha que é uma tag html. Acho que foi o mesmo problema do post.
    Agora vai. Se não sair, lembre-se de copiar o código do arquivo disponibilizado no post COM O NOME DAS TECLAS.


    partial hidden alphanumeric_keys
    xkb_symbols "arrows_4btns" {
    // standard arrows mapping
    // normal 2nd level must not be enumerated to allow text selection with Shift key
    key <UP> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Up,dead_acute ] };
    key <LEFT> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Left,dead_circumflex ] };
    key <DOWN> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Down,dead_grave ] };
    key <RGHT> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ Right,dead_tilde ] };
    key <BKSP> { type[Group1] = "PC_FN_LEVEL2", symbols[Group1] = [ BackSpace,ccedilla ] };
    // original mapping
    //key <UP> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Up ] };
    //key <LEFT> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Left ] };
    //key <DOWN> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Down ] };
    //key <RGHT> { type[Group1] = "ONE_LEVEL", symbols[Group1] = [ Right ] };
    };

  • José Antonio Oliveira

    Agora sim. Realmente o texto foi comido pelo Wordpress porque ele pensou que eram tags. 🙂

  • Douek

    alguem teve problemas nesse processo?

    Fiz como manda e não funcionou…ai pensei, preciso reiniciar. Quando reiniciei, ele ligava e ficava travado numa tela que não se podia fazer nada, apenas com o Mplayer gadget na tela e nenhum comando aceitava. Tive que flashear o aparelho!

    Alguma idéia do pq disso?

    O que seria o comentário do Rodrigo Antonioli:
    ——————————————————–
    depois da edição, rode setxkbmap us
    ——————————————————–
    Como faz isso??

  • Douek

    ja descobri, faltou depois de fazer a edição do arquivo ir no terminal do aparelho e dar o comando, como o Rodrigo disse, mas eu tava escrevendo setxBKmap… 😛 por isso o erro!

  • Talvez minha dúvida seja muito besta, mas só estou com o N900 há dois dias, então tá valendo…

    Tentei fazer o procedimento descrito, mas não tenho permissão pra alterar esse arquivo. O que devo fazer?

  • Já instalei o rootssh e configurei o teclado com sucesso 🙂

  • Daniel

    Galera, fui atualizar arquivo /usr/share/X11/xkb/symbols/nokia_vndr/rx-51 para mapear os acentos, e tô achando que esqueci de fechar um colchete no final… 🙁
    Salvei td e reiniciei, e agora ele liga, mas aparece apenas o relógio lá em cima e fica com aquelas bolinhas de loading direto na tela!!! Acho que está funcionando, mas não está carregando a interface gráfica, pois qndo ligo o carregador ele faz o som, recebi um SMS e ele fez o som de alerta e mudou a cor do led para aazul, mas a tela não responde….

    Me ajudem, como posso reverter para o arquivo antigo (que fiz bkp) ou editá-lo novamente para corrigí-lo???????
    Tks desde já!

  • Pek

    O meu também deu isso quando eu fui alterar o teclado pela primeira vez porque eu copiei o código do post sem os nomes das teclas, daí eu tive que flashear o aparelho pra que ele voltasse a funcionar.

  • Diego Nobre

    Amigos, alguém já mapeou com o novo fimeware?

    estou tentanto acessar o arquivo, já como usuário master digamos assim e nada, não tenho acesso ao arquivo.

    Obrigado pela ajuda.

    abraços

  • Caros,

    Como administrador do MaemoBrasil.org, peço desculpas pelo incidente em relação a falta de referência no artigo publicado em nosso site. Quando um colaborador envia uma matéria, parto da premissa que é autoral, sendo impossível para mim verificar a cada matéria enviada por conteúdo equivalente em toda web. É a primeira vez, e espero que última, que temos um incidente deste tipo.

    Para conhecimento, o colaborador que enviou a matéria não tinha acesso a edição, e mencionou ter esquecido a adição de créditos ao enviar para revisão. Mas tentou, mesmo antes das reclamações, entrar em contato comigo para que o fizesse. Estive nestes dias escrevendo uma matéria para a revista Espírito Livre e ignorei durante algum tempo meu correio eletrônico, ou não a concluiria. As medidas foram tomadas imediatamente no instante em que tomei conhecimento.

    Conto com sua compreensão, e encontro-me totalmente disponível para quaisquer esclarecimentos.
    Joel Teixeira

  • Olá Joel!

    Muito obrigado pelas rápidas providências. Fique tranquilo, isso acontece. O que importa é que já foi resolvido.

    Desejo bastante sucesso a você e ao MaemoBrasil.org.

    Um abraço, José Antonio.

  • Saul

    o comando “setxkbmap us” serve tanto para o N900 americano quanto europeu? fiquei na dúvida pelo “us”