如何在不使用Alt + Shift键绑定的情况下将CapsLock用作修饰键?


18

我想CapsLock用作修饰键来键入符号,例如({\})=使用键盘中的字母键。

例如:

CapsLock+a is mapped to =
CapsLock+k is mapped to \

为此,我按照“ 有用的Capslock键 ”中的说明使用Keyremap4Macbook 映射CapsLockOption+ 。Shift

<item>
    <name>F19 to F19</name>
    <appendix>(F19 (capslock) to (shift+opt))</appendix>
    <identifier>private.f192f19_escape</identifier>
    <not>VIRTUALMACHINE</not>
    <autogen>
        --KeyOverlaidModifier--
        KeyCode::F19,
        KeyCode::OPTION_L,
        ModifierFlag::SHIFT_L,
    </autogen>
</item>

请注意,在此之前,我已映射CapsLock到PcKeyboardHack中的键代码80,这是F19的键代码。

然后,我将键组合映射CapsLock + alphabetical characters=\})(使用Ukelele 等符号。

到目前为止,一切正常,除了此设置有副作用:我不能将Alt+ Shift修饰符用于任何其他键绑定。这是限制性的折衷。

我尝试映射CapsLock到更复杂的键绑定,例如Ctrl+ Shift+ AltCmd+ Shift+ AltCtrl+ Cmd+ Shift+ Alt。但是这些方法效果不佳,因为随后Ukelele中的map CapsLock+ alphabetical keys也更改了字母键。例如,假设Ctrl+ Shift+ Alt+ a映射到=。然后将a单独映射到=

我想知道这个问题是否可以解决?我认为可能有两种替代方法来寻找解决方案:

  1. 创建新的自定义修饰键,CapsLock而无需使用现有的修饰键,例如Alt+ Shift
  2. 防止Ctrl+ Shift+ Alt+ 的映射一起a更改a键。

这些解决方案可以实施吗?


我只是意识到我从来没有故意撞大写...
Max Ried 2014年

2
大多数人都不使用大写锁定。但是大写锁定的位置比其他任何修改键都更容易访问。结合使用主行键和大写锁定来键入符号可以大大提高生产率。
Mert Nuhoglu 2014年

您不能在没有第一个映射大写字母锁定到Option + shift的情况下做Ukelele零件吗?
Tom Gewecke

Answers:


1

Brett Terpstra的最新帖子中获得了所有这些,因此对他充满了信心

使用Karabiner ElementsBetterTouchTool,您可以创建映射到control-option-shift-command的“ Hyper”键(任何应用程序都可能不会将其用作默认修饰符)。然后,您可以使用BetterTouchTool映射大写锁定+“ a”来键入“ =”。单独键入“ a”仍会得到字母“ a”。您还可以设置为仅点击Cap Locks作为退出键,甚至用作标准Caps Lock。

我不会在这里重新张贴Brett的代码,而是链接到该文章:带有Karabiner Elements的Hyper Key,完整说明

一些屏幕截图可帮助您进行以下操作:

Karabiner Elements复杂修改窗格 将Brett的代码添加到karabiner.json后,“ 复杂修改”窗格将如下所示。无需在这里做任何其他事情。

BetterTouchTool的键盘窗格 在BetterTouchTool中,切换到“ 键盘”窗格,添加快捷方式,键入Caps Lock +字符,然后选择“插入/键入/粘贴自定义文本”作为“触发预定义动作”。

插入/键入/粘贴自定义文本表 在“ 插入/键入/粘贴自定义文本”表中,键入所需的字符,然后选择“通过键入来插入文本”。


没意识到这个问题有多久了。它显示在其中一个排序选项的第一页上。
布鲁斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.