AutoHotKey というフリーソフトは昔からよく知っていたものの、自分には HotkeyP があったので特に乗り換え先を考える必要もなかったので触っていませんでした。
…のだけど、Windows 11 のどこかの更新タイミングでついに HotkeyP で動作しない機能が発生し始めたのを受け、AutoHotKey の使い方を知るついでにすべての設定を移管しました。
ちなみに上記の件は、その後
- 特定のアクションで超ビミョ~に僕が所望する挙動にならなかったものがある
- Windows 側の一時的な問題だったらしく、HotkeyP でまた正常動作するように戻った
という 2 つの理由もあって HotkeyP に戻しているものもあります。あとでちょっとだけ触れます。
というわけで、いままでのカスタマイズ記事のような「だいたい使い方は全部把握している中から面白いものをピックアップして紹介するよ」というよりかは「HotkeyP で設定していたもの+α 程度を紹介するよ」なので、比較的小規模な記事です。
設定項目めもリスト
書き方がわかる程度に基本的な記述に小分けしつつ、実際に使っているユースケースもコメントで併せて紹介していくスタイルにしています。
それぞれ関連するリファレンスの URL を掲載していますが、バージョンはすべて 1 系です。
単純なキー置換
; Ctrl + Shift + C を Shift + Alt + M にする
^+c::Send, +!m
; Insert キーでウィンドウを閉じる
Insert::WinClose, A
; Alt + A で Win + T(タスクバー上の要素選択モード)にする
!a::Send, #t
; アンダースコアを Shift なしで入力
vkE2::_
メインユースケースと思われる単純なキー置換。
Send
コマンドを使うか使わないかの選択は「修飾キー(CtrlとかShift とかのこと)があるかないか」ととりあえず思っておけば問題ないです。
一番最初の「Ctrl+Shift+C をShift+Alt+M にする」は、特定のアプリケーションで多用するアクションがたまたまShift+Alt+Mだったので左手だけでさくっと押しやすいものを変えたのが使い始めたきっかけなんですが、以来これを好んで色んなアクションを割り当てています。
最後の例のように、アンダースコアを入力できるキーは Windows の標準状態だとバックスラッシュ→円マークになってしまって正常にセッティングできないことが多いです。その解決のため、AutoHotKey ではキー名を ID のようなもので指定できるようになっています。
ちなみに HotkeyP では基本的に回避策がないのでこれは僕にとってかなりラッキーでした(仕事柄アンダースコアはめちゃくちゃ多用するので Shift は外したい)。
パスを開く
; Alt + D で特定のディレクトリをエクスプローラーで開く
!d::Run, C:\Users\user\Downloads
; Win + q でメモ帳を開く (Mac 互換)
#q::Run, C:\Users\user\AppData\Roaming\Mery\Mery.exe
これもよく使う系かと。
Windows はとりあえず URI (ウェブの URL やファイルパスなどアドレスを示すもののこと) を入力して実行できる何らかの機能さえあればあとは勝手に適切なものが開かれてくるのはいいところですよね。
マウスクリックをする
; 無変換キーを左クリックにする
sc07B::Click, LEFT
; かなひらキーを左クリックににする
sc070::Click, LEFT
- https://www.autohotkey.com/docs/v1/lib/Click.htm
- https://www.autohotkey.com/docs/v1/lib/MouseClick.htm
マウス系はわかりやすいので簡単です。
特定のアプリケーションのときだけ◯◯する
; エクスプローラーでタブ操作用のキー置換をセットする
#IfWinActive, ahk_class CabinetWClass
^]::Send, ^t
!]::Send, ^w
^PgUp::Send, ^+{Tab}
^PgDn::Send, ^{Tab}
#IfWinExist
おそらく AutoHotKey を使いたい一番の理由はここにあると思います。これができるキー置換ソフトは少なくとも多くはないのでとても助かる。
上の例はエクスプローラーがアクティブであるときのみキー置換を適用させるコマンドです。エクスプローラーはウィンドウのタイトルが定まらなかったりするせいで通常の指定が難しく、「ウィンドウクラス」というものの種別を指定するのがベストプラクティスとされています。
ちなみに実際の置換部分については、僕は「タブがあるものはすべて同じキー操作でタブ遷移できるようにする」と決めているのでそれが打ち込まれています。割愛していますが、同じセッティングでアプリケーション違いのものを色々設定しています。
ウィンドウ制御系
; Win + Tab でアクティブウィンドウを最小化する
#Tab::WinMinimize, A
「ウィンドウを最小化する」をどう使っているかは HotkeyP の記事でも紹介していますのでぜひ。Mac を母艦機にしたくない数少ない理由といってもいいくらい好き。
で、これが冒頭で話していた「ビミョ~~~に期待する挙動と違った」の件なんですけど、端的にいうと「ごくわずかなシーンでのみ最小化後にアクティブ化される予定のウィンドウにフォーカスが当たらないことがある」という感じになります。あまりに細かい話なのでこれ以上はここでは控えておきます。
とりあえず言えることは、もしこれをやりたい場合「試してみて特に不都合を感じなければそのまま AutoHotKey を使い問題を感じたら HotkeyP に乗り換える」ということくらいでしょうか。
その他の操作
; Ctrl + Shift + Win + ¥(便宜上円マークにしてますがバックスラッシュです)
; で PC をスリープさせる
^+#\::DllCall("PowrProf\SetSuspendState", "int", 0, "int", 0, "int", 0)
- https://www.autohotkey.com/docs/v1/lib/DllCall.htm
- https://www.autohotkey.com/docs/v1/lib/Shutdown.htm
毎日朝起きてまずやることは PC を起動すること、寝る直前にやる最後のことは PC をスリープさせることです。
つまり 1 つのマシンのつきに 1 日 1 回は必ず行う操作なわけで(つまり僕の場合だと最低 3 回!)、これはキーだけでできるようにしたくてずっとこうしています。
おわりに
小さめな記事でした!
技術ブログに投稿してもいいかなと思ったけど、フリーソフト関連はみるめもに既に記事がいっぱいあるのでこちらにしました!
おわり!