AutoHotKeyでWindowsキーボードマッピング ~ 変換キーと 無変換キー で操作する ~

ホームポジションを崩さずにタイピングしたい
長年、Windows でキーボードのカスタマイズは CapsLock キーを Ctrl キーに置き換えるのみでした。
しかし、カーソルキーを操作するとホームポジションが崩れることがストレスに感じることが多くなってきたので、AutoHotKeyを用いてキーボードのカスタマイズを行ってみました。
カスタマイズした内容で5カ月ほど利用していますが、今のところ満足していますので、これからキーボードカスタマイズしようと考えている方は参考にしてみてください。
(2021/5/8 追記)Enter キーのショートカット割当追加
(2023/9/30 追記)日付の自動入力追加
(2025/4/12 追記)F1 ~ F12 キーのショートカット割当追加
キーボードカスタマイズの内容
考え方としてはホームポジションから遠い位置にあるキーを利用しなくてもいいようにします。
- CapsLock キー Ctrl キーとして利用する
- カーソルキーを 無変換キー + HJKL で操作する
- Home、End を無変換キー + AE で操作する
- Backspace、Delete を 無変換キー+ NM で操作する
- Enter を無変換キー + ;(セミコロン)や:(コロン)で操作する
- 単語単位のカーソル移動を 無変換キー + UI で操作する
- カーソル位置から行末まで切り取りを 無変換キー + O で操作する
- PageUp、PageDown を変換キー + JK で操作する
- Home、End を変換キー + HL で操作する
- Alt + ←、Alt + → を 変換キー + UI で操作する
- yyyymmddを無変換キー + D で自動入力
- yyyy-mm-ddを無変換キー + F で自動入力
- hh:mi:ssを無変換キー + T で自動入力
- F1 ~ F12を無変換キー + 1 ~ 12 で操作する
- 変換キー、無変換キーで IME のオン・オフを切り替える
実現方法の概要
ショートカットキーの割当方法として、CapsLock キーを F13 キーに割り当てて、「F13+○キー」の方法がよく紹介されていたので、一度試してみたのですが、長年 CapsLock キーを Ctrl キーとして利用し、その操作に慣れてしまったので、CapsLockキーを用いたショートカットキーの割当は私にはあっていませんでした。
そこで、CapsLockキーの代わりに目をつけたのが「無変換キー」と「変換キー」です。
CapsLockキーよりも親指で押しやすい位置にある「無変換キー」や「変換キー」を用いたショートカットキーは5ヶ月ほど利用していて、手に負担のないい位置にあることも実感していますのでおすすめのキーです。
「無変換 キー」と「変換キー」 + ○ キーのようなショートカットキーを作成することで、ホームポジションから遠い位置にあるキーに手を伸ばさなくても良いようにしていきます。
利用するソフトウェア
- ChangeKey
- AutoHotKey
ChangeKey のインストールと設定手順
ChangeKey とは
キーボードの各キーを別のキーに割り当てることができるソフトです。
レジストリを変更しますのでソフトに依存せずにカスタマイズできるのが良いところです。
ChangeKey でやりたいこと
- CapsLock キーを Ctrl キーに割り当て
カーソルキーの操作とは直接関係ないですが、Ctrlキーがキーボードの左下にあるのは、長時間操作していると小指に疲れが溜まってきてしまうので、ほとんど利用価値のないCapsLockキーにはCtrlキーとして働いてもらうことにします。
他にも、「カタカナ、ひらがな、ローマ字」キーなども別のキーに割り当てるなどを行ってみても良いかもしれません。
例えば、Escキーも遠い位置にありますので「カタカナ、ひらがな、ローマ字」キーをEscキーに割り当ててみても使いやすかもしれません。
ChangeKey のインストール手順
以下のリンクからChangeKeyをダウンロードします。
ファイルをダウンロードし、適当なディレクトリに展開します。
ChangeKey の設定手順
ChangeKey はレジストリへ登録しますので「管理者として実行」する必要があります。

起動するとこのようなキーボードの画面が表示されます。

CapsLock キーを Ctrl キーに割り当て
CapsLock キーを選択すると、以下のように青枠で囲まれた状態になります。

変更したいキーである「Ctrl 左」キーを選択します。

レジストリに登録する
[登録] – [現在の設定内容で登録します]をクリック

