karabiner-elementsでcaps lockをescape, control, 矢印キーに変換する
背景
USキーボードのMacBook ProのTouch Barモデルを使っているのですが、escキーが無いので、caps_lock単体を押したときはesc、他のキーと組み合わせたときはcontrolになるようにしていました
これでそこそこ満足していたのですが、それに加えてcaps_lock + hjklキーでカーソル移動がしたくなったので設定を作りました
Karabiner-elementsの設定
以下の設定を~/.config/karabiner/karabiner.json
のcomplex_modifications
に記述します
caps_lockを単体で押したときはescキー。 hjklと組み合わせた場合は矢印キーに、その他のキーと押したときはcontrolになります
karabiner_complex_modification.json · GitHub
とりあえずcaps lockが押されたらcaps_lock pressed
の変数を1にして、それ見て条件分岐するようにしました。
もっといい方法があれば教えてください
矢印キーへの変換がいらない人向け
caps lockを単体で押したときはescキーとして使い、他のキーと押したときはcontrolにしたいだけの場合は下のようにすれば十分です
{ "description": "caps lockを単体で押したときに、escキーを送信する。 他のキーと押したときはcontrolにする。", "manipulators": [ { "from": { "key_code": "caps_lock", "modifiers": { "optional": [ "any" ] } }, "to": [ { "key_code": "left_control", "lazy": true } ], "to_if_alone": [ { "key_code": "escape" } ], "type": "basic" } ] }