# Karabiner-Elementsでcaps lockで修飾キー全押し、caps lock + 修飾キーで押したキー以外の修飾キーを押す方法(reverseキー) URL: https://webrandum.net/karabiner-elements-caps-lock-reverse/ 公開日: 2020-01-13 更新日: 2020-01-13 カテゴリー: 作業効率化 タグ: Karabiner-Elements 出典: Webrandum(著者: サイトウ マサカズ) タイトルだけだと、理解できない人もいるかもしませんが、下記の挙動をするキーをKarabiner-Elementsで作成します。 | 押すキー | 押されたことになるキー | | --- | --- | | caps lock | control + option + shift + command | | --- | --- | | caps lock + control | option + shift + command | | --- | --- | | caps lock + option | control + shift + command | | --- | --- | | caps lock + shift | control + option + command | | --- | --- | | caps lock + command | control + option + shift | | --- | --- | 本来であれば、control + option + shift + commandは4つのキーを同時に押す必要がありますが、caps lockを1つ押すだけで済みます。 さらに、caps lockと他の修飾キーを一緒に押すと、4つの修飾キーの中から押されたキーを引いたキーが押されたことになります。 この挙動も本来は3つのキーを同時に押す必要があるところを2つで済むようになります。 このような挙動をするキーを勝手に「reverseキー」と呼んでいます。 ## Karabiner-Elementsの設定 下記のパスに新しい`.json`を作成して、Karabiner-Elementsに独自ルールを追加します。 ``` /Users/ユーザ名/.config/karabiner/assets/complex_modifications ``` かなり長いですが、ファイルの中身は下記のJSONを貼り付けて保存します(もっとスマートなやり方があるかもしれません)。 ``` { "title": "reverse key", "rules": [ { "description": "Change caps_lock key to reverse key", "manipulators": [ { "type": "basic", "from": { "key_code": "caps_lock" }, "to": [ { "key_code": "left_shift", "lazy": true, "modifiers": [ "left_command", "left_control", "left_option" ] } ] }, { "type": "basic", "from": { "key_code": "caps_lock", "modifiers": { "mandatory": [ "shift" ], "optional": [ "caps_lock" ] } }, "to": [ { "key_code": "left_command", "lazy": true, "modifiers": [ "left_option", "left_control" ] } ] }, { "type": "basic", "from": { "key_code": "caps_lock", "modifiers": { "mandatory": [ "command" ], "optional": [ "caps_lock" ] } }, "to": [ { "key_code": "left_shift", "lazy": true, "modifiers": [ "left_control", "left_option" ] } ] }, { "type": "basic", "from": { "key_code": "caps_lock", "modifiers": { "mandatory": [ "option" ], "optional": [ "caps_lock" ] } }, "to": [ { "key_code": "left_shift", "lazy": true, "modifiers": [ "left_command", "left_control" ] } ] }, { "type": "basic", "from": { "key_code": "caps_lock", "modifiers": { "mandatory": [ "control" ], "optional": [ "caps_lock" ] } }, "to": [ { "key_code": "left_shift", "lazy": true, "modifiers": [ "left_command", "left_option" ] } ] }, { "type": "basic", "from": { "key_code": "caps_lock", "modifiers": { "mandatory": [ "shift", "command" ], "optional": [ "caps_lock" ] } }, "to": [ { "key_code": "left_option", "lazy": true, "modifiers": [ "left_control" ] } ] }, { "type": "basic", "from": { "key_code": "caps_lock", "modifiers": { "mandatory": [ "shift", "option" ], "optional": [ "caps_lock" ] } }, "to": [ { "key_code": "left_command", "lazy": true, "modifiers": [ "left_control" ] } ] }, { "type": "basic", "from": { "key_code": "caps_lock", "modifiers": { "mandatory": [ "shift", "control" ], "optional": [ "caps_lock" ] } }, "to": [ { "key_code": "left_command", "lazy": true, "modifiers": [ "left_option" ] } ] }, { "type": "basic", "from": { "key_code": "caps_lock", "modifiers": { "mandatory": [ "command", "option" ], "optional": [ "caps_lock" ] } }, "to": [ { "key_code": "left_shift", "lazy": true, "modifiers": [ "left_control" ] } ] }, { "type": "basic", "from": { "key_code": "caps_lock", "modifiers": { "mandatory": [ "command", "control" ], "optional": [ "caps_lock" ] } }, "to": [ { "key_code": "left_shift", "lazy": true, "modifiers": [ "left_option" ] } ] }, { "type": "basic", "from": { "key_code": "caps_lock", "modifiers": { "mandatory": [ "control", "option" ], "optional": [ "caps_lock" ] } }, "to": [ { "key_code": "left_shift", "lazy": true, "modifiers": [ "left_command" ] } ] }, { "type": "basic", "from": { "key_code": "caps_lock", "modifiers": { "mandatory": [ "command", "option", "control" ], "optional": [ "caps_lock" ] } }, "to": { "key_code": "left_shift", "lazy": true } }, { "type": "basic", "from": { "key_code": "caps_lock", "modifiers": { "mandatory": [ "command", "option", "shift" ], "optional": [ "caps_lock" ] } }, "to": { "key_code": "left_control", "lazy": true } }, { "type": "basic", "from": { "key_code": "caps_lock", "modifiers": { "mandatory": [ "command", "control", "shift" ], "optional": [ "caps_lock" ] } }, "to": { "key_code": "left_option", "lazy": true } }, { "type": "basic", "from": { "key_code": "caps_lock", "modifiers": { "mandatory": [ "option", "control", "shift" ], "optional": [ "caps_lock" ] } }, "to": { "key_code": "left_command", "lazy": true } } ] } ] } ``` 保存したら、Karabiner-Elementsを起動して[Complex modifications]→[Rules]の「Add rule」で「Change caps_lock key to reverse key」を追加(Enable)します。 ![](https://webrandum.net/mskz/wp-content/uploads/2020/01/image_1-6.png) ## キーを押す順番 caps lockは他の修飾キーとは違う特殊なキーのため、ショートカットキーを押す順番が制限されてしまいます。 具体的には「修飾キー → caps lock → 他のキー」と入力しないとreverseキーの挙動になりません。 逆に「caps lock → 修飾キー → →他のキー」の場合は修飾キー全押し判定になってしまいます。