在 Windows 8.1 中将 Caps-Lock 映射到 Control

在 Windows 8.1 中将 Caps-Lock 映射到 Control

在 Windows 8.1 更新之前,我能够通过本文中的注册表调整将 Caps-Lock 映射到控件:

在 Windows 8.1 中重新映射键盘按键

然而,在升级到 8.1 后,我的调整不再起作用。我所做的是

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,02,00,00,00,1d,00,3a,00,00,00,00,00 

我猜测 Windows 8.1 可能已经改变了它解释键盘布局注册表的方式。

我是一位狂热的emacs用户,所以这个问题对我来说是生死攸关的问题。

答案1

SharpKeys 帮我搞定了!我找不到其他方法,而且正如你所发现的,旧的注册表破解方法不再有效 :(

http://sharpkeys.codeplex.com/

答案2

我认为使用 regedit 是最好的方法,因为您知道它有效。这会使 caps-lock 成为额外的 ctrl。但不会影响 ctrl 本身。

对于 Windows 7 和 Windows 8,请执行以下操作:

打开regedit.exe

转到此目录(在 regedit 中):

~/HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/KeyboardLayout/

单击该目录 (KeyboardLayout) 后,在右侧框中单击鼠标右键,并添加new Binary Value名为“Scancode Map”

对于 Windows 7,请这样写:

00 00 00 00 00 00 00 00
02 00 00 00 1D 00 3A 00
00 00 00 00

对于 Windows 8,请编写此代码,我已经验证它适用于 8.1 和 10(这只是四个额外的零):

00 00 00 00 00 00 00 00
02 00 00 00 1D 00 3A 00
00 00 00 00 00 00 00 00

点击确定并重新启动。

答案3

我的情况也一样。这是一个部分修复。在 Technet.microsoft.com 的 SysInternals 网页上,下载Ctrl2Cap.zipMark Russovich 的档案

将 zip 文件解压到一个目录中。以管理员权限打开 CMD 窗口(右键单击 CMD.EXE 图标并选择“以管理员身份运行”)。CD 到存档目录,运行ctrl2cap /install并按 ENTER。关闭 CMD 窗口并重新启动计算机。

当 Windows 重新启动时,CapsLock 将完全按照 Control 键的功能运行。在 Windows 8.0 及更低版本中,左 Control 键将按照 CapsLock 键的功能运行,将所有字母转换为大写,并切换键盘上的 CapsLock 指示灯。不幸的是,在 Windows 8.1 上,左 Control 键仍像以前一样工作。因此,这里介绍的并不是一个完整的解决方案,但它实现了最重要的功能:将 CapsLock 转换为 Control 键。

答案4

实际上我认为我已经在这里构建了完美的解决方案:

作为 Vim 用户,这对我来说是必须的,而且我在 Windows 上使用它已经很长时间了,而且效果很好。我只需HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run使用 regedit 创建一个条目来指向可执行文件,它就可以正常工作。

它将使您的 CAPSLOCK 不仅仅是 CTRL(和弦时),而且还 ESC(单独按下和释放时)!

要编译和安装依赖项,请检查存储库 README 和 Interception 主网站。

我还在这里创建了相同的 Linux 版本:

相关内容