Karabiner-Elementsの独自ルールの作成方法

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のリファレンスがありますので、そちらをご覧ください。
独自ルールの配置場所
独自ルールは.json拡張子で保存して、下記フォルダ内に配置します。
/Users/ユーザ名/.config/karabiner/assets/complex_modificationsここに保存してKarabiner-Elementsの「Complex Modifications」の「Add rule」ボタンをクリックすると、配置したルールが反映されています。

あとは「Enable」をクリックすれば他のルールと同じように使えます。
自分の場合は「complex_modifications」フォルダをシンボリックリンクにして、元のフォルダはDropboxに移動させています。
こうすることで、Macの移行の際も設定が一瞬で終わります。
既存ルールの閲覧 → キーの変更
独自ルールの追加方法が分かっても、1からルールを作るのはハードルが高いものです。
しかし、独自ルールの追加方法が分かれば、Karabiner-Elements complex_modifications rulesで公開されているルールを引っ張ってきて、好みのキーに変更することができるようになります。
まずは、Karabiner-Elements complex_modifications rulesにアクセスして「Import」ボタン横にある三角ボタンを押して「Show JSON」を選択します。

するとJSONが表示されるので、これをコピーして「complex_modifications」フォルダ内にJSONファイルを保存します。

あとは"key_code"の部分だけ変更していけば、好きなキーにカスタマイズできます。
この方法を使えば「機能的には欲しいけど、別のキーに設定したい」ルールを、自分好みにカスタマイズできますよね。


Dropboxの「Macをバックアップ」機能でデスクトップや書類フォルダを同期する
ユニバーサルクリップボードで複数のAppleデバイス間でクリップボードを共有する方法
BetterTouchToolでウィンドウが最大化された状態で「ウィンドウを右に最大化」すると左に移動してしまう問題
Alfredでシステム環境設定の各項目をすぐに開く方法
Keyboard Maestroの「Click at Found Image」で画像と一致する場所をクリックするマクロの作り方
日々の制作をラクにするTips #1日1Tips – 2019年10月
BetterTouchToolでウィンドウリサイズ用のショートカットキーを設定する
Path Finder 9がリリース!シェルフ機能が復活してモジュールの利用が更に便利に!
1Passwordでパスワード以外に管理しておくと便利な情報
MacのターミナルアプリはiTerm2で決まり!!オススメの設定と基本的な機能まとめ
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Gitで最初に設定しておくユーザー名とメールアドレスのグローバル設定
WebPに対応して画像サイズを最適化する方法
WordPressで作成した記事をSlackでシェアしたときに、抜粋文が長く表示される場合の対処法
ジッと瞑想しているのがツラい人にオススメな、歩きながら行う「歩行瞑想」
Macログイン時に自動起動するアプリの管理方法
Chrome拡張機能の「1Password」と「1Password X」の違いはなに?どちらを使えばいいの?
Workspacesの特定ワークスペースのURLを取得・実行する方法
ATOKで特定辞書の単語登録画面を表示するKeyboard Maestroマクロ
Font Awesome 5の基本的な使い方と、Font Awesome 4との違い