解決したい課題
テンキーで数値を入力しようとした際にNumLockキーがうっかり無効になっていると、代わりに方向キーやその他よく分からないキーが入力されてしまう。NumLockキーの状態にかかわらず数値を入力したい。
解決方法
NumLockキーが無効な間に入力されたキーを再割り当てし、あたかもNumLockキーが有効かのように数値が入力されたことにします。今回はAutoHotKeyで実現しました。AutoHotKeyをインストールして以下のようなスクリプトを書いて実行します。
NumpadRemap.ahk
*NumpadIns::Send {Numpad0}
*NumpadEnd::Send {Numpad1}
*NumpadDown::Send {Numpad2}
*NumpadPgDn::Send {Numpad3}
*NumpadLeft::Send {Numpad4}
*NumpadClear::Send {Numpad5}
*NumpadRight::Send {Numpad6}
*NumpadHome::Send {Numpad7}
*NumpadUp::Send {Numpad8}
*NumpadPgUp::Send {Numpad9}
テンキーからの入力は、メインのキーボードからの入力とは区別されます(AutoHotKeyにおけるキーコードとしてはNumpad~といった表記になります)。どのキーが何というキーコードであるかはテンキーによって(多分)異なります。確認するには、AutoHotKeyの実行ウィンドウから”View”→”Key history and script info”を選択し、キーコードを知りたいキーを押した後にF5キーで表示を更新すればOKです。
結果
NumLockキーが無効になっていても数値キーを押せば数値が入力されるようになりました。テンキー以外からの入力には影響しないため、これからはNumLockキーの存在は頭から消して大丈夫です!