fpga_feixiang 发表于 2019-9-22 14:41:18

PS2键盘返回值介绍

键盘的处理器如果发现有键被按下或释放将发送扫描码的信息包到计算机。扫描码有两种不同的类型:通码和断码。当一个键被按下就发送通码,当一个键被释放就发送断码。每个按键被分配了唯一的通码和断码。这样主机通过查找唯一的扫描码就可以测定是哪个按键。每个键一整套的通断码组成了扫描码集。有三套标准的扫描码集:分别是第一套,第二套和第三套。所有现代的键盘默认使用第二套扫描码。
       虽然多数第二套通码都只有一个字节宽,但也有少数扩展按键的通码是两字节或四字节宽。这类的通码第一个字节总是为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-              

晓灰灰 发表于 2019-9-23 10:08:05

PS2键盘返回值介绍
页: [1]
查看完整版本: PS2键盘返回值介绍