mirror of
https://github.com/Memorix101/UnityXNA/
synced 2024-12-30 15:25:35 +01:00
86 lines
3.6 KiB
C#
86 lines
3.6 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Diagnostics.Tracing;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using UnityEngine;
|
|
|
|
namespace Microsoft.Xna.Framework.Input
|
|
{
|
|
public static class Keyboard
|
|
{
|
|
static UnityEngine.InputSystem.Key[] keyMapping;
|
|
|
|
static Keyboard()
|
|
{
|
|
keyMapping = new UnityEngine.InputSystem.Key[256];
|
|
|
|
// Alphabet
|
|
keyMapping[(int)Keys.A] = UnityEngine.InputSystem.Key.A;
|
|
keyMapping[(int)Keys.B] = UnityEngine.InputSystem.Key.B;
|
|
keyMapping[(int)Keys.C] = UnityEngine.InputSystem.Key.C;
|
|
keyMapping[(int)Keys.D] = UnityEngine.InputSystem.Key.D;
|
|
keyMapping[(int)Keys.E] = UnityEngine.InputSystem.Key.E;
|
|
keyMapping[(int)Keys.F] = UnityEngine.InputSystem.Key.F;
|
|
keyMapping[(int)Keys.G] = UnityEngine.InputSystem.Key.G;
|
|
keyMapping[(int)Keys.H] = UnityEngine.InputSystem.Key.H;
|
|
keyMapping[(int)Keys.I] = UnityEngine.InputSystem.Key.I;
|
|
keyMapping[(int)Keys.J] = UnityEngine.InputSystem.Key.J;
|
|
keyMapping[(int)Keys.K] = UnityEngine.InputSystem.Key.K;
|
|
keyMapping[(int)Keys.L] = UnityEngine.InputSystem.Key.L;
|
|
keyMapping[(int)Keys.M] = UnityEngine.InputSystem.Key.M;
|
|
keyMapping[(int)Keys.N] = UnityEngine.InputSystem.Key.N;
|
|
keyMapping[(int)Keys.O] = UnityEngine.InputSystem.Key.O;
|
|
keyMapping[(int)Keys.P] = UnityEngine.InputSystem.Key.P;
|
|
keyMapping[(int)Keys.Q] = UnityEngine.InputSystem.Key.Q;
|
|
keyMapping[(int)Keys.R] = UnityEngine.InputSystem.Key.R;
|
|
keyMapping[(int)Keys.S] = UnityEngine.InputSystem.Key.S;
|
|
keyMapping[(int)Keys.T] = UnityEngine.InputSystem.Key.T;
|
|
keyMapping[(int)Keys.U] = UnityEngine.InputSystem.Key.U;
|
|
keyMapping[(int)Keys.V] = UnityEngine.InputSystem.Key.V;
|
|
keyMapping[(int)Keys.W] = UnityEngine.InputSystem.Key.W;
|
|
keyMapping[(int)Keys.X] = UnityEngine.InputSystem.Key.X;
|
|
keyMapping[(int)Keys.Y] = UnityEngine.InputSystem.Key.Y;
|
|
keyMapping[(int)Keys.Z] = UnityEngine.InputSystem.Key.Z;
|
|
|
|
// Main number keys
|
|
keyMapping[(int)Keys.D0] = UnityEngine.InputSystem.Key.Digit0;
|
|
keyMapping[(int)Keys.D1] = UnityEngine.InputSystem.Key.Digit1;
|
|
keyMapping[(int)Keys.D2] = UnityEngine.InputSystem.Key.Digit2;
|
|
keyMapping[(int)Keys.D3] = UnityEngine.InputSystem.Key.Digit3;
|
|
keyMapping[(int)Keys.D4] = UnityEngine.InputSystem.Key.Digit4;
|
|
keyMapping[(int)Keys.D5] = UnityEngine.InputSystem.Key.Digit5;
|
|
keyMapping[(int)Keys.D6] = UnityEngine.InputSystem.Key.Digit6;
|
|
keyMapping[(int)Keys.D7] = UnityEngine.InputSystem.Key.Digit7;
|
|
keyMapping[(int)Keys.D8] = UnityEngine.InputSystem.Key.Digit8;
|
|
keyMapping[(int)Keys.D9] = UnityEngine.InputSystem.Key.Digit9;
|
|
|
|
// Others
|
|
keyMapping[(int)Keys.Enter] = UnityEngine.InputSystem.Key.Enter;
|
|
keyMapping[(int)Keys.Delete] = UnityEngine.InputSystem.Key.Delete;
|
|
keyMapping[(int)Keys.Space] = UnityEngine.InputSystem.Key.Space;
|
|
keyMapping[(int)Keys.Left] = UnityEngine.InputSystem.Key.LeftArrow;
|
|
keyMapping[(int)Keys.Right] = UnityEngine.InputSystem.Key.RightArrow;
|
|
keyMapping[(int)Keys.Up] = UnityEngine.InputSystem.Key.UpArrow;
|
|
keyMapping[(int)Keys.Down] = UnityEngine.InputSystem.Key.DownArrow;
|
|
|
|
// TODO: More key code conversions
|
|
}
|
|
|
|
internal static KeyboardState GetState()
|
|
{
|
|
bool[] keyStates = new bool[256];
|
|
|
|
for (int i = 0; i < keyStates.Length; i++)
|
|
{
|
|
if(keyMapping[i] != UnityEngine.InputSystem.Key.None)
|
|
{
|
|
//keyStates[i] = UnityEngine.Input.GetKey(keyMapping[i]);
|
|
keyStates[i] = UnityEngine.InputSystem.Keyboard.current[keyMapping[i]].isPressed;
|
|
}
|
|
}
|
|
|
|
return new KeyboardState(keyStates);
|
|
}
|
|
}
|
|
} |