猪鬃草-兼容性英文
C语言中键盘扫描码如何使用?
2008-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
#include
void main(void)
{
int key, modifiers;
while ((key=bioskey(0)) != 0 && key!=0x11b){
printf(
}
}
******* ************************************************** ************
************************
上面列出的 编码中,
前面两位是“扫描码”,
后面两位是
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 |
猪鬃草-兼容性英文
猪鬃草-兼容性英文
猪鬃草-兼容性英文
猪鬃草-兼容性英文
猪鬃草-兼容性英文
猪鬃草-兼容性英文
猪鬃草-兼容性英文
猪鬃草-兼容性英文
本文更新与2021-01-20 00:37,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/535536.html
-
上一篇:S的发音规则
下一篇:英国文学史作家及对应作品图表