我想要执行两个非标准的键映射:
- Caps Lock 键将成为另一个 CTRL 键。
- 某些组合键(理想情况下是 Shift CapsLock)仍然能够完成 CapsLock 键通常执行的工作——切换大写字母。
看来标准答案 — SmartKeys、AutoHotKey 和 Microsoft Keyboard Creator (MSKC) — 不映射 CapsLock 键,和/或不映射组合键。我会爱以其他方式显示。
如果我知道要放什么或要更改什么,我就能编辑键盘(.klc)文件或注册表。
仅供参考:我读到 Shift+CapsLock 在日语键盘上执行 CapsLock 功能。
在您问之前:我为什么要这样做?因为我是 Unix 用户,所以我学会了将 Cntl 键放在“a”左侧最方便的位置。而且因为有时您真的想用大写字母输入几个单词。
答案1
另一个 Unix 人在这里。我在 Win10 上坚持了整整 3 天,但我在正确的位置控制了它。;)
我使用了“将 Caps Lock 转换为 Control.reg”
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
现在,你不再有 Caps Lock,并且你不想让 Shift+Ctrl 改变任何东西。所以你不妨吃掉你的帽子并阅读AutoHotKey 的简介(Google 也一样 ;):
Capslock::Ctrl - 使 Capslock 成为 Control 键。要保留打开和关闭 Capslock 的功能,请先添加重新映射 +Capslock::Capslock。当您按住 Shift 键并按下 Capslock 时,这会打开和关闭 Capslock。由于这两个重新映射都允许按住其他修饰键,因此必须先放置更具体的 +Capslock::Capslock 重新映射才能使其工作。
但这在某些视频游戏中不起作用,所以如果你在意这一点,你也可以修改注册表并将 AutoHotKey 绑定SetCapsLockState, on|off
到你想要的任何组合键 - 我喜欢双击:
Lshift & Rshift::SetCapsLockState, % GetKeyState("CapsLock", "T")? "Off":"On"
干杯!
答案2
Powertoys 可能会满足您的需求,而无需您付出任何代价。;) 使用它的键盘管理器......虽然我必须补充一点,结果看起来确实很奇怪,因为某些组合键不起作用。
第一步是要禁用 Caps Lock 键,请单击键盘管理器中的“重新映射键”以打开重新映射按键窗口。然后选择物理按键:选择 Caps Lock 并映射到:选择“禁用”。然后单击“确定”接受更改。
注意* 如果 Caps Lock 不打算被禁用,而是用于其他目的,则映射到:选择一个首选密钥。
接下来点击“重新映射快捷方式”打开重新映射快捷方式窗口。选择组合键来切换 Caps Lock。我选择了物理快捷方式:Shift(左) + Caps Lock 至映射到:大写锁定。
注意* 某些组合键不起作用,例如 Shift + Caps Lock。事实上,我找不到包含 Caps Lock 的组合键。