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

macOSのシステム環境設定「一般(General)」の設定見直し
MagicPrefsを使ってMagic Mouseのカスタマイズを行う
バッテリーの減りが早い?Macのバッテリー状態を確認する方法
Path Finder 8の一括名称変更機能を使って楽にファイル名を変更する
AlfredのCustom Web SearchにDeepL翻訳を追加する方法
Webサイト全体をキャプチャするならFull Page Screen Captureがおすすめ
Finderで選択したフォルダを特定のアプリケーションで開くAlfred Workflowの作り方
Google Chromeのブックマークバーを「新しいタブ」でも非表示にしたい
右側の修飾キーをフル活用!Karabiner-ElementsでKeyboard Maestroのマクロを発火させる方法
単語登録はルールをキッチリ決めるよりも、とにかく登録・改善を繰り返した方が良さそう
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
gulp-plumberとgulp-notifyでgulpエラー時にデスクトップで通知がくるようにする
Illustratorをスクリプトで操作する時の基本
Vue.jsを使う人が最低限導入しておきたいVisual Studio Codeの拡張機能
自分の管理下にないどうしようもできないログイン情報は1Passwordの「脆弱なパスワード」を無視しておく
Figmaのサイズの大きい画像を縮小せずにインポートするプラグイン「Insert Big Image」
Googleの「.new」ドメインを徹底的に活用する
SourceTreeで環境設定の「カスタムアクション」「アップデート」「高度な設定」が選択できない
SNS・ウェブサービスへの保存系Chrome拡張機能
Keyboard Maestroでfnを使ったショートカットキーを設定したい場合は、BetterTouchToolを経由するのがオススメ
Gitで1行しか変更していないはずのに全行変更した判定になってしまう