Che cos'è uno Scancode?
Pochissime persone riconoscono quanti calcoli, codici e processi vengono utilizzati solo per ottenere sullo schermo un personaggio dalla tastiera di un computer. Una parte di questa funzione è lo scancode, o un codice esadecimale che è l'equivalente del tasto premuto sulla tastiera. C'è uno scancode per ogni tasto della tastiera, e c'è un altro scancode per quando il tasto viene rilasciato. Le tastiere per diverse strutture di caratteri, come le lingue asiatiche, avranno un numero diverso di scancodes perché il numero di tasti differisce. Quando si preme il pulsante, il codice viene inserito in un'area buffer in modo che il computer possa elaborare e quindi aggiungere il carattere o riconoscere la chiave.
L'intero processo della tastiera può essere separato in diversi passaggi. Quando si preme il tasto, lo scancode entra nel buffer della tastiera. Mentre si trova nel buffer, viene utilizzato un interrupt per dire al computer che qualcosa è stato premuto sulla tastiera. Dopo aver capito che è stata premuta una chiave, il computer guarda il buffer, controlla il codice esadecimale, quindi aggiunge il carattere o il suo attributo sullo schermo.
Sia i caratteri di testo che quelli di controllo hanno scancodes. I tasti di testo sono quelli più comunemente usati - contenenti lettere, numeri e simboli - ma spesso vengono usati anche i caratteri di controllo. I caratteri di controllo sono quelli che non creano alcun simbolo ma influiscono sull'elaborazione del documento o del carattere, come i tasti "maiusc" o "invio".
Ogni tasto sulla tastiera ha in realtà due diversi scancodes, uno per premere e uno per rilasciare. Quando si preme una chiave, viene assegnato uno scancode e il secondo codice aggiunge 128 al valore esadecimale. Questo potrebbe sembrare inutile, perché sembra raro che qualcuno tenga premuto un tasto per diversi secondi, ma ciò viene fatto spesso con alcuni caratteri di controllo come i tasti "maiusc" o "cancella".
Il valore esadecimale per ciascun tasto differisce in base alla tastiera. Ogni azienda ha la propria tastiera e sebbene la configurazione possa essere simile o addirittura uguale ad altre, gli scancodes potrebbero essere diversi. Questo di solito consente al produttore di creare tastiere con diverse configurazioni di tasti o di aggiungere nuove funzioni alla tastiera, come un tasto "stampa".
Un altro fattore nel determinare il valore esadecimale di ogni chiave è la lingua per cui è stata creata. Ad esempio, le tastiere giapponesi e inglesi hanno un numero diverso di tasti perché il numero di caratteri utilizzati differisce. Diversi paesi di lingua inglese, come gli Stati Uniti e l'Inghilterra, hanno anche tastiere diverse; la maggior parte delle tastiere inglesi ha 102 tasti e la maggior parte delle tastiere statunitensi ne ha 101.