よるみる

Windows10でキーマップを変更しctrl + hjklでカーソルキー入力を実現する

Windows10でもMacのKarabinerのように気軽にキーマップを変更したい。

Ctrlキー+hjklでカーソルキー入力にしたい

私は昔からVimユーザーであることから、キーボード入力をMac環境では、Karabiner Elementsというアプリケーションを使用してCtrlキー + hjklキーを押すことでそれぞれ左下上右のキーに変換して使っています。また、USキーボードを使っており、Caps LockキーもCtrlキーに変更しているおり、Aキーの隣にCtrlがないと非常にキーボードでの作業が難しい体になってしまいました。

Windowsでも同じような環境を手に入れたく、試行錯誤をして、やっと設定が落ち着いたので備忘録も兼ねてまとめます。

Windowsで使ってるキーボードはREALFORCE R2 RGB TKL US R2TLA-US4G-BKという、静電容量無接点方式のUSキーボードです。

今回は、CapsLockキーを左Ctrlキーに変更し、Ctrlキー+hjklでカーソルキーを入力できるようにします。使うアプリケーションはChange KeyとAutoHotkeyの2つです。

CapsLockキーを左Ctrlキーに変更

使うアプリケーションはChange Keyというものを使用します。ctrl2capというアプリケーションも試してみたのですが、うまく動作せず、キーボード入力ができなくなったので、Change Keyを使用することにしました。

Change Keyをダウンロードしてきます。Windows10対応の記載がないですが、問題なく使用できました。

特にインストールなどする必要がないアプリケーションになります。キーボード入力に対してWindowsのレジストリを書き換える方式をとっているので管理者として実行をします。管理者として実行をすると下記のようなキーボードの配列出てくると思います。

変更方法はとてもシンプルで、変更したいキーをクリックします。

ChangeKey設定

すると、もう一つ別のキーボードの画面が出てくるので、ここから変更したキーを選びます。

ChangeKey設定

選び終わると最初の画面に戻ります。ここでウィンドウ上部の登録をクリックし、再起動をすれば設定したキー変更が反映されます。

これで、CapsLockキーを左Ctrlキーに変更を行いました。

Ctrl+hjklでカーソルキー入力を実現

次に、Ctrlキーとhjklキーそれぞれでカーソルキーを入力できるように変更を行います。AutoHotkeyというアプリケーションを使用します。AutoHotkeyのサイトからダウンロードしてインストールをします。

ダウンロードしてきたら、設定ファイルを記述します(拡張子は.ahkです、.txtではありません。)。設定ファイルの場所は好きな場所に置けば大丈夫です。私はドキュメントフォルダの下に「ctrl-arrow.ahk」という名前で作成しました。

AutoHotkeyでは^がCtrlキーを表すので、^jという部分がCtrl+jということになります。ここでは、Ctrl+jで下矢印キー{Down}を入力するように変更しています。それぞれ、hjklキーで設定を行えばOKです。

設定ファイルを記述したら、ファイルを右クリックをすると「Run Script」と出てくるのでクリックすると記述したスクリプトが有効になります。

autohotokey RUN SCRIPT

有効になっているのが確認できれば成功です。ただ、このままでは、Windowsを再起動するとスクリプトが動かないなので、Windows起動時にスクリプトが実行できるように設定を行います。

「Windowsキー + Rキー」を同時押しをして「ファイル名を指定して実行」を起動します。起動したら、入力できるボックスがあるので、そこに「shell:startup」と入力します。入力をしたら「OK」のボタンをクリックしましょう。

すると、写真のように「スタートアップ」というフォルダが開かれます。ここでは、フォルダに配置されているアプリなどをWindowsの起動時(ログイン時)に自動起動をしてくれる機能を持っています。

ですので、このフォルダの中に先ほど作成したアプリケーションのショートカットを入れればOKです。スクリーンショットのファイル名が違いますが、下記のように配置できればOKです。

あとは、再起動をしてスクリプトが動くか確認をしましょう。スクリプト実行時はWindowsツールバーのインジケーターが表示されるのでここで確認をすることができます。

さいごに

以上の設定でMacと同様にCtrl+hjklで、カーソルキーを入力することができるようになりました。この機能があることで様々なアプリでのタイピング速度を向上させることができますし、WindowsとMacで環境をある程度合わせることができ効率化が図れます。

過去に、USキーボードでスペースバーの両隣にあるAltキーでMacと同様に半角英数入力と日本語入力とを切り替える方法も記載してあるので興味のある人は設定を変更をしてみてください。ちなみに、今回設定したAutoHotKeyが後ろで動いています。

PC作業を日頃からしている人たちにとってはキーボード入力環境は一番に整備すべき問題ですので、このあたりをしっかり設定をしておくと良いかと思います。