AutoHotkeyでアプリ固有のホットキーを作成する方法|キーボード操作を自由にカスタマイズ
似たようなアプリなのに、同じ操作をするのに異なるキーの組み合わせを使わなければならないのは、イライラしませんか?さらに悪いことに、ソフトウェアが分かりにくいショートカットキーを使い続け、再マップするオプションすら用意していないこともあります。すべてのアプリケーションでキーボードの動作を完全にコントロールできたら素晴らしいと思いませんか?実は、AutoHotkeyを使えばそれが可能なのです。
AutoHotkeyを使えば、キーボード全体を再マップしたり、カスタムショートカットを作成したりできます。それも「グローバル」に適用することも、アプリケーションごとに個別に設定することも可能です。さらに、同じキーの組み合わせに対して、アプリごとに異なるテキスト文字列やテンプレート全体を割り当てることさえできます。必要なのはAutoHotkeyとテキストエディタだけ。メモ帳でも十分です。興味が湧きましたか?それでは早速始めましょう。
AutoHotkeyのWindow Spyを使ってみよう
近年、多くのキーボードにはカスタムショートカットやマクロを作成するための専用ソフトウェアが付属しています。しかし、AutoHotkeyは特定のキーボードに依存しないため、より汎用性が高いのが特徴です。
AutoHotkeyを使えば、「キーボードのカスタマイズ」が特定のキーボードに縛られることはありません。カスタマイズスクリプトを他のPCに持ち込んでも、カスタムのアプリショートカットやショートコードをすぐに動かせます。
この記事では実践的な内容に焦点を当てているため、AutoHotkey自体の詳しい入門が必要な方は、まず初心者向けのAutoHotkeyガイドをチェックしてみてください。
まず、AutoHotkeyの公式サイトからダウンロードしましょう。そして、他のアプリと同じようにインストールします。インストール後に起動する必要はありません。AutoHotkey用のスクリプトを実行すると、自動的に動き出します。それでは、スクリプトを作成しましょう。
AutoHotkeyをインストールしたら、スクリプトを作成したい場所(デスクトップやフォルダ内)で右クリックし、新規作成 > AutoHotkey Scriptを選択します。スクリプトに名前を付けてEnterキーを押します。

AutoHotkeyでは、どこでも有効な「グローバル」ショートカットも、アクティブなアプリケーションのウィンドウ内でのみ機能するアプリ固有のショートカットも作成できます。特定のアプリケーションを「ターゲット」にするには、スクリプト内でそのアプリを識別する必要があります。AutoHotkeyのWindow Spy機能がその助けになります。
空のスクリプトをダブルクリックして実行すると、AutoHotkeyも一緒に起動します。WindowsのタスクトレイにあるAutoHotkeyのアイコンを右クリックし、ポップアップメニューからWindow Spyを選択します。

アプリケーションをターゲットにするために必要な識別子を見つけるには、Window Spyを画面に表示したまま、対象アプリのウィンドウをクリックします。すると、Window Spyウィンドウの上部にahk_class、ahk_exe、ahk_pidのエントリが表示されます。この例では、人気のノートアプリ「Obsidian」をターゲットにしました。他のソフトウェアが似たahk_classやahk_pidを持つ可能性があるため、Window Spyに表示された通り、実行ファイルをターゲットとしてahk_exe Obsidian.exeを使用しました。

ターゲットが決まったら、いよいよスクリプトを書いていきます。
AutoHotkeyでスクリプトを作成しよう
スクリプトを右クリックしてEdit Scriptを選択すると、デフォルトのテキストエディタで開きます。ファイルには、互換性とパフォーマンスを助けるいくつかの値があらかじめ記述されています。これらは無視して、Enterキーを1〜2回押し、次の構文でアプリをターゲットに指定します。
#IfWinActive APP_IDENTIFIER
APP_IDENTIFIERを、Window Spyからコピーした実際のターゲットに置き換えてください。この例では次のようになります。
#IfWinActive ahk_exe Obsidian.exe

