|
键盘的处理器如果发现有键被按下或释放将发送扫描码的信息包到计算机。扫描码有两种不同的类型:通码和断码。当一个键被按下就发送通码,当一个键被释放就发送断码。每个按键被分配了唯一的通码和断码。这样主机通过查找唯一的扫描码就可以测定是哪个按键。每个键一整套的通断码组成了扫描码集。有三套标准的扫描码集:分别是第一套,第二套和第三套。所有现代的键盘默认使用第二套扫描码。
虽然多数第二套通码都只有一个字节宽,但也有少数扩展按键的通码是两字节或四字节宽。这类的通码第一个字节总是为E0。
正如键按下通码就被发往计算机一样,只要键一释放断码就会被发送。每个键都有它自己唯一的通码和断码。幸运的是你不用总是通过查表来找出按键的断码。在通码和断码之间存在着必然的联系。多数第二套断码有两字节长。它们的第一个字节是F0 ,第二个字节是这个键的通码。扩展按键的断码通常有三个字节,它们前两个字节是E0h,F0h ,最后一个字节是这个按键通码的最后一个字节。下面列出了几个按键的第二套通码和断码:
No.
KEY
通码(第二套)
断码(第二套)
1
"A"
1C
F0 1C
2
"5"
2E
F0 2E
3
"F10"
09
F0 09
4
Right Arrow
E0 74
E0 F0 74
5
Right "Ctrl"
E0 14
E0 F0 14
一个键盘发送值的例子:
通码和断码是以什么样的序列发送到你的计算机从而使得字符G 出现在你的字处理软件里的呢?因为这是一个大写字母,需要发生这样的事件次序:按下Shift 键-按下G键-释放G 键-释放Shift 键。与这些时间相关的扫描码如下:Shift 键的通码12h,G 键的通码34h ,G 键的断码F0h 34h ,Shift 键的断码F0h 12h 。因此发送到你的计算机的数据应该是:
12h 34h F0h 34h F0h 12h
五:第二套扫描码:
101 102 和104 键的键盘:
KEY
通码
断码
KEY 通码 断码 KEY 通码 断码
A
1C
F0 1C
9 46 F0 46 [ 54 F0 54
B
32
F0 32
` 0E F0 0E INSERT E0 70 E0 F0 70
C
21
F0 21
- 4E F0 4E HOME E0 6C E0 F0 6C
D
23
F0 23
= 55 F0 55 PG UP E0 7D E0 F0 7D
E
24
F0 24
\ 5D F0 5D DELETE E0 71 E0 F0 71
F 2B F0 2B BKSP 66 F0 66 END E0 69 E0 F0 69
G 34 F0 34 SPACE 29 F0 29 PG DN E0 7A E0 F0 7A
H 33 F0 33 TAB 0D F0 0D U ARROW E0 75 E0 F0 75
I 43 F0 43 CAPS 58 F0 58 L ARROW E0 6B E0 F0 6B
J 3B F0 3B L SHFT 12 F0 12 D ARROW E0 72 E0 F0 72
K 42 F0 42 L CTRL 14 F0 14 R ARROW E0 74 E0 F0 74
L 4B F0 4B L GUI E0 1F E0 F0 1F NUM 77 F0 77
M 3A F0 3A L ALT 11 F0 11 KP / E0 4A E0 F0 4A
N 31 F0 31 R SHFT 59 F0 59 KP * 7C F0 7C
O 44 F0 44 R CTRL E0 14 E0 F0 14 KP - 7B F0 7B
P 4D F0 4D R GUI E0 27 E0 F0 27 KP + 79 F0 79
Q 15 F0 15 R ALT E0 11 E0 F0 11 KP EN E0 5A E0 F0 5A
R 2D F0 2D APPS E0 2F E0 F0 2F KP 71 F0 71
S 1B F0 1B ENTER 5A F0 5A KP 0 70 F0 70
T 2C F0 2C ESC 76 F0 76 KP 1 69 F0 69
U 3C F0 3C F1 05 F0 05 KP 2 72 F0 72
V 2A F0 2A F2 06 F0 06 KP 3 7A F0 7A
W 1D F0 1D F3 04 F0 04 KP 4 6B F0 6B
X 22 F0 22 F4 0C F0 0C KP 5 73 F0 73
Y 35 F0 35 F5 03 F0 03 KP 6 74 F0 74
Z 1A F0 1A F6 0B F0 0B KP 7 6C F0 6C
0 45 F0 45 F7 83 F0 83 KP 8 75 F0 75
1 16 F0 16 F8 0A F0 0A KP 9 7D F0 7D
2 1E F0 1E F9 01 F0 01 ] 58 F0 58
3 26 F0 26 F10 09 F0 09 ; 4C F0 4C
4 25 F0 25 F11 78 F0 78 ' 52 F0 52
5 2E F0 2E F12 07 F0 07 , 41 F0 41
6 36 F0 36 PRNT
SCRN E0 12
E0 7C E0 F0
7C E0
F0 12 . 49 F0 49
7 3D F0 3D SCROLL 7E F0,7E / 4A F0 4A
8 3E F0 3E PAUSE E1 14 77
E1 F0 14
F0 77 -NONE- |
|