Keyboard Maestroでダークモードかどうか判定して、条件分岐で処理を変える方法

最近Keyboard Maestroのバージョンが9.0になって、ダークモード関連の機能が追加されました。
今回は今まで面倒だった、ダークモードによっての処理の分岐を作ってみます。
ダークモードによる処理の分岐が必要なマクロ
例えば、メニューバーをクリックするようなマクロのような「Click at Found Image」アクションを使っている場合に、ダークモードによる分岐処理が必要になります。

ダークモードにすると、Macのメニューバーは白黒反転してしまうので、ダークモードのときにマクロを実行しても「Click at Found Image」で画像が見つからず、マクロ失敗となってしまいます。

ダークモードによる処理の分岐を組み込む
ダークモードかどうかの判定
ダークモードによる処理の分岐のために、まずは現状ダークモードかライトモードか、どちらか取得する必要があります。
「Set Variable to Calculation」アクションを追加して、「Set variable」にDARKMODE、「to」にはDARKMODE()と入力します。

こうすると、ダークモードかどうか判定して数字を返してくれます。
| 状態 | 返ってくる値 |
|---|---|
| ライトモード | 0 |
| ダークモード | 1 |
条件分岐の設定
あとは「If Then Else」アクションを追加して条件分岐の設定です。

「Add Condition」をクリックして、「Varibale Condition」を選択します。

「The variable」にはDARKMODEを入力して、「contains」には0を入力します。
これでTrueの方にはライトモードのときの設定を追加して、Falseの方にはダークモードのときの設定を追加すればOKです。

今回の場合は、「Click at Found Image」の画像をそれぞれライトモードの画像とダークモードの画像に設定しなおします。
最終的に、下記のようなマクロになれば完成です。

まとめ
「Click at Found Image」を使ったマクロはダークモード時に全滅していたのですが、この方法を使えばダークモードでもライトモードでも、問題なく画像のクリックができます。
少し手間なのと、よく使うのであればDARKMODE()関数は別のマクロにしてしまって、定期的に状態変更を取得するようにしても良さそうです。

日々の作業を短縮して、やるべきことに集中するための小技集 #1日1Tips – 2020年1月
チャットサービス統合アプリのStationがChrome拡張機能になって登場!キーボードだけでよくアクセスするサイトへ移動できる
Illustratorのサンプルテキストの割り付けを少しだけ便利にする
Macのファイル拡張子に紐づいているアプリケーションの管理方法
Macのダイアログを強化するDefault Folder Xの使い方
Path Finderでタグを一斉に追加するタググループ機能
ATOKの「ATOKパレットの表示」「単語登録」ショートカットキーが、Emacsキーバインドと被るので変更したい
AlfredでDropbox Paperの検索ができるWorkflow「Dropbox Paper Finder」
ATOKで登録した単語の品詞を、あとから一括で変更する方法
2019年2月時点でのMacアプリのダークモード対応状況
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でタッチが一切効かなくなった場合に強制再起動する方法