分类: LINUX
2010-07-01 11:41:41
PC键盘扫描码参考资料
键盘的处理器如果发现有键被按下、释放、或按住键盘不放将发送扫描码的信息包到计算机,扫描 码有两种不同的类:型通码和断码,当一个键被按下或按住,就发送通码,当一个键被释放就发送断码,每个按键被分配了唯一的通码和断码,这样主机通过查找唯 一的扫描码就可以测定是哪个按键,通码和断码组成了键盘的扫描码集,有三套标准的扫描码集,分别是第一套、第二套和第三套,下面给出的现在通行的第二套扫 描码集。
虽然多数按键只有一个字节宽,但也有少数扩展按键的通码是两字节或四字节宽,这类按键的通码第一个字节总是为E0h。
正如键按下通码就被发往计算机一样,只要键一释放断码也会被发送到计算机,每个键都有它自己唯一的通码和断码。幸运的是,你不用总是通过查表来确定按键的 断码,在通码和断码之间存在着必然的联系,多数断码有两字节长,其第一个字节是F0h 第二个字节是这个键的通码,扩展按键的断码通常有三个字节,它们前两个字节是E0h,F0h 最后一个字节是这个按键通码的最后一个字节,下面举一个例子,先列出了几个按键的通码和断码
KEY |
通码 |
断码 |
---|---|---|
"A" |
1C |
F0 1C |
"G" |
34 |
F0 34 |
"5" |
2E |
F0 2E |
"F10" |
09 |
F0 09 |
Right Arrow |
E0 74 |
E0 F0 74 |
Right "Ctrl" |
E0 14 |
E0 F0 14 |
一个按键发送的例子(以按G键为例):
通码和断码是以什么样的序列发送到你的计算机,然后使得字符G出现在你的字处理软件里的呢,因为这是一个大写字母需要发生这样的事件次序:按下左 Shift- 键-按下G键-释放G-键释放左Shift键,左Shift 键的通码12h,G键的通码34h G键的断码F0h 34h,左Shift键的断码F0h 12h 因此发送到你的计算机的数据应该是:12h 34h F0h 34h F0h 12h。
第二套扫描码:(实用于标准PC的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- |
ACPI 扫描码:
KEY |
通码 |
断码 |
---|---|---|
Power |
E0, 37 |
E0, F0, 37 |
Sleep |
E0, 3F |
E0, F0, 3F |
Wake |
E0, 5E |
E0, F0, 5E |
Windows 多媒体扫描码:
KEY |
通码 |
断码 |
---|---|---|
Next Track |
E0, 4D |
E0, F0, 4D |
Previous Track |
E0, 15 |
E0, F0, 15 |
Stop |
E0, 3B |
E0, F0, 3B |
Play/Pause | E0, 34 | E0, F0, 34 |
Mute | E0, 23 | E0, F0, 23 |
Volume Up | E0, 32 | E0, F0, 32 |
Volume Down | E0, 21 | E0, F0, 21 |
Media Select | E0, 50 | E0, F0, 50 |
E0, 48 | E0, F0, 48 | |
Calculator | E0, 2B | E0, F0, 2b |
My Computer | E0, 40 | E0, F0, 40 |
WWW Search | E0, 10 | E0, F0, 10 |
WWW Home | E0, 3A | E0, F0, 3a |
WWW Back | E0, 38 | E0, F0, 38 |
WWW Forward | E0, 30 | E0, F0, 20 |
WWW Stop | E0, 28 | E0, F0, 28 |
WWW Refresh | E0, 20 | E0, F0, 20 |
WWW Favorites | E0, 18 | E0, F0, 18 |