Windowsのキーボードに存在する右Altキー。全く使わないものの、ホームポジション上自然と親指が当たるところだし、位置的にはかなり美味しい。
そこで、特殊モディファイアーキーとして利用することで、幸せになれる使い道を考える。
幸せになれる使い道
唐突だが早速、右Alt + hjklで、どんなアプリケーションでもVim風にカーソル移動できるようにしよう。
Vim的カーソル移動の最大の利点はホームポジションから移動せずにカーソルを動かす事が出来る点にある。右Altは前述の通り親指で操作が可能なので、これが実現出来れば、矢印キーに指を持って行く必要が無くなる。
ノートPCならまだマシだが、以下の図のように、据え置きのフルサイズキーボード使ってるとカーソルが余りに遠い。
HHKBのような玄人キーボードはホームポジションから動かさずカーソル移動が出来るように考えられているが、アレはアレでユーザを選ぶ。
まあものは試しって事で、実際に設定してみよう。
実現方法
実現方法は、大きく分けて2ステップからなる。
- キーマッピングの変更
- Autohotkeyのスクリプト追加
右Altキーマッピングの変更
AltキーをAltキーのままにしておくと、hjklを押下したときに、Alt+hなど既にありそうなタダのキーボードショートカットが発火してしまう。ので、まずは右Altキーを、通常のキーボードレイアウトに存在しないキーコードに変えてしまおう。
オススメはChange Keyというツールを使う方法。詳しい人はレジストリから直接弄ってもいいです。(Change Keyを使っても結果的にレジストリが書き換わってるので、いずれも自己責任)
右Altを選んで、0xe059を直接入力する。
参考にさせて頂いたのはこちらのブログ。こちらの作者さんはIMEの切替キーとして利用されています。
再起動すると、右Altは0xe059として生まれ変わる。
Autohotkeyの設定
Autohotkeyのスクリプトに以下を書き込む。右Alt + Spaceで全角半角切替、というのも仕込んだが、こちらはあまり使っていない。
sc159 & h:: Send, {Blind}{left}
sc159 & l:: Send, {Blind}{right}
sc159 & k:: Send, {Blind}{up}
sc159 & j:: Send, {Blind}{down}
sc159 & Space:: Send, {vkF4sc029} ; 右Alt+Spaceで全角半角切替
これで、全てのツールをhjklで操作することができるようになった。矢印キーキャップは窓から投げ捨てよう。
なお、Autohotkeyを駆使すると、矢印キー以外にもホイールスクロールとか右クリックメニューとか設定できる。気がついたら私はここまでエスカレートしていた。ホイールスクロールは特にオススメ。
sc159 & 9:: Send, {Blind}{PgUp}
sc159 & 0:: Send, {Blind}{PgDn}
sc159 & `;:: Send, {Blind}{Home}
sc159 & ':: Send, {Blind}{End}
sc159 & /:: Send, {Blind}{Insert}
sc159 & ]:: Send, {Blind}{WheelDown}
sc159 & [:: Send, {Blind}{WheelUp}
sc159 & -:: Send, {Blind}{WheelLeft}
sc159 & =:: Send, {Blind}{WheelRight}
sc159 & o:: Send, ^{WheelDown}
sc159 & p:: Send, ^{WheelUp}
sc159 & ,:: Send, {Blind}{XButton1}
sc159 & .:: Send, {Blind}{XButton2}
sc159 & \:: Send, {AppsKey}
まとめ
Change KeyとAutohotkeyの組み合わせで、矢印キーを二度と触らなくても良くなる。
ついでにHome/Endとかホイールスクロールもホームポジションで制御出来るようになる。
そして、クリエイティビティ次第で、右Alt + 何か、という無限の可能性が生まれる。