0. 背景交代
在我的Deepin上实现了CapsLock键切换输入法后,再用Windows会有点别扭,于是在一番查找资料和自行摸索后,找到了不借助第三方工具来实现修改CapsLock键的方法。
 
1. 修改CapsLock键为F15
 
1.1 Win + R呼出运行窗口
 

1.2 输入Regedit运行注册表编辑器
 
定位到计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
 
1.3 新建二进制项并命名为Scancode Map
 

1.4 编辑二进制项Scancode Map
 
将值设置下面的数值并保存:
# 方案一:仅修改CapsLock键为F15
00	00	00	00	00	00	00	00
03	00	00	00	66	00	3A	00
00	00	00	00	00	00	00	00
# 方案二:交换CapsLock键与右Ctrl键方案
00	00	00	00	00	00	00	00
03	00	00	00	1D	E0	3A	00
3A	00	1D	E0	00	00	00	00
# 数值说明
0000	0000	0000	0000
0300	0000	{C1}	{K1}	#C1为虚拟键盘码 K1为实体键盘码
{C2}	{K2}  	0000	0000	#C2为虚拟键盘码 K2为实体键盘码

注意!
- 第一列可以理解为行号,不属于我们输入的内容
- 在上面的方案一中,我将CapsLock键(3A)改为了F15键(66),如果需要修改为其他按键,请自行按照参考资料中的键盘码表来修改
1.5 完成上述修改后,需要重启电脑!
2. 测试是否修改成功
打开键盘测试工具或者网站,例如KeyTest,按下CapsLock键,效果如下说明修改成功:
 
参考资料
知乎:Windows系统CapsLock和ESC互换
 键盘码表:修改键盘映射(注册表)Scancode Map
 微软:键盘和鼠标类驱动程序的配置
 GitHub/Uncap:Windows: Scancode Map registry value



















