windows系统下修改键盘按键的映射

待解决的问题:

在windows系统下,在某些情况下,我们感觉键盘的按键位置不是特别方便,因此想重新映射它。

比如:要实现如下重新映射(我就有这样的需求),怎么办?

Esc键                  修改为        CapsLock键
CapsLock键            修改为        左Shift键
 左Shift键              修改为        左ctrl键
左ctrl键                修改为          左alt键
 左alt键                修改为          Esc键
Enter键                修改为          右Shift键
右Shift键               修改为          Enter键    

 

解决之道:

打开浏览器,进行百度!

哦,原来已经有人来解决了。。。。比如:

http://www.cnblogs.com/Rainr/archive/2012/01/21/2328046.html(该链接里面的步骤例子比较好)

http://blog.chinaunix.net/uid-174325-id-3912617.html( 该链接里面的按键扫描码值比较好, 使用小端模式表示的,可以直接使用)

 

再重新描述一下方法:

第一步:按 windows + R, 输入 regedit, 打开注册表。

第二步: 找到:HKEY_LOCAL_MACHINE\ SYSTEM\ CurrentControlSet\ Control\ Keyboard Layout 下。

第三步:右键新建二进制值,名字为Scancode Map。

第四步:右键名字Scancode Map, 选择修改二进制值, 输出 XXXX, 完成。

第五步: 重启电脑, 修改生效。

 

XXXX 的格式为:

1.  二进制值使用16进制表示,并且使用小端格式(即低位在前,高位在后,例如32位系统的16进制0xab002301,在小端模式下表示为:012300ab)。

2. 前8个字节为版本信息号,使用 00 00 00 00 00 00 00 00  表示。

3. 接下来4个字节表示你修改的映射的个数。修改一个映射表示为 02 00 00  00(从2开始),修改两个映射表示为03 00 00 00,等等。

4. 接下来的 4 * n 个字节表示你修改的映射(其中n 表示你修改的映射的数目)。 4个字节的前2个字节表示映射后的按键扫描码,后2个字节表示你映射前的按键扫描码。

5. 最后使用4个字节的 00 00 00 00 结束 。

 

举例:

有如下按键的扫描码的值(使用小商模式下表示的):

1. Esc键的扫描码为 0100, CapsLock键的扫描码为3A00, 回车键的扫描码为1C00, 右ctrl的扫描码为1DE0。

把Esc键映射为CapsLock键:

00 00 00 00 00 00 00 00 02 00 00 00 3A 00 01 00  00 00 00 00 

2. 把Esc键映射为CapsLock键, 把回车键映射为右Shift键:

00 00 00 00 00 00 00 00 03 00 00 00 3A 00 01 00  36 00 1C 00 00 00 00 00 

3. 文章开头描述的按键重新映射的二进制值为:

00 00 00 00 00 00 00 00 08 00 00 00 3A 00 01 00 2A 00 3A 00  1D 00 2A 00 38 00 1D 00 01 00 38 00 36 00 1C 00 1C 00 36 00 00 00 00 00

OK, 搞定!

 

 

如果想知道linux下的键盘重新映射方法,请看之前我写的: linux系统下键盘按键的重新映射——xmodmap工具和xev工具。 

 

原文链接: https://www.cnblogs.com/yinheyi/p/10446026.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    windows系统下修改键盘按键的映射

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/394966

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年4月4日 上午9:41
下一篇 2023年4月4日 上午9:41

相关推荐