屏蔽键盘上的Insert键和CapsLock键_Take A Look Around..._百度空间

最近写代码时老是不小心碰到Insert键,再输入时就覆盖前面内容了,弄的我好郁闷,决定研究一下键盘的工作原理,顺便把这个键给屏蔽掉,在网上学习到了一个键盘映射的机制用来屏蔽,比较好用.

首先了解一下一个叫做键盘映射码--"Scancode Map"

"Scancode Map"是注册表中[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]中的一个二进制键值(默认没有,需新建),并且有固定的格式.Scancode Map 代码的一般格式是:"hex:00,00,00,00,00,00,00,00,|02|,00,00,00,|映射之后的扫描码(XX XX),原扫描码(XX XX)|00,00,00,00".

前8个00是两个DWORD值,表示版本号和头部字节,接下来的02表示需要映射的键位数,如果需要映射一组键位则为02,两组则为03,以此类推,接下来就是需要映射的新扫描码(XX XX),原扫描码(XX XX),{zh1}以四个00结尾.{zh1}的四个零其实是表示{zh1}一组扫描码和结束位,这也是为什么前面映射一组键位需要写入02的原因.

通过这个原理我们再查找到每个键位对应的扫描码的值,就可以对键位进行替换了,比如将A替换成B:
0000000000000000         //头部
02000000BBBBAAAA       //BBBB代表B键的扫描码,AAAA代表A键的扫描码
00000000                         //结束位,同时代表{zh1}一组扫描码

这样就可以把想屏蔽的码替换成0000,就没有了键盘响应,比如这次我为了屏蔽Insert键,查找到Insert键的扫描码为E052,将这个值设置为
0000000000000000         //头部
02000000000052E0        //将E052替换成0000,注意字节序
00000000                         //结束位


同样可以同时屏蔽两个甚至更多个键位,如同时屏蔽Caps Lock和Insert键需设置为
0000000000000000         //头部
03000000000052E0        //屏蔽Insert
00003A0000000000         //屏蔽Caps Lock(00 3A)和结束

修改之后只需要注销当前的登录然后再进入系统就会生效,当然在不需要的时候直接将注册表里的那个键值删去就可以了.

下面是对应的所有键位的扫描码:

Backspace       00 0E
Caps Lock       00 3A
Delete          E0 53
End             E0 4F
Enter           00 1C
Escape          00 01
HOME            E0 47
Insert          E0 52
Left Alt        00 38
Left Ctrl       00 1D
Left Shift      00 2A
Left Windows    E0 5B
Num Lock        00 45
Page Down       E0 51
Page Up         E0 49
Power           E0 5E
PrtSc           E0 37
Right Alt       E0 38
Right Ctrl      E0 1D
Right Shift     00 36
Right Windows   E0 5C
Scroll Lock     00 46
Sleep           E0 5F
Space           00 39
Tab             00 0F
Wake            E0 63

0               00 52
1               00 4F
2               00 50
3               00 51
4               00 4B
5               00 4C
6               00 4D
7               00 47
8               00 48
9               00 49
-               00 4A
*               00 37
.               00 53
/               00 35
+               00 4E
Enter           E0 1C

F1              00 3B
F2              00 3C
F3              00 3D
F4              00 3E
F5              00 3F
F6              00 40
F7              00 41
F8              00 42
F9              00 43
F10             00 44
F11             00 57
F12             00 58
F13             00 64
F14             00 65
F15             00 66

Down            E0 50
Left            E0 4B
Right           E0 4D
Up              E0 48

Calculator      E0 21
E-Mail          E0 6C
Media Select    E0 6D
Messenger       E0 11
My Computer     E0 6B

' "             00 28
- _             00 0C
, <             00 33
. >             00 34
/ ?             00 35
; :             00 27
[ {             00 1A
\ |             00 2B
] }             00 1B
` ~             00 29
= +             00 0D
0 )             00 0B
1 !             00 02
2 @             00 03
3 #             00 04
4 $             00 05
5 %             00 06
6 ^             00 07
7 &             00 08
8 *             00 09
9 (             00 0A
A               00 1E
B               00 30
C               00 2E
D               00 20
E               00 12
F               00 21
G               00 22
H               00 23
I               00 17
J               00 24
K               00 25
L               00 26
M               00 32
N               00 31
O               00 18
P               00 19
Q               00 10
R               00 13
S               00 1F
T               00 14
U               00 16
V               00 2F
W               00 11
X               00 2D
Y               00 15
Z               00 2C

Close           E0 40
Fwd             E0 42
Help            E0 3B
New             E0 3E
Office Home     E0 3C
Open            E0 3F
Print           E0 58
Redo            E0 07
Reply           E0 41
Save            E0 57
Send            E0 43
Spell           E0 23
Task Pane       E0 3D
Undo            E0 08

Mute            E0 20
Next Track      E0 19
Play/Pause      E0 22
Prev Track      E0 10
Stop            E0 24
Volume Down     E0 2E
Volume Up       E0 30

¥ -             00 7D
              E0 45

Next to Enter   E0 2B
Next to L-Shift E0 56

Next to R-Shift E0 73

DBE_KATAKANA    E0 70
DBE_SBCSCHAR    E0 77
CONVERT         E0 79
NONCONVERT      E0 7B

Internet        E0 01

iTouch          E0 13
Shopping        E0 04
Webcam          E0 12

Back            E0 6A
Favorites       E0 66
Forward         E0 69
HOME            E0 32
Refresh         E0 67
Search          E0 65
Stop            E0 68

My Pictures     E0 64
My Music        E0 3C
Mute            E0 20
Play/Pause      E0 22
Stop            E0 24
+ (Volume up)   E0 30
- (Volume down) E0 2E
|<< (Previous) E0 10
>>| (Next)      E0 19
Media           E0 6D
Mail            E0 6C
Web/Home        E0 32
Messenger       E0 05
Calculator      E0 21

Log Off         E0 16
Sleep           E0 5F
Help(on F1 key) E0 3B
Undo(on F2 key) E0 08
Redo(on F3 key) E0 07

Fwd (on F8 key) E0 42
Send(on F9 key) E0 43

习惯了深夜睡不着... ...



郑重声明:资讯 【屏蔽键盘上的Insert键和CapsLock键_Take A Look Around..._百度空间】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——