Keyboard Maestroでfnを使ったショートカットキーを設定したい場合は、BetterTouchToolを経由するのがオススメ

Keyboard MaestroとBetterTouchToolは非常に似ているのですが、それぞれに長所と短所があります。
- Keyboard Maestro
- 個人的にBetterTouchToolよりもマクロが作りやすい
- アクションが豊富でかなり自由にMacを操作できる
- BetterTouchTool
- fnキーがショートカットキーに使える
- ジェスチャーやタッチバーのカスタマイズができる
もしKeyboard Maestroで作成したマクロをBetterTouchToolから発火できれば、いままでKeyboard Maestro単体ではできなかったトリガーが使えますよね。
今回はその方法をまとめておきます。
Keyboard Maestroの設定
まずはKeyboard Maestroで、発火させる用のマクロを作ります。
トリガー設定の「New Trigger」の下にある「Or by script」をクリックして「Or by Shell script」に変更します。

するとShellScriptのコードが表示されます。
このShellScriptをBetterTouchToolで実行されるように設定しましょう。
BetterTouchToolの設定
今回はサンプルとして、fn + Sのショートカットキーで発火するようにしてみます。
まず、BetterTouchToolを開いて新しいトリガーを設定します。
ショートカットの記録でfnを使ったショートカットキーが割り当てられるので、fn + Sを押して設定します。
次にアクションの設定で「他のアプリケーションを制御する」内にある「シェルスクリプト/タスクの実行」を選択します。

最後にスクリプトの入力欄に、先ほどのKeyboard MaestroのShellScriptを貼り付ければOKです。

全文貼り付けてもいいのですが、「#」が先頭に付いてある行はコメントなので、貼り付けなくても問題ありません。
発火の確認
設定ができたら試しにfn + Sを押して、ちゃんとKeyboard Maestroのマクロが発火するか試してみましょう。
BetterTouchToolもKeyboard Maestroも、単体で使ってもかなり高度なことができますが、組み合わせるとそれぞれの特徴を最大限発揮できます。
今回はショートカットキーでしたが、他にもBetterTouchToolにはいろいろなトリガーがあるので、いろいろ試してみると面白いです。
管理対象のアプリが2つになるので、何でもかんでも設定すると管理が大変になってしまいますが、よく使う全てのアプリ共通のマクロはfnを基点としたショートカットキーに設定すると良さそうです。

FontExplorer X Proを使ってフォントの管理を行う
Jedit Ωの半角・全角変換機能を使って、全角と半角をすばやく変換する方法
JavaScriptパッケージマネージャーをnpmからYarnへ移行しました
Keyboard MaestroのTime of Dayトリガーは「Wireless Network Condition」での条件分岐とセットで使う!
日々のちょっとした作業を効率的にする小技 #1日1Tips – 2019年7月
AlfredのWorkflowをカテゴリーごとに整理する
Chrome拡張機能の「Get RSS Feed URLs」でサイトのRSSを簡単に取得
日々の制作をラクにするTips #1日1Tips – 2019年10月
Keyboard Maestroの「Prompt for User Input」でユーザーの入力に応じて変化するマクロを作成する方法
ツイエバを使ってTwitterのいいねやツイート履歴をEvernoteに保存する方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Workspacesの特定ワークスペースのURLを取得・実行する方法
resizeイベントを使用する場合は、iOS Safariでの挙動に注意
Vue.jsを使う人が最低限導入しておきたいVisual Studio Codeの拡張機能
Path FinderとFinderをいい感じに共存させるための設定
CSSで::placeholderにスタイルを設定する方法
JavaScriptで日付をコピーして計算すると、コピー元の日付も変わってしまう場合の対処法
Ulyssesで記号を使ったマークアップを無効化する方法|毎回エスケープするのが面倒なときに使える
Googleアナリティクスのイベントトラッキングの設定方法
Bartender 4の「Show for Updates」機能で、特定条件でメニューアイコンが表示されるようにする