[Mac][Keyboard Maestro] US キーボードで言語切り替え3

先日 Keyboard Maestro による入力モード切り替えについて書いた。

[Mac][Keyboard Maestro] US キーボードで言語切り替え2 – with a Christian Wife
https://wacw.cf/2019/08/03/toggle-language-input-with-keyboard-maestro/

その時、ホットキーを押しても 0.5 秒ほどタイムラグがあるせいで、スピーディーに入力した際に切り替えが間に合わないことがあると書いた。

その解決方法を見つけました!

すごく単純なことなんだけど、Javascript 実行のアクションをキーボード切り替えのアクションの<後に>持ってくるようにすればいい。

どういうことか。この言語切り替えのマクロは、Javascript を使って現在の言語の状態を読み取り、それを変数に格納する。でも、Javascript の実行をキーボード切り替えのアクションの後にすることで、言語切り替えの<ついでに>変数格納を行うことになる。Keyboard Maestro の変数の値は Keyboard Maestro を起動している間ずっと保持されることを利用し、次回マクロを実行する際にホットキーと同時に即変数が条件分岐に使えるようにすればいいわけだ(そして、言語切り替え後に、またついでに次回用の Javascript を実行する)。

まあ要するに、言語切り替えだけを先にやってしまい、時間が掛かる Javascript 実行は後回しにするということだ。

これで言語切り替えが一瞬でできるようになったので、英語や日本語で入力が混ざって変になるようなことはなくなった。