Keyboard Maestro の使い方 – マクロを作ってみる編

前回は Keyboard Maestro の基本的な機能の説明をしましたが、今回は具体的な目的にあわせてマクロを作っていきます。
これから紹介するいくつかの例を順に読んでいただければ、Keyboard Maestro の基本的な使い方を把握できると思います。

ショートカットキーが割り振られていないメニューにショートカットキーを設定する

アプリケーションによっては、頻繁に使う機能なのにショートカットキーが割り振られていないってことがたまにありますよね。
そこで今回は、Safari.app の ファイル共有Twitter にショートカットキー +T を割り振ってみることにしましょう。

グループを登録する

Safariだけでアクティブになるグループ
Safariだけでアクティブになるグループ

Groupsカラム 左下にある + ボタンを押し、新しいグループを作成します。作成したグループを選択し、 編集カラム の内容を図のように設定します。これで「Safari が最前面に来ているときだけアクティブになるマクログループ」という意味になります。

グループにマクロを登録する

Safariからツイートするアクション
Safariからツイートするアクション

Macrosカラム 左下にある + ボタンを押し、新しいマクロを作成します。作成したマクロを選択し、 編集カラム の内容を図のように設定します。これで「+Tを押したらこのマクロを実行する」という意味になります。

マクロにアクションを登録する

編集カラム にある、 + New Action をクリックすると、左のエリアに Actionsエリア が表示されるので、Interface ControlSelect or Show a Menu Item をダブルクリックします。

アクションを追加
アクションを追加
メニューを選択するアクション
メニューを選択するアクション

そうすると、 編集カラムNo Action の部分に左図ようなアクションが追加されると思います。
次に、追加したアクション内右上にある Menu というプルダウンを選択します。このプルダウンには「現在起動しているアプリケーションのメニュー項目」が表示されます。ここから、Safariファイル共有Twitter を選択しましょう。そうすると自動でメニュー項目が入力されます。
これで「Safari からツイートする」マクロが完成しました。

Safariで適当なサイトを表示し、+T を押してみてください。下図のような表示になれば成功です。

Safariでツイートするマクロを実行
Safariでツイートするマクロを実行

ショートカットキーでパレットを表示し、さらにショートカットキーで目的のマクロを実行する

いろいろなものにショートカットキーを割り振っていくと、ショートカットキーが足りなくなったり、覚えたりするのが大変でカオスになりますよね。
Keyboard Maestro にはそういう問題を解決する、「Keyboard Maestro パレット」というものが用意されています。複数のショートカットが登録されたパレットをショートカットキーで呼び出す。といった案配です。文字で説明してもわかりづらいのでとりあえず動かしてみましょう。

今回は、「Finderで選択したテキストファイルを、いくつか登録したアプリケーションの中から好きなものを選んで開く」というマクロを作成していきます。

グループを登録する

Finderでパレットを表示するグループ
Finderでパレットを表示するグループ

まずは、Finderが最前面にきているときだけアクティブになる新規グループを作成しましょう。 編集カラム にある Always activated. となっているプルダウンメニューから Shows a palette for one action when: を選択します。すると下に3つのチェックボックスが表示されるので、一番上の The hot key という項目にチェックを入れ、その右にある入力部分をクリックし、目的のショートカットを入力します。今回はショートカットキーを +F に設定しました。これでグループの設定は完了です。

グループにマクロを登録しアクションを設定する

テキストエディットで開くマクロ
テキストエディットで開くマクロ

先ほど作成したグループに新規マクロを追加し、「選択したファイルをテキストエディット.app で開く」アクションを登録していきます。
マクロ名は分かりやすい名称を入力しましょう。This hot key: で指定したキー名を書いておくと、後々把握しやすくなるのでおすすめです。
This hot key: には T を入力しましょう。

次に + New Action をクリックし、Actionsエリアの OpenOpen the Finder Secelction アクションをダブルクリックし、編集カラムにアクションを追加します。追加されたアクションの右にある Front Application プルダウンメニューから TextEdit を選択します。見つからない場合は、More…Other… から選択するか、あらかじめ 「テキストエディット.app」を起動しておきましょう。

テキストエディット.app で開くアクション
テキストエディット.app で開くアクション

これでテキストエディット.appで開くマクロが完成しました。続けて同じ方法で他のテキストエディタを登録したマクロを追加していきまます。This hot key: は重複しないようにそれぞれ違うキーを指定しましょう。一通り登録したら完成です。

その他アプリで開くマクロも同様に登録
その他アプリで開くマクロも同様に登録

