O que é um scancode?
Muito poucas pessoas reconhecem quantos cálculos, códigos e processos são usados apenas para obter um personagem de um teclado de computador na tela. Uma parte dessa função é o Scancode, ou um código hexadecimal que é o equivalente à tecla pressionada no teclado. Há um scancode para cada tecla no teclado e há outro scancode separado para quando a tecla é liberada. Os teclados para diferentes estruturas de caracteres, como idiomas asiáticos, terão um número diferente de scancodos porque o número de teclas difere. Quando o botão é pressionado, o código é colocado em uma área de buffer para que o computador possa processar e, em seguida, adicionar o caractere ou reconhecer a chave.
O processo inteiro do teclado pode ser separado em várias etapas diferentes. Quando a chave é pressionada, o Scancode entra no buffer do teclado. Enquanto estiver no buffer, uma interrupção é utilizada para dizer ao computador que algo foi empurrado no teclado. Depois de entender que uma chave foi empurrada, o computador lOoks no buffer, verifica o código hexadecimal e adiciona o caractere ou seu atributo à tela.
Os caracteres de texto e controle têm Scancodes. As teclas de texto são as mais usadas - contendo letras, números e símbolos -, mas os caracteres de controle também são usados com frequência. Os caracteres de controle são os que não produzem nenhum símbolo, mas afetam o documento ou o processamento de caracteres, como as teclas "Shift" ou "Enter".
Toda tecla no teclado realmente possui dois scancodos diferentes, um para pressionar e outro para a liberação. Quando uma chave é pressionada, ela fornece um scancode e o segundo código adiciona 128 ao valor hexadecimal. Isso pode parecer inútil, porque parece raro alguém manter uma chave por vários segundos, mas isso é feito frequentemente com alguns personagens de controle, como as teclas de "turno" ou a chave "excluir".
O valor hexadecimal para cada tecla difere com base noteclado. Cada empresa possui seu próprio teclado e, embora a configuração possa ser semelhante ou mesmo a mesma que os outros, os Scancodes podem ser diferentes. Geralmente, isso é para permitir que o fabricante faça teclados com diferentes configurações -chave ou adicionar novas funções ao teclado, como uma tecla "impressão".
Outro fator na determinação do valor hexadecimal de cada chave é o idioma para o qual é feito. Por exemplo, os teclados japoneses e ingleses têm um número diferente de teclas porque o número de caracteres utilizados difere. Diferentes países de língua inglesa, como os Estados Unidos e a Inglaterra, também têm teclados diferentes; A maioria dos teclados em inglês tem 102 chaves, e a maioria dos teclados dos EUA tem 101.