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

チャットサービスを一元管理できる「Franz」を使ってチャットの確認をラクにする
Drive File Streamの中にあるフォルダを登録して、Alfredから検索結果に表示する方法
Stationのサイドバーで、Slackのチームアイコンをメインに表示させる
Drive File Streamで接続しているGoogle Drive内の検索をするAlfred Workflowの作成方法
PNG画像の圧縮をpngquantとAutomatorを使って右クリックメニューからできるようにする
Orbital 2で共通の設定を使い回すためのテンプレートファイルを作成する方法
AlfredのWorkflowで新規ファイルを作成する方法
Search Consoleのカバレッジで「送信された URL に noindex タグが追加されています」と表示された時の対処法
Adobe XD × Keyboard Maestroでここまでできる!ショートカットキーであらゆることを実現するマクロサンプル
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
スマホやPCにプッシュ通知をしてくれる「Push7」をブログに追加する方法
iStat Menusの「メモリ」アイコン表示と設定
Macで録画から編集までが比較的簡単にできるScreenFlow 8の基本操作
CSS Nite in Kobe, vol.51「すべての人がカメラを持つ時代の SNS映え・ウェブ映えする写真撮影テクニック と 写真撮影の基礎」に参加してきました
SafariでFacebookのPage Pluginに「リクエストを処理できませんでした」とダイアログが表示される問題
いつも使っているアプリがタブに埋もれるのを防止するアプリ「Biscuit(ビスケット)」
Stationで複数のGoogleアカウントでGoogle Driveを使用する方法
今から始めるUIデザインツールSketch入門 Sketchの特徴と使う理由
ATOKの「ATOKパレットの表示」「単語登録」ショートカットキーが、Emacsキーバインドと被るので変更したい