Keyboard Maestro パレットを実行してみる

それでは作ったマクロを実行してみましょう。

Keyboard Maestro パレットを表示
Keyboard Maestro パレットを表示

Finder上のテキストファイルを選択し、ショートカットキー +F を押してみてください。すると黒いパレットが表示されますよね。これが Keyboard Maestro パレットです。パレットが表示された状態でさらに T キーを押すと、選択したテキストファイルがテキストエディット.appで開かれると思います。

ショートカットキーで、画面上に表示されているボタンをクリックする

Keyboard Maestro にはメニュー項目の選択だけでなく、マウスカーソルの動きも操作することができます。また、画面上のボタンの絵柄を元にクリックする箇所を指定することもできます。
今回は上記の機能を使い、「ショートカットキーでメニューバーにあるWi-Fiの接続先を切り替える」マクロを作ってみましょう。

グループとマクロを登録する

まず、全てのアプリケーションで実行できるグループを作成します。(デフォルトで用意されている Global Macro Group を使用するのでもOK)
そのグループの中にマクロを作成します。今回のショートカットキーは +1 にしました。

マクロにアクションを登録する

次に、メニューバーにある Wi-Fi アイコンをクリックするアクションを登録していきます。クリックしたい座標を数値入力する方法もあるのですが、 今回は自動で座標を取得する方法を説明します。

編集カラム の下部にある Record というボタンをクリックします。すると、Recoding という小さなウィンドウが表示されます。Recodingウィンドウ のカウントダウンが終わったら、ユーザーのクリックやキー入力を記録しはじめます。

Record ボタンを押して記録を開始
Record ボタンを押して記録を開始
メニューバーの Wi-Fi をクリック
メニューバーの Wi-Fi をクリック

自動で記録されてしまうので余計な操作はせずに、メニューバーの Wi-Fi を1度だけクリックしてみましょう。

クリックした座標が自動で登録
クリックした座標が自動で登録

このようなアクションが登録されたら、もう一度 編集カラム 下部にある Record ボタンをクリックし、記録を終了します。

Record ボタンを押して記録を終了
Record ボタンを押して記録を終了
スクリーンの基準位置を変更
スクリーンの基準位置を変更

追加されたアクションの三角マークをクリックし、内容を表示してみましょう。先ほどクリックした座標が自動で入力されていると思います。
relative to the を画面右上基準に変更しておくとスクリーンサイズの違うMacでも使い回せるのでオススメです。)

その他アクションを追加・設定
その他アクションを追加・設定

続いて、図のようにアクションを追加していきます。
ActionエリアControl FlowPause アクションで 0.3秒程操作をストップさせます。これはプルダウンメニューが表示されるまでのタイムラグ対策です。
次に、ActionエリアTextInsert アクションで、接続したいSSIDを入力し、挿入方法を Insert text by typing に変更します。
最後に、ActionエリアInterface ControlType a Keystroke アクションで、Return キーを指定すれば完成です。


複数あるWi-Fiの接続先を自由に切り替えたい場合は、SSIDごとにマクロを用意し、Keyboard Maestroパレットで切り替えるのもありだと思います。

クリップボードを操作する

Keyboard Maestro はクリップボードも好き勝手に操作できるのですが、できることが多すぎます… ですので今回は、簡単かつ便利な「クリップボード内のスタイルを削除してプレーンなテキストをペーストする」アクションを作成してみましょう。

グループとマクロ、アクションを登録する

まず、全てのアプリケーションで実行できるグループを作成します。(デフォルトで用意されている Global Macro Group を使用するのでもOK)
そのグループの中にマクロを作成します。今回のショートカットキーは +V にしました。 次に、 + New Action をクリックし、Actionsエリアの ClipboardFilter Clipboard を追加します。
追加したアクションが FilterSystem ClipboardwithRemove Styles になっていることを確認します。なっていなかったらプルダウンからそれぞれ選択してください。

クリップボードのスタイルを削除するアクション
クリップボードのスタイルを削除するアクション
クリップボードの内容をペーストするアクション
クリップボードの内容をペーストするアクション

これでクリップボード内のスタイルが削除されました。
次に、 Actionエリアの ClipboardPaste アクションを追加して完成です。

以上、マクロを作ってみる編でした。
これだけでもいろいろなことが出来るようになりますが、Keyboard Maestro でできることの5%も説明しきれてないと思います… ぜひみなさんも Keyboard Maestro をいじくり倒して便利な環境を構築してみてください!