Windows:修改键盘映射表

问题场景:最近在用Colabeler做数据集标注,但是发现了一些不方便的地方:工具选择键“R”、翻页键“Right、Left”、保存键“Ctril+S”这些键离得太远了,不方便一套连续操作做下来,而Colabeler又不能修改这些对快捷键的映射,因此只能考虑直接对系统修改键盘映射表了~

关于修改方法,可以用第三方软件来做,不过我这里就直接用最根本的方法,即修改注册表中的扫描码映射来解决~

本文部分参考自:https://zhuanlan.zhihu.com/p/29581818
Windows键值对照表:百度文库

(1)寻找扫描码

根据需求结合前文给出的“Windows键值对照表”,找到你需要修改的键值的扫描码

比如,我希望:“A”映射为“Left”,“F”映射为“Right”,“W”映射为“Ctrl”,“E”映射为“S”

那么,通过查表,可以得到如下结果:

A:1E 00
Left:4B E0
F:21 00
Rgiht:4D E0
W:11 00
Left Ctrl:1D 00
E:12 00
S:1F 00

(2)创建ScanCode Map

“Win+R”打开cmd,然后输入“regedit”回车打开注册表编辑器
找到“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout”
右键新建名为“ScanCode Map”的“二进制值”
在这里插入图片描述

(3)修改ScanCode Map

修改时需要遵从ScanCode Map的规则

(3.1)先填充8组00表示版本号和头部字节
(3.2)填充“xx 00 00 00”,其中"xx"代表映射数目
(3.3)按“目标字节码在前,源字节码在后”的原则继续填充
(3.4)最后填充4组00作为结束标志

PS:我下面的映射部分,重复调换地写了两遍,是为了实现两个键值功能的交换,而不是单纯用一个键去覆盖另一个键~
在这里插入图片描述

(4)重启计算机生效

由于我们是通过注册表在底层修改的映射表,因此需要重启计算机才能生效~

(5)取消设置

从注册表中删除创建的ScanCode Map这个键,或者用"hex:00,00,00,00,00,00,00,00,01,00,00,00,00,00,00,00"覆盖掉原来的值即可~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值