Macにはいくつかあります優れた組み込みキーボード ショートカットただし、より複雑なタスクを実行するカスタム ショートカットまたはグローバル ショートカットを作成したい場合は、もう少し手間がかかります。ここでは、ほぼすべてのアクションをキーボード ショートカットに変える方法を紹介します。
写真提供者デクラン・ジュエル。
その方法をご紹介しましたWindows であらゆるアクションをキーボード ショートカットに変換するお気に入りの Windows スクリプト ツールを使用して、オートホットキー。実際には、私たちは死にたいです、それはOS Xで利用可能でした、しかし、そうではありません。 OS X の AutoHotkey でできることすべてを行うことはできませんが、OS X の組み込みスクリプト言語 AppleScript を使用すると、かなり近いことができます。
このガイドでは、まずスクリプトを保存する方法と、Quicksilver のトリガーとして使用します。(持っていない場合は、持っているとよいでしょう今すぐダウンロードしてください—それは本当に素晴らしいソフトウェア)。それでは、通過していきますいくつかのスクリプトテンプレートここでは、AppleScript を使用して他のキーボード ショートカットをエミュレートしたり、特定のショートカットをグローバルにしたり、より複雑なアクションを実行したりする方法をいくつか示します。
「スクリプト言語」という言葉を聞いて恐怖に震えていませんか?心配しないでください。 AppleScript は非常に使いやすいです。いくつかの基本的なコマンドを覚えれば、それは英語を話すのと同じです。さらに、ここで取り上げるスクリプトの種類は非常にシンプル (コードは数行のみ) なので、コーディングの経験がまったくない人でもすぐに理解できるはずです。
Quicksilver でトリガーを割り当てる方法
Quicksilver は主にクイック アプリケーション ランチャーとして使用されますが、さまざまなことができます。それらの 1 つは、「トリガー」と呼ばれるものを割り当てることです。これは基本的にキーボード ショートカット、またはホットキーを表す派手な用語です。アプリを起動したり、iTunes を制御したり、その他のことを行うためのトリガーが多数組み込まれていますが、この記事の目的では、主にこれらのトリガーを使用してカスタム スクリプトを実行します。
このすべてを機能させるには、スクリプトを安全な場所に保存する必要があります。スクリプト用の特別なフォルダーをまだ持っていない場合は、作成することを強くお勧めします。私のドキュメントフォルダーには「Scripts」というフォルダーがあり、そこに、場所のないほとんどすべてのスクリプトをダンプします。ギークツール、ログイン項目、または Quicksilver にパイプする予定のこのようなものです。
スクリプトを作成して新しいホームに保存したら、Quicksilver を開いて設定に進みます (ドック アイコンがない場合があるため、ディスプレイの右上隅にある矢印を押す必要がある場合があります)。 。 「トリガー」タブに移動します。ほとんどのショートカットは、左側の「カスタム トリガー」という見出しの下にあります。プラス記号を押してホットキーを選択し、新しいショートカットを追加します。
次に、ショートカットの機能を説明するウィンドウが表示されます。これらすべての例では、スクリプトを実行するだけなので、上部のボックス (「項目の選択」というラベルが付いている) に先ほど書いたスクリプトの名前を入力するだけです。 [アクション] ボックスにはデフォルトで [実行] と表示されているはずなので、[項目の選択] ボックスに適切なスクリプトを入力したら、[保存] をクリックするだけです。トリガーリストに表示されることがわかります。
そのスクリプトにホットキーを割り当てるには、そのスクリプトのエントリの右端の部分 (現在「なし」と表示されている部分) をクリックします。表示される新しいペインで、[設定] タブをクリックし、[ホット キー] と表示されたボックスをクリックします。必要なキーボード ショートカットを入力し (他のものですでに使用されていないことを確認してください)、Quicksilver の環境設定を終了します。これで、希望のショートカットを使用してスクリプトを実行できるようになります。
この機能の私のお気に入りの使い方は、キーボードの一番上の行のキーにアクションを割り当てることです。 Apple が提供するオプションに満足できない場合は、[システム環境設定] > [キーボード] に移動し、[F1、F2 などのすべてのキーを標準のファンクション キーとして使用する] にチェックを入れることで、いつでも通常のファンクション キーとして機能させることができます。そうすることで、使用しない特定のファンクション キー (ダッシュボードを起動する F4 キーなど) を、役立つもの (コンピューターをスリープ状態にするなど) に再割り当てできます。これらのショートカットは、Mac 以外のキーボードのファンクション キーに通常のアクション (iTunes の制御、Exposé の起動、音量の変更など) を割り当てるのにも非常に役立ちます。これは、OS X ではファンクション キーが Apple キーボードと同じように扱われないためです。もちろん、どんなアクションでも、どんなショートカットでも割り当てることができます。それがカスタマイズです。
便利なスクリプトの例
AppleScript は多くのことを実行できますが、Quicksilver のトリガーに適した一般的なアクションがいくつかあります。これを使用すると、他のキーボード ショートカットをエミュレートして既存のショートカットをグローバルにしたり、1 ~ 2 回のキーストロークでより複雑なタスクを実行したりできます。以下に、独自のアクションのテンプレートとして機能するスクリプトの例をいくつか示します。
既存のキーボード ショートカットをエミュレートする
OS X のキーボード ショートカットの一部は、指の短い人にとって必ずしも使いやすいものではありません (Control+Command+Option+Eject?マジで?)。さらに、頻繁に実行する必要があるショートカットの場合は、毎日ストレッチをしたり複数のキーを押したりすることは望ましくありません。幸いなことに、これらのキーを押す小さなスクリプトを作成し、それを独自のより単純なホットキーに割り当てることができます。
Lifehacker で仕事をしていると多くのスクリーンショットを撮る必要があるため、Windows ベースのキーボードの Print Screen (別名 F15) ボタンを Hackintosh のクイック スクリーンショット キーに変更しました。スクリーンショットを撮るためのキーボード ショートカット (Shift+Command+4) がすでに存在するため、次のスクリプトを使用して、これらのキーを押すように OS X に指示するだけです。
tell application "System Events" key code 21 using {shift down, command down}end tell
システム イベントはキーストロークなどを処理します。key code 21
「4」キーを指します。必要なキーを入力するだけで済む場合もありますが (以下のセクションのミニ プレーヤー スクリプトを参照)、一部のキーではコードを使用する必要があります。をチェックしてくださいキーコードの完全なリストはこちら、またはダウンロード完全なキーコード自分で見つけてください。見つけることもできますApple の Web サイトにある既存のキーボード ショートカットの完全なリスト。
アプリ固有のショートカットをグローバルなショートカットに変える
一部のアプリには優れたショートカットが組み込まれていますが、グローバルに適用されません。つまり、ショートカットを使用できるようにするには、アプリにフォーカスが置かれている必要があります。これは多くのアプリ (音楽プレーヤーなど) にとって理想的ではないため、どのウィンドウにフォーカスがあるかに関係なくショートカットを実行する短いスクリプトを作成して、ショートカットをグローバルにします。
この良い例は、iTunes 以外の音楽プレーヤーを使用している場合です。 iTunesMac の再生ボタンと一時停止ボタンを乗っ取ります。そのため、次のようなアプリでトラックを再生、一時停止、スキップするための優れたグローバル キーボード ショートカットはありません。前に述べた クレメンタイン。したがって、AppleScript を使用して、次のスクリプトを使用してメニュー オプションを呼び出します。
tell application "System Events" tell application "Clementine" to activate tell process "Clementine" to click menu item "Previous Track" of menu "Music" of menu bar 1end tell
このメニュー バー オプションは Clementine がアクティブなウィンドウの場合にのみ使用できるため、最初に OS X に、activate
指示。次に、ショートカットに割り当てたいメニュー バー項目を Clementine から選択するだけです。この場合は、「ミュージック」メニューの「前のトラック」項目です。
Clementine は、音楽が再生されているかどうかに応じて、再生/一時停止のショートカットに再生または一時停止というラベルを付けるため、上記のアプローチは機能しません (スクリプトは「再生」または「一時停止」メニュー項目を選択するようにしか指示できないため) 。代わりに、Clementine の組み込みの非グローバル キーボード ショートカットを使用して、再生/一時停止機能をアクティブにします。したがって、特定のメニュー項目を選択するように指示する代わりに、Clementine にフォーカスし、再生/一時停止のショートカットである F6 キーを押すように OS X に指示します。
tell application "System Events" tell application "Clementine" to activate tell process "Clementine" to key code 97end tell
徹底的に説明するために、iTunes のミニプレーヤー バージョンとフル プレーヤー バージョンをすばやく切り替えるために使用する同様のスクリプトを次に示します。これは iTunes に焦点を当て、その組み込みショートカット Shift+Command+M を呼び出します。
tell application "System Events" tell application "iTunes" to activate keystroke "m" using {shift down, command down}end tell
「m」は実際には AppleScript によって認識されるため、そのキー コードを見つける必要がないことに注意してください。そのため、そのキーの入力をエミュレートするために使用するコマンドは次のとおりです。keystroke
とは対照的にkey code
、上記の 2 つの例で使用したように。
キーストロークでアプリを開始、フォーカス、終了する
のactivate
上で使用したコマンドは 2 つのことを行います。アプリが開いている場合はフォーカスし、開いていない場合はアプリを起動します。したがって、頻繁に開いたり閉じたりするアプリがある場合は、単純な AppleScript を作成することで、グローバル キーボード ショートカットを与えることができます。
tell application "Address Book" to activate
Quicksilver の組み込みの「開く」関数を使用して、トリガーでアプリを起動することもできますが、これにはもう少し効果があります。たとえば、ショートカット キーはアプリを開くだけでなく、すでに実行されている場合はそのアプリにフォーカスしたり最小化を解除したりするため、その特定のアプリにアクセスするためにキーボード上で移動できる場所は 1 つだけです。
ただし、このコマンドは、アプリを起動してすぐに終了する場合など、他のタスクと組み合わせる場合に非常に便利です。たとえば、私はコンピュータで AirMac カードを使用していません。代わりにUSB Wi-FIレシーバーを使用しています。これは問題ありませんが、Wi-Fi ネットワークに接続する場合はドライバー アプリを起動する必要があります。開いたままにしておく必要はありません。一度起動してドライバーをアクティブにしてから終了するだけで済みます。そこで、起動し、登録するまで数秒待ってから終了するこのスクリプトを作成しました。素早いキーボード ショートカットやログイン項目に最適です。
tell application "ASUSTek WLAN Client Utility" to activatedelay 5tell application "ASUSTek WLAN Client Utility" to quit
このシナリオでの AppleScript のもう 1 つの優れた用途は、nagware アプリを起動して「デモ」ボタンを押すことです。そうする必要はありません。例えば、前に述べた テキストエキスパンダー、起動時に、アプリの使用を開始する前に「デモ」ボタンを押す迷惑なウィンドウが表示されます。これを回避するには、次の AppleScript を使用します。
tell application "System Events" tell application "TextExpander" to activate key code 48 key code 48 key code 48 key code 48 key code 49 keystroke "w" using command downend tell
これにより、Tab キーを 4 回押して [デモ] ボタンに移動し、スペースキーを押して選択し、ウィンドウを閉じます。これを機能させるには、[システム環境設定] > [キーボード] で [すべてのコントロール] に移動するように Tab を設定する必要があることに注意してください。
一部のアプリでは、デモ ボタンを押すまでに数秒待つ必要があります。このような場合は、必要な秒数だけ待機する行を追加するだけです。たとえば、前に述べた ディヴィ3 秒待機する場合は、次のスクリプトを使用します。
tell application "System Events" tell application "Divvy" to activate delay 4 key code 48 key code 48 key code 48 key code 49end tell
これらのスクリプトをホットキーに割り当てると、自分でデモ ボタンを再度クリックする必要がなくなります。
現在ショートカットがない機能にショートカットを割り当てる
ここでの最後の、そして最も複雑な機能は、現在ショートカットがない (または上記の方法でエミュレートできないショートカットがある) アクションにショートカットを割り当てることです。例えば。キー入力でコンピューターをスリープ状態にできるようにしたいのですが、そのためのショートカットは Option+Command+Eject です。これは良いショートカットではありませんが、Eject キーのキー コードがないため、上記の方法を使用してそれをエミュレートし、より単純なホットキーに割り当てることはできません。代わりに、コンピュータを直接スリープ状態にする AppleScript を作成する必要があります。
tell application "Finder" to sleep
この方法には、もう少し AppleScripting の知識 (または、優れた Google 知識が必要です。検索して見つけました)sleep computer with an applescript
—しかし、単純なタスクを自動化するだけではうまくいかないということを念頭に置いておく価値があります。
コードを学習する気があれば、AppleScript を使用してかなりのことができますが、そうでない場合でも、かなり遠くまで到達できるいくつかの便利なコマンドを学ぶのは非常に簡単です。これまで OS X のキーボード ショートカット サポートに満足していなかった場合、この方法によりかなりの選択肢が開かれるはずです。 OS X 用のお気に入りのカスタム ショートカットはありますか?コメントで私たちと共有してください。