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秒経っても実行されない場合は「テキストを選択していない」と判断して、次の処理へ進むようにしています。

XcodeのFileMerge機能を使って2つのファイル差分を確認する
作業効率化に大きく貢献してくれているMacのアプリ達
メールによくある「アーカイブ機能」が何なのか今まで知らなかったので調べてみた
Keynote × Keyboard Maestroでスライド作りを徹底的にラクにするマクロサンプル
Path Finderのデフォルト解凍アプリを変更する方法
Markdownで画像を表示する時はGyazoを使うのが便利
MAMPでhtdocs内に複数のローカルホストを作成する方法
1PasswordとAlfredを連携してログイン情報の検索を行う方法
MacでEvernoteにWebデザインをストックしたいならPaparazzi!とFolder Action Scriptの組み合わせがオススメ!!
ATOKで言葉の意味を確かめる「電子辞典検索」タブの設定項目
iTerm2で「Use System Window Restoration Setting」を設定しているとアラートが表示されて機能しない
Google Chromeのサイト内検索(カスタム検索)機能を別のプロファイルに移行する方法
iPadで入力モードを切り替えずに数字や記号をすばやく入力する方法
iPhoneやiPadでYouTubeの再生速度を3倍速や4倍速にする方法
Keynoteで有効にしているはずのフォントが表示されない現象
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
AirPodsで片耳を外しても再生が止まらないようにする方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
1つのノートアプリにすべて集約するのをやめた理由|2025年時点のノートアプリの使い分け
Notionログイン時の「マジックリンク」「ログインコード」をやめて普通のパスワードを使う
AlfredでNotion内の検索ができるようになるワークフロー「Notion Search」
Gitで1行しか変更していないはずのに全行変更した判定になってしまう
Macでアプリごとに音量を調節できるアプリ「Background Music」
Macのターミナルでパスワード付きのZIPファイルを作成する方法
MacBook Proでディスプレイのサイズ調整をして作業スペースを広げる
SteerMouseの「自動移動」機能で保存ダイアログが表示されたら自動でデフォルトボタンへカーソルを移動させる
iPhoneでタッチが一切効かなくなった場合に強制再起動する方法