将 Caps Lock 键绑定到另一个唯一键

将 Caps Lock 键绑定到另一个唯一键

我一直将 Windows 机器上的大写锁定键映射到各种键(我尝试过 Backspace 和 Esc,但由于根深蒂固的习惯,我从未习惯过它,而 Esc 需要时间让我过渡到 Vim),我现在希望将大写锁定键映射到自定义功能,以便我可以将它与 Esc 区分开来。

我发现键盘左侧的快捷键(例如 Ctrl+A、Ctrl+F)在某种意义上更“有价值”,因为它们可以在不使用右手的情况下轻松调出。这就是尝试更好地利用 Caps Lock 键的理由。

虽然我打算将 Vim 的 Esc 键转换为 Caps Lock 键,但我不想将 Caps Lock 键映射到 Esc,因为这样会浪费一个键。此外,Ctrl+Esc 组合键(人体工程学的最佳空间:Ctrl 和 Caps Lock)只会触发 Windows 的“开始”菜单。

我很可能映射一些任意键来执行 Vim 中的 Esc 功能,并且我还想在 Tmux 终端中使用 Ctrl+Capslock(用于切换到最后一个活动窗格)。

那么问题是,什么才是好的钥匙?(按重要性排序)

  • 不是 Esc
  • 可用于映射到 Vim 的 Esc
  • 可以被终端识别并与 ctrl 键区分开
  • 以上所有,但也适用于 OS X(使用 iTerm)
  • 与典型键盘上已有的其他按键无法区分
  • 可以在正常的操作系统使用下执行某种有用的任务(或至少不执行任何操作)

我可以通过 Windows 上的注册表映射我的 Caps Lock,并且希望可以在 OS X 上执行相同操作?

目前看来,我可能能够将其映射到 Windows 上的 F13。我将完成我的检查表并回复。

更新:无法让 PuTTY 与我的 F13 映射配合良好,因此我求助于映射到 F11。它发送 tmux 的 F11 绑定识别的序列,因此现在只需按一下大写锁定键即可切换 tmux 中的窗格。现在我正在寻找的答案是如何在使用 Ctrl 时让任何 F 键对于 PuTTY 都是可区分的。

答案1

我想你也可以将它映射到 OS X 上的 F13(使用电脑键盘黑客)。例如,如果您希望使用 F13 聚焦 Chrome 中的位置栏,则可以将其添加到私有文件在KeyRemap4MacBook中:

<item>
<name>test</name>
<identifier>private.test</identifier>
<only>GOOGLE_CHROME</only>
<autogen>__KeyToKey__ KeyCode::F13, ModifierFlag::NONE, KeyCode::L, ModifierFlag::COMMAND_L</autogen>
</item>

答案2

此存储库提供适用于 Linux、OS X 和 Windows 的解决方案:

目的是当单击时将 capslock 设置为 ESC 键,当与另一个键组合键时将 capslock 设置为 CTRL 键(例如 CTRL + a)。

我确实在这三个操作系统中使用了那里给出的解决方案,没有任何问题。

相关内容