【AutoHotkey】インストールと基本的なコードの書き方

アイキャッチ画像 AutoHotkey

どーもヤマジです。

突然ですが、ショートカットキー使ってますか?有名どころではCtrl+CとCtrl+Vのコピペのやつとかですかね。

普通は右クリックして、メニューを開いて、それから上から〇番目の項目をクリックして・・・みたいな作業もショートカットキーを使えば、文字通り近道して一瞬で完了してしまいます。

ただ、たくさんあるショートカットキーを片っ端から暗記するのは正直ダリィですよね。しかし、もしショートカットキーが自分の好きなように組めるとしたら・・・?

また、キーボードのキーの配置にイラっときたことありませんか?半角/全角キーの位置なんかは、キーボードの端っこにあるから、いちいち指を伸ばすのが正直億劫で、ザケンナコノヤローです。小指の直ぐ隣にあったらもっと便利ですよね。

今回の記事では、そんなオリジナルのショートカットキー作成やキーの割り当て変更が簡単にできてしまう「AutoHotkey」のインストール方法と基本的な使い方をご紹介します。是非、活用して快適で効率的なPCライフを手にしましょうや。

ダウンロード&インストール

これをやらにゃ何も始まりませんね。とはいえ、ダウンロードからインストールまで5分とかかりませんので、ご安心ください。


STEP.1
公式サイトでAutoHotkeyをダウンロード
まずこちらのサイトに行き、[Download]>[Download Current Version]をクリックしてAutoHotkeyのインストーラをダウンロードします。

AHK download1

AHK download2

STEP.2
AutoHotkeyのインストールを開始
「AutoHotkey_〇.〇.〇〇.〇〇_setup.exe」という実行ファイルのダウンロードが完了したら、ダブルクリックしてインストールを開始します。通常、「AutoHotkey_〇.〇.〇〇.〇〇_setup.exe」はダウンロードフォルダにダウンロードされています。

AHK doubleclick on installer

STEP.3
Express Installationを選択
インストール画面が表示されたら、[Express Installation]を選びます。

AHK EI click

STEP.4
インストールできたらExit
インストールはあっという間に終わり、以下のような画面が表示されますので、[Exit]を押します。ここまで合計で5分とかからないと思います。

AHK Exit click

インストール完了
これでお使いのパソコンでAutoHotkeyが使用できる状態になりました。

ホットキー/ショートカットキーを自作する

ahkファイルを作成・編集する

自分オリジナルのホットキー/ショートカットキーを作るために、まずは下準備です。以下の手順で、オリジナルのキーコードを書く土台となるahkファイル(AutoHotkeyスクリプトファイル)を作成し、それからahkファイルの編集画面を開きましょう。


STEP.1
ahkファイルを作成
まず適当なフォルダで[右クリック]>[新規作成]>[AutoHotkey Script]を選択してAutohotkey用のスクリプトファイル(ahkファイル)を作成します。

AHK ahk create script

MEMO
デスクトップなどにAutoHotkeyというフォルダを予め作っておいて、そこにahkファイルを作成すると後々管理しやすくなります。
STEP.2
ahkファイルの名前を決める
作成したファイルの名前はなんでも構いません。今回の例では単に「テスト.ahk」としておきました。

ファイル名

STEP.3
ahkファイルを編集する
STEP.1で作成したahkファイルを[右クリック]>[Edit Script]で編集画面を開きます。通常は、メモ帳でファイルが開かれます。

AHK ahk script right click edit


これで自分専用のホットキー/ショートカットキーを作る下準備が整いました。ここから実際に、オリジナルのホットキー/ショートカットキーのコードを入力していきます

基本的なコードの書き方1:
キーの入れ替えなどに有効

単純なものであれば

単純なコードの基本型
入力するキー::Send, {出力するキー}

で作れます。基本的には入力するキー出力するキーを好きなものに書き換えるだけでOKです。

