Código de escaneo ( código de escaneo en inglés ) - en computadoras compatibles con IBM , el código asignado a cada tecla, con el que el controlador del teclado reconoce qué tecla se presionó. Cuando se presiona cualquier tecla, el controlador del teclado reconoce la tecla y envía su código de escaneo al puerto 60h. Cuando se suelta una tecla, el controlador de teclado del formato obsoleto IBM PC/XT envía un código de escaneo incrementado en 80h al mismo puerto, y el formato IBM PC/AT más nuevo envía dos bytes: F0h y un código de escaneo (AT escaneo de teclado códigos también difieren de XT, ver tabla). Algunas teclas generan no uno, sino varios códigos de escaneo (por ejemplo, derecha , , , tanto , como , , , , , , , flechas y todas las teclas ACPI y multimedia generan dos códigos de escaneo, el primero de los cuales es E0, el la tecla genera 4 códigos de escaneo, y la tecla genera incluso 6 códigos de escaneo). Cada byte escrito en el puerto 60h genera una interrupción de hardware int 09h. AltCtrl↵ Enter⊞ Win≣ MenuInsertDeletePage UpPage DownHomeEndPrtScrPause
Los códigos de escaneo están cableados a cada tecla a nivel de hardware y no dependen del estado de los indicadores ⇪ Caps Lock, Num Locky Scroll Lock, ni del estado de las teclas de control ( ⇧ Shift, Alt, Ctrl).
Todos los códigos de escaneo a continuación están en hexadecimal .
La mayoría de los códigos de escaneo en un teclado XT corresponden a la ubicación física de las teclas, comenzando con las teclas Esc (código 01) y las teclas numéricas 1-9 (códigos 02-0A). Por ejemplo, las teclas de la segunda fila ( Tab ↹ Q W E R T Y U I O P [ ] ↵ Enter) tienen códigos de escaneo secuencial 0F-1C (15-28 en decimal).
En teclados con un diseño diferente (por ejemplo, AZERTY ), los códigos de escaneo corresponden a la ubicación de las teclas: por ejemplo, el Acódigo de escaneo francés es el mismo que el estadounidense Q. La conversión de códigos de escaneo en códigos de teclas presionadas es manejada por el sistema operativo o el BIOS .
En todos los sistemas operativos de Microsoft, los códigos de escaneo del conjunto 2 (AT) se convierten en códigos de escaneo del conjunto 1 (XT), y todas las aplicaciones reciben códigos de escaneo del conjunto 1. [1]
Llave | Código de inserción XT | Código de liberación XT | AT Código de prensa | Código de liberación AT |
---|---|---|---|---|
teclado principal | ||||
A | 1E | 9E | 1C | F0.1C |
B | treinta | B0 | 32 | F0.32 |
C | 2E | AE | 21 | F0.21 |
D | veinte | A0 | 23 | F0.23 |
E | 12 | 92 | 24 | F0.24 |
F | 21 | A1 | 2B | F0.2B |
G | 22 | A2 | 34 | F0.34 |
H | 23 | A3 | 33 | F0.33 |
I | 17 | 97 | 43 | F0.43 |
J | 24 | A4 | 3B | F0.3B |
K | 25 | A5 | 42 | F0.42 |
L | 26 | A6 | 4B | F0.4B |
M | 32 | B2 | 3A | F0.3A |
N | 31 | B1 | 31 | F0.31 |
O | Dieciocho | 98 | 44 | F0.44 |
P | 19 | 99 | 4D | F0.4D |
Q | diez | 90 | quince | F0.15 |
R | 13 | 93 | 2D | F0.2D |
S | 1F | 9F | 1B | F0.1B |
T | catorce | 94 | 2C | F0.2C |
U | dieciséis | 96 | 3C | F0.3C |
V | 2F | FA | 2A | F0.2A |
W | once | 91 | 1D | F0.1D |
X | 2D | ANUNCIO | 22 | F0.22 |
Y | quince | 95 | 35 | F0.35 |
Z | 2C | C.A. | 1A | F0.1A |
0 | 0B | 8B | 45 | F0.45 |
1 | 02 | 82 | dieciséis | F0.16 |
2 | 03 | 83 | 1E | F0.1E |
3 | 04 | 84 | 26 | F0.26 |
4 | 05 | 85 | 25 | F0.25 |
5 | 06 | 86 | 2E | F0.2E |
6 | 07 | 87 | 36 | F0.36 |
7 | 08 | 88 | 3D | F0.3D |
8 | 09 | 89 | 3E | F0.3E |
9 | 0A | 8A | 46 | F0.46 |
~ | 29 | 89 | 0E | F0.0E |
- | 0C | 8C | 4E | F0.4E |
= | 0D | 82 | 55 | F0.55 |
\ | 2B | AB | 5D | F0.5D |
[ | 1A | 9A | 54 | F0.54 |
] | 1B | 9B | 5B | F0.5B |
; | 27 | A7 | 4C | F0.4C |
' | 28 | A8 | 52 | F0.52 |
, | 33 | B3 | 41 | F0.41 |
. | 34 | B4 | 49 | F0.49 |
/ | 35 | B5 | 4A | F0.4A |
BS | 0E | 8E | 66 | F0.66 |
Space | 39 | B9 | 29 | F0.29 |
Tab ↹ | 0F | 8F | 0D | F0.0D |
⇪ Caps Lock | 3A | licenciado en Letras | 58 | F0.58 |
Izquierda⇧ Shift | 2A | Automóvil club británico | 12 | F0.12 |
IzquierdaCtrl | 1D | 9D | catorce | F0.14 |
IzquierdaAlt | 38 | B8 | once | F0.11 |
Izquierda⊞ Win | E0.5B | E0, base de datos | E0.1F | E0,F0,1F |
Derecha⇧ Shift | 36 | B6 | 59 | F0.59 |
DerechaCtrl | E0.1D | E0.9D | E0.14 | E0,F0,14 |
DerechaAlt | E0.38 | E0,B8 | E0.11 | E0,F0,11 |
Derecha⊞ Win | E0.5C | E0, CC | E0.27 | E0, F0.27 |
≣ Menu | E0.5D | E0,DD | E0.2F | E0,F0,2F |
↵ Enter | 1C | 9C | 5A | F0.5A |
Esc | 01 | 81 | 76 | F0.76 |
F1 | 3B | cama y desayuno | 05 | F0.05 |
F2 | 3C | antes de Cristo | 06 | F0.06 |
F3 | 3D | BD | 04 | F0.04 |
F4 | 3E | SER | 0C | F0.0C |
F5 | 3F | novio | 03 | F0.03 |
F6 | 40 | C0 | 0B | F0.0B |
F7 | 41 | C1 | 83 | F0.83 |
F8 | 42 | C2 | 0A | F0.0A |
F9 | 43 | C3 | 01 | F0.01 |
F10 | 44 | C4 | 09 | F0.09 |
F11 | 57 | D7 | 78 | F0.78 |
F12 | 58 | D8 | 07 | F0.07 |
PrtScr | E0.2A, E0.37 | E0, B7, E0, AA | E0.12, E0.7C | E0, F0.7C, E0, F0.12 |
Alt+PrtScr | 54 (en lugar de PrtScr,
claveAlt generado por separado) |
D4 (en lugar de PrtScr,
claveAlt generado por separado) |
? | ? |
Ctrl+ PrtScr,
⇧ Shift+PrtScr ( SysReq) |
E0.37 (en lugar de PrtScr,
código para Ctrlo⇧ Shift generado por separado) |
E0,B7 (en lugar de PrtScr,
código para Ctrlo⇧ Shift generado por separado) |
? | ? |
Scroll Lock | 46 | C6 | 7E | F0.7E |
Pause | E1,1D,45, E1,9D,C5 | — | E1,14,77, E1,F0,14,F0,77 | — |
Ctrl+Break
( Ctrl+ Pause) |
E0.46 (en lugar de Break,
claveCtrl generado por separado) |
E0,C6 (en lugar de Break,
claveCtrl generado por separado) |
? | ? |
Insert | E0.52 | E0,D2 | E0.70 | E0, F0.70 |
Home | E0.47 | E0,C7 | E0.6C | E0, F0, 6C |
End | E0.4F | E0, CF | E0.69 | E0, F0.69 |
Page Up | E0.49 | E0,C9 | E0.7D | E0, F0, 7D |
Page Down | E0.51 | E0,D1 | E0.7A | E0, F0, 7A |
Delete | E0.53 | E0,D3 | E0.71 | E0, F0.71 |
↑ | E0.48 | E0,C8 | E0.75 | E0, F0.75 |
← | E0.4B | E0, CB | E0.6B | E0, F0, 6B |
↓ | E0.50 | E0,D0 | E0.72 | E0, F0.72 |
→ | E0.4D | E0 CD | E0.74 | E0, F0.74 |
Teclado numérico | ||||
Num Lock | 45 | C5 | 77 | F0.77 |
/ | E0.35 | E0,B5 | E0.4A | E0, F0, 4A |
* | 37 | B7 | 7C | F0.7C |
- | 4A | California | 7B | F0.7B |
+ | 4E | CE | 79 | F0.79 |
↵ Enter | E0.1C | E0.9C | E0.5A | E0, F0, 5A |
. | 53 | D3 | 71 | F0.71 |
0 | 52 | D2 | 70 | F0.70 |
1 | 4F | FC | 69 | F0.69 |
2 | cincuenta | D0 | 72 | F0.72 |
3 | 51 | D1 | 7A | F0.7A |
4 | 4B | CB | 6B | F0.6B |
5 | 4C | CC | 73 | F0.73 |
6 | 4D | CD | 74 | F0.74 |
7 | 47 | C7 | 6C | F0.6C |
8 | 48 | C8 | 75 | F0.75 |
9 | 49 | C9 | 7D | F0.7D |
claves ACPI | ||||
Power | E0.5E | E0, DE | E0.37 | E0, F0.37 |
Sleep | E0.5F | E0,DF | E0.3F | E0,F0,3F |
Wake | E0.63 | E0, E3 | E0.5E | E0,F0,5E |
Teclas multimedia | ||||
Control del jugador | ||||
siguiente pista | E0.19 | E0,99 | E0, 4D | E0, F0, 4D |
Pista anterior | E0.10 | E0,90 | E0.15 | E0, F0.15 |
Deténgase | E0.24 | E0,A4 | E0.3B | E0, F0, 3B |
Reproducir pausar | E0.22 | E0,A2 | E0.34 | E0, F0.34 |
Activar/desactivar sonido | E0.20 | E0,A0 | E0.23 | E0, F0.23 |
Sube el volumen | E0.30 | E0,B0 | E0.32 | E0, F0.32 |
Baja el volumen | E0.2E | E0,AE | E0.21 | E0,F0,21 |
control del navegador | ||||
Búsqueda | E0.65 | E0, E5 | E0.10 | E0,F0,10 |
Página principal | E0.32 | E0,B2 | E0.3A | E0, F0, 3A |
atrás | E0.6A | E0,EA | E0.38 | E0, F0.38 |
Delantero | E0.69 | E0,E9 | E0.30 | E0,F0,30 |
Deténgase | E0.68 | E0, E8 | E0.28 | E0, F0.28 |
Actualizar | E0.67 | E0, E7 | E0.20 | E0,F0,20 |
Marcadores | E0.66 | E0, E6 | E0.18 | E0,F0,18 |
Gestión de aplicaciones | ||||
Selección de medios | E0.6D | E0,ED | E0.50 | E0, F0.50 |
Correo electrónico | E0.6C | E0, CE | E0.48 | E0, F0.48 |
Calculadora | E0.21 | E0,A1 | E0.2B | E0, F0, 2B |
Mi computadora | E0.6B | E0,EB | E0.40 | E0,F0,40 |
En DOS puro, la tecla Pausegenera 6 códigos de escaneo cuando se presiona y no genera códigos de escaneo cuando se mantiene presionada y se suelta. Bajo Windows (incluso en VMware y DOSBox), la tecla Pausefunciona igual que cualquier otra: cuando se presiona y se mantiene presionada, genera los códigos de escaneo E1,1D,45 y cuando se suelta, genera E1,9D,C5.
Los códigos de tecla ↓, ↑, ←, →, Home, End, Page Up, Page Down, Insert, Deletepueden contener, además de los indicados en la tabla, adicionalmente: E0,2A - cuando se presiona (antes del código principal), E0,AA - cuando se suelta (después del código principal) . Y al mantener presionada la tecla ⇧ Shift, viceversa: E0,AA - cuando se presiona (antes del código principal), E0.2A - cuando se suelta (después del código principal), el código clave ⇧ Shiftse genera por separado.