enum class Key : int {
// Alphanumeric
Key0, Key1, Key2, Key3, Key4, Key5, Key6, Key7, Key8, Key9,
A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z,
// Special characters
Space, Apostrophe, Comma, Minus, Period, Slash,
Semicolon, Equal, LeftBracket, Backslash, RightBracket, GraveAccent,
// Control keys
Escape, Enter, Tab, Backspace, Insert, Delete,
Right, Left, Down, Up,
PageUp, PageDown, Home, End,
// Lock keys
CapsLock, ScrollLock, NumLock, PrintScreen, Pause,
// Function keys
F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12,
F13, F14, F15, F16, F17, F18, F19, F20, F21, F22, F23, F24, F25,
// Keypad
KP0, KP1, KP2, KP3, KP4, KP5, KP6, KP7, KP8, KP9,
KPDecimal, KPDivide, KPMultiply, KPSubtract, KPAdd, KPEnter, KPEqual,
// Modifiers
LeftShift, LeftControl, LeftAlt, LeftSuper,
RightShift, RightControl, RightAlt, RightSuper,
Menu,
Unknown
};