この書き方は、あるキーを別のキーに置き換えたい時、例えば、aを押したらbが出るみたいなのをやりたい時に使います。aとbを入れ替えようとする場合は、先ほど開いたメモ帳に以下の通りに記述します☟

aを入力したらbが出力されるコード
a::Send, {b}

まぁ、こんなホットキーは実用性皆無なので、今実際にメモ帳に書いた方は消しちゃってください。ただ書き方はこれで何となく分かったかと思います。

では次は、もう少し実用的なコードの紹介しますので、初心者の人は是非ahkファイルを開いているメモ帳にお書きください。

どんなコードかというと、あのほとんど使い道のないCapslockキーを押したら、半角/全角キーとして使えるようにするというものです。ただ、キーの表記に関してはいくつかやり方がありまして、

CapLock→半角/全角キー 書き方1
CapsLock::Send, {vkF3sc029}

CapLock→半角/全角キー 書き方2
sc03A::Send, {vkF3sc029}

どちらの書き方でも同様に動作します。「vkF3sc029」は「半角/全角キー」を表しています。

sc○○というのはスキャンコードと呼ばれるもので、私の環境ではこっちで書いた方が動作が安定するので、個人的にはCapsLockキーに関してはスキャンコードを使用した書き方2を強くお勧めします

書き方2の方で記述すると(コピペしても構いません)メモ帳は↓のような見た目になっているかと思います。

キャップスロック 半角全角

ここまでできたら[ファイル]>[上書き保存]をします(または、Ctrl+sでも上書きできます)。新しいホットキーを追加したら、この上書き保存を絶対に忘れないようにしましょう

上書き保存

MEMO
ahkファイルをメモ帳で開くと”#NoEnv ; Recommended for~”という文言が最初の方に表示されると思いますが、注意書きみたいなものなので、消してしまっても大丈夫です。

ahkファイルを実行する/
実行中ahkファイルを再編集する方法

これをしないと、せっかくこしらえたホットキーが機能しません。


ahkファイルをダブルクリックして有効化
先ほど上書きしたahkファイルをダブルクリックして、自分が編集したホットキーを有効化します。

MEMO
何も問題なく実行されれば、Windowsの画面下部にあるタスクトレイにAutoHotkeyの緑のアイコンが表示されます。AHK icon on tasktray

実行中の自作キーをを再編集したいとき
タスクトレイ内のAutoHotkeyアイコンを[右クリック]>[Edit This Script]することで、スクリプトが再びメモ帳で開かれて、編集できます。

AHK ahk edit

注意
再編集後は、[右クリック]>[Reload This Script]を押してください。これをしないと編集内容が反映されません。AHK ahk reload

基本的なコードの書き方2:
2つのキー同時押しでコマンド実行

先ほどの例では入力キーは1つだけでしたが、2つのキーを同時押ししたら実行されるホットキーを作りたい場合は、書き方は以下のようになります。

2キー同時押し入力 書き方1
入力するキー1 & 入力するキー2::Send, {出力するキー}

入力するキー1と2の間に&を入れるだけで、同時押し入力という条件付けができます。

注意
ただ、この同時押し入力の場合「入力するキー1」に使用されるキーは通常の機能が無効化されるので注意が必要です。

例えば「a」を「入力するキー1」とした場合は、「a」を押しても「a」が出力されなくなるといった感じです。キー本来の機能が死んじゃうわけですね。

入力キー1を無効化したくない場合
通常の機能を残したまま同時押し入力をしたいときは、「入力するキー1」の前にチルダ(~)を加えます。
2キー同時押し入力 書き方2
~入力するキー1 & 入力するキー2::Send, {出力するキー}

こうすることで、元の機能を残しつつ同時押し入力を行うことができます。つまり「a」を「入力キー1」にしても、「a」はいつも通り使用できる、という具合です。

こちらの☟スキャンコードリストを参考しながら、上記コードの入力キー・出力キーを書き換えることでお好みのショートカットキーを作ることができます。

