右側の修飾キーをフル活用!Karabiner-ElementsでKeyboard Maestroのマクロを発火させる方法

Keyboard Maestroでショートカットキーを設定すると、修飾キーは左右どちらも反応してしまいます。
しかしKarabiner-Elementsだと、left_commandかright_commandどちらか一方でしか反応しないショートカットキーを作れます。
この特徴を利用して、今回はKarabiner-ElementsからKeyboard Maestroのマクロを発火させる方法をまとめておきます。
うまく利用すれば、あまり使わない右側の修飾キーをフル活用できます。
Keyboard Maestroの設定
まずはKeyboard Maestroで、発火させる用のマクロを作ります。
トリガー設定の「New Trigger」の下にある「Or by script」をクリックして「Or by Shell script」に変更します。

するとShellScriptのコードが表示されます。
このShellScriptを実行すれば、マクロが発火されるので、あとはKarabiner-ElementsでShellScriptが実行されるように設定しましょう。
Karabiner-Elementsの設定
Karabiner-Elementsを自分で設定する場合はJSONを書く必要がありますが、ほとんどコピペで問題ありません。
下記パスに新規JSONファイルkm.jsonを作成します。
~/.config/karabiner/assets/complex_modifications/作成したJSONファイルの内容は下記の通りです。
{
"title": "Run Keyboard Maestro Macro",
"rules": [
{
"description": "Run Keyboard Maestro Macro",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "N",
"modifiers": {
"mandatory": [
"right_command"
],
"optional": [
"any"
]
}
},
"to": [
{
"shell_command": osascript -e 'tell application "Keyboard Maestro Engine" to do script "23F62CCB-AB7E-4378-BB3A-66972D3ECC67"'
}
]
}
]
}
]
}そして、ショートカットキーとAppleScriptの設定を書きかえます。
| 項目 | 内容 |
|---|---|
| key_code | 入力するキーの種類 |
| mandatory | 一緒に入力する修飾キーの種類 |
| shell_command | AppleScriptのコマンド |
key_codeとmandatoryの入力
key_codeとmandatoryに関してはKarabiner-EventViewerを使って調べます。

Karabiner-EventViewerを起動してキーボードを押すと、押したキーと離れたキーの情報が表示されます。あとは該当のキーの「Name」の列をコピーしてJSONに書きかえます。
shell_command
shell_commandに関してはKeyboard MaestroのShellScriptコードをペーストします。
ちなみに、#のあとはコメントなので、最初の行だけペーストすればOKです。

そして少しややこしいのですが、下記の調整をします。
- もともとあったダブルクオーテーション(
")の前にバックスラッシュ(\)を入力します - 入力したら、コマンド全体をダブルクオーテーションで囲みます
osascript -e 'tell application "Keyboard Maestro Engine" to do script "23F62CCB-AB7E-4378-BB3A-66972D3ECC67\"'上記のコードの場合は下記のようになります。
"osascript -e 'tell application \"Keyboard Maestro Engine\" to do script \"23F62CCB-AB7E-4378-BB3A-66972D3ECC67\"'"これでshell_commandの設定は完了です。
設定の反映
これでKarabiner-Elementsの設定ファイルの作成は完了したので、最後に設定を反映させます。
Karabiner-Elementsの[Complex modifications]にある「Add rule」から「Run Keyboard Maestro Macro」を「Enable」すれば設定完了です。

もし「Run Keyboard Maestro Macro」が見当たらなければ、Karabiner-Elementsを再起動するか、設定ファイルに問題があるので見直してみてください。
実際の利用シーン
このように、気軽にショートカットキーを変更できないので、全てのアプリケーションで使うようなグローバルなマクロをright_commandやright_shiftに設定しておくと良さそうです。
何より、left_commandやleft_shiftを押せば普通のショートカットキーが発火するので、ショートカットキーのバッティングが起こらないのが魅力的です。

Alfredで複数のアプリケーションを一括で起動するWorkflowの作成方法
Sketchのメニューバーにショートカットキーを割り当てる方法
Transmit 5のPanic Syncでサーバー情報が同期されないときの対処法
Gmailのラベルとフィルタ機能を使ってメールを自動的に振り分ける
ソート時の「昇順・降順」どっちがどっちか迷わないための覚え方や対策
チャットサービス統合アプリのStationがChrome拡張機能になって登場!キーボードだけでよくアクセスするサイトへ移動できる
Node.jsのバージョン管理をnodebrewからnodenvに移行する方法
Karabiner-Elementsを使ってright_command + h/j/k/lで矢印の入力ができるようにする
コード管理に特化したノートアプリ「Quiver」でコードの管理を行う
Alfredの検索ボックスを、磨りガラスのように背景がぼやけた見た目にする方法
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う
AlfredでNotion内の検索ができるようになるワークフロー「Notion Search」
Gitで1行しか変更していないはずのに全行変更した判定になってしまう
Macでアプリごとに音量を調節できるアプリ「Background Music」
Macのターミナルでパスワード付きのZIPファイルを作成する方法
MacBook Proでディスプレイのサイズ調整をして作業スペースを広げる
SteerMouseの「自動移動」機能で保存ダイアログが表示されたら自動でデフォルトボタンへカーソルを移動させる
iPhoneでタッチが一切効かなくなった場合に強制再起動する方法