AutoHotkeyスクリプトを書く際、キーボードの修飾キーには次の記号を使用します。
- ! は Alt
- + は Shift
- ^ は Ctrl
- # は Windowsキー
実際のショートカットを作成する前に、スクリプトが選択したアプリケーションがアクティブなときにのみ動作することをテストしましょう。最も簡単な方法は、AutoHotkeyの「msgbox(メッセージボックス)」を使うことです。
アプリをターゲットに指定した行のすぐ下に、次のように入力します。
^a::
msgbox 動いた!
returnこれを平易な日本語に訳すと、次のようになります。
- キーボードでCtrl + Aが同時に押されたら…
- …画面に「動いた!」と表示するメッセージボックスを表示する。
- ユーザーがメッセージボックスを確認したら、元の状態に戻る。
スクリプトを実行し、キーボードでCtrl + Aを押しても、何も起こらないはずです。これは、特定のアプリケーションをターゲットにしているものの、まだそのアプリに切り替えていないためです。対象アプリのウィンドウをアクティブにして、同じキーの組み合わせを押すと、「動いた」というメッセージボックスがポップアップ表示されるはずです。

次に、別のアプリケーションに切り替えて、同じキーの組み合わせをもう一度試してください。今度は何も起こらないはずです。そうなれば、メッセージボックスがターゲットのアプリでのみ表示されることになり、これがこのスクリプトで実現したい結果です。
もしキーバインドが他のアプリに「漏れ」てしまう場合は、構文を再確認し、ターゲット指定にタイプミスがないかチェックしてください。
アプリごとのカスタムキーボードプロファイルを作る方法
AutoHotkeyを使えば、キーボードの各キーの動作を、単独でも組み合わせでも簡単に再マップできます。AキーとBキーを入れ替えたい場合、AutoHotkeyの構文では次のように書きます。
a::b
b::aしかし、おそらく個々のキーを再マップするのではなく、1つ以上の修飾キーを含む複数キーの組み合わせに特定のアクションを実行させたいはずです。
先ほどの例を発展させて、Ctrl+Aを押したときにBが表示され、逆にCtrl+Bを押したときにAが表示されるようにするには、次のようにします。
^a::b
^b::aもちろん、これは単なる例です。実際には、1文字入力するために複数のキーを押すのは非効率この上ありません。それよりも、キーの組み合わせにテキスト文字列を割り当てることで、テキスト入力を大幅に高速化できます。キーの組み合わせを押すと自分の名前やメールアドレスなどのテキストが入力されるようにするには、AutoHotkeyの「send」コマンドを使います。このコマンドは、その名の通り、後ろに続くテキスト文字列をアクティブなウィンドウに「送信」するようAutoHotkeyに指示します。実際には次のようになります。
^+O::
send Odysseas
return
上記のスクリプトでは、次のような処理が行われています。
- まず、Shift + Ctrl + Oが同時に押されたときに何かを実行するようAutoHotkeyに「指示」します。
- その「何か」とは、アクティブなウィンドウに文字列「Odysseas」(筆者の名前です)を送信することです。
- 最後に「return」で、「以上です、ありがとうAutoHotkey!」という意味を表します。