Windows起動時に自作したAutoHotkeyスクリプトが自動的に実行されるようにする

せっかく自作したホットキー/ショートカットキーでもWindows起動時にいちいち.ahkファイルをダブルクリックして実行するのは面倒ですよね。

Windows起動時に一緒に実行されるようにするにはスタートアップフォルダにに自動実行させたい.ahkファイルをぶち込むだけです。ただ、後々編集したいときなどにスタートアップフォルダまで行くのは、これもまた手間なので、スタートアップフォルダには.ahkファイル本体ではなく、そのショートカットファイルを入れておくと管理がしやすいです。

では順を追ってやり方をみていきましょう。


STEP.1
ショートカットを作成する
Windows起動と同時に実行したい.ahkファイルを選択した状態で、[右クリック]>[ショートカットの作成]をして、ショートカットを作ります。

AHK create shotcut

STEP.2
スタートアップフォルダを開く
キーボードの[Windowsキー]と[R]を同時押しして「ファイル名を指定して実行」を起動させ、表示されたウインドウに「shell:startup」を入力して[ok]をクリックするとスタートアップフォルダが開かれます。

AHK show startup

STEP.3
スタートアップフォルダにショートカットを移す
手順1で作成したショートカットをたった今開いたスタートアップフォルダにドラッグ&ドロップで移します。

AHK move shortcut

STEP.4
スタートアップフォルダにショートカットがあるか確認
スタートアップフォルダにショートカットがちゃんと移動できているか確認しましょう。AHK moved shortcut

設定完了です。これで次回からWindows起動時にショートカットと紐づけされている元の.ahkファイルが自動的に実行されるようになります。

MEMO
このやり方は、AutoHotkeyだけでなく、他のプログラムでも同様に使えるので、Windows起動時に実行したいものがあればご活用ください。

また、後々やっぱり自動実行させたくないと思ったら、Step.2の手順でスタートアップフォルダを開きショートカットを削除するだけです。そして削除されるのは、ショートカットだけなので、オリジナルの.ahkファイルがなくなってしまうことはありません。

おわりに

AutoHotkeyは慣れてしまえば、簡単に好きなショートカットなどを作ることができるので、自分のPC環境に合わせてカスタマイズすれば作業効率がバク上がりします。

if文などで条件を加えるとさらに、自由度が増すのですが、これはまた別の記事で書こうと思います。

今回紹介した基本的な書き方でも、入出力するキーの名称だけ知っていれば、結構色々なことができてしまいます。

キーの名称は、AutoHotkey Wikiのキーリストや私が別の記事で書いたスキャンコードリストで参照できます。また、修飾キーを使いこなせると、より使いやすいオリジナルのショートカットキーが作れます。

ぜひ自分色に染まったショートカットキーを量産して、快適なPC作業をご堪能ください。

それでは、最後まで読んでいただきありがとうございました。

5 COMMENTS

ナポリタン寿司

初めまして、こんにちは!
いきなりで申し訳ないんですが、質問がありコメントさせていただきます。

Windows+Vを、Ctrl2回押しに変更ってできますでしょうか…?

僕は、Clibor というクリップボード履歴のフリーソフトを利用していて、そちらのソフトの呼び出しキーがデフォルトでCtrl2回です。しかし、Ctrl2回押しに慣れないので、標準のクリップボード履歴を呼び出すキーのWindows+Vに割り当てれないかと思い質問させてもらいました。

【やりたいこと】
Windows+V → Ctrl2回押し

【初心者なりに考えて試したけどダメだったスクリプト】
# & v::Send, {^ & ^}
# & v::Send, ^ & ^
#v::Send, ^^
#v::Send, {Ctrl & Ctrl}
#v::Send, {Ctrl}{Ctrl}
{sc15B}v::Send, {sc01D} & {sc01D}
{sc15B}v::Send, {sc01D & sc01D}

お忙しいと思いますが、もしよろしければ教えてくださればと思います…。
最後に、とても便利なソフトを教えてくださりありがとうございます。

