AutoHotKeyでカーソル移動を気持ちよくした

AutoHotKeyインスコし、お気に入りの設定ファイルを作ったので記録。


なぜAutoHotKeyなのか

テキストファイル適当に書いただけで主にキーバインドを好きな設定にする事が出来てかなり便利。
ただ注意点として、ネット上にある中身の分からない設定ファイルをダウンロードしてきて開いたりすると、なにか仕込まれる可能性もあるのでその辺は要注意かもしれない。

自分で書いたもの、もしくはネット上にあるものを活用して自分で理解した上で使用するのが望ましいと思う。


ちなみに本記事とは別の内容ですが、自分は『CapsLock』を『Ctrl』へリマップした状態で使っていて、その前提で下記の内容は書いてます。
fx-testuser.hatenablog.com

やりたいこと

キーボードの矢印キーまで手を伸ばすのが非常に面倒くさい。
これを改善するための方法として、どこかのキーを押しながらあるキーを押す事によりカーソル移動を行えるようにしたいと考えた。

候補

伝統的なHJKL移動

「vi」開発者のビル・ジョイ氏が在籍していた当時、カリフォルニア大学バークレイ校に導入された端末がこちらの「ADM-3A」。
しかし現代的なPCと違い、この端末にはマウスがありません。カーソルの移動には現在のような専用のキーではなく「h・j・k・l」と同じキーを使っていました。

なぜVimのカーソル移動キーは「h・j・k・l」なのか? - DNAより

よく聞くキーバインドはこんな経緯があるらしいです。
ただ自分はVimerとかでは全く無いパンピードザーなので、これは慣れるまで大変そうという理由で保留。

PCゲーライクなIJKL移動


キーボード上でシミュレーションしてみるとこれが一番しっくりくる。
ホームポジションから手を動かさずにカーソル移動ができる至福。

J(左)を右人差し指
I(上)K(下)を右中指
L(右)を右薬指

これが最適だ…!
個人的に素晴らしく使いやすく、けっこう万人にとって使いやすいキーバインドじゃないだろうかと思う。

設定ファイル

見よう見まねで作ってみた。
ゲームしているときは念のためこのキーバインドが動作しないような制御を入れている。
結構同時押しとかが必要な場面も多く、変な動作しない為に…。

;参照 https://www.naporitansushi.com/autohotkey/

#InstallKeybdHook
;参照 http://ahkwiki.net/-InstallKeybdHook
#UseHook
;参照 http://ahkwiki.net/-UseHook

;ahk_exe ffxiv_dx11.exe起動時以外実行される
#IfWinNotActive,ahk_exe ffxiv_dx11.exe
;参照 http://ahkwiki.net/IfWinActive
	
	;■Ctrl+キー
	^i::Send {UP}
	^j::Send {LEFT}
	^k::Send {DOWN}
	^l::Send {RIGHT}
	
	^h::Send {PgUp}
	^;::Send {PgDn}
	
	^u::Send {HOME}
	^o::Send {END}
	
#IfWinNotActive

使用感はかなりイイ

やっぱりホームポジションでカーソル移動が出来るのはマジで正義だなと!
カーソル移動の為に右手をカーソルキーまで持っていっていたのが本当に勿体なかったと思う。
今、まさにこのキーバインドを設定した上でキーボードを打っているのだけど、ストレスがかなり減った。
これは是非試しに使ってみてほしい。

ただ注意点として、Ctrl+(IJKL + H; + UO)が使えなくなってしまうので使うソフトウェアによってはちょっと不便に思う場面もあるかなと。
まあそういったところはこれから使っていって、代替キーバインドなんかを考えればクリア出来る問題であると思うので、今この瞬間が快適であるのなら何ら問題がない。
問題が出てきたら潰す。事前準備とか検討なんかあったもんじゃない思考回路で、とりあえず使いながら設定ファイルを更新していく。
仕事で使うわけじゃないのでそれで良いのだ。

むすび

今回はあくまでキーバインドだけの為にAutoHotKeyを設定しました。
個人的にはこの用途だけで十分。

ただ、このアプリどうやらキーバインドだけにとどまらず何でも出来るらしい。
詳しくは下記を。
qiita.com