mirror of
https://github.com/switchbrew/libnx.git
synced 2025-06-21 12:32:40 +02:00
hid: Add HidKeyboardKey & hidKeyboardStateGetKey
This commit is contained in:
parent
649f308d4b
commit
109bd683df
@ -47,6 +47,142 @@ typedef enum {
|
||||
HidMouseButton_Back = BIT(4),
|
||||
} HidMouseButton;
|
||||
|
||||
/// HidKeyboardKey
|
||||
typedef enum {
|
||||
HidKeyboardKey_A = 4,
|
||||
HidKeyboardKey_B = 5,
|
||||
HidKeyboardKey_C = 6,
|
||||
HidKeyboardKey_D = 7,
|
||||
HidKeyboardKey_E = 8,
|
||||
HidKeyboardKey_F = 9,
|
||||
HidKeyboardKey_G = 10,
|
||||
HidKeyboardKey_H = 11,
|
||||
HidKeyboardKey_I = 12,
|
||||
HidKeyboardKey_J = 13,
|
||||
HidKeyboardKey_K = 14,
|
||||
HidKeyboardKey_L = 15,
|
||||
HidKeyboardKey_M = 16,
|
||||
HidKeyboardKey_N = 17,
|
||||
HidKeyboardKey_O = 18,
|
||||
HidKeyboardKey_P = 19,
|
||||
HidKeyboardKey_Q = 20,
|
||||
HidKeyboardKey_R = 21,
|
||||
HidKeyboardKey_S = 22,
|
||||
HidKeyboardKey_T = 23,
|
||||
HidKeyboardKey_U = 24,
|
||||
HidKeyboardKey_V = 25,
|
||||
HidKeyboardKey_W = 26,
|
||||
HidKeyboardKey_X = 27,
|
||||
HidKeyboardKey_Y = 28,
|
||||
HidKeyboardKey_Z = 29,
|
||||
HidKeyboardKey_D1 = 30,
|
||||
HidKeyboardKey_D2 = 31,
|
||||
HidKeyboardKey_D3 = 32,
|
||||
HidKeyboardKey_D4 = 33,
|
||||
HidKeyboardKey_D5 = 34,
|
||||
HidKeyboardKey_D6 = 35,
|
||||
HidKeyboardKey_D7 = 36,
|
||||
HidKeyboardKey_D8 = 37,
|
||||
HidKeyboardKey_D9 = 38,
|
||||
HidKeyboardKey_D0 = 39,
|
||||
HidKeyboardKey_Return = 40,
|
||||
HidKeyboardKey_Escape = 41,
|
||||
HidKeyboardKey_Backspace = 42,
|
||||
HidKeyboardKey_Tab = 43,
|
||||
HidKeyboardKey_Space = 44,
|
||||
HidKeyboardKey_Minus = 45,
|
||||
HidKeyboardKey_Plus = 46,
|
||||
HidKeyboardKey_OpenBracket = 47,
|
||||
HidKeyboardKey_CloseBracket = 48,
|
||||
HidKeyboardKey_Pipe = 49,
|
||||
HidKeyboardKey_Tilde = 50,
|
||||
HidKeyboardKey_Semicolon = 51,
|
||||
HidKeyboardKey_Quote = 52,
|
||||
HidKeyboardKey_Backquote = 53,
|
||||
HidKeyboardKey_Comma = 54,
|
||||
HidKeyboardKey_Period = 55,
|
||||
HidKeyboardKey_Slash = 56,
|
||||
HidKeyboardKey_CapsLock = 57,
|
||||
HidKeyboardKey_F1 = 58,
|
||||
HidKeyboardKey_F2 = 59,
|
||||
HidKeyboardKey_F3 = 60,
|
||||
HidKeyboardKey_F4 = 61,
|
||||
HidKeyboardKey_F5 = 62,
|
||||
HidKeyboardKey_F6 = 63,
|
||||
HidKeyboardKey_F7 = 64,
|
||||
HidKeyboardKey_F8 = 65,
|
||||
HidKeyboardKey_F9 = 66,
|
||||
HidKeyboardKey_F10 = 67,
|
||||
HidKeyboardKey_F11 = 68,
|
||||
HidKeyboardKey_F12 = 69,
|
||||
HidKeyboardKey_PrintScreen = 70,
|
||||
HidKeyboardKey_ScrollLock = 71,
|
||||
HidKeyboardKey_Pause = 72,
|
||||
HidKeyboardKey_Insert = 73,
|
||||
HidKeyboardKey_Home = 74,
|
||||
HidKeyboardKey_PageUp = 75,
|
||||
HidKeyboardKey_Delete = 76,
|
||||
HidKeyboardKey_End = 77,
|
||||
HidKeyboardKey_PageDown = 78,
|
||||
HidKeyboardKey_RightArrow = 79,
|
||||
HidKeyboardKey_LeftArrow = 80,
|
||||
HidKeyboardKey_DownArrow = 81,
|
||||
HidKeyboardKey_UpArrow = 82,
|
||||
HidKeyboardKey_NumLock = 83,
|
||||
HidKeyboardKey_NumPadDivide = 84,
|
||||
HidKeyboardKey_NumPadMultiply = 85,
|
||||
HidKeyboardKey_NumPadSubtract = 86,
|
||||
HidKeyboardKey_NumPadAdd = 87,
|
||||
HidKeyboardKey_NumPadEnter = 88,
|
||||
HidKeyboardKey_NumPad1 = 89,
|
||||
HidKeyboardKey_NumPad2 = 90,
|
||||
HidKeyboardKey_NumPad3 = 91,
|
||||
HidKeyboardKey_NumPad4 = 92,
|
||||
HidKeyboardKey_NumPad5 = 93,
|
||||
HidKeyboardKey_NumPad6 = 94,
|
||||
HidKeyboardKey_NumPad7 = 95,
|
||||
HidKeyboardKey_NumPad8 = 96,
|
||||
HidKeyboardKey_NumPad9 = 97,
|
||||
HidKeyboardKey_NumPad0 = 98,
|
||||
HidKeyboardKey_NumPadDot = 99,
|
||||
HidKeyboardKey_Backslash = 100,
|
||||
HidKeyboardKey_Application = 101,
|
||||
HidKeyboardKey_Power = 102,
|
||||
HidKeyboardKey_NumPadEquals = 103,
|
||||
HidKeyboardKey_F13 = 104,
|
||||
HidKeyboardKey_F14 = 105,
|
||||
HidKeyboardKey_F15 = 106,
|
||||
HidKeyboardKey_F16 = 107,
|
||||
HidKeyboardKey_F17 = 108,
|
||||
HidKeyboardKey_F18 = 109,
|
||||
HidKeyboardKey_F19 = 110,
|
||||
HidKeyboardKey_F20 = 111,
|
||||
HidKeyboardKey_F21 = 112,
|
||||
HidKeyboardKey_F22 = 113,
|
||||
HidKeyboardKey_F23 = 114,
|
||||
HidKeyboardKey_F24 = 115,
|
||||
HidKeyboardKey_NumPadComma = 133,
|
||||
HidKeyboardKey_Ro = 135,
|
||||
HidKeyboardKey_KatakanaHiragana = 136,
|
||||
HidKeyboardKey_Yen = 137,
|
||||
HidKeyboardKey_Henkan = 138,
|
||||
HidKeyboardKey_Muhenkan = 139,
|
||||
HidKeyboardKey_NumPadCommaPc98 = 140,
|
||||
HidKeyboardKey_HangulEnglish = 144,
|
||||
HidKeyboardKey_Hanja = 145,
|
||||
HidKeyboardKey_Katakana = 146,
|
||||
HidKeyboardKey_Hiragana = 147,
|
||||
HidKeyboardKey_ZenkakuHankaku = 148,
|
||||
HidKeyboardKey_LeftControl = 224,
|
||||
HidKeyboardKey_LeftShift = 225,
|
||||
HidKeyboardKey_LeftAlt = 226,
|
||||
HidKeyboardKey_LeftGui = 227,
|
||||
HidKeyboardKey_RightControl = 228,
|
||||
HidKeyboardKey_RightShift = 229,
|
||||
HidKeyboardKey_RightAlt = 230,
|
||||
HidKeyboardKey_RightGui = 231,
|
||||
} HidKeyboardKey;
|
||||
|
||||
/// HidKeyboardModifier
|
||||
typedef enum {
|
||||
HidKeyboardModifier_Control = BIT(0),
|
||||
@ -1071,6 +1207,16 @@ void hidInitializeKeyboard(void);
|
||||
*/
|
||||
size_t hidGetKeyboardStates(HidKeyboardState *states, size_t count);
|
||||
|
||||
/**
|
||||
* @brief Gets the state of a key in a \ref HidKeyboardState.
|
||||
* @param[in] state \ref HidKeyboardState.
|
||||
* @param[in] key \ref HidKeyboardKey.
|
||||
* @return true if the key is pressed, false if not.
|
||||
*/
|
||||
NX_CONSTEXPR bool hidKeyboardStateGetKey(const HidKeyboardState *state, HidKeyboardKey key) {
|
||||
return (state->keys[key / 64] & (1UL << (key & 63))) != 0;
|
||||
}
|
||||
|
||||
///@}
|
||||
|
||||
///@name Npad
|
||||
|
Loading…
Reference in New Issue
Block a user