背景
我们PC的键盘设计得比较奇怪,在最后那一列放着Home按键,而且与Backspace按键是靠近的,导致很多用户在使用Backspace的时候按到了Home键,导致光标回到了当前当前编辑文档的最前面,用户很吐槽。如果要改硬件(模具)时间比较长,用户等不了,所以就跟用户提了一个办法,就是将Home键的功能映射到Backspace按键功能,让用户无感知是按到了Home键。
先看下这个设计:
可怕的设计!
那问题就来了,如何做这个映射的操作呢?
解决方案(2种方案)
第一种:使用PowerToys的键盘管理器
注意:当设置了映射关系之后,如果将PowerToys的进程退出了或者卸载了PowerToys,此功能也失效了!
下载链接:PowerToys最新版本下载 (可以使用最新版本的,Machine wide-x64,目前这个时间最新版本是v0.79.0)
第二种:使用SharpKeys的Map功能(推荐使用)
原理:修改注册表中的扫描码映射
- 在 Windows 注册表中,有一个特定的键(通常是
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout)包含一个名为Scancode Map的值。 Scancode Map用于定义按键扫描码之间的映射关系。通过修改这个值,可以改变特定按键的行为,即将一个按键的扫描码映射到另一个按键的扫描码上,或者完全禁用某个按键(通过映射到一个无效的扫描码)
下载地址:github.com/randyrants/…
优点:即使卸载了软件,修改仍会生效
最后
这里只介绍了2种方案,但还有其他的方案也不错,但我没有试过,比如AutoHotkey ,Microsoft Keyboard Layout Creator ,KeyTweak ,Interception 等。