返信する
ヤマジ イサオ

はじめまして!!

初めてスパムではない日本語のコメントが来て感涙です(T.T)
しかも、当サイトの記事を読んだ上で、さらにご自身で試行錯誤されていて感激しました。

さて、お試しになった自作コードはどれも「Controlキーを2回同時に押す」というものだったので、正しく動作しなかったのかと思われます。また「^」は修飾キーとしてのControlで、これ単体では使うことはできず、「^」の後に通常のアルファベットキーなどが来なくてはなりません。「#」についても同様です。

したがって、文法的に合っているのは
#v::Send, {Ctrl}{Ctrl}
ですね。

ただ上述した通り、これだとWindowsキーとVを同時押ししたときに、Controlキーを2回同時に入力するということになります。

なので一つ目のControlキーを送ってから、そのあとさらに二つ目のControlキーを送るという風にすれば「Controlキーを2回連続で押した」ことになるはずです。以下にコードを書きましたので、コピペしてお使いのAutoHotkeyにコピペし、リロードしてからお使いください:
————————————-
#v::
Send, {sc01D}
Sleep, 100
Send, {sc01D}
return
————————————-
*最後の「return」もコピーしてください。

貴重なコメントをありがとうございました!
もし上に書いたコードが動作しなかったら(できれば動作しても笑)ご報告お願いいたします。

先ほど、この連続入力の方法についての記事を書きましたので、良ければご参照ください:
【AutoHotkey】時間差で連続入力するショートカットキー

返信する
ナポリタン寿司

返信遅くなりすみません!
僕は、初めてのコメント投稿で緊張で手ガクガクでした(笑)
とても分かりやすく詳しい解説で恐縮です…。

教えていただいたコードを早速試させていただきましたが、悔しいことにダメでした!悔しい!

【教えてくださったコードを参考にして、色々試したがダメだったコード】
#v::
Send, {Ctrl}
Sleep, 100
Send, {Ctrl}
return

#v::
Send, {LCtrl}
Sleep, 100
Send, {LCtrl}
return

#v::
Send, {LCtrl}
Sleep, 100
Send, {RCtrl}
return

#v::
Send, {sc01D}
Sleep, 100
Send, {sc11D}
return

【逆に成功したコード】
v::
Send, {sc01D}
Sleep, 100
Send, {sc11D}
return

(↓連続入力記事参考にさせてもらいました!すごいです!)
#v::
Send, あ
Sleep, 100
Send, い
return

なんと、Windows+Vではなく、V単体キーなら成功しちゃいました!

それがとたんにWindows+Vにすると動作しませんでした~…。
ただ、コード自体はエラーがでている様子もなく、なおかつ標準のクリップボード履歴のWindows+Vが起動しないので、Windows+Vが別の何かに置き換えられてはいると思われます…。そこで、「#v」以外の表現でWindows+Vができないか色々試してみました。

【#v以外で表現できないか試したけどダメだったコード】
{LWin}v
{LWin}{sc02F}
{sc15B}{sc02F}
{sc15B}v

これらは、そもそもエラーがでてコード実行できませんでした。

ただ、Windows+Vで時間差文字入力(あいうえお~など)は成功しましたし、単体キー(AやV)では成功したので、もぅCliborとの相性が悪いだけな気がしてきました…。

何にせよ、ここまでの領域と理解に及ぶことは絶対に1人じゃできなかったので、本当にオカメJPさん(ヤマジ イサオさん)には感謝しかないです…!!

余談ですが、現在は、Clibor の設定のほうでホットキーをCtrl+9(これは特に深い意味はありません)にして、そちらをAHKでWindows+Vに書き換えています。

【現在利用しているコード】
#V::Send, ^9

Cliborのほうで任意のホットキーを設定できるんですが、なぜかWindows+Vだけは設定できなかったんですよね…。(なんだか、ここに全ての答えが詰まってそうな感じ笑そもそも無理なのか…。)だからわざわざ二度手間ですが、Cliborの方で適当なホットキーに設定→AHKで書き換えという風にしています。

