Windowsログオン時にテンキーが使えるようにレジストリでNumLockを有効にする

目次

PC起動時にNumLockを強制的にONにしたい

起動時のNum Lockキーが無効になっているテンキー付きのWindowsパソコンでログオンパスワードを入力しようとするとき、いつもNum Lockをオンにすることを忘れていて、テンキーで入力したつもりが入力されていなかったことに気づいたとき、イラっとすることがあります。

そんなときにあらかじめBIOS(UEFI)で起動時のNum Lock有効をオンにすればいいのですが、最近のパソコンの中にはBIOS(UEFI)のメニューに起動時のNumLockの有効/無効の設定項目自体が存在していないものもあります。そんなときは「あきらめるしかないのか?」とモヤモヤします。そこで、「いちいちNum Lockボタンを押さなくてもいいように何かいい方法がないかな~」と探したところ、レジストリの設定でNumLockをオンにする方法を見つけることができたのでメモ。

グループポリシーで設定する方法も探しましたが見つからなかったので、どうやら存在していないようです。

設定変更するレジストリの場所

Windows10/8.1/8/7でレジストリの場所は共通のようです。Windows8だけは値に違いがあるようです。

  • HKEY_USERS\.DEFAULT\Control Panel\Keyboard

ここにあるInitialKeyboardIndicatorsの値を変更します。変更後に再起動すると、ログオン画面の時点でNum Lockがオン(有効)になっているはずです。

Windows10/8.1の場合

2147483648(デフォルト)2147483650(NumLock有効)または2(NumLock有効)

Windows8の場合

2147483648(デフォルト)80000002(NumLock有効)または2(NumLock有効)

2でもNumLockが有効になるみたいです。

Windows7の場合

2147483648(デフォルト)2(NumLock有効)

ログオン前とログオン後のレジストリの違い

ログオン前のNum Lockオン設定はHKEY_USERS\.DEFAULT側のInitialKeyboardIndicatorsの値をいじればいいみたいですが、ログオン後のNum Lockオン設定はHKEY_CURRENT_USER\Control Panel\KeyboardにあるInitialKeyboardIndicatorsをいじればいいようです。

ちなみに、HKEY_USERS\.DEFAULT側のInitialKeyboardIndicatorsの値は2147483648となっているのに対し、HKEY_CURRENT_USER\Control Panel\KeyboardInitialKeyboardIndicatorsの値を見てみると2になっていました。

以下のページでは、HKEY_USERS\.DEFAULTHKEY_CURRENT_USER\Control Panel\Keyboard両方を設定しないとNumLockがオンにならないとありました。HKEY_USERS\.DEFAULT側のレジストリの変更だけで効果がなければ、HKEY_CURRENT_USER\Control Panel\Keyboardも設定してみてください。

それと、ログオンユーザー専用のHKEY_CURRENT_USERではなく、コンピューター全体に適用するHKEY_LOCAL_MACHINEで設定したらどうなるのか気になります。

一桁の値で設定するとBIOS側の設定に依存または優先?

本当かどうかわかりませんが、以下のページでは0(NumLockオフ)2(NumLockオン)で値を設定した場合はレジストリ値よりもBIOS(UEFI)の設定が優先され、逆に21474836482147483650(NumLockオン)で値を設定した場合はBIOS(UEFI)の設定よりもレジストリ値が優先されるようです。

レジストリを登録するコマンド

以下のコマンドを管理者として起動したらコマンドプロンプトで実行すれば、簡単にNumLockキーをオンにするレジストリの登録ができます。

reg add "HKEY_USERS\.DEFAULT\Control Panel\Keyboard" /v InitialKeyboardIndicators /t REG_SZ /d 2147483650 /f
reg add "HKEY_CURRENT_USER\Control Panel\Keyboard" /v InitialKeyboardIndicators /t REG_SZ /d 2 /f

NumLockキー以外にCapsLockキーとScrollLockキーもオンにしたいとき

以下のページではInitialKeyboardIndicatorsの値によってはNumLock以外にCapsLockScrollLockもオンにすることができるようです。

how to turn on numlock key at startup in windows 7/8/10. - wintips.org - windows tips & how-tos

https://www.wintips.org/turn-on-numlock-key/

オンにするキー InitialKeyboardIndicatorsの値(10進数)
オフ 2147483648または0
CapsLock 2147483649または1
NumLock 2147483650または2
CapsLock+NumLock 2147483651または3
ScrollLock 2147483652または4
CapsLock+ScrollLock 2147483653または5
NumLock+ScrollLock 2147483654または6
CapsLock+NumLock+ScrollLock 2147483655または7

試しに10進数を2進数、8進数、16進数にしてみた

InitialKeyboardIndicatorsの値を10進数から2進数、8進数、16進数に変換してみたところ、興味深い数値になりました。8進数と16進数の下一桁が0~7になっていました。またWindows8でNumLockをオンにする80000002が16進数の欄にありました。

2進数 8進数 10進数 16進数
10000000000000000000000000000000 20000000000 2147483648 80000000
10000000000000000000000000000001 20000000001 2147483649 80000001
10000000000000000000000000000010 20000000002 2147483650 80000002
10000000000000000000000000000011 20000000003 2147483651 80000003
10000000000000000000000000000100 20000000004 2147483652 80000004
10000000000000000000000000000101 20000000005 2147483653 80000005
10000000000000000000000000000110 20000000006 2147483654 80000006
10000000000000000000000000000111 20000000007 2147483655 80000007

更に興味深いのは2進数の下3桁で、下1桁目がCaps Lockで、下2桁目がNum Lockで、下3桁目がScroll Lockとなっているようです。オンにするキーに該当する桁を1にした場合の2進数を10進数に変換すると0~7になります。

前へ

IE11のローカルイントラネットゾーンの設定をするレジストリ

次へ

解決!Windows7がStartup Repair Offline、tmel.sysが原因で起動できない