どーもヤマジです。
突然ですが、ショートカットキー使ってますか?有名どころではCtrl+CとCtrl+Vのコピペのやつとかですかね。
普通は右クリックして、メニューを開いて、それから上から〇番目の項目をクリックして・・・みたいな作業もショートカットキーを使えば、文字通り近道して一瞬で完了してしまいます。
ただ、たくさんあるショートカットキーを片っ端から暗記するのは正直ダリィですよね。しかし、もしショートカットキーが自分の好きなように組めるとしたら・・・?
また、キーボードのキーの配置にイラっときたことありませんか?半角/全角キーの位置なんかは、キーボードの端っこにあるから、いちいち指を伸ばすのが正直億劫で、ザケンナコノヤローです。小指の直ぐ隣にあったらもっと便利ですよね。
今回の記事では、そんなオリジナルのショートカットキー作成やキーの割り当て変更が簡単にできてしまう「AutoHotkey」のインストール方法と基本的な使い方をご紹介します。是非、活用して快適で効率的なPCライフを手にしましょうや。
ダウンロード&インストール
これをやらにゃ何も始まりませんね。とはいえ、ダウンロードからインストールまで5分とかかりませんので、ご安心ください。
ホットキー/ショートカットキーを自作する
ahkファイルを作成・編集する
自分オリジナルのホットキー/ショートカットキーを作るために、まずは下準備です。以下の手順で、オリジナルのキーコードを書く土台となるahkファイル(AutoHotkeyスクリプトファイル)を作成し、それからahkファイルの編集画面を開きましょう。
基本的なコードの書き方1:
キーの入れ替えなどに有効
キーの入れ替えなどに有効
単純なものであれば
入力するキー::Send, {出力するキー}
で作れます。基本的には入力するキーと出力するキーを好きなものに書き換えるだけでOKです。
この書き方は、あるキーを別のキーに置き換えたい時、例えば、aを押したらbが出るみたいなのをやりたい時に使います。aとbを入れ替えようとする場合は、先ほど開いたメモ帳に以下の通りに記述します☟
a::Send, {b}
まぁ、こんなホットキーは実用性皆無なので、今実際にメモ帳に書いた方は消しちゃってください。ただ書き方はこれで何となく分かったかと思います。
では次は、もう少し実用的なコードの紹介しますので、初心者の人は是非ahkファイルを開いているメモ帳にお書きください。
どんなコードかというと、あのほとんど使い道のないCapslockキーを押したら、半角/全角キーとして使えるようにするというものです。ただ、キーの表記に関してはいくつかやり方がありまして、
CapsLock::Send, {vkF3sc029}
sc03A::Send, {vkF3sc029}
どちらの書き方でも同様に動作します。「vkF3sc029
」は「半角/全角キー」を表しています。
sc○○というのはスキャンコードと呼ばれるもので、私の環境ではこっちで書いた方が動作が安定するので、個人的にはCapsLockキーに関してはスキャンコードを使用した書き方2を強くお勧めします。
書き方2の方で記述すると(コピペしても構いません)メモ帳は↓のような見た目になっているかと思います。
ここまでできたら[ファイル]>[上書き保存]をします(または、Ctrl+sでも上書きできます)。新しいホットキーを追加したら、この上書き保存を絶対に忘れないようにしましょう。
ahkファイルを実行する/
実行中ahkファイルを再編集する方法
実行中ahkファイルを再編集する方法
これをしないと、せっかくこしらえたホットキーが機能しません。


基本的なコードの書き方2:
2つのキー同時押しでコマンド実行
2つのキー同時押しでコマンド実行
先ほどの例では入力キーは1つだけでしたが、2つのキーを同時押ししたら実行されるホットキーを作りたい場合は、書き方は以下のようになります。
入力するキー1 & 入力するキー2::Send, {出力するキー}
入力するキー1と2の間に&を入れるだけで、同時押し入力という条件付けができます。
例えば「a」を「入力するキー1」とした場合は、「a」を押しても「a」が出力されなくなるといった感じです。キー本来の機能が死んじゃうわけですね。
~入力するキー1 & 入力するキー2::Send, {出力するキー}
こうすることで、元の機能を残しつつ同時押し入力を行うことができます。つまり「a」を「入力キー1」にしても、「a」はいつも通り使用できる、という具合です。
こちらの☟スキャンコードリストを参考しながら、上記コードの入力キー・出力キーを書き換えることでお好みのショートカットキーを作ることができます。
Windows起動時に自作したAutoHotkeyスクリプトが自動的に実行されるようにする
せっかく自作したホットキー/ショートカットキーでもWindows起動時にいちいち.ahkファイルをダブルクリックして実行するのは面倒ですよね。
Windows起動時に一緒に実行されるようにするにはスタートアップフォルダにに自動実行させたい.ahkファイルをぶち込むだけです。ただ、後々編集したいときなどにスタートアップフォルダまで行くのは、これもまた手間なので、スタートアップフォルダには.ahkファイル本体ではなく、そのショートカットファイルを入れておくと管理がしやすいです。
では順を追ってやり方をみていきましょう。

また、後々やっぱり自動実行させたくないと思ったら、Step.2の手順でスタートアップフォルダを開きショートカットを削除するだけです。そして削除されるのは、ショートカットだけなので、オリジナルの.ahkファイルがなくなってしまうことはありません。
AutoHotkeyは慣れてしまえば、簡単に好きなショートカットなどを作ることができるので、自分のPC環境に合わせてカスタマイズすれば作業効率がバク上がりします。
if文などで条件を加えるとさらに、自由度が増すのですが、これはまた別の記事で書こうと思います。
今回紹介した基本的な書き方でも、入出力するキーの名称だけ知っていれば、結構色々なことができてしまいます。
キーの名称は、AutoHotkey Wikiのキーリストや私が別の記事で書いたスキャンコードリストで参照できます。また、修飾キーを使いこなせると、より使いやすいオリジナルのショートカットキーが作れます。
ぜひ自分色に染まったショートカットキーを量産して、快適なPC作業をご堪能ください。
それでは、最後まで読んでいただきありがとうございました。
初めまして、こんにちは!
いきなりで申し訳ないんですが、質問がありコメントさせていただきます。
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とかと違って、ブログのコメントの返信は通知来ないのが難しいとこですね…。
>間に「&」を入れなくてはいけません。
お、おぉお~。そうなんですね!またまた一つ勉強になりました。
>本当に記事を読んで皆さんが思い思いのホットキーを作れるようになっているかは未知でした
こんなに素晴らしく価値のある内容で、かつ初心者でも理解できる説明なので、きっと届いてると思います!僕もその一人です!
>「むずっ!これ初心者の人絶対分からないんじゃ・・・」と思ったのがきっかけ
そう思うだけじゃなくて、実際に初心者でも理解できる内容にしているのが素晴らしすぎます!
>これからも出来る限り、多くの人に分かりやすい記事を書いていきたいと思います。
無理だけはなさらずに頑張ってください!
今後も微力ですが応援しています!
お忙しいと思うので、返信は不要です!
本当にありがとうございました~。