Keyboard Maestroのアクション タイムアウト設定方法で、マクロの継続・停止をコントロールする

Keyboard Maestroでマクロを作っていく中で、条件分岐や複雑なことをしようとすると、マクロが途中で動かなることがあります。
原因としては、途中のアクションがうまく発火せずにその場で止まったままマクロが停止してしまっていることが挙げられます。
ちゃんとタイムアウトを設定していると、途中でアクションが停止してしまっても、継続してとりあえず最後までマクロを実行するようにしたり、逆に問題がある場合は途中でマクロを停止するようにコントロールできます。
アクションのタイムアウト設定
Keyboard Maestroのアクション右上にある歯車アイコンをクリックすると、コンテクストメニュー内に[Set Action Timeout…]項目があります(アクションによってはない場合もあります)。
これをクリックするとタイムアウトの設定ができます。

| 設定項目 | 内容 |
|---|---|
| These actions will timeout after | アクション開始からタイムアウトまでの時間 |
| Abort macro after timeout | タイムアウト後にマクロを中止するかどうか |
| Notify after timeout | タイムアウト後に通知を出すかどうか |
ちなみに、「Abort macro after timeout」の設定は、歯車アイコンをクリックしたあとの[Timeout Aborts Macro]をクリックするだけで切り替えられますし、「Notify after timeout」は[Notify on Timeout]をクリックで切り替えられます。
時間の単位
タイムアウトの時間設定に使える単位は下記の通りです。
| 単位 | 説明 |
|---|---|
| Hundredths | 100分の1秒 0.5秒を設定したい場合は50 Hundredthsと設定する |
| Seconds | 秒指定 |
| Minutes | 分指定 |
| Hours | 時間指定 |
コードに慣れている人だとms(1000分の1秒)の方が馴染みがありますが、Keyboard Maestroの最小単位はHundredthsです。
具体的な利用シーン
具体的な利用シーンとして最近あったのは、「Cut to Named Clipboard」や「Copy to Named Clipboard」を使うときです。
アプリによってはテキストを選択していない状態だと「Cut」や「Copy」ができなくて、マクロが止まってしまいます。
下の画像は、「テキストを選択していない場合はカギ括弧を入力して左矢印を入力、テキストを選択している場合はテキストをカギ括弧で挟んでペーストするマクロ」です。

「テキストを選択しているかどうか」をテキストのカットで判定していますが、途中で止まってしまっては意味がないので、「Cut to Named Clipboard」のタイムアウト設定で、0.5秒経っても実行されない場合は「テキストを選択していない」と判断して、次の処理へ進むようにしています。

Macでマクロの作成が出来るKeyboard Maestroの基本的な使い方
Path Finder 9.0.4からツールバーにカスタムファイルを追加できるように!ツールバーがさらに便利になる
Google Chromeで「パスワードを保存しますか?」ポップアップを非表示にする方法
Biscuitを便利に使いこなすためのショートカットキー
Google検索で使えるパラメータ一覧とその活用方法
Alfred 4のClipboard History機能で、前にコピーした内容をペーストする方法
Path Finderの見た目を最低限整えるための設定
Google Chromeでいま開いているページのQRコード生成方法
Macのデフォルトブラウザの設定場所
macOSのシステム環境設定「Spotlight」の設定見直し
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Path Finderで設定しておくと便利なショートカットキー一覧
iPhoneやiPadのSafariに機能拡張をインストールして、さらに快適なブラウジングを行う
Visual Studio Codeで「.html」拡張子以外のファイルでもEmmetを使えるようにする
定番のパスワード管理ツール「1Password」を使ってパスワードの管理をする
iTerm2でよく使うアクションやスニペットの設定ができる環境設定の「Shortcuts」タブ
Dropbox Ignore node_modulesを使って「node_modules」を「同期の無視」に追加する方法
Movable Typeでコメントアウトして出力時に無視する方法
macOSの効率化に関するDiscordコミュニティ「CMD-F」を立ち上げました
CSSのカスタムプロパティ(変数機能)の使い方
MacDownでLaTeX風の記述を使って数式をキレイに表示させる