回答:
はい、カラビナ(以前のKeyRemap4Macbook)を使用します。
まず、キーボードの環境設定ペインに移動し、「修飾キー…」をクリックして、Caps LockをControlに変更します。次に、カラビナに移動してこのオプションを検索します。
Control_LからControl_L
(+ Control_Lのみを入力した場合、エスケープを送信)
それを確認すれば、完了です。Karabinerを使用すると、(今ではまったく役に立たない)エスケープキーを、さらに多くのキーバインドでハイパーキーにマッピングするなど、より多くの興味深いことができます。
Karabinerは現在、MacOS Sierraと互換性がありません。もう1つのシエラフレンドリーなソリューションは、Keyboard Maestroを使用することです(無料ではありません)。他の人が示唆しているように、Caps-Lockキーの動作をControl through System Preferences
-> Keyboard
->に変更Modifier Keys
します。
次に、Keyboard Maestro内で、次のようにマクロをセットアップします。
USB Device Key Trigger
^
Text
->Type a keystroke
^
を使用するには、アクションをトリガーするためにcapslockと一緒に押す必要があります。それは質問で必要なものではありません。
^
修飾子を省略すると、アクションはトリガーされません。
macOS 10.12以降をサポートするKarabiner Elementsでこれを行うには、を開き~/.config/karabiner/karabiner.json
、次のルールをrules
配列に追加します。
{
manipulators: [
{
description:
"Change caps_lock to control when used as modifier, escape when used alone",
from: {
key_code: "caps_lock",
modifiers: {
optional: ["any"]
}
},
to: [
{
key_code: "left_control"
}
],
to_if_alone: [
{
key_code: "escape",
modifiers: {
optional: ["any"]
}
}
],
type: "basic"
}
]
}
ControlEscape.spoonをHammerspoonで使用することもできます。
to_if_alone
セクションの修飾子(キーワードとすべて)を削除しない限り、これを機能させることはできませんでした。しかし、スニペットに感謝します。とても便利です。