修改Windows注册表交换Ctrl和Caps按键

在使用键盘的时候,经常会用到Ctrl来触发各种快捷键,但每次使用Ctrl,手都需要大幅度扭曲,非常不舒服,反观Caps这个按键,不仅位置舒适,而且按键更大,但却常年得不到有效利用。目前市面上已经有一些键盘另辟蹊径,把Ctrl和Caps进行交换来获得更好的打字体验,但这通常需要特殊的固件或者驱动才能实现。实际上,在Windows下可以通过修改注册表来重新映射按键,从而让普通键盘也能做到这一点。

手动修改

  1. Win+R,输入regedit,打开注册表编辑器

  2. 按照以下路径找到Keyboard Layout

    1
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout
  3. 右键Keyboard Layout,选择新建二进制值,并将新建的值重命名为Scancode Map

  4. 右键Scancode Map,选择修改,然后输入以下数值,注意,数值不能复制,必须手动输入

    1
    2
    3
    00 00 00 00 00 00 00 00
    03 00 00 00 1D 00 3A 00
    3A 00 1D 00 00 00 00 00

    输入完成后的效果如下

  5. 重启电脑即可生效

自动修改

将以下代码保存为swap-ctrl-caps.reg,双击运行即可直接导入数值

1
2
3
4
5
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,3a,00,1d,00,1d,00,3a,00,\
00,00,00,00

如何恢复

Scancode Map删除,重启即可恢复。