結局、最終的にWindows+Vに成功したので、何の問題もないと言われればそれまでなんですが、なーんかもやもやって感じでした(笑)

何はともあれ、試行錯誤する時間めっちゃくちゃ楽しかったです!
AHKの他の記事は皆さん上級者の方達ばかりで僕みたいな初心者は「???」状態だったんですが、オカメJPさんの記事はひじょーーーに分かりやすく解説されていてとても参考になりました!おかげで使わないInsertキーや右Ctrlキーをよく使うキー割り当てに成功しました。ありがとうございます。

それでは失礼します!長文失礼しました~

返信する
ヤマジ イサオ

お返事と詳細な情報をありがとうございます!!

成功例と失敗例、両方とも書いて下さりこちらも大変勉強になりました。一番最初に書いてくださった4つの失敗例は、文法的には合っている上、私の環境でも同様のコードを試した結果、いずれの場合も、しっかりCtrlキーが2回押されていましたので、仰る通りCliborとの相性のせいで上手くいかなかったのではないかと思います。Sleepの時間をもう少し長くしてみるとかも考えられますが、単体キーでは成功したということを鑑みるとやはり相性でしょうか。

AHKではなく、Cliborの設定のほうで元々のホットキーの組み合わせを変えたのは、素晴らしい発想の転換ですね!大抵はそこに至るまでに挫折して止めてしまう人がほとんどだと思います・・・!

ちなみにもう一つの失敗例
__________________________
【#v以外で表現できないか試したけどダメだったコード】
{LWin}v
{LWin}{sc02F}
{sc15B}{sc02F}
__________________________
ですが、これら{LWin}、{sc15B}は修飾キーではないので、別のキーと組み合わせるときは
{LWin} & v
{LWin} & {sc02F}
{sc15B} & {sc02F}

のように間に「&」を入れなくてはいけません。まぁでも入れても上記のコードは、なぜか私の環境では上手く動作しなかったんですが・・・。

なんにせよ、少しでも当ブログの情報がお役に立ったようで本当に嬉しいです!PV数を見るに、今までも閲覧者がそこそこいるのはデータ上分かっていましたが、本当に記事を読んで皆さんが思い思いのホットキーを作れるようになっているかは未知でしたので、ナポリタン寿司さんには大感謝です(TAT)

AHKの記事を書いている人の多くはプログラミングの知識があったりするので、結構説明が「ある程度わかる人向け」ですよね。私自身、オリジナルのホットキーを作りたくて色々記事を漁っているときに「むずっ!これ初心者の人絶対分からないんじゃ・・・」と思ったのがきっかけでAHK関連の記事を書き始めましたので、分かりやすいと言ってくださるととても嬉しいです・・・!

これからも出来る限り、多くの人に分かりやすい記事を書いていきたいと思います。

丁寧なお返事をどうもありがとうございましたm(_ _)m

返信する
ナポリタン寿司

こんばんはです。
(全然関係ないんですが、Twitterとかと違って、ブログのコメントの返信は通知来ないのが難しいとこですね…。

>間に「&」を入れなくてはいけません。
お、おぉお~。そうなんですね!またまた一つ勉強になりました。

>本当に記事を読んで皆さんが思い思いのホットキーを作れるようになっているかは未知でした
こんなに素晴らしく価値のある内容で、かつ初心者でも理解できる説明なので、きっと届いてると思います!僕もその一人です!

>「むずっ!これ初心者の人絶対分からないんじゃ・・・」と思ったのがきっかけ
そう思うだけじゃなくて、実際に初心者でも理解できる内容にしているのが素晴らしすぎます!

>これからも出来る限り、多くの人に分かりやすい記事を書いていきたいと思います。
無理だけはなさらずに頑張ってください!

今後も微力ですが応援しています!
お忙しいと思うので、返信は不要です!

本当にありがとうございました~。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)