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

Googleの「.new」ドメインを徹底的に活用する
Google Chromeのブックマークバーを「新しいタブ」でも非表示にしたい
Workspacesに新たな機能を追加する「プラグイン」の追加方法と使い方
ATOKの単語登録を複数ユーザー辞書に分けて管理する方法
AlfredでFigmaのチーム・プロジェクト・ファイルを素早くの検索ができる「Alfred Figma Workflow」
Sketchのプラグインを管理ツールを使わずに直接フォルダで管理する方法
ATOKのクラウド推測変換やナントカ変換を使って、単語をラクで正確に変換する
AlfredでKarabiner-Elementsのプロファイルを切り替えるWorkflowの作り方
MacのターミナルアプリはiTerm2で決まり!!オススメの設定と基本的な機能まとめ
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Figma × Keyboard Maestroでどこまで効率化できる?
マウス操作の完成度が高いウインドウリサイズアプリ「Magnet」
Macで複数ディスプレイを使っている場合に便利な設定集
AppCleanerでMacアプリを関連ファイルごと完全に削除する
操作に没頭できる!Firefox版 Arcのようなブラウザ「Zen Browser」
chezmoi(シェモア)で始めるdotfiles管理
GitHubの通知を見逃さない!通知に特化したアプリ「Gitify」
Keyboard Maestroの変数基礎
Neovimを使い始める最初の一歩として便利な「LazyVim」
ウェブサイトをmacOSアプリとしてラッピングする「Unite Pro」