PCゲームで日本語キーボードの「CapsLock、半角/全角」などを使用する方法

フォートナイトなどのゲームで「CapsLock、半角/全角、LeftWin、無変換、変換」などを使用できるようにします。

以下、実作業時そのままのメモとなりますので、始めは上手くいかなった例が続きます。結論はこちらです。

環境
Windows
10 home (20H2)
PowerToys
0.56.1

ソフトウェアでキーを再配置する

ゲーミングデバイスを使用していれば各社ソフトウェアで簡単に設定できるのかもしれませんが、私は普通のキーボードなのでそのような専用デバイスソフトウェアが存在しません。ですが、Microsoft製ソフトであるPowerToysKeyboard Mangerで同じことができるようです。

さっそく、Keyboard Mangerで「CapsLock、半角/全角、LeftWin、無変換、変換」にそれぞれ別キーを割り当て、フォートナイトでキー配置設定をしてみました。

結果

「半角/全角、CapsLock」は使用不可、「LeftWin、無変換、変換」は使用可でした。
どうやら、Keyboard Mangerで再配置をしても、ゲームでは「半角/全角、CapsLock」が使用できないようです。

US配列にする

こちらの記事を参考に、Windowsの機能を使用して日本語キーボードを仮想的にUS配列に変更します。

結果

「半角/全角、CapsLock」は使用可、「LeftWin、無変換、変換」は使用不可でした。

Keyboard Mangerを併用

次に、US配列とKeyboard Mangerを併用してみました。結果、「LeftWin」も使用できるようになりましたが、「無変換、変換」はゲームで使用できないままでした。

ここまでのまとめ

ここまでの挙動を一度まとめます。

Keyboard Manger 日本語配列 US配列
使用 × 半角/全角
× CapsLock
〇 Left Win
〇 無変換
〇 変換
〇 半角/全角
〇 CapsLock
〇 Left Win
× 無変換
× 変換
未使用 × 半角/全角
× CapsLock
× Left Win
× 無変換
× 変換
〇 半角/全角
〇 CapsLock
× Left Win
× 無変換
× 変換

なんとか全てのキーを使用する方法を模索します。

レジストリを編集する

ソフトでの再配置では限界があるようなので、レジストリを直接編集してキーの再配置を行います。Microsoftサポートで警告があるとおり、レジストリの誤編集は重大な問題(最悪、OS再インストールが必要)を起こす可能性があるので注意が必要です、何が起きても自己責任となります。編集する場合はしっかりバックアップを取ってから行います。

準備

  1. レジストリエディターを起動する
  2. HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Keyboard Layoutを順に開く
  3. Keyboard Layoutのバックアップを取る(.regファイルを作成)
  4. Keyboard Layout下にScancode Mapという名前のバイナリ値を新規作成する

編集

Scancode Mapについてはこちらのサイトが詳しいです。以下のサイトのスキャンコードを参考にして、キーを再配置します。注意点は変更したキーの合計数を書く部分も「16進法」表記であることです。

Scancode Mapの編集後に、ユーザーのサインアウトもしくはPCを再起動し、再サインインでレジストリの変更を反映させます。

結果

「CapsLock、半角/全角、LeftWin、無変換、変換」
全てのキーがゲームで使用できました。

レジストリ編集の弊害

さて、ゲームで無効化されていたキーが使用できるようになりましたが、無変換などに別キーを割り当てたため、普段の作業に弊害が出てしまいました。

元に戻す

元に戻すには、HKEY_LOCAL_MACHINE > SYSTEM > CurrentControlSet > Control > Keyboard Layout下のScancode Mapを削除して再サインインをします。

ただ、ゲームプレイの度に、レジストリを編集してサインインしなおすのは面倒で現実的ではありません。

Scancode Mapの.regファイルを作成する

.regファイルを作成することで、ゲーム用に作ったScancode Mapの復元が簡単にできるようになります。作成した.regファイルをインポート(レジストリエディターでインポート、もしくは.regファイルをクリックして実行)し、サインインしなおすだけです。

再サインインが面倒

それでも、レジストリ反映のための再サインインが必要で、ゲームプレイの度にそられを行うのはやっぱり面倒です。

レジストリ編集とKeyboard Mangerを併用する

最終的にレジストリ編集とKeyboard Mangerを併用することで、ゲームプレイ前にKeyboard Mangerをオフにするだけで済むようにしました。

具体的には、レジストリの編集で「CapsLock、半角/全角、LeftWin、無変換、変換、カタひら」を、それぞれゲーム内で有効な別キーと入れ替えます。

ただし、普段のPC作業ではKeyboard Mangerを使用して元の配置に戻します(レジストリ編集結果をソフトで無効化する)。そして、ゲーム開始前にKeyboard Mangerをオフにし、レジストリ編集のキー再配置が反映された状態にします。

文字にするとややこしいですが、Keyboard Mangerのオンオフだけで、普段使いでもゲームでもキー配置の弊害がなくなりました。

ゲーム用.regファイルを作成

作成(レジストリエディターからKeyboard Layoutをエクスポートし、Scancode Map部分のみを抽出)したScancode Map.regは以下になります。

Game Scancode Map.reg
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode map"=hex:00,00,00,00,00,00,00,00,0d,00,00,00,44,00,29,00,29,00,44,00,\
  46,00,3a,00,3a,00,46,00,47,e0,5b,e0,5b,e0,47,e0,49,e0,7b,00,7b,00,49,e0,51,\
  e0,79,00,79,00,51,e0,4f,e0,70,00,70,00,4f,e0,00,00,00,00
  • 半角(00 29) ↔ F10(00 44)
  • CapsLock(00 3A) ↔ ScrollLock(00 46)
  • LeftWin(E0 5B) ↔ home(E0 47)
  • 無変換(00 7B) ↔ PgUp(E0 49)
  • 変換(00 79) ↔ PgDn(E0 51)
  • カタひら(00 70) ↔ End(E0 4F)

と、入れ替えてありますが、特にこの配置に意味はありません。

おわりに

「CapsLock、半角/全角」だけではなく、その他の無効キーもゲームで使えるようになりました。参考にされる場合はレジストリ編集が必要になるので自己責任でお願いします。「CapsLock、半角/全角」だけを使用するのであれば、US配列にするがお手軽で安全だと思います。

今回は直接レジストリを編集しましたが、KeySwapというソフトを使えばGUIでレジストリを編集することが可能なようです。