はじめに
特定のキー組み合わせで上下左右キーが打てるキーボードありますよね。あれはかなり便利だと思います。しかし、違う環境のPCを使うとき、キーボードが異なるため使うことができません。また、vimやemacs, vscodeのエディタにはありますが、何らかの理由でエディタを変更したとき、使えません。新たに覚えなおすのは大変です。そこで、AutoHotkeyを用いたキーバインド設定を紹介します。
自分的なキーボードの不満
無変換キーと変換キーが全く使わないのにとても押しやすい位置にあります。これはもったいないので、これらのキーを使って便利にしようと思います。
AutoHotkey
AutoHotkeyは、スクリプトを書くことで、キーバインドを設定できるソフトです。キーバインド設定だけでなく、マウス操作、キー押下の時間、連打も設定できます。ウィンドウを作成することもできるので、簡単なGUIも作成できます。
簡単なキーバインド設定をするだけでもとても便利です。
AutoHotkeyの導入
1.AutoHotkeyのHPからInstallerをダウンロードしてインストール
2.適当なファイルを作成し、メモ帳などで編集してコードを記載、拡張子を変更するなどしてahkファイルを作成します
設定の紹介
キーボードの組み合わせの例です。
;;上下左右移動、無変換キーをScrollLockに割り当てた状態を想定
sc079 & l::Send, {Blind}{right}
sc079 & j::Send, {Blind}{left}
sc079 & i::Send, {Blind}{up}
sc079 & k::Send, {Blind}{down}
;;はコメントアウトです。この例では、sc079というのは変換キーのキーコードです。l, j, i, kはそれぞれそのキーのことです。変換キーとl, j, i, kキーが押されたとき、Send関数によって, の次のコードが読まれ、カーソルの上下左右を打つことができます。
ここで問題
変換キーと無変換キーは、キーボードドライバによって読み込まれないことがあります。
どうしようかと考えたときに、ChangeKeyというソフトを発見しました。
ChangeKey
レジストリを書き換えることでキー設定を変更するものです。今回はこれを使って、変換キーにScrollLockキーを割り当てました。
割り当て後のキー設定
;;上下左右移動、無変換キーをScrollLockに割り当てた状態を想定
ScrollLock & l::Send, {Blind}{right}
ScrollLock & j::Send, {Blind}{left}
ScrollLock & i::Send, {Blind}{up}
ScrollLock & k::Send, {Blind}{down}
;;単語移動と行頭末尾移動
ScrollLock & o::Send, {Blind}^{right}
ScrollLock & u::Send, {Blind}^{left}
;;マウスクリックとエンター
ScrollLock & Space::Send, {Blind}{Enter}
ScrollLock & w::MouseClick,left,,,,,D
ScrollLock & w Up::MouseClick,left,,,,,U
ScrollLock & R::MouseClick,right,,,,,D
ScrollLock & R Up::MouseClick,right,,,,,U
;;無変換キー+CTRLでマウス移動
ScrollLock & s:: MouseMove, -20,0,0,R
ScrollLock & f:: MouseMove, 20,0,0,R
ScrollLock & e:: MouseMove, 0,-20,0,R
ScrollLock & d:: MouseMove, 0,20,0,R
ScrollLock & z:: MouseMove, -400,0,10,R
ScrollLock & v:: MouseMove, 400,0,10,R
ScrollLock & c:: MouseMove, 0,-400,10,R
ScrollLock & x:: MouseMove, 0,400,10,R
Return
私の設定はこれになります。ScrollLockになっている変換キーを押しながら、& の後のキーを押すことでこの動作をします。MouseClickはマウスのクリックで、leftが左クリック、rightが右クリックです。Dが押下、Uが押した後上げる動作です。クリックなので、押して上げる必要があります。MouseMoveはマウス移動で、移動のx座標, y座標, 移動速度, Rがあれば相対座標になるという順番で書かれています。
終わりに
かなり便利なので、ぜひ使ってみてください。自分が便利になる設定を探して、幸せになりましょう。