会社支給のPCのNumLockが、意図せず解除されてしまう。
テンキーありのラップトップPCだが、BackSpaceとNumLockの間隔がほとんどなく、キーが小さいうえにキーストロークが浅い。理由としては何かのトラブルで勝手に解除されているとかではなく、単純にBackSpaceと一緒にNumLockを押下してしまっている模様。
タイピングの癖は変えられないし、NumLockを強制的にONで固定する方法も調べたが、PC起動時のON/OFF設定や、レジストリをいじる方法しか見つからなかった。
仕方なく、AutoHotkeyで無理矢理どうにかしてみたのでメモ。
環境
- Windows 10 Pro 64bit Version 1909
- AutoHotkey Version 1.1.32.00
AutoHotkeyのインストールと初期設定
導入済みなら不要だが、とりあえずインストールと初期設定の方法を書いておく。
インストール
Chocolateyを使って cinst -y autohotkey.portable
でインストールするのが手っ取り早い。
初期設定
スクリプトファイルを作成し、プログラムと関連付けしてスタートアップで起動できるようにする。
- スクリプトファイル
autohotkey.ahk
を任意の場所に作成する(実際は、名前も拡張子も任意でいい)。 - スクリプトファイルをダブルクリックして、
C:\ProgramData\chocolatey\bin\AutoHotkey.exe
と関連付ける - スクリプトファイルのショートカットをスタートアップに登録する
Windows +R
で「ファイル名を指定して実行」を開き、shell:startup
で開くのが手っ取り早い
NumLockのON固定AutoHotkeyスクリプト
さて本題。
やることは単純で、NumLockがOFFの場合のテンキー入力にフックをかけて、NumLockがONの場合と同じキー入力をさせればいい。
NumLockのON/OFFで操作が変わるのは、テンキーの0...9および.(ドット)。
キーリスト - AutoHotkey Wiki で確認し、以下をAutoHotkeyのスクリプトに記述すると、NumLockのON/OFFにかかわらず数字およびドットが入力できるようになった。
; NumLock OFF Remap NumpadDel::. NumpadIns::0 NumpadEnd::1 NumpadDown::2 NumpadPgDn::3 NumpadLeft::4 NumpadClear::5 NumpadRight::6 NumpadHome::7 NumpadUp::8 NumpadPgUp::9
振り返り
力技だが何とかなった。だいぶストレス軽減。
PowerToysにKeyboard Managerが追加され、そちらでもキーボードの再マップができる模様。
とはいえまだPowerToysは正式版ではないので、とりあえずは使い慣れたAutoHotkeyで対応しておく。
備忘
環境によってキー名が異なるかもしれない。キー名は以下をAutoHotkeyスクリプトに追加することで確認できる。
#InstallKeybdHook KeyHistory