Teclado virtual

Escribe en otro idioma con un teclado en pantalla: distribuciones nacionales por posición, teclas muertas, capa AltGr, sílabas coreanas y romaji japonés.

Las flechas se mueven entre las teclas en pantalla y Enter pulsa una. Tab sale del teclado; tu propio teclado escribe directamente en el cuadro de texto.

Las teclas físicas se asignan por posición: cada tecla escribe lo que la distribución elegida pone en ese lugar, sea cual sea la distribución de tu sistema. La captura solo se aplica mientras el cuadro de texto tiene el foco — Ctrl+C, Tab y las flechas siguen funcionando.

Alt Gr — mantenido en tu teclado o pulsado abajo — llega a la tercera capa, donde la distribución pone @, € y los corchetes. Una tecla muerta (borde discontinuo) no escribe nada por sí sola: púlsala y luego una letra para componer el acento, la barra espaciadora para obtener el signo, o Retroceso para cancelar.

Una herramienta, trece idiomas

Este teclado escribe los trece idiomas en los que está escrito este sitio, y para cada uno muestra la distribución que la gente de ese idioma usa de verdad, elegida con una regla simple: la distribución estándar del país con más hablantes. El hebreo es la norma SI-1452, el francés es AZERTY, el alemán es QWERTZ, el ruso es ЙЦУКЕН, el español es la distribución latinoamericana, el portugués es la ABNT2 brasileña, el turco es Turkish Q, el japonés es la distribución kana JIS y el coreano es Dubeolsik. El selector muestra cada distribución con su propio nombre en su propio idioma, porque quien busca su idioma reconoce su endónimo en cualquier idioma de interfaz.

Una entrada es deliberadamente poco emocionante: el indonesio. Indonesia no tiene distribución de teclado nacional — el país escribe en US QWERTY, la misma distribución que el inglés — y la respuesta honesta es decirlo en lugar de inventar una distribución que ningún indonesio ha visto jamás. La herramienta se abre con la distribución del idioma en que la estás leyendo, y puedes cambiar a cualquiera de las otras en cualquier momento; el texto que has escrito se queda donde está al cambiar.

Mapeo posicional: tu propia distribución no importa

Escribe en tu teclado físico y la herramienta lee cada tecla por su posición en el tablero, nunca por el carácter que tu sistema operativo cree que produce. La tecla dos filas por encima de la barra espaciadora, justo a la derecha de la J — la posición K — escribe k con US QWERTY y ל con la distribución hebrea, sea cual sea la distribución instalada en tu máquina. Esa inversión es todo el sentido: si la herramienta escuchara al sistema operativo, solo te devolvería tu propia distribución como un eco, y nunca podría escribir un idioma para el que no tienes distribución instalada.

Un clic en una tecla en pantalla y una pulsación en el tablero físico pasan exactamente por la misma maquinaria, así que las dos nunca pueden discrepar sobre lo que hace una tecla. Mientras escribes físicamente, la tecla pulsada se ilumina en el teclado en pantalla — así se aprende dónde viven los caracteres de una distribución desconocida, igual que antes lo enseñaba una pegatina impresa en las teclas.

La captura es estrecha a propósito. Las teclas físicas se leen solo mientras el cuadro de texto tiene el foco, así que el resto de la página sigue funcionando con normalidad. Atajos como Ctrl+C, Ctrl+V, Ctrl+A y Ctrl+Z pasan directos al navegador, igual que las flechas, Home, End y Delete — y Tab nunca se traga, porque una herramienta que se come Tab atrapa en la página a cualquiera que navegue con el teclado.

Algo que a un teclado físico puede faltarle son teclas. Las distribuciones europeas de aquí son teclados ISO: llevan una tecla 102 entre la tecla Mayús izquierda y la primera letra de la fila inferior, y el ABNT2 brasileño añade una 49 junto a la tecla Mayús derecha. Un teclado ANSI de estilo estadounidense no tiene ninguna de las dos, así que ninguna pulsación tuya llega a ellas; pero están dibujadas en el teclado en pantalla como cualquier otra tecla, y al hacer clic escriben exactamente lo que la distribución pone ahí. Nada de una distribución queda inalcanzable: en el teclado equivocado, una pequeña parte solo se alcanza con el ratón.

Capas: Shift, Bloq Mayús, AltGr y teclas muertas

Un teclado real escribe más caracteres de los que tiene teclas, y lo hace con capas. Mantener Shift mientras pulsas escribe la capa Shift; hacer clic en el Shift en pantalla, en cambio, lo deja fijado exactamente para un carácter, como se comportan los teclados en pantalla en todas partes. Bloq Mayús es más estrecho de lo que se suele creer: solo pone en mayúscula las teclas donde la capa Shift es de verdad la mayúscula de la letra base, así que convierte la a en A pero nunca convierte el 1 en !. En una escritura sin mayúsculas — el hebreo es una — Bloq Mayús no hace nada, que es lo que hace también un teclado hebreo real.

Las distribuciones europeas llevan una tercera capa a la que se llega con AltGr, donde viven caracteres como @, € y los pares de corchetes, y teclas muertas con el comportamiento estándar: pulsas el acento y luego la letra, y los dos se componen — tecla muerta y luego espacio da la marca sola, y una letra a la que el acento no puede unirse simplemente llega después. Una tecla muerta pendiente se muestra en espera en el teclado en pantalla, para que el silencio entre las dos pulsaciones se vea en lugar de confundir.

