Teclado virtual
Digite em outro idioma na tela: layouts nacionais por posição, teclas mortas, camada AltGr, sílabas coreanas e romaji japonês — tudo no navegador.
As setas movem entre as teclas na tela e Enter pressiona uma. Tab sai do teclado; o seu próprio teclado digita direto na caixa de texto.
As teclas físicas são mapeadas por posição: cada tecla digita o que o layout escolhido coloca naquele lugar, seja qual for o layout do seu sistema. A captura vale apenas enquanto a caixa de texto tem o foco — Ctrl+C, Tab e as setas continuam funcionando.
Alt Gr — mantido no seu teclado ou clicado abaixo — alcança a terceira camada, onde o layout coloca @, € e os colchetes. Uma tecla morta (borda tracejada) não digita nada sozinha: pressione-a e depois uma letra para compor o acento, a barra de espaço para obter o sinal, ou Backspace para cancelar.
Uma ferramenta, treze idiomas
Este teclado digita os treze idiomas em que este site está escrito, e para cada um mostra o layout que as pessoas daquele idioma realmente usam — escolhido por uma regra simples: o layout padrão do país com mais falantes. O hebraico é a norma SI-1452, o francês é AZERTY, o alemão é QWERTZ, o russo é ЙЦУКЕН, o espanhol é o layout latino-americano, o português é o ABNT2 brasileiro, o turco é o Turkish Q, o japonês é o layout kana JIS e o coreano é o Dubeolsik. O seletor lista cada layout pelo próprio nome no próprio idioma, porque quem procura o seu idioma reconhece o endônimo dele em qualquer idioma de interface.
Uma entrada é deliberadamente sem graça: o indonésio. A Indonésia não tem layout de teclado nacional — o país digita em US QWERTY, o mesmo layout do inglês — e a resposta honesta é dizer isso em vez de inventar um layout que nenhum indonésio jamais viu. A ferramenta abre com o layout do idioma em que você a está lendo, e dá para trocar para qualquer outro a qualquer momento; o texto já digitado fica onde está quando você troca.
Mapeamento por posição: o seu layout não importa
Digite no teclado físico e a ferramenta lê cada tecla pela posição na placa, nunca pelo caractere que o seu sistema operacional acha que ela produz. A tecla duas fileiras acima da barra de espaço, logo à direita do J — a posição K — digita k no US QWERTY e ל no layout hebraico, seja qual for o layout instalado na sua máquina. Essa inversão é todo o sentido: se a ferramenta ouvisse o sistema operacional, ela só devolveria o eco do seu próprio layout, e nunca poderia digitar um idioma cujo layout você não tem instalado.
Um clique numa tecla da tela e um toque na placa física passam exatamente pela mesma engrenagem, então as duas nunca podem discordar sobre o que uma tecla faz. Enquanto você digita fisicamente, a tecla pressionada acende no teclado da tela — é assim que se aprende onde moram os caracteres de um layout desconhecido, como antigamente ensinava um adesivo impresso nas teclas.
A captura é estreita de propósito. As teclas físicas só são lidas enquanto a caixa de texto tem o foco, então o resto da página continua funcionando normalmente. Atalhos como Ctrl+C, Ctrl+V, Ctrl+A e Ctrl+Z passam direto para o navegador, assim como as setas, Home, End e Delete — e o Tab nunca é engolido, porque uma ferramenta que come o Tab prende na página qualquer pessoa que navegue pelo teclado.
Uma coisa que pode faltar a um teclado físico são teclas. Os layouts europeus aqui são teclados ISO: têm uma 102ª tecla entre o Shift esquerdo e a primeira letra da fileira de baixo, e o ABNT2 brasileiro acrescenta uma 49ª ao lado do Shift direito. Um teclado ANSI de estilo norte-americano não tem nenhuma das duas, então nenhum toque seu as alcança — mas elas são desenhadas no teclado da tela como qualquer outra tecla, e um clique digita exatamente o que o layout coloca ali. Nada de um layout fica inalcançável: no teclado errado, uma pequena parte só se obtém com o mouse.
Camadas: Shift, Caps Lock, AltGr e teclas mortas
Um teclado de verdade digita mais caracteres do que tem teclas, e faz isso com camadas. Segurar Shift enquanto digita produz a camada Shift; clicar no Shift da tela, por outro lado, o trava por exatamente um caractere, como os teclados de tela se comportam em toda parte. O Caps Lock é mais estreito do que se costuma pensar: ele só põe em maiúscula as teclas em que a camada Shift é de fato a maiúscula da letra base, então transforma a em A mas nunca transforma 1 em !. Numa escrita sem maiúsculas — o hebraico é uma — o Caps Lock não faz nada, que é o que um teclado hebraico de verdade também faz.
Os layouts europeus carregam uma terceira camada alcançada com AltGr, onde moram caracteres como @, € e os pares de colchetes, e teclas mortas com o comportamento padrão: pressione o acento e depois a letra, e os dois se compõem — tecla morta e depois espaço dá a marca sozinha, e uma letra à qual o acento não pode se juntar simplesmente chega depois dele. Uma tecla morta pendente aparece em espera no teclado da tela, para que o silêncio entre os dois toques fique visível em vez de confundir.
Dois detalhes hebraicos parecem bugs e são a norma. O layout espelha seus delimitadores pareados — Shift+9 digita ) onde o US QWERTY digita ( — porque a norma mapeia o caractere lógico, e o algoritmo de texto bidirecional o espelha de volta quando o texto é desenhado; a tecla que parece um parêntese de abertura produz na tela um parêntese de abertura. E a própria caixa de texto vira da direita para a esquerda quando você escolhe hebraico ou árabe, porque a direção pertence ao texto digitado, não ao idioma da página em volta.
Japonês e coreano são métodos de entrada, não apenas layouts
Para a maioria dos idiomas, um teclado é uma tabela: uma posição de tecla, um caractere. O coreano e o japonês precisam de mais que uma tabela. O Dubeolsik coreano digita jamo — consoantes e vogais avulsas — e um método de entrada os compõe em blocos silábicos conforme você digita: ㅎ depois ㅏ depois ㄴ viram 한, vogais compostas e consoantes finais duplas se montam do mesmo jeito, e uma consoante final é carregada para a sílaba seguinte quando o que vem depois faz dessa a leitura certa. O Backspace desfaz a composição jamo por jamo em vez de apagar a sílaba inteira, porque é assim que todo método de entrada coreano se comporta, e qualquer outra coisa torna enlouquecedor corrigir um erro de digitação.
O japonês vem em dois modos. O padrão é a entrada romaji no teclado físico — você digita ka e か aparece, com o tratamento padrão do っ pequeno e do ん — porque é assim que a maior parte da digitação japonesa realmente acontece. O teclado da tela mostra o layout kana JIS, em que cada tecla é uma sílaba, e um modo JIS posicional existe para quem realmente digita assim. Um alternador troca a saída entre hiragana e katakana.
O que a ferramenta deliberadamente não faz é converter kana em kanji. A conversão de verdade precisa de um dicionário de centenas de milhares de palavras e de um modelo de ordenação por cima — um IME, não um teclado — e entregar um ruim seria pior do que nenhum: você receberia texto plausível e errado sem nenhum jeito de perceber. A saída só em kana está declarada aqui com clareza, para que o limite seja entendido em vez de descoberto.
Teclado árabe, teclado hebraico, teclado russo: nada para instalar
Se esses três pedidos significam alguma coisa aqui, é por causa do mapeamento por posição. Escolha o layout árabe — ele aparece na lista com o nome dele mesmo, العربية — 101 — e cada tecla do teclado à sua frente passa a ser resolvida contra ele e não contra o seu: as cinco posições que um teclado americano imprime como L, V, P, F e H, pressionadas nessa ordem, digitam مرحبا, seja qual for a gravação. Nada é baixado, nenhum pacote de idioma é adicionado e nenhuma configuração do sistema é tocada, então, voltando no seletor, o seu layout está exatamente onde estava.
- A camada base são as letras, no arranjo 101. A posição que um teclado americano imprime como K digita aqui ن: a mesma posição que digita ל no layout hebraico e k no US QWERTY. Uma tecla, três layouts, três letras, e nada disso é decidido pelo seu sistema operacional.
- Na camada Shift moram as vogais breves em vez das maiúsculas, porque o árabe não tem maiúscula para pôr ali: a fatha, a damma e a kasra, suas três formas de tanwin, o sukun e a shadda. Cada uma é um sinal combinante, desenhado sobre a letra anterior e nunca sozinho, então a letra vem primeiro e o sinal depois.
- Essa mesma camada Shift carrega as formas da hamza أ, إ e آ, as três ligaduras lam-alif que levam hamza — a simples fica na camada base — e a vírgula, o ponto e vírgula e o ponto de interrogação árabes, ، ؛ ؟, que são pontos de código próprios e não versões espelhadas dos de ASCII: o que você digita fica pontuado como o árabe se escreve, e não como o inglês.
- A posição J na camada Shift é o tatwil, a kashida: ele alonga a ligação entre duas letras em vez de acrescentar um som, de modo que uma palavra que o carrega fica mais comprida sem ser escrita de outro jeito.
- O AltGr abre uma terceira camada da qual o layout hebraico não tem nada. A fileira de números dá os algarismos arábico-índicos ١٢٣٤٥٦٧٨٩٠ enquanto a fileira base mantém 1234567890, de modo que os dois conjuntos ficam a um modificador de distância; as fileiras de letras dão as letras persas e urdus de que um teclado árabe ainda precisa — پ, چ, ژ, گ e ڤ — e os separadores decimal e de milhar árabes.
Duas coisas desse layout parecem defeito e são a descrição honesta da própria escrita. O Caps Lock não faz absolutamente nada em árabe, nem absolutamente nada em hebraico: ele só governa uma tecla cuja camada Shift é a maiúscula da base dela, e numa escrita sem maiúsculas não existe tecla assim em lugar nenhum do teclado. E aqui não há tecla morta nem etapa de composição: diferente do coreano e do japonês acima, cada tecla árabe digita o caractere dela no instante em que é pressionada, então nada fica esperando para ser concluído. O layout hebraico SI-1452 e o russo ЙЦУКЕН são escolhidos da mesma lista e digitados exatamente do mesmo jeito.
Roda no seu navegador
Os layouts são dados que chegam com a página e cada toque é tratado localmente. Nada do que você digita é enviado, armazenado ou registrado — o que importa mais numa ferramenta de digitação do que na maioria, porque o que as pessoas digitam num teclado costuma ser exatamente o texto com que se importam. A captura é restrita à caixa de texto, então a ferramenta nunca vê uma tecla pressionada em outro lugar, e fechar a aba não deixa nada para trás.
Perguntas frequentes
- Por que apertar a tecla K digita ל?
- Porque as teclas são mapeadas pela posição física, não pelo caractere que o seu sistema operacional informa. No layout hebraico a posição K carrega o ל, então é isso que ela digita — na sua placa e no teclado da tela igualmente. É isso que permite digitar um idioma cujo layout a sua máquina não tem instalado.
- Preciso ter o idioma instalado no computador?
- Não. A ferramenta nunca pergunta ao sistema operacional o que uma tecla significa — ela resolve cada tecla sozinha contra o layout selecionado. Sua máquina pode ter qualquer layout, ou nenhum dos relevantes, e o texto digitado sai igual.
- Por que o meu Ctrl+C continuou funcionando enquanto eu digitava?
- De propósito. Atalhos com modificadores, as setas, Home, End, Delete e Tab passam direto para o navegador em vez de serem capturados, então os hábitos de edição de sempre — copiar, colar, desfazer, selecionar tudo — continuam funcionando dentro da caixa de texto, e a navegação por teclado continua funcionando fora dela.
- Ele converte kana japonês em kanji?
- Não, deliberadamente. A conversão para kanji precisa de um IME — um dicionário de centenas de milhares de palavras mais um modelo de ordenação — e um ruim produz texto plausível porém errado, o que é pior que nada. A ferramenta digita hiragana e katakana, com entrada romaji no teclado físico, e diz isso em vez de deixar você descobrir o limite.
- Por que Shift+9 digita um parêntese de fechamento em hebraico?
- Ele digita o caractere lógico que a norma SI-1452 põe ali, e o algoritmo de texto bidirecional o espelha quando um texto da direita para a esquerda é desenhado — na tela você vê exatamente o parêntese gravado na tecla. «Consertar» isso quebraria cada parêntese digitado em hebraico.
- Meu teclado não tem a tecla ao lado do Shift esquerdo. Ainda posso digitá-la?
- Sim, clicando nela. Os layouts europeus são teclados ISO com uma 102ª tecla nesse lugar, e o ABNT2 brasileiro tem uma tecla a mais ao lado do Shift direito; um teclado ANSI de estilo norte-americano não tem nenhuma das duas. Ambas são desenhadas no teclado da tela, e clicar nelas digita o que o layout coloca ali — então nenhum caractere de um layout fica fora de alcance, seja qual for o seu teclado.
- Algo do que eu digito é enviado a um servidor?
- Não. O teclado inteiro — layouts, mapeamento, composição — roda no seu navegador. Os toques são tratados localmente, nada é enviado nem registrado, e a captura só vale enquanto a caixa de texto tem o foco, então teclas pressionadas em outra parte da página nunca são vistas.
- Como digito em árabe sem um teclado árabe?
- Escolha العربية — 101 na lista de layouts e comece a digitar. Cada tecla é resolvida pela posição dela contra esse layout, e não pelo caractere que o seu sistema operacional informa, então nada é instalado e o seu layout fica intacto: num teclado americano as posições L, V, P, F e H produzem مرحبا. Clicar nas teclas da tela passa exatamente pela mesma mecânica, de forma que um teclado sem alguma tecla nunca é um obstáculo.
- Onde ficam as vogais árabes — os harakat — no teclado?
- Na camada Shift, que o árabe deixa livre por não ter maiúsculas para pôr ali. As posições que um teclado americano imprime como Q, E e A levam a fatha, a damma e a kasra; W, R e S levam as três formas de tanwin; X leva o sukun, e a tecla à esquerda do 1 leva a shadda. São sinais combinantes: digite a letra primeiro e o sinal depois, e ele é desenhado sobre a letra a que se segue.
- Como digito os números árabes — ١ ٢ ٣?
- Segure o AltGr e use a fileira de números. O layout árabe põe ١٢٣٤٥٦٧٨٩٠ na terceira camada dele e mantém 1234567890 na fileira base, então os dois conjuntos ficam a um modificador de distância e nenhum deles exige troca. Essa mesma camada carrega as letras persas e urdus پ, چ, ژ, گ e ڤ e os separadores decimal e de milhar árabes. Se o seu teclado não tem tecla AltGr, a da tela faz a mesma coisa e fica travada por exatamente uma digitação.
Ferramentas relacionadas
- Palavras com estas letras
Quando você tem um punhado de letras na frente e nenhuma ideia do que elas formam, aquela página as lê como um anagrama — e um ponto de interrogação entra no lugar de uma letra que você não tem.
- Resolvedor de cinco letras
Aquela página não é para digitar e sim para um jogo de adivinhação: você copia as linhas já jogadas com a cor com que cada casa voltou, e ela lista as palavras de cinco letras que ainda combinam com todas.