键盘码对照表:
C语言中键盘扫描码如何使用?zz2008-11-14 16:21就是利用bioskey()得到的值。
参数为0时,bioskey()的返回值如果低八位非0,表示按下了普通键;如果低八位为0,表示按下了功能键。
参数为1时,检测有没有键被按下,如果返回值为0,表示没有键按下,相反有键按下。
参数为2时,表示获取变换键的状态,哪些是变换键呢?变换键包括双态键和控制键,双态键就是num lock、scroll lock、insert和caps lock,控制键就是左右shift、ctrl和alt,返回值的低八位反映了这些变换键的状态:
0x01
右边shift
0x02
左边shift
0x04
ctrl键
0x08
alt键
0x10
scroll lock打开
0x20
num lock打开
0x40
caps lock打开
0x80
insert打开
其实bioskey直接调用bios的int 16h键盘I/O中断,直接就是int 16h的完整翻版。
键盘扫描码大全
对程序进行键盘控制时,往往要用到一些键的扫描码,以前每次用时都得先扫下试试,实在麻烦,今天又搞了个小程序,用
到了扫描码,索性整了个测试程序,把所有键的扫描码全存入一个文件啦,以便以后编程时使用.在此跟大家分享一下,虽
然得来非常容易,但至少可以免得大家都像我以前那样用时再查
扫描码
键
0x011b
ESC
0x3b00
F1
0x3c00
F2
0x3d00
F3
0x3e00
F4
0x3f00
F5
0x4000
F6
0x4100
F7
0x4200
F8
0x4300
F9
0x4400
F10
主键盘区:
0x2960
~
0x0231
1
0x0332
2
0x0433
3
0x0534
4
0x0635
5
0x0736
6
0x0837
7
0x0938
8
0x0a39
9
0x0b30
0
0x0c2d
-
0x0d3d
=
0x2b5c
\
0x0e08
退格键
0x0f09
Tab
0x1071
q
0x1177
w
0x1265
e
0x1372
r
0x1474
t
0x1579
y
0x1675
u
0x1769
i
0x186f
o
0x1970
p
0x1a5b
[
0x1b5d
]
0x1e61
a
0x1f73
s
0x2064
d
0x2166
f
0x2267
g
0x2368
h
0x246a
j
0x256b
k
0x266c
l
0x273b
;
0x2827
'
0x1c0d
回车
0x2c7a
z
0x2d78
x
0x2e63
c
0x2f76
v
0x3062
b
0x316e
n
0x326d
m
0x332c
,
0x342e
.
0x352f
/
0x3920
空格键
右边数字键盘:
0x5200
Insert
0x4700
Home
0x4900
Page UP
0x5300
Delete
0x4f00
End
0x5100
PageDown
0x4800
上箭头
0x4b00
左箭头
0x5000
下箭头
0x4d00
右箭头
0x352f
/
0x372a
*
0x4a2d
- (注意,这是数字键盘的)
0x4737
7
0x4838
8
0x4939
9
0x4b34
4
0x4c35
5
0x4d36
6
0x4e2b
+
0x4f31
1
0x5032
2
0x5133
3
0x5230
0
0x532e
Del
Ctrl+字母: 在字母扫描码的基础上减去0x0060
alt+字母:
在字母的基础上,把最后两位变成00
shift+字母: 在字母的基础上减去0x0020
比如: a----0x1e61
Ctrl+a----0x1e01
Alt+a-----0x1e00
b----0x3062
Ctrl+b----0x3002
Alt+b-----0x3000
另加: Ctrl+Enter:
0x1c0a
可以直接用一个程序查看的 很简单的
#include <stdio.h>
#include <bios.h>
void main(void)
{
int key, modifiers;
while ((key=bioskey(0)) != 0 && key!=0x11b){
printf("0x%x \n",key);
}
}
*********************************************************************************************
上面列出的编码中,前面两位是“扫描码”,后面两位是ASCII码,合起来是所谓的“键盘码”
比如,小键盘的数字键扫描码和大键盘的数字键是不同的,而后两位是一样的,因为那个是它们共用的ASCII码
下面就是扫描码的列表
Keyboard Scan Codes (Numerical Order)
---------------+---------------+---------------+---------------+---------------
HEX DEC keys
|HEX DEC keys
|HEX DEC keys
|HEX DEC keys
|HEX DEC keys
---------------+---------------+---------------+---------------+---------------
|10
16
Q
|20
32
D
|30
48
B
|40
64
F6
01
1
ESC
|11
17
W
|21
33
F
|31
49
N
|41
65
F7
02
2
1
|12
18
E
|22
34
G
|32
50
M
|42
66
F8
03
3
2
|13
19
R
|23
35
H
|33
51
,
|43
67
F9
04
4
3
|14
20
T
|24
36
J
|34
52
.
|44
68
F10
05
5
4
|15
21
Y
|25
37
K
|35
53
/
|45
69
Num
06
6
5
|16
22
U
|26
38
L
|36
54
R Shift|46
70
Scroll
07
7
6
|17
23
I
|27
39
;
|37
55
PrtSc
|47
71
Home
08
8
7
|18
24
O
|28
40
'
|38
56
Alt
|48
72
Up
09
9
8
|19
25
P
|29
41
`
|39
57
Space
|49
73
PgUp
0A
10
9
|1A
26
[
|2A
42
L Shift|3A
58
Caps
|4A
74
-
0B
11
0
|1B
27
]
|2B
43
\
|3B
59
F1
|4B
75
Left
0C
12
-
|1C
28
|2C
44
Z
|3C
60
F2
|4C
76
Center
0D
13
=
|1D
29
CTRL
|2D
45
X
|3D
61
F3
|4D
77
Right
0E
14
bs
|1E
30
A
|2E
46
C
|3E
62
F4
|4E
78
+
0F
15
Tab
|1F
31
S
|2F
47
V
|3F
63
F5
|4F
79
End
---------------+---------------+---------------+---------------+---------------
50
80
Down
|
|
|
|
51
81
PgDn
|
|
|
|
52
82
Ins
|
|
|
|
53
83
Del
|
|
|
|
---------------+---------------+---------------+---------------+---------------
Keyboard Scan Codes (Read from Port HEX 60 = DEC 96) (Keyboard Layout)
Top number
... DEC
Bottom number ... HEX
+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+
|F1|F2|ESC| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | - | = |BkS|Num Lok|Scr Lok|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|59|60| 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |10 |11 |12 |13 |14 |
69
|
70
|
|3B|3C|01 |02 |03 |04 |05 |06 |07 |08 |09 |0A |0B |0C |0D |0E |
45
|
46
|
+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+
|F3|F4|TAB| Q | W | E | R | T | Y | U | I | O | P | [ | ] |
| 7 3 8 | 9 3 - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3
|
3
|
|61|62|15 |16 |17 |18 |19 |20 |21 |22 |23 |24 |25 |26 |27 |
|71 372 |73 374 |
|3D|3E|0F |10 |11 |12 |13 |14 |15 |16 |17 |18 |19 |1A |1B |
|47 348 |49 34A |
+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+
|F5|F6|CTR| A | S | D | F | G | H | J | K | L | ; | ' | ` |28 | 4 3 5 | 6 3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3
|
3
|
|63|64|29 |30 |31 |32 |33 |34 |35 |36 |37 |38 |39 |40 |41 |
|75 376 |77 3
|
|3F|40|1D |1E |1F |20 |21 |22 |23 |24 |25 |26 |27 |28 |29 |
|4B 34C |4D 3
|
+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+
|F7|F8|Shf| \ | Z | X | C | V | B | N | M | , | . | / |Shf|Prt| 1 3 2 | 3 3 + |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3
|
3
|
|65|66|42 |43 |44 |45 |46 |47 |48 |49 |50 |51 |52 |53 |54 |55 |78 380 |81 378 |
|41|42|2A |2B |2C |2D |2E |2F |30 |31 |32 |33 |34 |35 |36 |37 |4F 350 |51 34E |
+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+
|F9|F0|
A|t
|
|
|
|
|pac|
|
|
|
|Cap|Lok|
I|s
3
D|l
3
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3
|
3
|
|67|68|
5|
|
|
|
|
|57 |
|
|
|
|
5|
|
8|
3
8|
3
|
|43|44|
3|
|
|
|
|
|39 |
|
|
|
|
3|
|
5|
3
5|
3
|
+--+--+---+---+---+---+---+---+---+---+---+---+---+---+---+---+-------+-------+
Extended ASCII Special Key Codes (Numerical Order)
... composed of 2 bytes, the 2nd byte being 00 (00 signifies that the special codes are to be applied.)
HEX DEC
keys
-------------------------------
03
3
CTRL-2; same as CHR$(0)
0F
15
Shift-tab
10
16
Alt-Q
11
17
Alt-W
12
18
Alt-E
13
19
Alt-R
14
20
Alt-T
15
21
Alt-Y
16
22
Alt-U
17
23
Alt-I
18
24
Alt-O
19
25
Alt-P
1E
30
Alt-A
1F
31
Alt-S
20
32
Alt-D
21
33
Alt-F
22
34
Alt-G
23
35
Alt-H
24
36
Alt-J
25
37
Alt-K
26
38
Alt-L
2C
44
Alt-Z
2D
45
Alt-X
2E
46
Alt-C
2F
47
Alt-V
30
48
Alt-B
31
49
Alt-N
32
50
Alt-M
3B
59
F1
3C
60
F2
3D
61
F3
3E
62
F4
3F
63
F5
40
64
F6
41
65
F7
42
66
F8
43
67
F9
44
68
F10
47
71
Home
48
72
Up
49
73
PgUp
4B
75
Left
4D
77
Right
4F
79
End
50
80
Down
51
81
PgDn
52
82
Ins
53
83
Del
54
84
Shift-F1
55
85
Shift-F2
56
86
Shift-F3
57
87
Shift-F4
58
88
Shift-F5
59
89
Shift-F6
5A
90
Shift-F7
5B
91
Shift-F8
5C
92
Shift-F9
5D
93
Shift-F10
5E
94
Ctrl-F1
5F
95
Ctrl-F2
60
96
Ctrl-F3
61
97
Ctrl-F4
62
98
Ctrl-F5
63
99
Ctrl-F6
64 100
Ctrl-F7
65 101
Ctrl-F8
66 102
Ctrl-F9
67 103
Ctrl-F10
68 104
Alt-F1
69 105
Alt-F2
6A 106
Alt-F3
6B 107
Alt-F4
6C 108
Alt-F5
6D 109
Alt-F6
6E 110
Alt-F7
6F 111
Alt-F8
70 112
Alt-F9
71 113
Alt-F10
72 114
Ctrl-PrtSc
73 115
Ctrl-Left
74 116
Ctrl-Right
75 117
Ctrl-End
76 118
Ctrl-PgDn
77 119
Ctrl-Home
78 120
Alt-1
79 121
Alt-2
7A 122
Alt-3
7B 123
Alt-4
7C 124
Alt-5
7D 125
Alt-6
7E 126
Alt-7
7F 127
Alt-8
80 128
Alt-9
81 129
Alt-0
82 130
Alt--
83 131
Alt-=
84 132
Ctrl-PgUp
85 133
Ctrl-Up
86 134
Ctrl--(num)
87 135
Ctrl-Center
88 136
Ctrl-+(num)
89 137
Ctrl-Down
8A 138
Ctrl-Ins
8B 139
Ctrl-Del
8C 140
Alt-Home
8D 141
Alt-Up
8E 142
Alt-PgUp
8F 143
Alt--(num)
90 144
Alt-Left
91 145
Alt-Center
92 146
Alt-Right
93 147
Alt-+(num)
94 148
Alt-End
95 149
Alt-Down
96 150
Alt-PgDn
97 151
Alt-Ins
98 152
Alt-Del
Extended ASCII Special Key Codes (Keyboard Layout)
------------------+-------------------+-------------------+--------------------
HEX DEC keys
| HEX DEC keys
| HEX DEC keys
| HEX DEC keys
------------------+-------------------+-------------------+--------------------
03
3
nul
| 0F
15
Shift-tab | 72 114
Ctrl-PrtSc|
------------------+-------------------+-------------------+--------------------
47
71
Home
|
| 77 119
Ctrl-Home | 8C 140
Alt-Home
48
72
Up
|
| 85 133
Ctrl-Up
| 8D 141
Alt-Up
49
73
PgUp
|
| 84 132
Ctrl-PgUp | 8E 142
Alt-PgUp
4A
74
-(num)
|
| 86 134
Ctrl--(nu)| 8F 143
Alt--(num)
4B
75
Left
|
| 73 115
Ctrl-Left | 90 144
Alt-Left
4C
76
Center
|
| 87 135
Ctrl-Centr| 91 145
Alt-Center
4D
77
Right
|
| 74 116
Ctrl-Right| 92 146
Alt-Right
4E
78
+(num)
|
| 88 136
Ctrl-+(nu)| 93 147
Alt-+(num)
4F
79
End
|
| 75 117
Ctrl-End
| 94 148
Alt-End
50
80
Down
|
| 89 137
Ctrl-Down | 95 149
Alt-Down
51
81
PgDn
|
| 76 118
Ctrl-PgDn | 96 150
Alt-PgDn
52
82
Ins
|
| 8A 138
Ctrl-Ins
| 97 151
Alt-Ins
53
83
Del
|
| 8B 139
Ctrl-Del
| 98 152
Alt-Del
------------------+-------------------+-------------------+--------------------
3B
59
F1
| 54
84
Shift-F1
| 5E
94
Ctrl-F1
| 68 104
Alt-F1
3C
60
F2
| 55
85
Shift-F2
| 5F
95
Ctrl-F2
| 69 105
Alt-F2
3D
61
F3
| 56
86
Shift-F3
| 60
96
Ctrl-F3
| 6A 106
Alt-F3
3E
62
F4
| 57
87
Shift-F4
| 61
97
Ctrl-F4
| 6B 107
Alt-F4
3F
63
F5
| 58
88
Shift-F5
| 62
98
Ctrl-F5
| 6C 108
Alt-F5
40
64
F6
| 59
89
Shift-F6
| 63
99
Ctrl-F6
| 6D 109
Alt-F6
41
65
F7
| 5A
90
Shift-F7
| 64 100
Ctrl-F7
| 6E 110
Alt-F7
42
66
F8
| 5B
91
Shift-F8
| 65 101
Ctrl-F8
| 6F 111
Alt-F8
43
67
F9
| 5C
92
Shift-F9
| 66 102
Ctrl-F9
| 70 112
Alt-F9
44
68
F10
| 5D
93
Shift-F10 | 67 103
Ctrl-F10
| 71 113
Alt-F10
------------------+-------------------+-------------------+--------------------
1E
30
Alt-A
| 31
49
Alt-N
| 78 120
Alt-1
|
30
48
Alt-B
| 18
24
Alt-O
| 79 121
Alt-2
|
2E
46
Alt-C
| 19
25
Alt-P
| 7A 122
Alt-3
|
20
32
Alt-D
| 10
16
Alt-Q
| 7B 123
Alt-4
|
12
18
Alt-E
| 13
19
Alt-R
| 7C 124
Alt-5
|
21
33
Alt-F
| 1F
31
Alt-S
| 7D 125
Alt-6
|
22
34
Alt-G
| 14
20
Alt-T
| 7E 126
Alt-7
|
23
35
Alt-H
| 16
22
Alt-U
| 7F 127
Alt-8
|
17
23
Alt-I
| 2F
47
Alt-V
| 80 128
Alt-9
|
24
36
Alt-J
| 11
17
Alt-W
| 81 129
Alt-0
|
25
37
Alt-K
| 2D
45
Alt-X
| 82 130
Alt--
|
26
38
Alt-L
| 15
21
Alt-Y
| 83 131
Alt-=
|
32
50
Alt-M
| 2C
44
Alt-Z
|
|
------------------+-------------------+-------------------+-----------
http://hi.baidu.com/wang1901/blog/item/68c0930a64689e39b1351d9c.html