Che cos’è un codice di scansione?

Pochissime persone riconoscono quanti calcoli, codici e processi vengono utilizzati solo per ottenere un carattere dalla tastiera di un computer sullo schermo. Una parte di questa funzione è lo scancode, ovvero un codice esadecimale che è l’equivalente del tasto premuto sulla tastiera. C’è uno scancode per ogni tasto sulla tastiera e c’è un altro scancode separato per quando il tasto viene rilasciato. Le tastiere per diverse strutture di caratteri, come le lingue asiatiche, avranno un diverso numero di scancode perché il numero di tasti è diverso. 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 suddiviso 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 comunicare al computer che è stato premuto qualcosa sulla tastiera. Dopo aver compreso che è stato premuto un tasto, il computer esamina il buffer, controlla il codice esadecimale, quindi aggiunge il carattere o il suo attributo sullo schermo.

Sia il testo che i caratteri di controllo hanno codici di scansione. I tasti di testo sono quelli più comunemente usati, contenenti lettere, numeri e simboli, ma spesso vengono utilizzati anche i caratteri di controllo. I caratteri di controllo sono quelli che non creano alcun simbolo ma influiscono sul documento o sull’elaborazione dei caratteri, come i tasti “shift” o il tasto “enter”.

Ogni tasto della tastiera ha in realtà due scancode differenti, uno per premere e uno per rilasciare. Quando viene premuto un tasto, fornisce 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 questo viene fatto spesso con alcuni caratteri di controllo come i tasti “shift” o il tasto “cancella”.

Il valore esadecimale per ogni tasto varia in base alla tastiera. Ogni azienda ha la propria tastiera e, sebbene la configurazione possa essere simile o addirittura uguale ad altre, gli scancode potrebbero essere diversi. Questo di solito serve per consentire al produttore di realizzare tastiere con diverse configurazioni di tasti o per aggiungere nuove funzioni alla tastiera, come un tasto “stampa”.

Un altro fattore nel determinare il valore esadecimale di ciascuna chiave è la lingua per la quale è realizzata. Ad esempio, le tastiere giapponesi e inglesi hanno un numero diverso di tasti perché il numero di caratteri utilizzati è diverso. 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.