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 で表示]のどちらでも対応できます。
