注册表:更改键盘扫描码映射

stopwin.reg内容:

Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,00,00,5B,E0,00,00,5C,E0,00,00,00,00

键Keyboard Layout下新建或修改二进制值Scancode Map,大小为十六进制表示的数值的大小:
左边字节是数值的低位,右边字节是高位。例如:0xABEF可以表示为hex:EF,AB

删除Scancode Map值可以用:

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=-

原理:

键盘扫描码是操作系统识别键盘按键的标识,有点类似按键的ID,若一个按键没有扫描码,那么此按键不被操作系统识别。

注册表键Keyboard Layout下的二进制Scancode Map值可以修改键盘扫描码的映射,将一个按键的扫描码影射为另一个。

如果键盘A键的扫描码value1映射为value2,这样当A键按下时,操作系统会获得扫描码value2,然后运行对应扫描码value2的处理程序,看起来好像是扫描码为value2的按键(而非键A)被按下了。

Scancode Map值解析:

可以分为几个部分,如下

00,00,00,00,00,00,00,00,
03,00,00,00,
00,00,5B,E0,
00,00,5C,E0,
00,00,00,00
  • 前8个字节是版本信息,固定为0即可;

  • 然后4个字节表示修改映射的个数,此处为3个(低位在左,高位在右);

  • 后面每4个字节表示一个映射修改,此处共3个修改。其实有效修改只有2个,最后1个(也就是最后4个0字节)为固定结束符。

  • 每个按键的修改占4个字节:右边2字节为原扫描码,左边2字节为修改后的扫描码。

这个例子中,看第三行00,00,5B,E0:
其中0xE05B为左Win键的扫描码,修改为0x0000,效果为左Win键失效。

修改完注册表后重启电脑生效。


常用扫描码表

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值