WindowsでCapsLockキーをレジストリレベルで無効化する | クズリーマンのカス備忘録

WindowsでCapsLockキーをレジストリレベルで無効化する

windows-logo windows

Scancode MapCapsLock無変換(IME-NonConvert) に変える方法です。

ただし前提があります。

  • Scancode Map は「キー入力の電気的な番号」を別のキー番号に置き換えるだけです
  • そのため、IME-NonConvert が Windows 上で 無変換 キーのスキャンコードとして扱われる環境なら有効です
  • 日本語キーボード前提ではかなり現実的ですが、英語配列や環境差で効き方がぶれることはあります

試す価値はあります。 うまくいけば、CapsLock は完全に IME-NonConvert として動き、CapsLock ON は発生しません。

CapsLock -> 無変換(IME-NonConvert) のレジストリ例です。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlKeyboard Layout]
"Scancode Map"=hex:
00,00,00,00,00,00,00,00,02,00,00,00,7B,E0,3A,00,00,00,00,00

意味はこうです。

  • 元キー: CapsLock = 3A 00
  • 変換先: 無変換 = 7B E0

適用後は再起動してください。

元に戻すならこれです。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlKeyboard Layout]
"Scancode Map"=-

注意点もあります。

  • これは PowerToys より低い層で効くので、取りこぼし対策としてはかなり強いです
  • ただし IME-NonConvert として確実に解釈されるかは、IME・配列・ドライバ依存の部分が少しあります
  • もしこれで不安定なら、次善策は CapsLock を無効化 して 別キーを IME-NonConvert にする構成です

コメント

タイトルとURLをコピーしました