scancode - Scancode

Uno scancode (o codice di scansione ) sono i dati che la maggior parte delle tastiere di computer inviano a un computer di segnalare quali tasti sono stati premuti. Un numero, o una sequenza di numeri, viene assegnato a ciascun tasto della tastiera.

varianti

Mappare posizioni chiave per riga e colonna richiede meno complesso hardware ; Pertanto, in passato, utilizzando il software o firmware per tradurre le scancodes caratteri di testo era meno costoso di cablaggio della tastiera carattere di testo. Questa differenza di costo non è profondo come ha usato essere. Tuttavia, molti tipi di computer utilizzano ancora i loro scancodes tradizionali per mantenere la compatibilità all'indietro .

Alcuni standard tastiera includono una scancode per ogni essere premuto e uno diverso per ogni tasto di essere rilasciato. Inoltre, molti standard della tastiera (per esempio, compatibili IBM PC standard) consentono tastiera stessa per generare " typematic " ripetente chiavi avendo la tastiera stessa generare il tasto premuto scancode ripetutamente mentre il tasto viene premuto, con lo scancode stampa inviato una volta quando il tasto viene rilasciato.

set scancode

Su alcuni sistemi operativi si possono scoprire downpress scancode di un tasto tenendo premuto il tasto giù mentre il computer si sta avviando. Con la fortuna, lo scancode (o una parte di esso) saranno specificati nel messaggio di errore con conseguente "tasto bloccato". [Nota: compare in Windows 7 un solo byte del scancode.]

PC compatibili

Scancodes su PC IBM compatibile informatici tastiere sono insiemi di 1 a 3 byte che vengono inviati dalla tastiera. La maggior parte dei tasti dei caratteri hanno un unico scancode di byte; tasti che eseguono funzioni speciali hanno 2 byte o 3 byte scancodes, di solito inizio con il byte (in esadecimale) E0, E1o E2. Inoltre, alcuni tasti inviano scancodes più lunghi, emulando in modo efficace una serie di tasti per rendere più facile per i diversi tipi di software per l'elaborazione.

Tastiere per PC in quanto la tastiera PS / 2 supporta fino a tre set scancode. Il più comunemente riscontrati sono la "XT" ( "set 1") scancodes, basata sulla tastiera 83 tasti utilizzata dal PC IBM XT e precedenti. Questi consistono principalmente di un singolo byte; i 7 bit identificano la chiave, e il bit più significativo è chiaro per pressione di un tasto o impostare per un rilascio chiave. Alcuni tasti aggiuntivi hanno una E0(o raramente, E1o E2prefisso). Questi sono stati inizialmente assegnato in modo che ignorare il E0prefisso (che è nel campo chiave e quindi non avrebbe alcun effetto su un sistema operativo che non li capisce) produrrebbe risultati ragionevoli. Ad esempio il tastierino numerico tasto ENTER produce una scancode di E0 1C, che corrisponde alla scancode del tasto regolare Invio di 1C.

Il PC IBM 3270 introdotto il proprio insieme di scancodes ( "set 3"), con una diversa numerazione chiave e dove un rilascio di tasto è indicato da un F0prefisso. Per compatibilità all'indietro , il PC 3270 tradotto questi per XT (set 1) scancodes utilizzando una scheda aggiuntiva e un'estensione BIOS. Questo insieme è utilizzato da Linux per default quando rileva una tastiera PS / 2 che può supportare correttamente il codice di scansione impostato 3.

L' IBM PC AT introdotto il "AT" ( "set 2") scancodes. Sul 84 tasti AT tastiera essi erano nettamente un sottoinsieme dell'insieme 3, con alcune differenze causate dalla disposizione modificata (per esempio, la posizione e scancodes dei tasti funzione cambiate). Tasti aggiunto poiché il PC AT hanno spesso differenti scancodes in serie 2 e impostare 3, e in set 2 spesso hanno una E0o E1prefisso. Ancora una volta, il rilascio di tasto è indicato da un F0prefisso.

Per i computer da IBM PC AT, il controller della tastiera sulla scheda madre traduce AT (set 2) scancodes in XT (set 1) scancodes nella cosiddetta modalità di conversione . Questa traduzione può essere disattivata in pass-through-mode , permettendo ai scancodes prime di essere visto. Pertanto, se uno sviluppatore di software incontrerà AT scancodes o scancodes XT su un PC compatibile-moderna dipende da come si accede alla tastiera.

Una tastiera compatibile PS / 2 può essere detto per inviare scancodes nel set 1, 2 o 3.

Esempio PC compatibile (IBM PS / 2) scancodes
chiave set 1 ( IBM PC XT ) set 2 ( IBM PC AT ) set 3 ( IBM 3270 PC )
stampa pubblicazione stampa pubblicazione stampa pubblicazione
A (normale lettera) 1E 9E 1C F0 1C 1C F0 1C
Return / Invio (tastiera principale) 1C 9C 5A F0 5A 5A F0 5A
Inserisci ( tastierino numerico ) E0 1C E0 9C E0 5A E0 F0 5A 79 F0 79
Sinistra tasto Windows E0 5B E0 DB E0 1F E0 F0 1F 8B F0 8B
Tasto destro di Windows E0 5C E0 DC E0 27 E0 F0 27 8C F0 8C

USB

USB tastiere utilizzano una nuova serie di scancodes, per lo più indicato nello standard USB. Tutti i computer che riconoscono le tastiere USB riconoscono queste nuove scancodes.

Guarda anche

Riferimenti

link esterno