Skanna koden

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 4 januari 2022; kontroller kräver 2 redigeringar .

Scan code ( engelsk  skanningskod ) - i IBM-kompatibla datorer , koden som tilldelats varje tangent, med vilken tangentbordsdrivrutinen känner igen vilken tangent som trycktes. När någon tangent trycks ned känner tangentbordskontrollen igen tangenten och skickar dess skanningskod till port 60h. När en tangent släpps, skickar tangentbordskontrollen för det föråldrade IBM PC/XT -formatet en skanningskod ökad med 80h till samma port, och det nyare IBM PC/AT -formatet skickar  två byte: F0h och en skanningskod (AT-tangentbordsskanning koder skiljer sig också från XT, se tabell). Vissa nycklar genererar inte en utan flera skanningskoder (till exempel höger Alt, Ctrl, ↵ Enter, båda , samt , , , , , , , pilar och alla ACPI- och multimedianycklar genererar två skanningskoder, varav den första är E0, nyckeln genererar 4 skanningskoder och nyckeln genererar  även 6 skanningskoder). Varje byte som skrivs till port 60h genererar ett hårdvaruavbrott int 09h. ⊞ Win≣ MenuInsertDeletePage UpPage DownHomeEndPrtScrPause

Skanningskoder är fastanslutna till varje tangent på hårdvarunivå och beror inte på statusen för indikatorerna eller ⇪ Caps Lockpå kontrollknapparnas tillstånd ( , , ). Num LockScroll Lock⇧ ShiftAltCtrl

Nyckelskanningskoder

Alla skanningskoder nedan är hexadecimala .

De flesta skanningskoderna på ett XT-tangentbord motsvarar den fysiska platsen för tangenterna, som börjar med Esc-tangenterna (kod 01) och siffertangenterna 1-9 (koderna 02-0A). Till exempel har tangenterna på andra raden ( Tab ↹ Q W E R T Y U I O P [ ] ↵ Enter) sekventiella skanningskoder 0F-1C (15-28 i decimaler).

På tangentbord med en annan layout (till exempel AZERTY ) motsvarar skanningskoderna platsen för tangenterna: till exempel är den franska Askanningskoden densamma som den amerikanska Q. Omvandlingen av skanningskoder till koder för nedtryckta tangenter hanteras av OS eller BIOS .

I alla Microsofts operativsystem konverteras skanningskoder från set 2 (AT) till skanningskoder från set 1 (XT), och alla applikationer får skanningskoder från set 1. [1]

Nyckel XT push-kod Släpp kod XT AT Tryck Kod Släpp kod AT
Huvudtangentbord
A 1E 9E 1C F0,1C
B trettio B0 32 F0,32
C 2E AE 21 F0,21
D tjugo 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 arton 98 44 F0,44
P 19 99 4D F0.4D
Q tio 90 femton F0,15
R 13 93 2D F0.2D
S 1F 9F IB F0.1B
T fjorton 94 2C F0,2C
U 16 96 3C F0,3C
V 2F AF 2A F0.2A
W elva 91 1D F0.1D
X 2D AD 22 F0,22
Y femton 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
] IB 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
Vänster⇧ Shift 2A AA 12 F0.12
VänsterCtrl 1D 9D fjorton F0.14
VänsterAlt 38 B8 elva F0.11
Vänster⊞ Win E0.5B E0,DB E0.1F E0,F0,1F
Höger⇧ Shift 36 B6 59 F0,59
HögerCtrl E0.1D E0.9D E0.14 E0,F0,14
HögerAlt E0,38 E0,B8 E0.11 E0,F0,11
Höger⊞ 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 före Kristus 06 F0,06
F3 3D BD 04 F0,04
F4 3E VARA 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 (istället för PrtScr,

nyckelkodAlt

genereras separat)

D4 (istället för PrtScr,

nyckelkodAlt

genereras separat)

? ?
Ctrl+ PrtScr,

⇧ Shift+PrtScr

( SysReq)

E0.37 (istället för PrtScr,

kod för Ctrleller⇧ Shift

genereras separat)

E0,B7 (istället för PrtScr,

kod för Ctrleller⇧ Shift

genereras separat)

? ?
Scroll Lock 46 C6 7E F0.7E
Pause E1,1D,45,E1,9D,C5 E1,14,77, El,F0,14,F0,77
Ctrl+Break

( Ctrl+ Pause)

E0.46 (istället för Break,

nyckelkodCtrl

genereras separat)

E0,C6 (istället för Break,

nyckelkodCtrl

genereras 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,Dl 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
Numerisk knappsats
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 femtio 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
ACPI-nycklar
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
Multimedia nycklar
Spelarkontroll
nästa spår E0,19 E0,99 E0, 4D E0,F0,4D
Föregående spår E0.10 E0,90 E0,15 E0,F0,15
Sluta E0.24 E0,A4 E0.3B E0,F0,3B
Spela/Pausa E0.22 E0,A2 E0,34 E0,F0,34
Ljud på/av E0,20 E0,A0 E0.23 E0,F0,23
Höj volymen E0,30 E0,B0 E0,32 E0,F0,32
Sänk volymen E0.2E E0,AE E0.21 E0,F0,21
Webbläsarkontroll
Sök E0,65 E0, E5 E0.10 E0,F0,10
Hemsida E0,32 E0,B2 E0.3A E0,F0,3A
Tillbaka E0.6A E0,EA E0,38 E0,F0,38
Fram E0,69 E0, E9 E0,30 E0,F0,30
Sluta E0,68 E0, E8 E0,28 E0,F0,28
Uppdatera E0,67 E0, E7 E0,20 E0,F0,20
Bokmärken E0,66 E0, E6 E0.18 E0,F0,18
Applikationshantering
Media Välj E0.6D E0,ED E0,50 E0,F0,50
E-post E0,6C E0,EC E0,48 E0,F0,48
Kalkylator E0.21 E0,A1 E0.2B E0,F0,2B
Min dator E0.6B E0,EB E0,40 E0,F0,40

I ren DOS Pausegenererar tangenten 6 skanningskoder när den trycks ned och genererar inga skanningskoder när den hålls ned och släpps. Under Windows (inklusive i VMware och DOSBox) fungerar nyckeln Pausepå samma sätt som alla andra: när den hålls nedtryckt genererar den skanningskoder E1,1D,45 och när den släpps genererar den E1,9D,C5.

Nyckelkoder ↓, ↑, ←, →, Home, End, Page Up, Page Down, Insert, Deletekan, utöver de som anges i tabellen, dessutom innehålla: E0,2A - när den trycks ned (före huvudkoden), E0,AA - när den släpps (efter huvudkoden) . Och när du håller ⇧ Shiftknappen intryckt, vice versa: E0,AA - när den trycks ned (före huvudkoden), E0.2A - när den släpps (efter huvudkoden), ⇧ Shiftgenereras nyckelkoden separat.

Se även

Länkar