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()
関数は別のマクロにしてしまって、定期的に状態変更を取得するようにしても良さそうです。