ANSI contra ISO
Existem duas variações independentes entre teclados de diferentes países, e confundi-las é a principal fonte de confusão durante os testes.
A primeira é o layout de caracteres: as letras que estão impressas nas teclas. QWERTY é o padrão dos países de língua inglesa. O QWERTZ, usado na Alemanha, Áustria e Suíça, troca o Y e o Z e coloca os tremas (umlauts) nas teclas de pontuação. O AZERTY, usado em França e na Bélgica, move o A, o Z e o M e coloca a pontuação na fila de números sem Shift.
A segunda é a forma física do teclado, e é aqui que a contagem de teclas muda. Os teclados ANSI, padrão nos Estados Unidos, têm uma tecla Enter larga e plana numa única fila e uma tecla Shift esquerda de comprimento total. Os teclados ISO, padrão em toda a Europa, têm uma tecla Enter alta que abrange duas filas e com um recorte no canto inferior esquerdo, uma tecla Shift esquerda encurtada e uma tecla extra ao lado desse Shift que os navegadores reportam como IntlBackslash. Essa tecla extra é a razão pela qual um teclado ISO de tamanho completo tem 105 teclas, enquanto um teclado ANSI tem 104.
Os dois eixos são independentes em princípio, mas correlacionados na prática: os teclados QWERTZ e AZERTY são essencialmente sempre ISO. Selecionar qualquer um deles no menu suspenso de Layout de Teclas altera, portanto, tanto as legendas quanto a forma física do teclado no ecrã, o que faz com que a contagem de teclas e a pontuação correspondam ao seu hardware.
Uma coisa que nunca muda é o código de tecla reportado. Os navegadores identificam as teclas pela posição física num teclado de referência dos EUA, não pelo caractere impresso na tecla. Pressione a tecla marcada com Z num teclado alemão e ela será reportada como KeyY, porque essa posição é KeyY no layout de referência. Isto é deliberado: é o que permite que um jogo associe as teclas WASD e que essas associações fiquem sob os mesmos quatro dedos, quer as teclas digam WASD ou ZQSD.