Scanează codul

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 4 ianuarie 2022; verificările necesită 2 modificări .

Cod de scanare ( cod de scanare în engleză  ) - în computerele compatibile IBM , codul atribuit fiecărei taste, cu care driverul tastaturii recunoaște ce tastă a fost apăsată. Când este apăsată orice tastă, controlerul tastaturii recunoaște tasta și trimite codul ei de scanare la portul 60h. Când o tastă este eliberată, controlerul de tastatură al formatului învechit IBM PC/XT trimite un cod de scanare mărit cu 80h către același port, iar formatul mai nou IBM PC/AT trimite  doi octeți: F0h și un cod de scanare (scanare a tastaturii AT). codurile diferă de asemenea de XT, vezi tabel). Unele chei generează nu unul, ci mai multe coduri de scanare (de exemplu, dreapta , , , ambele , precum și ,AltCtrl↵ Enter⊞ Win≣ MenuInsert, Delete, Page Up, Page Down, Home, End, săgețile și toate tastele ACPI și multimedia generează două coduri de scanare, primul dintre care este E0, cheia PrtScrgenerează 4 coduri de scanare, iar cheia Pause chiar 6 coduri de scanare). Fiecare octet scris pe portul 60h generează o întrerupere hardware int 09h.

Codurile de scanare sunt conectate la fiecare tastă la nivel hardware și nu depind de starea indicatorilor ⇪ Caps Lockși Num Locksau Scroll Lockde starea tastelor de control ( ⇧ Shift, Alt, Ctrl).

Codurile de scanare a tastelor

Toate codurile de scanare de mai jos sunt în hexazecimal .

Majoritatea codurilor de scanare de pe o tastatură XT corespund locației fizice a tastelor, începând cu tastele Esc (cod 01) și tastele numerice 1-9 (codurile 02-0A). De exemplu, tastele din al doilea rând ( Tab ↹ Q W E R T Y U I O P [ ] ↵ Enter) au coduri de scanare secvenţială 0F-1C (15-28 în zecimală).

Pe tastaturi cu un aspect diferit (de exemplu, AZERTY ), codurile de scanare corespund locației tastelor: de exemplu, Acodul de scanare francez este același cu cel american Q. Conversia codurilor de scanare în coduri ale tastelor apăsate este gestionată de sistemul de operare sau BIOS .

În toate sistemele de operare Microsoft, codurile de scanare din setul 2 (AT) sunt convertite în coduri de scanare din setul 1 (XT), iar toate aplicațiile primesc coduri de scanare din setul 1. [1]

Cheie Cod push XT Codul de lansare XT Cod de apăsare AT Codul de eliberare AT
Tastatura principală
A 1E 9E 1C F0.1C
B treizeci B0 32 F0.32
C 2E AE 21 F0.21
D douăzeci 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 optsprezece 98 44 F0.44
P 19 99 4D F0.4D
Q zece 90 cincisprezece F0.15
R 13 93 2D F0.2D
S 1F 9F 1B F0.1B
T paisprezece 94 2C F0.2C
U 16 96 3C F0.3C
V 2F AF 2A F0.2A
W unsprezece 91 1D F0.1D
X 2D ANUNȚ 22 F0.22
Y cincisprezece 95 35 F0,35
Z 2C AC 1A F0.1A
0 0B 8B 45 F0,45
1 02 82 16 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 BA 58 F0.58
Stânga⇧ Shift 2A AA 12 F0.12
StângaCtrl 1D 9D paisprezece F0.14
StângaAlt 38 B8 unsprezece F0.11
Stânga⊞ Win E0.5B E0,DB E0.1F E0,F0,1F
Dreapta⇧ Shift 36 B6 59 F0.59
DreaptaCtrl E0.1D E0.9D E0.14 E0,F0,14
DreaptaAlt E0.38 E0,B8 E0.11 E0,F0,11
Dreapta⊞ Win E0,5C E0,DC 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 BB 05 F0.05
F2 3C î.Hr 06 F0.06
F3 3D BD 04 F0.04
F4 3E FI 0C F0.0C
F5 3F bf 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 (în loc de PrtScr,

cod cheieAlt

generate separat)

D4 (în loc de PrtScr,

cod cheieAlt

generate separat)

? ?
Ctrl+ PrtScr,

⇧ Shift+PrtScr

( SysReq)

E0.37 (în loc de PrtScr,

cod pentru Ctrlsau⇧ Shift

generate separat)

E0,B7 (în loc de PrtScr,

cod pentru Ctrlsau⇧ Shift

generate separat)

? ?
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 (în loc de Break,

cod cheieCtrl

generate separat)

E0,C6 (în loc de Break,

cod cheieCtrl

generate separat)

? ?
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
Tastatură numerică
Num Lock 45 C5 77 F0.77
/ E0,35 E0,B5 E0.4A E0,F0,4A
* 37 B7 7C F0.7C
- 4A CA 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 CF 69 F0.69
2 cincizeci 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
cheile 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
Taste multimedia
Controlul jucătorului
piesa urmatoare E0.19 E0,99 E0, 4D E0,F0,4D
Piesa anterioară E0.10 E0,90 E0.15 E0,F0,15
Stop E0.24 E0,A4 E0.3B E0,F0,3B
Redare/Pauză E0.22 E0,A2 E0.34 E0,F0,34
Sunet activat/dezactivat E0.20 E0,A0 E0.23 E0,F0,23
Da volumul mai tare E0,30 E0,B0 E0.32 E0,F0,32
Da volumul mai incet E0.2E E0,AE E0.21 E0,F0,21
Controlul browserului
Căutare E0,65 E0,E5 E0.10 E0,F0,10
Pagina principala E0.32 E0,B2 E0.3A E0,F0,3A
Înapoi E0.6A E0,EA E0.38 E0,F0,38
Redirecţiona E0,69 E0,E9 E0,30 E0,F0,30
Stop E0,68 E0, E8 E0.28 E0,F0,28
Reîmprospăta E0,67 E0,E7 E0.20 E0,F0,20
Marcaje E0,66 E0, E6 E0.18 E0,F0,18
Managementul aplicațiilor
Media Select E0.6D E0,ED E0,50 E0,F0,50
E-mail E0.6C E0,EC E0,48 E0,F0,48
Calculator E0.21 E0,A1 E0.2B E0,F0,2B
Calculatorul meu E0.6B E0,EB E0,40 E0,F0,40

În DOS pur, tasta Pausegenerează 6 coduri de scanare când este apăsată și nu generează coduri de scanare când este ținută și eliberată. În Windows (inclusiv în VMware și DOSBox), tasta Pausefuncționează la fel ca oricare alta: atunci când este apăsată și menținută, generează coduri de scanare E1,1D,45, iar atunci când este eliberată, generează E1,9D,C5.

Codurile tastelor ↓, ↑, ←, →, Home, End, Page Up, Page Down, Insert, Deletepot conține, pe lângă cele indicate în tabel, suplimentar: E0,2A - la apăsare (înainte de codul principal), E0,AA - la eliberare (după codul principal) . Și când țineți apăsată tasta ⇧ Shift, invers: E0,AA - când este apăsată (înainte de codul principal), E0.2A - când este eliberată (după codul principal), codul cheii ⇧ Shifteste generat separat.

Vezi și

Link -uri