Dos detalles hebreos parecen errores y son la norma. La distribución refleja sus delimitadores pareados — Shift+9 escribe ) donde US QWERTY escribe ( — porque la norma asigna el carácter lógico, y el algoritmo de texto bidireccional lo refleja de vuelta al dibujar el texto; la tecla que parece un paréntesis de apertura produce en pantalla un paréntesis de apertura. Y el propio cuadro de texto pasa a derecha-a-izquierda al elegir hebreo o árabe, porque la dirección pertenece al texto que se escribe, no al idioma de la página que lo rodea.

El japonés y el coreano son métodos de entrada, no solo distribuciones

Para la mayoría de los idiomas un teclado es una tabla: una posición de tecla, un carácter. El coreano y el japonés necesitan más que una tabla. El Dubeolsik coreano escribe jamo — consonantes y vocales sueltas — y un método de entrada los compone en bloques silábicos sobre la marcha: ㅎ y luego ㅏ y luego ㄴ se convierten en 한, las vocales compuestas y las consonantes finales dobles se arman igual, y una consonante final se traslada a la sílaba siguiente cuando lo que viene después hace de esa la lectura correcta. Backspace deshace la composición jamo a jamo en lugar de borrar la sílaba entera, porque así se comporta todo método de entrada coreano, y cualquier otra cosa hace exasperante corregir una errata.

El japonés viene en dos modos. El predeterminado es la entrada romaji en el teclado físico — escribes ka y aparece か, con el manejo estándar del っ pequeño y de ん — porque así ocurre en realidad la mayor parte de la escritura japonesa. El teclado en pantalla muestra la distribución kana JIS, donde cada tecla es una sílaba, y hay un modo JIS posicional para quien de verdad escribe así. Un conmutador cambia la salida entre hiragana y katakana.

Lo que la herramienta deliberadamente no hace es convertir kana en kanji. La conversión real necesita un diccionario de cientos de miles de palabras y un modelo de clasificación encima — un IME, no un teclado — y entregar uno malo sería peor que no entregar ninguno: obtendrías texto plausible y equivocado sin manera de verlo. La salida solo en kana se declara aquí con claridad, para que el límite se entienda en lugar de descubrirse.

Funciona en tu navegador

Las distribuciones son datos que llegan con la página y cada pulsación se procesa localmente. Nada de lo que escribes se sube, se guarda ni se registra — lo que importa más en una herramienta de escritura que en la mayoría, porque lo que la gente escribe en un teclado suele ser exactamente el texto que le importa. La captura está limitada al cuadro de texto, así que la herramienta nunca ve una tecla pulsada en otro lugar, y cerrar la pestaña no deja nada atrás.

Preguntas frecuentes

¿Por qué pulsar la tecla K escribe ל?
Porque las teclas se asignan por posición física, no por el carácter que informa tu sistema operativo. Con la distribución hebrea, la posición K lleva la ל, así que eso es lo que escribe — en tu tablero y en el teclado en pantalla por igual. Eso es lo que te permite escribir un idioma para el que tu máquina no tiene distribución instalada.
¿Necesito tener el idioma instalado en mi computadora?
No. La herramienta nunca le pregunta al sistema operativo qué significa una tecla — resuelve cada tecla contra la distribución seleccionada por sí misma. Tu máquina puede tener cualquier distribución, o ninguna de las relevantes, y el texto escrito sale igual.
¿Por qué mi Ctrl+C siguió funcionando mientras escribía?
Por diseño. Los atajos con modificadores, las flechas, Home, End, Delete y Tab pasan directos al navegador en lugar de capturarse, así que los hábitos de edición de siempre — copiar, pegar, deshacer, seleccionar todo — siguen funcionando dentro del cuadro de texto, y la navegación por teclado sigue funcionando fuera de él.
¿Puede convertir kana japonés en kanji?
No, deliberadamente. La conversión a kanji necesita un IME — un diccionario de cientos de miles de palabras más un modelo de clasificación — y uno malo produce texto plausible pero equivocado, que es peor que nada. La herramienta escribe hiragana y katakana, con entrada romaji en el teclado físico, y lo dice en lugar de dejarte descubrir el límite.
¿Por qué Shift+9 escribe un paréntesis de cierre en hebreo?
Escribe el carácter lógico que la norma SI-1452 pone ahí, y el algoritmo de texto bidireccional lo refleja cuando se dibuja texto de derecha a izquierda — así que en pantalla ves exactamente el paréntesis que muestra la tecla. «Arreglarlo» rompería cada paréntesis escrito en hebreo.
Mi teclado no tiene la tecla junto a la tecla Mayús izquierda. ¿Puedo escribirla igualmente?
Sí, haciendo clic en ella. Las distribuciones europeas son teclados ISO con una tecla 102 en ese lugar, y el ABNT2 brasileño tiene una tecla extra junto a la tecla Mayús derecha; un teclado ANSI de estilo estadounidense no tiene ninguna. Ambas están dibujadas en el teclado en pantalla, y al hacer clic escriben lo que la distribución pone ahí, de modo que ningún carácter de una distribución queda fuera de tu alcance, sea cual sea tu teclado.
¿Algo de lo que escribo se envía a un servidor?
No. Todo el teclado — distribuciones, mapeo, composición — funciona en tu navegador. Las pulsaciones se procesan localmente, nada se sube ni se registra, y la captura se aplica solo mientras el cuadro de texto tiene el foco, así que las teclas pulsadas en otra parte de la página no se ven jamás.