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


Path Finderのデスクトップ表示をすれば、デスクトップだけ不可視ファイルを非表示にできる!
Node.jsのバージョン管理をnodebrewからnodenvに移行する方法
HyperSwitchをインストールしておくと「隠す(command + M)」で隠したウインドウもすぐ開けるようになる
Slackのリマインダー機能「/remind」についてのまとめ
Magic Mouseの軌跡の速さを限界を超えて速くする方法
Vimのプラグインマネージャー「Vundle」のインストール方法
テキストエディタ・ノートアプリ関連のショートカットキーをKeyboard Maestroで統一する
Keyboard Maestroで「Path Finderで選択したファイルを特定アプリで開く」プラグインを作成する方法
複数サービスを1つのアプリで管理できるStationの通知設定
Keynote × Keyboard Maestroでスライド作りを徹底的にラクにするマクロサンプル
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Keyboard Maestroの変数基礎
Neovimを使い始める最初の一歩として便利な「LazyVim」
ウェブサイトをmacOSアプリとしてラッピングする「Unite Pro」
Keyboard Maestroの「Macro Debugger」で複雑なマクロのデバッグを行う方法
無料版でも高機能なランチャーアプリ「Raycast」の基本機能と環境設定
OnyXでターミナルを使わずにmacOSの詳細設定を行う
軽量で高速なターミナルエミュレーター「Ghostty」の設定方法
Eagleで実現するクリエイティブ素材の簡単管理
かゆいところに手が届く「Supercharge」でMac環境を便利にカスタマイズする
超軽量なコードエディタ 「Zed」をサブエディタとして活用する