Padrões customizados de teclado para o português com base no teclado ANSI (americano)
Olá. Sou um desenvolvedor de software e, naturalmente enquanto brasileiro que sou, também escrevo textos em português do Brasil.
No Brasil temos dois padrões: o teclado ABNT e o posterior ABNT2. Em Portugal têm um padrão próprio, mas hoje focarei naquele que eu conheço mais. O primeiro ABNT é bem parecido com o layout americano, incluindo um Ç
e “empurrando teclas para baixo” por causa disso. Na prática, é bem parecido com a experiência de se digitar num teclado americano ANSI configurado para o português do Brasil: digitam-se os acentos e o trema pelas teclas `
, ~
, ^
, ’
e ”
.
Para muita gente (programadores como eu) isso é uma experiência ruim, pois precisamos usar os caracteres de aspas e apóstrofo com frequência e na primeira vez que se digita essas teclas elas se comportam como “dead keys”, ou seja, não fazem nada, apenas esperam para compor outros caracteres. Pressionando-se uma tecla não relacionada ou a barra de espaço o digitador tem o sinal gráfico original da tecla.
O layout ABNT2 resolve parte desses problemas separando os acentos, que neste são totalmente “dead keys”, estando lá apenas para os acentos separados das aspas e apóstrofos (exceto na crase/backtick). Em troca tem-se uma correspondência menor com o layout ANSI.
Problema do nosso layout atual
No geral o ABNT2 não é a pior experiência de uso para um programador, embora na minha linguagem use bastante o backtick (`
) e isso seja um problema. O uso das “dead keys” que expliquei acima é um sistema eficiente para línguas como a nossa com muitos tipos de acentos (diacríticos) diferentes sobre as letras, mas não é o mais rápido. Digita-se duas vezes para se obter uma letra, primeiro o acento (por exemplo, ~
) e depois a letra (como a
). Ao passo que isso é uma troca compreensível e o padrão em si seja muito bom no geral, na minha opinião essa situação poderia ser melhorada.
Outros layouts internacionais
Vasculhando pelos layouts internacionais, me deparo com três tipos de layout:
- Layouts com base em “dead keys” como o ABNT(2), como explicado acima, onde se têm teclas como, por exemplo, a de acento agudo que são usadas em conjunto com teclas de vogais. Geralmente esses layouts são presentes em línguas com muitas combinações de diacríticos, como o Vietnamita.
- Layouts com base em teclas extras para as combinações de letras e diacríticos. Em línguas como o alemão isso é possível porque o número de combinações é baixo (3, basicamente
ö
,ä
,ü
e mais o caractere especialß
). - Layouts com base em teclas onde se aperta o
Alt Gr
ou o “Alt da direita” para produzir novos caracteres. São mais fáceis de usar no ambiente Mac, onde todo “Alt” se comporta como umAlt Gr
(chamado no Mac de “option”, mas que funciona da mesma forma). A meu ver são ideais para línguas como espanhol e italiano onde a maioria dos diacríticos é de um tipo só.
No caso do português e de seus muitos caracteres acentuados (13 no total) usar teclas extras é difícil porque temos 13 caracteres acentuados:
- Com til:
ã
,õ
- Cedilha:
ç
- Crase/acento grave:
à
- Trema:
ü
- Circunflexo:
â
,ê
,ô
- Acento agudo: todas as vogais
á
,é
,í
,ó
,ú
Se agruparmos por letra-base, teremos: a
(4 variantes: til, grave, circumflexo e agudo), o
(3 variantes: til, circumflexo e agudo), e
(2 variantes, circumflexo e agudo), u
(2 variantes, agudo e trema), i
(somente acento agudo) e finalmente o c
com cedilha.
Obviamente, se vamos para um caminho diverso do caminho do primeiro caso (“dead keys”) do ABNT2, ou teremos um layout com teclas extras para os acentos (pouco factível no português) ou um layout com os acentos sendo providos pelo Alt Gr
(que explorarei primeiro). Ou um caminho híbrido com ambos.
Qualquer que seja o caminho no entanto, eu tinha uma pergunta: quais caracteres acentuados e diferentes do português são mais frequentes? Como não encontrei uma boa fonte de estudo nisso decidi pegar um arquivo de palavras gerais da língua portuguesa e contar com a ajuda de um pequeno script.
Frequência de caracteres acentuados/específicos do português
Meus resultados:
á
: 33.713í
: 14.413ç
: 8.531ã
: 6.205ê
: 2.330ó
: 1.772é
: 1.531õ
: 1.286ô
: 646ú
: 487â
: 439à
: 6 (embora em palavras relativamente importantes)- Total acento agudo: 51.916
- Total til: 7.491
- Total circumflexo: 3.415
- o trema não é mais parte da regra então teve zero resultado, mas aparece de vez em quando em sobrenomes e quando se escreve na regra antiga;
Bom, em primeiro lugar eu diria que essa lista não é um jeito totalmente sem falhas de aferir o que queremos. Para isso talvez teríamos que dispor de uma (utópica) estatística de uso de cada palavra e assim ter uma média ponderada desses números quanto à importância das palavras. Creio que o à
e o é
seriam beneficiados nesse caso, mas ainda assim me arrisco a dizer que a diferença não seria tão grande assim.
Quanto às conclusões, eu diria que a conclusão óbvia pra mim é a de que os acentos agudos são mais importantes que o acento circumflexo, por muito. Existem dois níveis de uso aí: uma camada primária com á
, í
, ã
, e ç
, e uma secundária. Poderíamos falar também de uma terceira camada com o ü
, que hoje, tendo sido removido da norma da língua, me parece opcional.
Opção 1: Layout alternativo Alt Gr (P-1)
Minha inspiração para este layout (que chamei de P-1) vem de uma variante do layout polonês (que se tornou padrão por lá) inicialmente chamada “teclado polonês do programador” (polski programisty) que usam o ANSI americano como base e o uso do Alt Gr
como medida para expandir o teclado e fazer com que digitar um caractere acentuado seja rápido.
Primeiramente, esse seria o ANSI americano:
Como o ANSI é o teclado mais onipresente no mundo hoje e geralmente a escolha de programadores (mesmo aqueles que tem layouts locais a escolher, como os alemães que conheço), essa base faz sentido.
Depois, a adaptação teria como principal meta fazer com que os caracteres específicos do português sejam acessíveis de modo fácil. Como o português tem mais de um diacrítico por caractere como vimos acima, nem sempre a correspondência seria a mais óbvia possível. Então teríamos que priorizar as teclas mais importantes ao atribuir os lugares dos acentos a elas.
Esse layout seria então o layout ANSI mais algumas associações extras para o Alt Gr
: primeiramente, as teclas de vogais e o C
gerariam, quando apertadas junto com o Alt Gr
, caracteres com acento agudo ou o ç
.
As vogais com til e outros ficariam hospedadas nos caracteres adjacentes. No caso do A
isso é mais problemático dado que ele tem 4 variações, mas ainda assim não faltam teclas, nem mesmo para o ü
opcional. Muito mais: no meu caso, como estou estudando italiano, reservo também espaço para caracteres não presentes no português como ò
ou è
.
Esse é o meu layout escolhido (customizado para meu caso, com caracteres de italiano e alemão), mas pesa no meu caso que eu trabalho com Mac, o que me permite usar o Alt Gr
de maneira mais expressiva.
Opção 2: Híbrido Alt Gr com teclas extras (P-2p e P-2d)
Esses padrões de teclado trariam a vantagem de ter os caracteres “compostos” mais usados na língua facilmente acessíveis com suas próprias teclas, como o Ç
no ABNT2.
P-2p: para programadores
Obviamente, existe uma certa desvantagem num layout assim para programar. Para se conseguir teclas para nossos 4 escolhidos á
, í
, ã
e ç
tivemos que deslocar outros importantes caracteres a outros lugares como as teclas do 6
ou 7
, o que pode impactar o trabalho de um programador. Repare que mesmo assim ainda precisamos das teclas Alt Gr
para gerar todos os caracteres acentuados. Ainda assim, é uma troca que pode agradar a alguns porque os símbolos importantes estão todos ainda acessíveis.
Mas e pra quem não programa e portanto não usa tanto assim os colchetes, chaves e afins?
P-2d: para uso geral
Neste deslocamos ainda mais símbolos a lugares secundários para dar lugar a letras compostas, mas ainda assim temos mais duas teclas exclusivas para letras apenas:
No geral essa é a solução que menos gosto, mas ela está aí para quem quiser avaliar.
P-2i: para uso geral (com minúsculas)
Poderíamos partir para uma solução mais híbrida ainda, inspirada pelo teclado italiano padrão (ruim por outros motivos), que usa apenas minúsculas acentuadas em suas teclas para caracteres compostos. Já que no português muitas palavras podem começar com acentos sendo portanto maiúsculas numa frase, essa solução é um pouco menos eficaz mas ainda possível, porque para obter as maiúsculas, no caso, bastaria usar a tecla Alt Gr
. Para quem digita bastante, pode ser útil.
Como notaram, a única tecla que se mantém separada no Alt Gr é o ü
, porque como disse acima ela não existe mais na norma da língua.
Como fazer?
Existem vários programas para se customizar o layout de teclado. No Windows, existe um utilitário da própria Microsoft chamado Microsoft Keyboard Layout Creator, que parece pelas imagens ser simples mas efetivo, embora nunca tenha usado. No Mac, uso um utilitário de nome Ukelele para criar meus layouts, que é um pouco confuso às vezes mas faz o que deve fazer.
Quando for criar um layout customizado com base num desses que eu mostrei, lembre-se que (fora um erro ocasional) os símbolos estão todos lá. Se num layout customizado você esquecer de colocar um determinado símbolo isso pode ser um problema mais tarde.
Aparência do teclado
Obviamente mudar a aparência das teclas para refletir um padrão de layout é difícil a menos que esse layout seja um layout de padrão industrial como um ABNT2 ou ANSI ou um layout padrão local de algum país.
No entanto, se você quiser se dar ao esforço e tiver algum dinheiro a gastar, nisso, existem empresas como a DYIKeyCaps da China que fazem um set de Keycaps customizado (no caso com padrão Cherry) para teclados mecânicos, que por si só já são geralmente um pouco mais caros. Se estiver interessado num teclado desses, recomendo a marca Keychron, especificamente a linha V, que tem um ótimo custo-benefício (eles vêm direto de Taiwan).
Conclusão
Em suma, não é fácil criar um layout diferente do ABNT2 (que é ótimo para uso geral) que seja bom para todos os gostos e casos. No entanto, temos algumas propostas aí que podem interessar àqueles que estão procurando por uma experiência diferente de digitação.