右側の修飾キーをフル活用!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 Chromeのブックマークを綺麗に整理するコツ
ATOKの変換領域(文節区切り)を選択しやすくするカスタマイズ
デフォルトのままじゃもったいない!Google日本語入力での品詞の設定方法と意味まとめ
AlfredでURLをBit.lyで短縮URLにするWorkflow「Bit.ly URL Shorten」
MacのGoogle日本語入力のキー設定で単語登録のショートカットキーを追加する方法
MacのSublime Textを日本語化する方法
Biscuitを便利に使いこなすためのショートカットキー
BetterTouchToolを使って、ショートカットキーでAirPods ProをMacBook Proに接続する方法
Macユーザーにオススメのスニペットアプリ「Dash」でコードや定型文の管理を行う
Sketchのプラグインを管理ツールを使わずに直接フォルダで管理する方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Keyboard Maestroのアクション タイムアウト設定方法で、マクロの継続・停止をコントロールする
新しいMacBook Proを購入して移行するときにやること|M1 Macの基本セットアップとアプリ一括インストール編
WordPressのデータを取得できるWP REST APIの使い方
効率的なマークアップが出来るようになるEmmetでHTMLを書く時の基本
Webデザイナーを目指す専門学生が技術ブログを書くメリット
「EvernoteSpotlightは、キーチェーン内の”Evernote”に保存されている機密情報を使用しようとしています」というダイアログボックスを非表示にする方法
【後編】もうライティングで困らない!説得型ランディングページとアフィリエイター活用で売り上げアップ【CSS Nite in KOBE, Vol.25】
Macを起動したのが平日か休日か判定して、起動するアプリを変えるKeyboard Maestroマクロの作り方
iPhoneアプリ「Bobby」とGoogleカレンダーを活用して、サブスクリプションサービスの管理を行う
テキストエディタのAtomをインストールしたら最低限設定しておきたいアレコレ