動機
Windowsで、キーボード入力をより素早くスムーズに行うために、できることはないか...?
キー入力の中で、BackSpaceキーは、よく使うのに、キーボードの右上の方にあってブラインドタッチが難しい...BackSpaceを押すときに手のポジションが崩れてしまいます。キーボード入力時に手を標準ポジションからなるべく動かしたくありません。LinuxのEmcasであれば、Ctrl+hでBackSpaceの挙動になり、手を標準ポジションから動かさないでBackSpaceが打てます。これをWindowsで、全アプリ共通で実現したいと思いました。
ただ、Ctrl+hはWindowsでは打ちにくいです(WindowsではCtrlキーが左下にあるため)。打ちにくいCtrlの代わりに左手の小指で簡単に打てるCapsLockを使い、CapsLock + hでBackSpaceの挙動にしたいです。
せっかくなので、他のEmacsショートカット(例えばCtrl + fでRightなど)も動くようにしたいです。
Step 1: Change Key
後のステップでAutoHotKey(ショートカットキーを設定できるソフト)を使用するのですが、AutoHotKeyは日本語キーボードでのCapsLockの扱いがうまくいかない問題(AutoHotkeyJpを参照)があり、これを回避するために、CapsLockキーを何か別のキーと置き換えておく必要があります。
ここでは、使う機会が少なそうなF24をCapsLockと置き換えることにしました。
Change keyを使って、以下の手順でCapsLockとAppsKeyを入れ替えます。
Change keyのダウンロード:
解凍後にChgKey.exeを管理者権限で実行します。自分の環境(言語設定が英語のWIndows 10)では文字化けしていましたが気にせず続ければOKでした。
以下のCapsLockをクリック:
続けて出る以下のダイアログでScan codeと書かれたキー(右上)をクリック。その後のダイアログでF24のスキャンコードである0076を入力。
F24のスキャンコードについては以下のページを参考にしました:
http://did2.blog64.fc2.com/blog-entry-349.html
次に、メニューから登録をクリックし、「現在の設定内容で登録します(R)」をクリック(ここで再起動が入るので注意)。
PCが再起動されます。以後、CapsLockとF24が入れ替わっています(Change Keyがレジストリの書き換えを行っています)。
Step 2: AutoHotKey
AutoHotKeyをダウンロードしてインストール:
Emcasのショートカットキー(例えばemacsのショートカットキー チートシート (Windows)を参照)を参考にショートカットキーの設定を追加していきます(ただし、Ctrlキーの代わりにCapsLockキーで)。
以下を設定することにしました:
キー | 機能 |
---|---|
CapsLock + h | BackSpace |
CapsLock + d | Delete |
CapsLock + m | Enter |
CapsLock + p | ↑ |
CapsLock + n | ↓ |
CapsLock + f | → |
CapsLock + b | ← |
CapsLock + a | Home(行頭へ移動) |
CapsLock + e | End(行末へ移動) |
CapsLock + g | Esc |
CapsLock + Space | 半角/全角(日本語切り替え) |
最後の日本語切り替えについてはEmacsのショートカットではなく、LinuxでCtrl + Spaceで日本語入力の切り替えができることから、このように設定しました。
テキストエディタを使って以下の内容のファイルを作成します:
+SC76::+CapsLock
SC76 & h::BackSpace
SC76 & d::Delete
SC76 & m::Enter
SC76 & p::Up
SC76 & n::Down
SC76 & f::Right
SC76 & b::Left
SC76 & a::Home
SC76 & e::End
SC76 & g::Esc
SC76 & Space::VKF4
SC76はScan code 76で、F24キーの意味です。
1行目の+SC76::+CapsLock
はShift + CapsLockでCapsLock状態のオンオフ切り替えを行えるよにするためです。
上記のファイルをダブルクリックした後、キーボードショートカットが有効になります。
あとはこのファイルをWindows起動時に自動実行されるようにしておけば良いです。Windowsキー + Rの後でshell:startup
とするとStartup
フォルダが開くので、その中に上記で作成したファイル(emcas.ahk
)を入れておけばOKです。