【Unity】InputManager・InputSystemで一部のキーボード入力が反応しないまたは違う

入力周りを見ているとき、Unity入力システムには入力用の変数名
実際の入力に相違があるものがあることに気づきました。

例えば以下のコード。
新しい方の入力、InputSystemを使って、
キーボードの「 ] 」の入力をさせるコードです。

using UnityEngine;
using UnityEngine.InputSystem;

public class InputTest : MonoBehaviour
{
    private void Update()
    {
        // これは反応しない
        if (Keyboard.current[Key.RightBracket].wasPressedThisFrame)
        {
            Debug.Log("Hello!");
        }

        // これは反応する
        if (Keyboard.current[Key.Backslash].wasPressedThisFrame)
        {
            Debug.Log("World!");
        }
    }

}

Keyの変数名が「Key.RightBracket」では反応せず、
Key.Backslash」が反応します。

これは、日本語のキーボードと英語のキーボードが物理的に違うことが原因です。 qa.elecom.co.jp

私が今使っているキーボードはWindows 109日本語キーボード
このキーボードを基準として、入力の変数名と相違があるものの対応表は以下の通り。

日本語キーボード(JIS 109) UnityEngine.KeyCode UnityEngine.InputSystem.Key
全角/半角 なし Key.Backquote
キーボード0~9 KeyCode.Alpha【任意の数字】 Key.Digit【任意の数字】
~ ^ へ KeyCode.Quote Key.Equals
| ¥ KeyCode.Backslash なし
` @ KeyCode.BackQuote Key.LeftBracket
{ 「 [ KeyCode.LeftBracket Key.RightBlaket
Enter KeyCode.Return Key.Enter
CapsLock なし Key.CapsLock
* : け KeyCode.Semicolon Key.Quote
} 」 ] む KeyCode.RightBracket Key.Backslash
_ \ ろ KeyCode.Backslash Key.OEM2
Windowsキー KeyCode.LeftApple Key.LeftWindows
無変換 なし なし
変換 なし なし
カタカナ ひらがな なし なし
右Alt KeyCode.AltGr Key.AltGr
アプリケーションキー なし Key.ContextMenu

大体は右側の記号関連。
ゲーム中にこの位置の操作をするものは限定的かもしれない。
でも、デバッグキーなどを入れるときに使うかもしれないので意識しておこう!
私は数時間詰まっちゃった

参考にしたもの

KeyCode - Unity スクリプトリファレンス
Enum Key | Input System | 1.5.1
キーボードの種類を知りたい/106、109キーボードとは?/英語、日本語キ...