0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AutoHotkeyによるキーバインド設定について(Windows)

Posted at

はじめに

特定のキー組み合わせで上下左右キーが打てるキーボードありますよね。あれはかなり便利だと思います。しかし、違う環境の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があれば相対座標になるという順番で書かれています。

終わりに

かなり便利なので、ぜひ使ってみてください。自分が便利になる設定を探して、幸せになりましょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?