欢迎光临散文网 会员登陆 & 注册

Windows用注册表修改键盘映射(扫描码)

2020-10-18 20:32 作者:扑克子  | 我要投稿

使用C/C++代码方式修改可见下篇专栏《用C/C++(Win32API)写软件修改键位

据说Qwerty键盘是为了降低打字员打字速度,防止打字机卡机所作出的妥协。那么现在的键盘是否降低了咱敲代码的速度?试试看换成其他的键盘布局吧。

注:注册表修改映射的方法比较麻烦,但适用性还挺高,不需要依靠其他软件,所以不会被软件或游戏认定为作弊。

注:常用快捷键Ctrl+Z、Ctrl+C等可能会变的不方便。

确定目标

首先明确要将键盘修改成什么样子,我以网上[1]找到的一种键盘布局为例。

据说是专门为中文打字设计的x

注:这里的修改仅限于主键盘区26个字母(其实只修改了25个x)。

修改方法

首先打开注册表(Win+R输入regedit并运行),并且进入目录:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout

在该目录下右键点击新建二进制值,名称为Scancode Map,并打开。

接下来按照如下格式[2]输入自己需要更改的键位:


00 00 00 00 00 00 00 00(固定格式)

XX 00 00 00(XX为修改的总键数+1的16进制数)

XX XX XX XX(修改后的按键扫描码(在前)+原按键的扫描码(在后))

XX XX XX XX(另一个要替换的按键,同上)

......

00 00 00 00(固定格式)


以上就是修改键位的格式,理论上可以修改254个键(包含键盘所有键有余)。

其中提到的扫描码是一个16进制数字,每个代表一个键,扫描码表如下(左列为高位、右列为低位)

扫描码表

例如1D 00 5B E0代表了用左Ctrl键(1D 00)替换左Win键(5B E0)

我替换26字母则需要打如下的码(此处U映射不变,所以共替换25个,25+1的16进制数为1A):

00 00 00 00 00 00 00 00

1A 00 00 00 2D 00 10 00

30 00 11 00 18 00 12 00

14 00 13 00 23 00 14 00

11 00 15 00 15 00 17 00

22 00 18 00 32 00 19 00

13 00 1E 00 26 00 1F 00 

2E 00 20 00 17 00 21 00

1E 00 22 00 12 00 23 00

31 00 24 00 2C 00 25 00

24 00 26 00 25 00 2C 00

2F 00 2D 00 10 00 2E 00

20 00 2F 00 21 00 30 00

1F 00 31 00 19 00 32 00

00 00 00 00

一切准备妥当后,确定并关闭。

最后重启(或注销并重新登录)电脑就可以使用新的键盘映射啦。

注:若要回到默认映射,在注册表中删除本Scancode Map文件即可。

引用图片

[azmaya] ID = 31493503

[Suisai❤] ID = 41087352

参考资料

[1] 给中国人的键盘 —适合中英文双输入的键盘布局(http://www.docin.com/p-23672137.html)

[2] Windows10 修改键位映射(https://blog.csdn.net/lhdalhd1996/article/details/90741092)

QQ:2639914082


Windows用注册表修改键盘映射(扫描码)的评论 (共 条)

分享到微博请遵守国家法律