GATE
gate::Keyboard Class Reference

Public Types

enum  KeyStateEnum { KeyState_Ctrl = GATE_KBD_KEYSTATE_CTRL , KeyState_Menu = GATE_KBD_KEYSTATE_MENU , KeyState_Shift = GATE_KBD_KEYSTATE_SHIFT }
 
enum  KeyEnum {
  Key_Unknown = GATE_KBD_KEY_UNKNOWN , Key_Ctrl = GATE_KBD_KEY_CTRL , Key_Menu = GATE_KBD_KEY_MENU , Key_Shift = GATE_KBD_KEY_SHIFT ,
  Key_Clear = GATE_KBD_KEY_CLEAR , Key_Backspace = GATE_KBD_KEY_BACKSPACE , Key_Tab = GATE_KBD_KEY_TAB , Key_Return = GATE_KBD_KEY_RETURN ,
  Key_Left = GATE_KBD_KEY_LEFT , Key_Up = GATE_KBD_KEY_UP , Key_Right = GATE_KBD_KEY_RIGHT , Key_Down = GATE_KBD_KEY_DOWN ,
  Key_PgUp = GATE_KBD_KEY_PGUP , Key_PgDown = GATE_KBD_KEY_PGDOWN , Key_End = GATE_KBD_KEY_END , Key_Home = GATE_KBD_KEY_HOME ,
  Key_Insert = GATE_KBD_KEY_INSERT , Key_Delete = GATE_KBD_KEY_DELETE , Key_Escape = GATE_KBD_KEY_ESCAPE , Key_Pause = GATE_KBD_KEY_PAUSE ,
  Key_CapsLock = GATE_KBD_KEY_CAPITAL , Key_NumLock = GATE_KBD_KEY_NUMLOCK , Key_ScrollLock = GATE_KBD_KEY_SCROLLLOCK , Key_Spacebar = GATE_KBD_KEY_SPACEBAR ,
  Key_CtrlLeft = GATE_KBD_KEY_CTRL_LEFT , Key_CtrlRight = GATE_KBD_KEY_CTRL_RIGHT , Key_MenuLeft = GATE_KBD_KEY_MENU_LEFT , Key_MenuRight = GATE_KBD_KEY_MENU_RIGHT ,
  Key_ShiftLeft = GATE_KBD_KEY_SHIFT_LEFT , Key_ShiftRight = GATE_KBD_KEY_SHIFT_RIGHT , Key_StartLeft = GATE_KBD_KEY_START_LEFT , Key_StartRight = GATE_KBD_KEY_START_RIGHT ,
  Key_Select = GATE_KBD_KEY_SELECT , Key_PrintScreen = GATE_KBD_KEY_PRINTSCREEN , Key_Print = GATE_KBD_KEY_PRINT , Key_Execute = GATE_KBD_KEY_EXECUTE ,
  Key_Help = GATE_KBD_KEY_HELP , Key_Apps = GATE_KBD_KEY_APPS , Key_Sleep = GATE_KBD_KEY_SLEEP , Key_0 = GATE_KBD_KEY_0 ,
  Key_1 = GATE_KBD_KEY_1 , Key_2 = GATE_KBD_KEY_2 , Key_3 = GATE_KBD_KEY_3 , Key_4 = GATE_KBD_KEY_4 ,
  Key_5 = GATE_KBD_KEY_5 , Key_6 = GATE_KBD_KEY_6 , Key_7 = GATE_KBD_KEY_7 , Key_8 = GATE_KBD_KEY_8 ,
  Key_9 = GATE_KBD_KEY_9 , Key_A = GATE_KBD_KEY_A , Key_B = GATE_KBD_KEY_B , Key_C = GATE_KBD_KEY_C ,
  Key_D = GATE_KBD_KEY_D , Key_E = GATE_KBD_KEY_E , Key_F = GATE_KBD_KEY_F , Key_G = GATE_KBD_KEY_G ,
  Key_H = GATE_KBD_KEY_H , Key_I = GATE_KBD_KEY_I , Key_J = GATE_KBD_KEY_J , Key_K = GATE_KBD_KEY_K ,
  Key_L = GATE_KBD_KEY_L , Key_M = GATE_KBD_KEY_M , Key_N = GATE_KBD_KEY_N , Key_O = GATE_KBD_KEY_O ,
  Key_P = GATE_KBD_KEY_P , Key_Q = GATE_KBD_KEY_Q , Key_R = GATE_KBD_KEY_R , Key_S = GATE_KBD_KEY_S ,
  Key_T = GATE_KBD_KEY_T , Key_U = GATE_KBD_KEY_U , Key_V = GATE_KBD_KEY_V , Key_W = GATE_KBD_KEY_W ,
  Key_X = GATE_KBD_KEY_X , Key_Y = GATE_KBD_KEY_Y , Key_Z = GATE_KBD_KEY_Z , Key_Num0 = GATE_KBD_KEY_NUM0 ,
  Key_Num1 = GATE_KBD_KEY_NUM1 , Key_Num2 = GATE_KBD_KEY_NUM2 , Key_Num3 = GATE_KBD_KEY_NUM3 , Key_Num4 = GATE_KBD_KEY_NUM4 ,
  Key_Num5 = GATE_KBD_KEY_NUM5 , Key_Num6 = GATE_KBD_KEY_NUM6 , Key_Num7 = GATE_KBD_KEY_NUM7 , Key_Num8 = GATE_KBD_KEY_NUM8 ,
  Key_Num9 = GATE_KBD_KEY_NUM9 , Key_Add = GATE_KBD_KEY_ADD , Key_Subtract = GATE_KBD_KEY_SUBTRACT , Key_Multiply = GATE_KBD_KEY_MULTIPLY ,
  Key_Devide = GATE_KBD_KEY_DEVIDE , Key_Decimal = GATE_KBD_KEY_DECIMAL , Key_Separator = GATE_KBD_KEY_SEPARATOR , Key_F1 = GATE_KBD_KEY_F1 ,
  Key_F2 = GATE_KBD_KEY_F2 , Key_F3 = GATE_KBD_KEY_F3 , Key_F4 = GATE_KBD_KEY_F4 , Key_F5 = GATE_KBD_KEY_F5 ,
  Key_F6 = GATE_KBD_KEY_F6 , Key_F7 = GATE_KBD_KEY_F7 , Key_F8 = GATE_KBD_KEY_F8 , Key_F9 = GATE_KBD_KEY_F9 ,
  Key_F10 = GATE_KBD_KEY_F10 , Key_F11 = GATE_KBD_KEY_F11 , Key_F12 = GATE_KBD_KEY_F12 , Key_F13 = GATE_KBD_KEY_F13 ,
  Key_F14 = GATE_KBD_KEY_F14 , Key_F15 = GATE_KBD_KEY_F15 , Key_F16 = GATE_KBD_KEY_F16 , Key_F17 = GATE_KBD_KEY_F17 ,
  Key_F18 = GATE_KBD_KEY_F18 , Key_F19 = GATE_KBD_KEY_F19 , Key_F20 = GATE_KBD_KEY_F20 , Key_F21 = GATE_KBD_KEY_F21 ,
  Key_F22 = GATE_KBD_KEY_F22 , Key_F23 = GATE_KBD_KEY_F23 , Key_F24 = GATE_KBD_KEY_F24 , Key_BrowserBack = GATE_KBD_KEY_BROWSER_BACK ,
  Key_BrowserForward = GATE_KBD_KEY_BROWSER_FORWARD , Key_BrowserRefresh = GATE_KBD_KEY_BROWSER_REFRESH , Key_BrowserStop = GATE_KBD_KEY_BROWSER_STOP , Key_BrowserSearch = GATE_KBD_KEY_BROWSER_SEARCH ,
  Key_BrowserFavorites = GATE_KBD_KEY_BROWSER_FAVORITES , Key_BrowserHome = GATE_KBD_KEY_BROWSER_HOME , Key_VolumeMute = GATE_KBD_KEY_VOLUME_MUTE , Key_VolumeDown = GATE_KBD_KEY_VOLUME_DOWN ,
  Key_VolumeUp = GATE_KBD_KEY_VOLUME_UP , Key_MediaNext = GATE_KBD_KEY_MEDIA_NEXT , Key_MediaPrevious = GATE_KBD_KEY_MEDIA_PREVIOUS , Key_MediaStop = GATE_KBD_KEY_MEDIA_STOP ,
  Key_MediaPlay = GATE_KBD_KEY_MEDIA_PLAY , Key_LaunchMail = GATE_KBD_KEY_LAUNCH_MAIL , Key_LaunchMedia = GATE_KBD_KEY_LAUNCH_MEDIA , Key_LaunchApp = GATE_KBD_KEY_LAUNCH_APP ,
  Key_LaunchApp2 = GATE_KBD_KEY_LAUNCH_APP2 , Key_Attn = GATE_KBD_KEY_ATTN , Key_CrSel = GATE_KBD_KEY_CRSEL , Key_ExSel = GATE_KBD_KEY_EXSEL ,
  Key_EraseEof = GATE_KBD_KEY_ERASE_EOF , Key_Play = GATE_KBD_KEY_PLAY , Key_Zoom = GATE_KBD_KEY_ZOOM , Key_Equal = GATE_KBD_KEY_EQUAL ,
  Key_ImeKana = GATE_KBD_KEY_IME_KANA , Key_ImeJunja = GATE_KBD_KEY_IME_JUNJA , Key_ImeFinal = GATE_KBD_KEY_IME_FINAL , Key_ImeKanji = GATE_KBD_KEY_IME_KANJI ,
  Key_ImeConvert = GATE_KBD_KEY_IME_CONVERT , Key_ImeNonConvert = GATE_KBD_KEY_IME_NONCONVERT , Key_ImeAccept = GATE_KBD_KEY_IME_ACCEPT , Key_ImeModeChange = GATE_KBD_KEY_IME_MODECHANGE ,
  Key_ImeProcess = GATE_KBD_KEY_IME_PROCESS , Key_Slash = GATE_KBD_KEY_SLASH , Key_Backslash = GATE_KBD_KEY_BACKSLASH , Key_BraceLeft = GATE_KBD_KEY_BRACE_LEFT ,
  Key_BraceRight = GATE_KBD_KEY_BRACE_RIGHT , Key_Quote = GATE_KBD_KEY_QUOTE , Key_Tilde = GATE_KBD_KEY_TILDE
}
 
typedef KeyEnum code_t
 
typedef gate_input_keystates_t states_t
 
typedef gate_input_nativekeycode_t nativekey_t
 

Static Public Member Functions

static void parseNativeKey (nativekey_t native_key, KeyEnum &key, states_t &keyStateBits)
 
static KeyEnum parseNativeKey (nativekey_t native_key)
 
static nativekey_t buildNativeKey (KeyEnum key, states_t keyStateBits=0)
 
static size_t parseVT100Symbols (char const *symbols, size_t symbolsCount, KeyEnum &key, states_t &keyStateBits, char_32_t &character)
 
static size_t buildVT100Symbols (KeyEnum key, states_t keyStateBits, char *symbolsBuffer, size_t symbolsBufferCapacity)
 
static void buildVT100Symbols (KeyEnum key, states_t keyStateBits, Stream &output)
 

The documentation for this class was generated from the following files: