61
Keyboard Maestro:昔ながらのMacハッキングツールの意外な使い方8選

OS Xには、スクリプト、キーボードショートカット、Automatorなど、Macのワークフローを高速化するさまざまなツールが搭載されています。しかし、定番ユーティリティのKeyboard Maestroは、これらの組み込みツールよりも、より便利で、より多様な使い方ができます。

Keyboard Maestroは奇妙なツールです。一見すると、OS X内蔵のテキスト置換機能の進化版、TextExpanderやTypinatorのライバルだと考える人が多いかもしれません。しかし、もう少し深く掘り下げてみると、ApplescriptやAutomatorといった自動化ツールの代替ツールとして、様々なトリガー(キーボードだけでなく)であらゆるアクションを実行できることがわかります。

コンセプトとしては、このアプリは非常にシンプルです。トリガーとなるイベントを選択し、トリガー時に実行されるアクションを1つ以上設定します。これらのアクションは、特定のアプリを起動したり、キーの組み合わせが押されたときにテキストを挿入したりするといった単純なものから選べますが、それだけでは36ドルという価格に見合う価値はほとんどありません。Keyboard Maestroが真価を発揮するのは、キーボードショートカット以外のトリガー(16種類あります)を使用する場合と、アクションを条件付きで定義して、特定の状況に応じて実行されるアクションを定義する場合です。

Keyboard Maestroの初心者が見落としたり、想像もしていなかったりする、意外と知られていない機能の例を8つ挙げてみました。完全なリストではありませんが、このアプリの何ができるのか、おおよそのイメージはつかめると思います。

USBデバイスを挿入するときにアプリを開く

特定の USB アクセサリを Mac に接続すると、Keyboard Maestro がそれを検出し、必要な操作を実行できます。

まず、新しいマクロを作成します(どのアプリでも動作するように、グローバルマクログループを使用してください)。利用可能なトリガーのリストから「USBデバイストリガー」を選択し、「このUSBデバイス」を選択します。対象のデバイスを接続すると、Keyboard Maestroが自動的にデバイス名フィールドに追加します。

キーボードマエストロ1a

スキャナーを接続すると、スキャナー ソフトウェアが自動的に開くようにします。

アクションは、扱っているデバイスの種類によって異なる場合があります。

例えば、スキャナーを接続するたびにスキャナーソフトウェアを起動するマクロを作成できます。上記の手順に従い、新しいエントリの下部にある「新しいアクション」をクリックします。アクション選択インターフェースから「開く」を選択し、「ファイル、フォルダー、またはアプリケーションを開く」を選択して、スキャナーアプリを選択します。

または、Carbon Copy Cloner や Superduper! などのディスククローン作成アプリを使用して Mac を定期的にバックアップしている場合は、クローンディスクを挿入したときにそのアプリを起動するように Keyboard Maestro を設定し、クローン作成を開始するように設定することもできます。

ここでのポイントは、Superduper! はスクリプト化できないため、マクロにボタン押下のシミュレーションを含める必要があることです。また、システムがまずドライブをマウントし、その後 Superduper! が起動することを確認するために、短い一時停止を数回行う必要があります。マクロのアクションフローは次のようになります。

外部ドライブの名前という名前の USB デバイスが接続されている場合: 2 秒間停止し、Superduper! を開き、さらに 2 秒間停止し、Superduper! をアクティブにし、[今すぐコピー] ボタンを押し、[コピー] ボタンを押します。

Microsoft Word の自動保存

(このヒントは元々、The Unofficial Apple Weblog の TJ Luoma が提供したものですが、新しいドキュメントの作業を始めたばかりの人にとって煩わしくないように、少し修正しました。)

Microsoft Wordは世界中のオフィスで標準アプリとして使われていますが、驚くべきことに、基本的な自動保存機能すら備わっておらず、OS Xのバージョン管理システムもサポートされていません。Wordがクラッシュし、長い間文書を保存していなかったり、復元機能が機能せず何時間もかけて作成したデータを失ったりした経験があるなら、このマクロはまさにうってつけです。

グローバルグループに新しいマクロを作成します。次に、アプリケーショントリガーを2つ追加します。1つ目は、Microsoft Wordがアクティブになったときに実行されるトリガーです。このトリガーは1分ごとに実行されるように設定します。2つ目は、Microsoft Wordが非アクティブになったときに実行されるトリガーです。これにより、別のアプリケーションに切り替えるたびに、開いているWord文書がマクロによって保存されます。

キーボードマエストロ2

Microsoft Word にはまだ本当の自動保存機能がありませんが、Keyboard Maestro がそれを補ってくれます。

次に「実行」アクションを追加し、「AppleScriptを実行」を選択します。表示されるテキストフィールドに以下のスクリプトコードをコピーします。

アプリケーション「Microsoft Word」が実行中で、アクティブなドキュメントの名前に「Document」が含まれていない場合は、アクティブなドキュメントを保存します。end ifend tell

これは、Word にまず実行中であること、そしてアクティブ文書(最前面に開いている文書)の名前に「」という単語が含まれていないことを確認するように指示しますDocument。この2つの条件が満たされた場合、マクロはアクティブ文書を保存します。この2つ目の条件は、新しい未保存の文書で作業しているときにマクロが起動しないようにするためのものです。この条件がないと、文書を保存するまで Word から切り替えることができません。

安全でないネットワークでVPNを自動的に接続する

プライバシーを重視するなら、カフェや空港などにあるようなオープンまたはセミオープンなワイヤレスネットワークからインターネットに接続する際には、VPNサービスのご利用をご検討ください。Keyboard Maestroを使えば、安全でないネットワークに接続している場合でも自動的にVPNに接続できます。

グローバルグループに新しいマクロを作成し、「ワイヤレスネットワークトリガー」を選択します。最初のドロップダウンから「任意のワイヤレスネットワーク」、2番目のドロップダウンから「接続済み」を選択すると、スクリプトは接続するすべてのネットワークをテストします。

キーボードマエストロ3

信頼できない Wi-Fi ネットワークを使用するときに VPN サービスに自動的に接続することで、ネットワーク リスクを最小限に抑えます。

アクションを追加し、「制御フロー」グループから「If Then Else」を選択します。最初のドロップダウンを「以下のいずれにも該当しない場合」に変更し、「新しい条件」をクリックします。「ワイヤレスネットワークの条件」を選択し、「正確な名前のワイヤレスネットワーク」を追加し、自宅のネットワーク名と「接続済み」を選択します。定期的に接続するすべてのWi-Fiネットワークに対して、同様の条件を追加し続けます。

最後に、「Applescript を実行」アクションを追加し、次のスクリプトを追加します。

tell application "System Events" tell current location of network preference connect service " Your-VPN-Service " end tellend tell

Your-VPN-Service を、システム環境設定のネットワークパネルに表示されているVPNサービスの正確な名前に置き換えてください。複数のVPNサービスをご利用の場合は、どのサービスを使用するかを決定する条件を追加することで、マクロをさらに拡張できます。

指定した時間にウェブサイトを開く

定期的に、特に特定の時間にチェックするウェブサイトがある場合は、Keyboard Maestro を使えば自動的にチェックできます。例えば、昨夜の試合の結果、株価情報、自動メール更新が提供されていないサイトのフォーラムスレッドなどをチェックしたい場合などです。

これを行うには、「グローバル」グループに新しいマクロを作成し、「タイムトリガー」を選択します。ワークフローを実行する時間と曜日を設定します。

次に、新しいアクションを追加し、「Safari コントロール」→「新規 Safari タブ」または「Google Chrome コントロール」→「新規 Google Chrome タブ」を選択します。指定した時間に開きたいサイトのアドレスをコピーして貼り付けます。

最後に、「アプリケーション制御」グループから「特定のアプリケーションをアクティブ化」を選択し、SafariまたはChromeを選択します。「すべてのウィンドウ」のチェックを外し、「初期ウィンドウを再度開く」を選択します。これで、サイトを開いている間、ブラウザが起動していたかどうかに関係なく、ブラウザが起動し、アクティブな状態を維持します。

Facebook、YouTube、Instagram、Tumblr、Twitter。あっという間に時間を奪い、山積みの仕事と一日の終わりの後悔に苛まれる、気が散るアプリのリストは、どんどん長くなっていきます。もしあなたがまだ仏教僧侶のような集中力と自制心のレベルに達していないなら、Keyboard Maestroを使えば、本来仕事をすべき時間にSNSで何時間も無駄にしてしまうのを防ぐことができます。

キーボードマエストロ5

Keyboard Maestro は、気を散らすアプリをスケジュールに従って自動的にオフにすることができます。

グローバルグループに新しいマクロを作成し、「タイムトリガー」を選択し、「ログイン中」を選択して、マクロをトリガーする頻度を選択します(私は2分ごとに設定しました)。また、トリガーは毎日午前8時30分から午後5時30分まで実行されるように設定しました。必要に応じて調整してください。

アクションには、普段文章を書くときに使っているMacJournalを起動する設定にしました。また、追加のアクションとして、アプリケーション制御グループから「他のアプリケーションを非表示にする」を選択し、他のすべてのアプリケーションを非表示にしました。

その結果、Safariでちょっとした検索をしたり、ツイートを数件読んだりすることはこれまで通り簡単にできます。しかし、2分ごとに他のアプリをすべて非表示にしてMacJournal(またはお気に入りの仕事用アプリ)を起動するように通知されます。

多数のアプリで作業している場合は、マクロを調整して、Web ブラウザー、Twitter クライアントなどの特定のアプリだけを非表示にすることができます。

Chromeで開く

多くの人は、異なるタスクのため、あるいは単にウェブサイトによってはブラウザによって表示が異なり、複数のブラウザを使い分けています。Safariをメインブラウザとして使っているけれど、Google Chromeでサイトを開かなければならない時もあるでしょう。そんな時は、キーボードショートカットを作成すれば、Safariの最前面のタブをChromeで瞬時に開くことができます。

新しいマクロを作成し、それをグローバル グループに配置するか、Safari が最前面のアプリケーションであるときにのみ実行したい場合は、Safari でのみ動作するように設定された新しいマクロ グループに配置します。

キーボードマエストロ6

Keyboard Maestro の Safari および Chrome 向けの特別なアクションを使用すると、Web 作業を自動化できます。

ホットキートリガーを選び、使いやすく覚えやすいものを選びましょう。そのショートカットが既に使用されていないか確認したい場合は、まず試してみるのも良いでしょう。ControlキーとOptionキーを使うショートカットは、CommandキーとShiftキーを使うショートカットに比べてあまり一般的ではありません。Fキーについても同様です(ただし、Fキーを有効にするには通常はFnキーを使う必要があります)。

アクションを追加し、「制御フロー」グループから「If Then Else」を選択します。アクションで、「次のすべてが真」、「このアプリケーション」、「Safari が実行中」を選択します。これにより、Chrome で最前面のタブを開く前に、Safari が実行中であることが確認されます。

次に、次の 3 つのアクションを順番に追加します。

  • [開く] -> ファイル、フォルダー、またはアプリケーションを開き、Google Chrome に移動して選択します。
  • Google Chrome コントロール -> Google Chrome の読み込みが完了するまで待つ
  • Google Chrome コントロール -> 新しい Google Chrome タブ -> URL を選択: %SafariURL%

%SafariURL%は、Safariの最前面のタブ/ウィンドウのアドレスを自動的に取得する特別なトークンです。Keyboard Maestroには、今日の日付から画面上のマウスポインタの位置、マクロを起動したトリガーの名前まで、あらゆる情報を貼り付けることができるトークンが多数含まれています。

特別なマウスボタンのアクションを設定する

マウスを使い続ける伝統主義者の方は、Macアプリケーションではあまり使わないボタンが付いたマウスを使っているかもしれません。Keyboard Maestroを使えば、それらのボタンを便利に活用できます。

このマクロでは、「マウスコントロール」などといった新しいマクログループを作成し、異なるボタントリガーをまとめてグループ化することをお勧めします。次に、そのグループ内に新しいマクロを作成し、「デバイストリガー」を選択し、「このデバイスキー」を選択して、アクションを設定したいボタンを押します。私の例では、Logitech G3マウスの左の追加ボタンをクリックしました。これはKeyboard Maestroでは「USBゲーミングマウスボタン4」として表示されます。

キーボードマエストロ7

特別なマウス ボタンとキーボード キーを最大限に活用します。

この例では、マウスの左右にある追加ボタンを Safari と Finder では前後に動かし、Photoshop ではブラシ サイズを変更します。

まず、制御フローアクション「If Then Else」を追加します。「以下のすべてが真」を選択し、「このアプリケーション:Safariが最前面にある」を選択し、アクション「インターフェース制御」を選択してから、「キー入力」を選択します。Commandキーを押しながら左矢印キーを押します。これはSafariで前に戻るショートカットです。

Finder の場合は、別の同一のアクションを追加しますが、Finder を選択し、キーストロークを Command-[ にします。

次に、同じ条件で別の If Then Else アクションを追加しますが、アプリとして Adob​​e Photoshop を選択し、キーストロークを[(そのアプリでブラシ サイズを縮小するためのデフォルトのショートカット) に設定します。

他のボタンについても、新しいマクロで同じ手順を繰り返してください。OS Xで機能が割り当てられていないキーボードの特殊ボタンや、他のUSBアクセサリの一部のボタンでも同様です。Keyboard Maestroがボタンの押下を検知できる限り、使用できます。

MIDIデバイスを使ってMacを制御する

このヒントは少し突飛ですが、Macで音楽制作をしている方なら、GarageBandで趣味として、あるいはLogic Proなどのプロ向けアプリでプロとして音楽制作をしている方なら、おそらく何らかのMIDIキーボードをお持ちでしょう。MIDIキーボードは音楽制作に最適ですが、Keyboard Maestroがあればどんなアプリでも使えます。

探しているトリガーは「MIDIトリガー」です。「このMIDIノート」を選択し、キーボードで音符を弾くだけです。キーボードをどのポートに接続し、どのチャンネルに設定してもマクロがトリガーされるように、通常は任意のデバイスと任意のチャンネルを選択してください。

キーボードマエストロ8a

Keyboard Maestro は、通常は MIDI デバイスを認識しないアプリでも MIDI デバイスを有効に活用できます。

フルサイズのキーボードなら、よく使うアプリのあらゆるメニュー項目へのショートカットを作成できるキーが十分にあります。これらの追加機能のために、キーを色分けしたりラベルを付けたりすることもできます。

ワンキーショートカットを簡単に作成できるだけでなく、このトリガーを使えば、音楽アプリで音符入力ができない場合でも音符入力が可能です。例えば、Microsoft Word に限定したグループにマクロを作成し、キーボードで演奏中に押した音符をメモする機能も利用できます。

ボーナスのヒント

でも、待ってください!他にもあります!自分で組み立てられるKeyboard Maestroマクロのアイデアをいくつかご紹介します。

いたずら:Keyboard Maestroをインストールし、ユーザーがCommand+Qなどの一般的なキーボードショートカットを押すたびに実行されるマクロを設定します。例えば、次のような、不気味だけど全く無害なAppleScriptを実行させましょうsay "I'm sorry Dave, I'm afraid I can't do that"

さまざまな場所に合わせて Mac を設定する: 職場の Wi-Fi に接続するたびに、Mac の音量を 0 に設定し、メールを開き、Safari を非表示にし、Skype を終了することができます。

ウェブサイトのフォームへの入力を自動化: Safari と Chrome のコントロール アクションを使用すると、かなり高度なマクロを作成して、ウェブ ベースの作業をより簡単に行うことができます。

もちろん、このアプリには他にもたくさんの機能がありますが、このアプリのパワーと可能性を少しでもご理解いただけたなら幸いです。特に便利なKeyboard Maestroマクロをご存知でしたら、ぜひ下のコメント欄で共有してください。