Keyboard Maestroでメニューコマンドが実行可能か、チェック済みかを判定する

たとえば、Illustratorの[表示]メニューの[オーバープリントプレビュー]は、クリックするごとにオンオフが切り替わる“トグル”になっています。

一方、[書式]メニューの[エリア内文字オプション…]は、エリア内文字を選択していなければ、ディム表示(薄いカラーでクリックできない状態)になっています。

Keyboard Maestroで、「Menu Condition」を使って上記を判定する方法が見つかりました。

メニューコマンドとの一致

ポップアップメニューから次の項目を選択できます。

項目意味
with this name名前が同一のとき
with name containing名前を含むとき
with name matching名前が一致するとき(正規表現)
with pathメニュー
with shortcutキーボードショートカット

「with path」

「with path」の場合には、次のように指定します。

Edit ➤ Speech ➤ Start Speaking

「➤」のほか、次の起動を使うことができますが、前後にスペースが必要です。

  • >

ヘルプでは次のページで記載されています。

メニューコマンドの状態

ポップアップメニューから次の項目を選択できます。

項目意味
exists存在するとき
does not exist存在しないとき
is enabled実行可能なとき
is not enabled実行できないとき(ディム表示のとき)
exists but is not enabled存在するけれど、実行不可能なとき
is markedチェック済みのとき
is not markedチェックされていない
exists but is not marked存在するけれど、チェックされていないとき

判定

「Menu Condition」の判定は、「If Then Else」アクションのほか、次のアクションでも利用できます。

  • Pause Until
  • Until
  • While

[表示]メニューの[CPUで表示]/[GPUで表示]は、⌘ + Eキーでトグルします。

このような場合、Keyboard Maestroではコンフリクトしてしまうため、メニュー判定が有効です。

正規表現で判定する

「^((CPU|GPU)) で表示」のように正規表現で記述することで、[CPU で表示]/[GPU で表示]のどちらでも対応できます。