さまざまなキーの組み合わせを試して、AutoHotkeyに選択したアプリケーションへさまざまなテキスト文字列を送信させてみてください。同じスクリプトに複数のルールを記述できます。
キーの組み合わせでテキストを入力する方法は、名前やメールアドレスを素早く入力するのに便利です。しかし、通常のタイピングの流れの中では直感的とは言えません。しばらくすると、何十ものショートカットがそれぞれ何をするのか把握するのが難しくなります。そこで役立つのがテキスト展開(文字列置換)機能です。
AutoHotkeyでは、キーの組み合わせをテキスト文字列にマッピングする代わりに、ショートコードを定義できます。そして、そのショートコードが入力されたことを検出すると、自動的により長いテキスト文字列へと置き換えてくれます。設定はとても簡単です。
:*:MUO~::Make Use Of- 行頭の「:*:」は、これがテキスト展開ルールであることを示します。
- 次にショートコードが来ます。この例では「MUO~」です。
- ショートカットと同様に、「::」はこの文脈では「=」と論理的に同等の意味です。
- 最後の要素は、「MUO~」を置き換えたい実際のテキスト文字列です。
このルールにより、ターゲットのアプリでMUO~と入力するたびに、AutoHotkeyが自動的にMake Use Ofへと置き換えてくれます。
あるアプリケーション用のルールを定義し終えたら、まったく同じ方法で別のアプリケーションをターゲットにできます。再び「#IfWinActive APP_IDENTIFIER」を使って今度は別のアプリのウィンドウをターゲットにし、その下にそのアプリ用のルールを記述していきます。
これを好きなだけ繰り返して、アプリ固有のショートカットとショートコードのプロファイルを作成しましょう。
AutoHotkeyスクリプトは基本的にテキストファイルなので、こんな便利なアイデアもあります。他のスクリプトを自分のスクリプトに組み込み、それらもアプリ固有の動作にしてしまうのです。便利なAutoHotkeyスクリプト集をチェックして、気に入ったものを選びましょう。ただし、スタンドアロンのスクリプトとして使うのではなく、テキストエディタで開きます。
その内容をコピーして、自分のスクリプトのアプリターゲットセクションの下に追加します。スクリプトを保存して再実行すれば、理論上、ターゲットにしたアプリがアクティブなときに、それらのスクリプトが自分のスクリプトの一部として機能するはずです。
AutoHotkeyでキーボードをスマートに
長く使っていくうちに分かるでしょうが、こうしたスクリプトの作成は一度きりの作業ではなく、継続的なプロセスです。あなたのニーズやソフトウェアの使い方が変化すれば、スクリプトもそれに合わせて進化していきます。
スクリプトを拡張し続け、微調整を重ねていけば、やがてテックリテラシーの低いドラマに登場するハッカーのような気分を味わえるかもしれません。半ダースほどのキーと、自分だけが知る謎のキーの組み合わせを押すだけで、画面に魔法のようにテキストの壁が出現するのですから。
-
iPhoneのWi-Fi通話を使って電話をかける方法|設定手順をわかりやすく解説
キャリアの携帯電話回線に頼らずに通話やSMSの送受信を行いたいなら、「Wi-Fi通話(Wi-Fi Calling)」が非常に便利なソリューションです。 無料通話アプリを使えば無制限の通話や無料メッセージの送信も可能ですが、その場合でも携帯電話会社(キャリア)が仲介役として必要になります。一方、Wi-Fi通話なら、キャリアの電波が弱い場所でもWi-Fiにつながっていれば高品質な通話を実現できます。 特にリモートワーク中にチームメンバーとやり取りする際などに威力を発揮します。安定したWi-Fi環境があれば、クラウド電話システム経由でHD(ハイディフィニション)ボイスを利用でき、家族や友人との会
-
Excelで表(テーブル)を作成する方法|カスタマイズ手順を徹底解説
Excelでは、データ範囲を構造化された形式で整理するために表(テーブル)を作成する場面が多くあります。テーブルにしておけば、セルごとにいちいち書式を設定する手間が省け、すべてのデータが統一された形式で自動的に管理されます。 ここでは、1月に各都市で販売された商品とその数量をまとめたデータセットを使用して解説します。シート上のデータ自体は重要なものではありませんが、流れを理解しやすいようサンプルとして用意しました。 練習用ワークブックのダウンロード 記事を読みながら実際に操作を試したい方は、練習用ワークブックをダウンロードしてご活用ください。 Excelで表を作成する手順 すでに整理済みのデ