レジストリ登録後に再起動することでキー設定が反映されます。
AutoHotKey のインストールと設定手順
AutoHotKey とは
ショートカットキーの作成やマウス操作をキーボードで操作することもできるソフトです。
AutoHotKey でやりたいこと
AutoHotKey を利用して、「無変換キー」 + ○ キーや「変換キー」+○キーの各ショートカットを登録します。
具体的には、以下の内容を登録していきます。
- カーソルキーを 無変換キー + HJKL で操作する
- Home、End を無変換キー + AE で操作する
- Backspace、Delete を 無変換キー+ NM で操作する
- Enter を無変換キー + ;(セミコロン)や:(コロン)で操作する
- 単語単位のカーソル移動を 無変換キー + UI で操作する
- カーソル位置から行末まで切り取りを 無変換キー + O で操作する
- yyyymmddを無変換キー + D で自動入力
- yyyy-mm-ddを無変換キー + F で自動入力
- hh:mi:ssを無変換キー + T で自動入力
- F1 ~ F12を無変換キー + 1 ~ 12 で操作する
- PageUp、PageDown を変換キー + JK で操作する
- Home、End を変換キー + HL で操作する
- Alt + ←、Alt + → を 変換 キー+ UI で操作する
AutoHotKey のインストール
以下のリンクから AutoHotKey をダウンロードします。
ダウンロードしたファイル(AutoHotkey_1.1.33.02_setup.exeなど)を実行しインストールします。
AutoHotKey の設定手順
AutoHotKeyは拡張子が「ahk」のテキストファイルを作成し設定します。(keysetting.ahk など)
基本的には[実際に押すキー]::[変換したいキー]で設定します。
「無変換キー」+ ○のように複数の組み合わせの場合は、「&」で結合し設定します。
#Include, IME.ahk
; =================================================
; 利用するキーコード
; sc079 : 変換
; sc07B : 無変換
; sc027 : ;
; sc028 : :
; =================================================
; 変換・無変換の単発押し本来の機能にする
sc07B::sc07B
sc079::sc079
; =============================================
; 無変換キーをベースとしたショートカットキー割当
; =============================================
; ----------------------------------
; カーソル移動
; ----------------------------------
sc07B & h::Left
sc07B & j::Down
sc07B & k::Up
sc07B & l::Right
; ----------------------------------
; Home/End/BS/Del/Esc
; ----------------------------------
sc07B & a::Home
sc07B & e::End
sc07B & n::BS
sc07B & m::Del
sc07B & s::Esc
; ----------------------------------
; コロンとセミコロンをEnter
; ----------------------------------
sc07B & sc027::Enter
sc07B & sc028::Enter
; ----------------------------------
; カーソル位置から行末まで削除
; ----------------------------------
sc07B & o::Send,{Shift Down}{End}{Shift Up}{Del}
; ----------------------------------
; 単語選択
; ----------------------------------
sc07B & w:: Send ^{Left}+^{Right}
; ----------------------------------
; word jump
; ----------------------------------
sc07B & u:: Send ^{Left}
sc07B & i:: Send ^{Right}
; ----------------------------------
; 日付入力(yyyyMMdd)
; ----------------------------------
sc07B & d::
DateTimeString = A\_Now
FormatTime, DateTimeString, DateTimeString, yyyyMMdd
ime_mode := IME_GET()
IME_SET(0)
Send,%DateTimeString%
IME_SET(ime_mode)
return
; ----------------------------------
; 日付入力(yyyy-MM-dd)
; ----------------------------------
sc07B & f::
DateTimeString = A\_Now
FormatTime, DateTimeString, DateTimeString, yyyy-MM-dd
ime_mode := IME_GET()
IME_SET(0)
Send,%DateTimeString%
IME_SET(ime_mode)
return
; ----------------------------------
; 時刻入力(HH:mm:ss)
; ----------------------------------
sc07B & t::
DateTimeString = A\_Now
FormatTime, DateTimeString, DateTimeString, HH:mm:ss
ime_mode := IME_GET()
IME_SET(0)
Send,%DateTimeString%
IME_SET(ime_mode)
return
; ----------------------------------
; VSCodeの対応する括弧へジャンプ(Ctrl+Shift+\)
; ----------------------------------
sc07B & y::^+\
; ----------------------------------
; 無変換キー (sc07B) を修飾キーとして使い、1〜^ で F1〜F12 を送信
; ----------------------------------
sc07B & 1::F1
sc07B & 2::F2
sc07B & 3::F3
sc07B & 4::F4
sc07B & 5::F5
sc07B & 6::F6
sc07B & 7::F7
sc07B & 8::F8
sc07B & 9::F9
sc07B & 0::F10
sc07B & -::F11
sc07B & ^::F12
; =============================================
; 変換キーをベースとしたショートカットキー割当
; =============================================
; ----------------------------------
; 先頭行、最終行へジャンプ
; ----------------------------------
sc079 & h::^Home
sc079 & l::^End
; ----------------------------------
; ページダウン、ページアップ
; ----------------------------------
sc079 & j::PgDn
sc079 & k::PgUp
; ----------------------------------
; Alt+カーソル
; ----------------------------------
sc079 & u::!Left
sc079 & i::!Right
無変換キーと変換キーはIME の ON/OFF 機能として利用したいため、元々の機能である無変換キーや変換キーとして動作させる設定にしています。
(単独で押された場合はそのキーとして動作するようにしている)
AutoHotKey を自動起動するようにする
作成した○○.ahkファイルをダブルクリックで設定できるのですが、OSの再起動の都度実行するのが面倒なので、スタートアップに登録します。
スタートアップへの登録は次の手順で実行します。
Windowsキー + R で「ファイル名を指定して実行」画面を表示し「shell:startup」と入力しEnterキーでスタートアップのフォルダが表示されます。
スタートアップのフォルダに○○.ahkのショートカットファイルを配置しておくとWIndows起動時に実行されますので、設定したキー割り当てが有効になります。
変換、無変換キーで IME のオン・オフを切り替える
左上の方にある「半角/全角/漢字」キーは遠い上にトグルボタンのようにONとOFFが交互に切り替わるキーになっています。
IMEオンとオフを別々のキーに割り当てるとで現在IMEがオンなのかオフなのかを気にする必要がなくなりストレスも少なくなります。
そして、この無変換、変換キーへの割り当てはMicrsoft IME の場合は、Windows の設定で簡単に設定できます。
Windows の設定を開く
Windows メニューから設定ボタン(歯車ボタン)をクリック
または
WIndowsキー + I

日本語 IME の設定
検索ボックスで「ime」で検索し、「日本語 IME の設定」を開く

キーとタッチのカスタマイズを選択

無変換キー、変換キーに割り当てる

- 無変換キーを「IME-オフ」
- 変換キーを「IME-オン」
に設定する
まとめ
コーディングや文章ファイルの作成などキーボードは常に使うものですので、少しでも負担を少なくしたいものです。
今回は、私の設定方法をご紹介しましたが、自分のPCや手のサイズに合ったカスタマイズ方法を模索してみたはいかがでしょうか。