WebDesigner's Memorandumウェブデザイナーの備忘録

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

最近Keyboard Maestroのバージョンが9.0になって、ダークモード関連の機能が追加されました。

今回は今まで面倒だった、ダークモードによっての処理の分岐を作ってみます。

ダークモードによる処理の分岐が必要なマクロ

例えば、メニューバーをクリックするようなマクロのような「Click at Found Image」アクションを使っている場合に、ダークモードによる分岐処理が必要になります。

メニューバーをクリックするマクロサンプル

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

ダークモードの場合のアイコン

ダークモードによる処理の分岐を組み込む

ダークモードかどうかの判定

ダークモードによる処理の分岐のために、まずは現状ダークモードかライトモードか、どちらか取得する必要があります。

「Set Variable to Calculation」アクションを追加して、「Set variable」にDARKMODE、「to」にはDARKMODE()と入力します。

Set Variable to Calculation

こうすると、ダークモードかどうか判定して数字を返してくれます。

状態返ってくる値
ライトモード0
ダークモード1

条件分岐の設定

あとは「If Then Else」アクションを追加して条件分岐の設定です。

If Then Else

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

Add Condition

「The variable」にはDARKMODEを入力して、「contains」には0を入力します。

これでTrueの方にはライトモードのときの設定を追加して、Falseの方にはダークモードのときの設定を追加すればOKです。

条件分岐の設定

今回の場合は、「Click at Found Image」の画像をそれぞれライトモードの画像とダークモードの画像に設定しなおします。

最終的に、下記のようなマクロになれば完成です。

完成したマクロ

まとめ

「Click at Found Image」を使ったマクロはダークモード時に全滅していたのですが、この方法を使えばダークモードでもライトモードでも、問題なく画像のクリックができます。

少し手間なのと、よく使うのであればDARKMODE()関数は別のマクロにしてしまって、定期的に状態変更を取得するようにしても良さそうです。

著者について

プロフィール画像

サイトウ マサカズ@31mskz10

1997年生まれ。2016年から専門学校でデザインについて勉強。卒業後は神戸の制作会社「N'sCreates」にウェブデザイナーとして入社。このブログでは自分の備忘録も兼ねて、ウェブに関する記事や制作環境を効率的に行うための記事を書いています。

Twitterをフォロー Facebookでいいね