21 lines
466 B
C#
21 lines
466 B
C#
using System.Runtime.InteropServices;
|
|
using static SDL2.SDL;
|
|
|
|
class KeyState
|
|
{
|
|
private byte[] keys;
|
|
|
|
public KeyState()
|
|
{
|
|
var origArray = SDL_GetKeyboardState(out var arraySize);
|
|
this.keys = new byte[arraySize];
|
|
Marshal.Copy(origArray, keys, 0, arraySize);
|
|
}
|
|
|
|
public bool isPressed(SDL_Keycode keycode)
|
|
{
|
|
byte scanCode = (byte)SDL_GetScancodeFromKey(keycode);
|
|
return (this.keys[scanCode] == 1);
|
|
}
|
|
}
|