# Karabiner-Elementsの独自ルールの作成方法 URL: https://webrandum.net/karabiner-elements-original-rules/ 公開日: 2019-06-02 更新日: 2019-06-02 カテゴリー: 作業効率化 タグ: Karabiner-Elements 出典: Webrandum(著者: サイトウ マサカズ) Karabiner-ElementsのComplex Modificationsでは、複雑なルールを追加してキーボードをより便利にカスタマイズできますが、一見するとインターネット上に公開しているものしか追加できないように思えてしまいます。 - 自分の好みのルールがない - 機能的には欲しいけど、別のキーに設定したい 今回は、このように感じたひとのために、Karabiner-Elementsで独自ルールを作成方法をまとめておきます。 ## 独自ルールの作り方 Karabiner-ElementsのルールはJSON形式で作られていて、下記のようにルールの設定をしていきます。 ``` { "title": "ここに独自ルールのタイトルを入力", "rules": [ { "description": "ルールの説明", "manipulators": [ { "type": "basic", "from": { "key_code": "i", "modifiers": { "mandatory": [ "fn" ], "optional": [ "any" ] } }, "to": [ { "key_code": "up_arrow" } ] } ] } ] } ``` このJSONはfn + iキーを押すと上矢印が入力されるルールです。 ものすごくザックリ説明すると`from`には変更前のキーを入力し、`to`に変更後のキーを入力することで、キーバインドの変更を設定しています。 更に細かく知りたい場合は、Karabiner-Elementsの[リファレンス](https://pqrs.org/osx/karabiner/json.html)がありますので、そちらをご覧ください。 [karabiner.json Reference Manual - Karabiner - Software for macOS](https://pqrs.org/osx/karabiner/json.html) ## 独自ルールの配置場所 独自ルールは`.json`拡張子で保存して、下記フォルダ内に配置します。 ``` /Users/ユーザ名/.config/karabiner/assets/complex_modifications ``` ここに保存してKarabiner-Elementsの「Complex Modifications」の「Add rule」ボタンをクリックすると、配置したルールが反映されています。 ![独自ルールの反映](https://webrandum.net/mskz/wp-content/uploads/2019/06/image_1.png) あとは「Enable」をクリックすれば他のルールと同じように使えます。 自分の場合は「complex_modifications」フォルダをシンボリックリンクにして、元のフォルダはDropboxに移動させています。 こうすることで、Macの移行の際も設定が一瞬で終わります。 ## 既存ルールの閲覧 → キーの変更 独自ルールの追加方法が分かっても、1からルールを作るのはハードルが高いものです。 しかし、独自ルールの追加方法が分かれば、[Karabiner-Elements complex_modifications rules](https://pqrs.org/osx/karabiner/complex_modifications/)で公開されているルールを引っ張ってきて、好みのキーに変更することができるようになります。 まずは、Karabiner-Elements complex_modifications rulesにアクセスして「Import」ボタン横にある三角ボタンを押して「Show JSON」を選択します。 ![Karabiner-Elements Add rules](https://webrandum.net/mskz/wp-content/uploads/2019/06/image_2-1024x547.png) するとJSONが表示されるので、これをコピーして「complex_modifications」フォルダ内にJSONファイルを保存します。 ![Karabiner-Elements JSONの閲覧](https://webrandum.net/mskz/wp-content/uploads/2019/06/image_3-1024x531.png) あとは`"key_code"`の部分だけ変更していけば、好きなキーにカスタマイズできます。 この方法を使えば「機能的には欲しいけど、別のキーに設定したい」ルールを、自分好みにカスタマイズできますよね。