RubyKey
#include "Saturn/Core/Ruby/RubyEventType.h"
High level, hardware-independent, backend-independent and layout-independent key codes.
using KeyCode = uint16_t;
enum RubyKey : KeyCode
Although the key codes are layout-independent the available keys are based off the English US QWERTY layout.
Valid flags
//////////////////////////////////////////////////////////////////////////
// Undefined key
RubyKey_UnknownKey = 0,
//////////////////////////////////////////////////////////////////////////
// Modifier keys
RubyKey_LeftShift,
RubyKey_RightShift,
RubyKey_LeftCtrl,
RubyKey_RightCtrl,
RubyKey_LeftAlt,
RubyKey_RightAlt,
RubyKey_OSKey,
RubyKey_OSKeyRight,
//////////////////////////////////////////////////////////////////////////
// Lock keys
RubyKey_CapsLock,
RubyKey_NumLock,
RubyKey_ScrollLock,
//////////////////////////////////////////////////////////////////////////
// Function keys
RubyKey_F1, RubyKey_F2, RubyKey_F3, RubyKey_F4, RubyKey_F5, RubyKey_F6,
RubyKey_F7, RubyKey_F8, RubyKey_F9, RubyKey_F10, RubyKey_F11, RubyKey_F12,
//////////////////////////////////////////////////////////////////////////
// Printable keys
RubyKey_A, RubyKey_B, RubyKey_C, RubyKey_D, RubyKey_E, RubyKey_F, RubyKey_G,
RubyKey_H, RubyKey_I, RubyKey_J, RubyKey_K, RubyKey_L, RubyKey_M, RubyKey_N,
RubyKey_O, RubyKey_P, RubyKey_Q, RubyKey_R, RubyKey_S, RubyKey_T, RubyKey_U,
RubyKey_V, RubyKey_W, RubyKey_X, RubyKey_Y, RubyKey_Z,
//////////////////////////////////////////////////////////////////////////
// Numerical keys
RubyKey_Num0, RubyKey_Num1, RubyKey_Num2, RubyKey_Num3, RubyKey_Num4,
RubyKey_Num5, RubyKey_Num6, RubyKey_Num7, RubyKey_Num8, RubyKey_Num9,
//////////////////////////////////////////////////////////////////////////
// Grammar / symbols
RubyKey_Space,
RubyKey_Apostrophe,
RubyKey_Hash, // UK Only
RubyKey_Comma,
RubyKey_Minus,
RubyKey_Period,
RubyKey_Slash,
RubyKey_Semicolon,
RubyKey_Equal,
RubyKey_LeftBracket,
RubyKey_Backslash,
RubyKey_RightBracket,
RubyKey_Grave, // `
//////////////////////////////////////////////////////////////////////////
// Navigation / editing
RubyKey_Esc,
RubyKey_Enter,
RubyKey_Tab,
RubyKey_Backspace,
RubyKey_Insert,
RubyKey_Delete,
RubyKey_Home,
RubyKey_End,
RubyKey_PageUp,
RubyKey_PageDown,
//////////////////////////////////////////////////////////////////////////
// Arrows
RubyKey_UpArrow,
RubyKey_DownArrow,
RubyKey_LeftArrow,
RubyKey_RightArrow,
//////////////////////////////////////////////////////////////////////////
// Numpad
RubyKey_Numpad0,
RubyKey_Numpad1,
RubyKey_Numpad2,
RubyKey_Numpad3,
RubyKey_Numpad4,
RubyKey_Numpad5,
RubyKey_Numpad6,
RubyKey_Numpad7,
RubyKey_Numpad8,
RubyKey_Numpad9,
RubyKey_NumpadDecimal,
RubyKey_NumpadAdd,
RubyKey_NumpadSubtract,
RubyKey_NumpadMultiply,
RubyKey_NumpadDivide,
RubyKey_NumpadEnter,
//////////////////////////////////////////////////////////////////////////
// AUX
RubyKey_PrintScreen,
RubyKey_Pause,
RubyKey_Menu,
RubyKey_EnumSize