A notação C-
não se refere às combinações reais de hardware do teclado. Eles se referem a códigos de controle ASCII. Historicamente, a notação foi usada para indicar caracteres ASCII entre 0 e 31, subtraindo 64 do valor ASCII do caractere usado em conjunto com C-
. Por exemplo, C-@
representa ASCII 0 ( NUL
) porque @
é ASCII 64; C-G
representa ASCII 7 ( BEL
) porque G
é ASCII 71; Em outras palavras, você gera ASCII x (para x entre 0 e 31) segurando a tecla Controle enquanto pressiona a tecla para ASCII x + 64.
Você notará que -
(ASCII 45) é muito pequeno para subtrair 64 de! Então, tecnicamente, C--
não existe como um caractere. Os únicos caracteres de controle "reais" são C-@
embora C-_
. No entanto, ter que pressionar a tecla shift é um pouco complicado, então normalmente você pode digitar a letra minúscula (isto é, Controlar - Shift - a e Control - a são equivalentes). Como -
e _
estão na mesma chave (pelo menos no meu teclado QWERTY dos EUA), C-_
pode ser usado para representar o caractere gerado por Controle - Shift - - ou Controle - _ .
(Isto não explica porque C--
e C-_
não são equivalentes enquanto C-a
e C-A
são. Eu suspeito que enquanto quase todos os teclados terão a
e A
na mesma chave , o mesmo não é verdade para -
/ _
.)