右側の修飾キーをフル活用!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を押せば普通のショートカットキーが発火するので、ショートカットキーのバッティングが起こらないのが魅力的です。


Stationの「My custom apps」機能を使って好きなウェブサイトをStationに追加する
Backlogの課題期限をカレンダーアプリのFantastical 3に表示させる方法
キーボードショートカット以外の新しい選択肢、左手用インプットデバイス「Orbital 2」
サイト上のSVG画像を簡単に保存できるChrome拡張機能「svg-grabber」
複数のアプリをまとめて管理できるBiscuitを便利に使いこなすための設定方法
SNS・ウェブサービスへの保存系Chrome拡張機能
Path Finderの情報パネルにある「作成日」「更新日」「追加日」の違い
MacでYouTubeの動画再生速度を4倍速にする方法
Path Finder 8のサイドバー設定がたまに初期化されてしまう問題
Adobe XD × Keyboard Maestroでここまでできる!ショートカットキーであらゆることを実現するマクロサンプル
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
高機能なスクリーンショットアプリ「CleanShot X」
macOSの効率化に関するDiscordコミュニティ「CMD-F」を立ち上げました
1Passwordの開発者向け機能(SSH Agent / Environments / 1Password CLI / Developer Watchtower)
Default Folder Xで保存ダイアログ内のファイルリストにフォーカスする方法
Obsidianで整理した知識をAnkiで定着させる方法
Figma × Keyboard Maestroでどこまで効率化できる?
マウス操作の完成度が高いウインドウリサイズアプリ「Magnet」
Macで複数ディスプレイを使っている場合に便利な設定集
AppCleanerでMacアプリを関連ファイルごと完全に削除する
操作に没頭できる!Firefox版 Arcのようなブラウザ「Zen Browser」