neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
i_keyboard.hpp File Reference

Go to the source code of this file.

Classes

class  neogfx::i_keyboard_handler
 
class  neogfx::i_keyboard_layout
 
struct  neogfx::i_keyboard_layout::ime_not_open
 
struct  neogfx::i_keyboard_layout::ime_not_active
 
struct  neogfx::i_keyboard_layout::ime_activation_failure
 
class  neogfx::i_keyboard
 
struct  neogfx::i_keyboard::already_grabbed
 
class  neogfx::key_sequence
 

Namespaces

namespace  neogfx
 

Macros

#define NEOGFX_SCANCODE_MASK   (1<<30)
 
#define NEOGFX_SCANCODE_TO_KEYCODE(X)   (X | NEOGFX_SCANCODE_MASK)
 

Typedefs

typedef std::optional< key_sequenceneogfx::optional_key_sequence
 

Enumerations

enum  neogfx::scan_code_e : int32_t {
  neogfx::ScanCode_UNKNOWN = 0 , neogfx::ScanCode_A = 4 , neogfx::ScanCode_B = 5 , neogfx::ScanCode_C = 6 ,
  neogfx::ScanCode_D = 7 , neogfx::ScanCode_E = 8 , neogfx::ScanCode_F = 9 , neogfx::ScanCode_G = 10 ,
  neogfx::ScanCode_H = 11 , neogfx::ScanCode_I = 12 , neogfx::ScanCode_J = 13 , neogfx::ScanCode_K = 14 ,
  neogfx::ScanCode_L = 15 , neogfx::ScanCode_M = 16 , neogfx::ScanCode_N = 17 , neogfx::ScanCode_O = 18 ,
  neogfx::ScanCode_P = 19 , neogfx::ScanCode_Q = 20 , neogfx::ScanCode_R = 21 , neogfx::ScanCode_S = 22 ,
  neogfx::ScanCode_T = 23 , neogfx::ScanCode_U = 24 , neogfx::ScanCode_V = 25 , neogfx::ScanCode_W = 26 ,
  neogfx::ScanCode_X = 27 , neogfx::ScanCode_Y = 28 , neogfx::ScanCode_Z = 29 , neogfx::ScanCode_1 = 30 ,
  neogfx::ScanCode_2 = 31 , neogfx::ScanCode_3 = 32 , neogfx::ScanCode_4 = 33 , neogfx::ScanCode_5 = 34 ,
  neogfx::ScanCode_6 = 35 , neogfx::ScanCode_7 = 36 , neogfx::ScanCode_8 = 37 , neogfx::ScanCode_9 = 38 ,
  neogfx::ScanCode_0 = 39 , neogfx::ScanCode_RETURN = 40 , neogfx::ScanCode_ESCAPE = 41 , neogfx::ScanCode_BACKSPACE = 42 ,
  neogfx::ScanCode_TAB = 43 , neogfx::ScanCode_SPACE = 44 , neogfx::ScanCode_MINUS = 45 , neogfx::ScanCode_EQUALS = 46 ,
  neogfx::ScanCode_LEFTBRACKET = 47 , neogfx::ScanCode_RIGHTBRACKET = 48 , neogfx::ScanCode_BACKSLASH = 49 , neogfx::ScanCode_NONUSHASH = 50 ,
  neogfx::ScanCode_SEMICOLON = 51 , neogfx::ScanCode_APOSTROPHE = 52 , neogfx::ScanCode_GRAVE = 53 , neogfx::ScanCode_COMMA = 54 ,
  neogfx::ScanCode_PERIOD = 55 , neogfx::ScanCode_SLASH = 56 , neogfx::ScanCode_CAPSLOCK = 57 , neogfx::ScanCode_F1 = 58 ,
  neogfx::ScanCode_F2 = 59 , neogfx::ScanCode_F3 = 60 , neogfx::ScanCode_F4 = 61 , neogfx::ScanCode_F5 = 62 ,
  neogfx::ScanCode_F6 = 63 , neogfx::ScanCode_F7 = 64 , neogfx::ScanCode_F8 = 65 , neogfx::ScanCode_F9 = 66 ,
  neogfx::ScanCode_F10 = 67 , neogfx::ScanCode_F11 = 68 , neogfx::ScanCode_F12 = 69 , neogfx::ScanCode_PRINTSCREEN = 70 ,
  neogfx::ScanCode_SCROLLLOCK = 71 , neogfx::ScanCode_PAUSE = 72 , neogfx::ScanCode_INSERT = 73 , neogfx::ScanCode_HOME = 74 ,
  neogfx::ScanCode_PAGEUP = 75 , neogfx::ScanCode_DELETE = 76 , neogfx::ScanCode_END = 77 , neogfx::ScanCode_PAGEDOWN = 78 ,
  neogfx::ScanCode_RIGHT = 79 , neogfx::ScanCode_LEFT = 80 , neogfx::ScanCode_DOWN = 81 , neogfx::ScanCode_UP = 82 ,
  neogfx::ScanCode_NUMLOCKCLEAR = 83 , neogfx::ScanCode_KP_DIVIDE = 84 , neogfx::ScanCode_KP_MULTIPLY = 85 , neogfx::ScanCode_KP_MINUS = 86 ,
  neogfx::ScanCode_KP_PLUS = 87 , neogfx::ScanCode_KP_ENTER = 88 , neogfx::ScanCode_KP_1 = 89 , neogfx::ScanCode_KP_2 = 90 ,
  neogfx::ScanCode_KP_3 = 91 , neogfx::ScanCode_KP_4 = 92 , neogfx::ScanCode_KP_5 = 93 , neogfx::ScanCode_KP_6 = 94 ,
  neogfx::ScanCode_KP_7 = 95 , neogfx::ScanCode_KP_8 = 96 , neogfx::ScanCode_KP_9 = 97 , neogfx::ScanCode_KP_0 = 98 ,
  neogfx::ScanCode_KP_PERIOD = 99 , neogfx::ScanCode_NONUSBACKSLASH = 100 , neogfx::ScanCode_APPLICATION = 101 , neogfx::ScanCode_POWER = 102 ,
  neogfx::ScanCode_KP_EQUALS = 103 , neogfx::ScanCode_F13 = 104 , neogfx::ScanCode_F14 = 105 , neogfx::ScanCode_F15 = 106 ,
  neogfx::ScanCode_F16 = 107 , neogfx::ScanCode_F17 = 108 , neogfx::ScanCode_F18 = 109 , neogfx::ScanCode_F19 = 110 ,
  neogfx::ScanCode_F20 = 111 , neogfx::ScanCode_F21 = 112 , neogfx::ScanCode_F22 = 113 , neogfx::ScanCode_F23 = 114 ,
  neogfx::ScanCode_F24 = 115 , neogfx::ScanCode_EXECUTE = 116 , neogfx::ScanCode_HELP = 117 , neogfx::ScanCode_MENU = 118 ,
  neogfx::ScanCode_SELECT = 119 , neogfx::ScanCode_STOP = 120 , neogfx::ScanCode_AGAIN = 121 , neogfx::ScanCode_UNDO = 122 ,
  neogfx::ScanCode_CUT = 123 , neogfx::ScanCode_COPY = 124 , neogfx::ScanCode_PASTE = 125 , neogfx::ScanCode_FIND = 126 ,
  neogfx::ScanCode_MUTE = 127 , neogfx::ScanCode_VOLUMEUP = 128 , neogfx::ScanCode_VOLUMEDOWN = 129 , neogfx::ScanCode_LOCKINGCAPSLOCK = 130 ,
  neogfx::ScanCode_LOCKINGNUMLOCK = 131 , neogfx::ScanCode_LOCKINGSCROLLLOCK = 132 , neogfx::ScanCode_KP_COMMA = 133 , neogfx::ScanCode_KP_EQUALSAS400 = 134 ,
  neogfx::ScanCode_INTERNATIONAL1 = 135 , neogfx::ScanCode_INTERNATIONAL2 = 136 , neogfx::ScanCode_INTERNATIONAL3 = 137 , neogfx::ScanCode_INTERNATIONAL4 = 138 ,
  neogfx::ScanCode_INTERNATIONAL5 = 139 , neogfx::ScanCode_INTERNATIONAL6 = 140 , neogfx::ScanCode_INTERNATIONAL7 = 141 , neogfx::ScanCode_INTERNATIONAL8 = 142 ,
  neogfx::ScanCode_INTERNATIONAL9 = 143 , neogfx::ScanCode_LANG1 = 144 , neogfx::ScanCode_LANG2 = 145 , neogfx::ScanCode_LANG3 = 146 ,
  neogfx::ScanCode_LANG4 = 147 , neogfx::ScanCode_LANG5 = 148 , neogfx::ScanCode_LANG6 = 149 , neogfx::ScanCode_LANG7 = 150 ,
  neogfx::ScanCode_LANG8 = 151 , neogfx::ScanCode_LANG9 = 152 , neogfx::ScanCode_ALTERASE = 153 , neogfx::ScanCode_SYSREQ = 154 ,
  neogfx::ScanCode_CANCEL = 155 , neogfx::ScanCode_CLEAR = 156 , neogfx::ScanCode_PRIOR = 157 , neogfx::ScanCode_RETURN2 = 158 ,
  neogfx::ScanCode_SEPARATOR = 159 , neogfx::ScanCode_OUT = 160 , neogfx::ScanCode_OPER = 161 , neogfx::ScanCode_CLEARAGAIN = 162 ,
  neogfx::ScanCode_CRSEL = 163 , neogfx::ScanCode_EXSEL = 164 , neogfx::ScanCode_KP_00 = 176 , neogfx::ScanCode_KP_000 = 177 ,
  neogfx::ScanCode_THOUSANDSSEPARATOR = 178 , neogfx::ScanCode_DECIMALSEPARATOR = 179 , neogfx::ScanCode_CURRENCYUNIT = 180 , neogfx::ScanCode_CURRENCYSUBUNIT = 181 ,
  neogfx::ScanCode_KP_LEFTPAREN = 182 , neogfx::ScanCode_KP_RIGHTPAREN = 183 , neogfx::ScanCode_KP_LEFTBRACE = 184 , neogfx::ScanCode_KP_RIGHTBRACE = 185 ,
  neogfx::ScanCode_KP_TAB = 186 , neogfx::ScanCode_KP_BACKSPACE = 187 , neogfx::ScanCode_KP_A = 188 , neogfx::ScanCode_KP_B = 189 ,
  neogfx::ScanCode_KP_C = 190 , neogfx::ScanCode_KP_D = 191 , neogfx::ScanCode_KP_E = 192 , neogfx::ScanCode_KP_F = 193 ,
  neogfx::ScanCode_KP_XOR = 194 , neogfx::ScanCode_KP_POWER = 195 , neogfx::ScanCode_KP_PERCENT = 196 , neogfx::ScanCode_KP_LESS = 197 ,
  neogfx::ScanCode_KP_GREATER = 198 , neogfx::ScanCode_KP_AMPERSAND = 199 , neogfx::ScanCode_KP_DBLAMPERSAND = 200 , neogfx::ScanCode_KP_VERTICALBAR = 201 ,
  neogfx::ScanCode_KP_DBLVERTICALBAR = 202 , neogfx::ScanCode_KP_COLON = 203 , neogfx::ScanCode_KP_HASH = 204 , neogfx::ScanCode_KP_SPACE = 205 ,
  neogfx::ScanCode_KP_AT = 206 , neogfx::ScanCode_KP_EXCLAM = 207 , neogfx::ScanCode_KP_MEMSTORE = 208 , neogfx::ScanCode_KP_MEMRECALL = 209 ,
  neogfx::ScanCode_KP_MEMCLEAR = 210 , neogfx::ScanCode_KP_MEMADD = 211 , neogfx::ScanCode_KP_MEMSUBTRACT = 212 , neogfx::ScanCode_KP_MEMMULTIPLY = 213 ,
  neogfx::ScanCode_KP_MEMDIVIDE = 214 , neogfx::ScanCode_KP_PLUSMINUS = 215 , neogfx::ScanCode_KP_CLEAR = 216 , neogfx::ScanCode_KP_CLEARENTRY = 217 ,
  neogfx::ScanCode_KP_BINARY = 218 , neogfx::ScanCode_KP_OCTAL = 219 , neogfx::ScanCode_KP_DECIMAL = 220 , neogfx::ScanCode_KP_HEXADECIMAL = 221 ,
  neogfx::ScanCode_LCTRL = 224 , neogfx::ScanCode_LSHIFT = 225 , neogfx::ScanCode_LALT = 226 , neogfx::ScanCode_LGUI = 227 ,
  neogfx::ScanCode_RCTRL = 228 , neogfx::ScanCode_RSHIFT = 229 , neogfx::ScanCode_RALT = 230 , neogfx::ScanCode_RGUI = 231 ,
  neogfx::ScanCode_MODE = 257 , neogfx::ScanCode_AUDIONEXT = 258 , neogfx::ScanCode_AUDIOPREV = 259 , neogfx::ScanCode_AUDIOSTOP = 260 ,
  neogfx::ScanCode_AUDIOPLAY = 261 , neogfx::ScanCode_AUDIOMUTE = 262 , neogfx::ScanCode_MEDIASELECT = 263 , neogfx::ScanCode_WWW = 264 ,
  neogfx::ScanCode_MAIL = 265 , neogfx::ScanCode_CALCULATOR = 266 , neogfx::ScanCode_COMPUTER = 267 , neogfx::ScanCode_AC_SEARCH = 268 ,
  neogfx::ScanCode_AC_HOME = 269 , neogfx::ScanCode_AC_BACK = 270 , neogfx::ScanCode_AC_FORWARD = 271 , neogfx::ScanCode_AC_STOP = 272 ,
  neogfx::ScanCode_AC_REFRESH = 273 , neogfx::ScanCode_AC_BOOKMARKS = 274 , neogfx::ScanCode_BRIGHTNESSDOWN = 275 , neogfx::ScanCode_BRIGHTNESSUP = 276 ,
  neogfx::ScanCode_DISPLAYSWITCH = 277 , neogfx::ScanCode_KBDILLUMTOGGLE = 278 , neogfx::ScanCode_KBDILLUMDOWN = 279 , neogfx::ScanCode_KBDILLUMUP = 280 ,
  neogfx::ScanCode_EJECT = 281 , neogfx::ScanCode_SLEEP = 282 , neogfx::ScanCode_APP1 = 283 , neogfx::ScanCode_APP2 = 284 ,
  neogfx::ScanCode_AUDIOREWIND = 285 , neogfx::ScanCode_AUDIOFASTFORWARD = 286 , neogfx::ScanCodeCount = 512
}
 
enum  neogfx::key_code_e : int32_t {
  neogfx::KeyCode_UNKNOWN = 0 , neogfx::KeyCode_RETURN = '\r' , neogfx::KeyCode_ESCAPE = '\033' , neogfx::KeyCode_BACKSPACE = '\b' ,
  neogfx::KeyCode_TAB = '\t' , neogfx::KeyCode_SPACE = ' ' , neogfx::KeyCode_EXCLAIM = '!' , neogfx::KeyCode_QUOTEDBL = '"' ,
  neogfx::KeyCode_HASH = '#' , neogfx::KeyCode_PERCENT = '' , neogfx::KeyCode_DOLLAR = '$' , neogfx::KeyCode_AMPERSAND = '&' ,
  neogfx::KeyCode_QUOTE = '\'' , neogfx::KeyCode_LEFTPAREN = '(' , neogfx::KeyCode_RIGHTPAREN = ')' , neogfx::KeyCode_ASTERISK = '*' ,
  neogfx::KeyCode_PLUS = '+' , neogfx::KeyCode_COMMA = ',' , neogfx::KeyCode_MINUS = '-' , neogfx::KeyCode_PERIOD = '.' ,
  neogfx::KeyCode_SLASH = '/' , neogfx::KeyCode_0 = '0' , neogfx::KeyCode_1 = '1' , neogfx::KeyCode_2 = '2' ,
  neogfx::KeyCode_3 = '3' , neogfx::KeyCode_4 = '4' , neogfx::KeyCode_5 = '5' , neogfx::KeyCode_6 = '6' ,
  neogfx::KeyCode_7 = '7' , neogfx::KeyCode_8 = '8' , neogfx::KeyCode_9 = '9' , neogfx::KeyCode_COLON = ':' ,
  neogfx::KeyCode_SEMICOLON = ';' , neogfx::KeyCode_LESS = '<' , neogfx::KeyCode_EQUALS = '=' , neogfx::KeyCode_GREATER = '>' ,
  neogfx::KeyCode_QUESTION = '?' , neogfx::KeyCode_AT = '@' , neogfx::KeyCode_LEFTBRACKET = '[' , neogfx::KeyCode_BACKSLASH = '\\' ,
  neogfx::KeyCode_RIGHTBRACKET = ']' , neogfx::KeyCode_CARET = '^' , neogfx::KeyCode_UNDERSCORE = '_' , neogfx::KeyCode_BACKQUOTE = '`' ,
  neogfx::KeyCode_a = 'a' , neogfx::KeyCode_b = 'b' , neogfx::KeyCode_c = 'c' , neogfx::KeyCode_d = 'd' ,
  neogfx::KeyCode_e = 'e' , neogfx::KeyCode_f = 'f' , neogfx::KeyCode_g = 'g' , neogfx::KeyCode_h = 'h' ,
  neogfx::KeyCode_i = 'i' , neogfx::KeyCode_j = 'j' , neogfx::KeyCode_k = 'k' , neogfx::KeyCode_l = 'l' ,
  neogfx::KeyCode_m = 'm' , neogfx::KeyCode_n = 'n' , neogfx::KeyCode_o = 'o' , neogfx::KeyCode_p = 'p' ,
  neogfx::KeyCode_q = 'q' , neogfx::KeyCode_r = 'r' , neogfx::KeyCode_s = 's' , neogfx::KeyCode_t = 't' ,
  neogfx::KeyCode_u = 'u' , neogfx::KeyCode_v = 'v' , neogfx::KeyCode_w = 'w' , neogfx::KeyCode_x = 'x' ,
  neogfx::KeyCode_y = 'y' , neogfx::KeyCode_z = 'z' , neogfx::KeyCode_CAPSLOCK = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_CAPSLOCK) , neogfx::KeyCode_F1 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F1) ,
  neogfx::KeyCode_F2 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F2) , neogfx::KeyCode_F3 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F3) , neogfx::KeyCode_F4 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F4) , neogfx::KeyCode_F5 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F5) ,
  neogfx::KeyCode_F6 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F6) , neogfx::KeyCode_F7 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F7) , neogfx::KeyCode_F8 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F8) , neogfx::KeyCode_F9 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F9) ,
  neogfx::KeyCode_F10 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F10) , neogfx::KeyCode_F11 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F11) , neogfx::KeyCode_F12 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F12) , neogfx::KeyCode_PRINTSCREEN = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_PRINTSCREEN) ,
  neogfx::KeyCode_SCROLLLOCK = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_SCROLLLOCK) , neogfx::KeyCode_PAUSE = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_PAUSE) , neogfx::KeyCode_INSERT = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_INSERT) , neogfx::KeyCode_HOME = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_HOME) ,
  neogfx::KeyCode_PAGEUP = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_PAGEUP) , neogfx::KeyCode_DELETE = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_DELETE) , neogfx::KeyCode_END = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_END) , neogfx::KeyCode_PAGEDOWN = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_PAGEDOWN) ,
  neogfx::KeyCode_RIGHT = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_RIGHT) , neogfx::KeyCode_LEFT = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_LEFT) , neogfx::KeyCode_DOWN = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_DOWN) , neogfx::KeyCode_UP = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_UP) ,
  neogfx::KeyCode_NUMLOCKCLEAR = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_NUMLOCKCLEAR) , neogfx::KeyCode_KP_DIVIDE = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_DIVIDE) , neogfx::KeyCode_KP_MULTIPLY = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_MULTIPLY) , neogfx::KeyCode_KP_MINUS = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_MINUS) ,
  neogfx::KeyCode_KP_PLUS = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_PLUS) , neogfx::KeyCode_KP_ENTER = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_ENTER) , neogfx::KeyCode_KP_1 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_1) , neogfx::KeyCode_KP_2 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_2) ,
  neogfx::KeyCode_KP_3 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_3) , neogfx::KeyCode_KP_4 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_4) , neogfx::KeyCode_KP_5 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_5) , neogfx::KeyCode_KP_6 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_6) ,
  neogfx::KeyCode_KP_7 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_7) , neogfx::KeyCode_KP_8 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_8) , neogfx::KeyCode_KP_9 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_9) , neogfx::KeyCode_KP_0 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_0) ,
  neogfx::KeyCode_KP_PERIOD = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_PERIOD) , neogfx::KeyCode_APPLICATION = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_APPLICATION) , neogfx::KeyCode_POWER = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_POWER) , neogfx::KeyCode_KP_EQUALS = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_EQUALS) ,
  neogfx::KeyCode_F13 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F13) , neogfx::KeyCode_F14 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F14) , neogfx::KeyCode_F15 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F15) , neogfx::KeyCode_F16 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F16) ,
  neogfx::KeyCode_F17 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F17) , neogfx::KeyCode_F18 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F18) , neogfx::KeyCode_F19 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F19) , neogfx::KeyCode_F20 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F20) ,
  neogfx::KeyCode_F21 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F21) , neogfx::KeyCode_F22 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F22) , neogfx::KeyCode_F23 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F23) , neogfx::KeyCode_F24 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_F24) ,
  neogfx::KeyCode_EXECUTE = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_EXECUTE) , neogfx::KeyCode_HELP = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_HELP) , neogfx::KeyCode_MENU = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_MENU) , neogfx::KeyCode_SELECT = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_SELECT) ,
  neogfx::KeyCode_STOP = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_STOP) , neogfx::KeyCode_AGAIN = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_AGAIN) , neogfx::KeyCode_UNDO = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_UNDO) , neogfx::KeyCode_CUT = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_CUT) ,
  neogfx::KeyCode_COPY = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_COPY) , neogfx::KeyCode_PASTE = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_PASTE) , neogfx::KeyCode_FIND = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_FIND) , neogfx::KeyCode_MUTE = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_MUTE) ,
  neogfx::KeyCode_VOLUMEUP = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_VOLUMEUP) , neogfx::KeyCode_VOLUMEDOWN = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_VOLUMEDOWN) , neogfx::KeyCode_KP_COMMA = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_COMMA) , neogfx::KeyCode_KP_EQUALSAS400 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_EQUALSAS400) ,
  neogfx::KeyCode_ALTERASE = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_ALTERASE) , neogfx::KeyCode_SYSREQ = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_SYSREQ) , neogfx::KeyCode_CANCEL = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_CANCEL) , neogfx::KeyCode_CLEAR = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_CLEAR) ,
  neogfx::KeyCode_PRIOR = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_PRIOR) , neogfx::KeyCode_RETURN2 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_RETURN2) , neogfx::KeyCode_SEPARATOR = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_SEPARATOR) , neogfx::KeyCode_OUT = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_OUT) ,
  neogfx::KeyCode_OPER = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_OPER) , neogfx::KeyCode_CLEARAGAIN = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_CLEARAGAIN) , neogfx::KeyCode_CRSEL = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_CRSEL) , neogfx::KeyCode_EXSEL = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_EXSEL) ,
  neogfx::KeyCode_KP_00 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_00) , neogfx::KeyCode_KP_000 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_000) , neogfx::KeyCode_THOUSANDSSEPARATOR = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_THOUSANDSSEPARATOR) , neogfx::KeyCode_DECIMALSEPARATOR = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_DECIMALSEPARATOR) ,
  neogfx::KeyCode_CURRENCYUNIT = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_CURRENCYUNIT) , neogfx::KeyCode_CURRENCYSUBUNIT = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_CURRENCYSUBUNIT) , neogfx::KeyCode_KP_LEFTPAREN = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_LEFTPAREN) , neogfx::KeyCode_KP_RIGHTPAREN = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_RIGHTPAREN) ,
  neogfx::KeyCode_KP_LEFTBRACE = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_LEFTBRACE) , neogfx::KeyCode_KP_RIGHTBRACE = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_RIGHTBRACE) , neogfx::KeyCode_KP_TAB = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_TAB) , neogfx::KeyCode_KP_BACKSPACE = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_BACKSPACE) ,
  neogfx::KeyCode_KP_A = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_A) , neogfx::KeyCode_KP_B = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_B) , neogfx::KeyCode_KP_C = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_C) , neogfx::KeyCode_KP_D = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_D) ,
  neogfx::KeyCode_KP_E = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_E) , neogfx::KeyCode_KP_F = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_F) , neogfx::KeyCode_KP_XOR = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_XOR) , neogfx::KeyCode_KP_POWER = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_POWER) ,
  neogfx::KeyCode_KP_PERCENT = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_PERCENT) , neogfx::KeyCode_KP_LESS = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_LESS) , neogfx::KeyCode_KP_GREATER = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_GREATER) , neogfx::KeyCode_KP_AMPERSAND = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_AMPERSAND) ,
  neogfx::KeyCode_KP_DBLAMPERSAND = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_DBLAMPERSAND) , neogfx::KeyCode_KP_VERTICALBAR = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_VERTICALBAR) , neogfx::KeyCode_KP_DBLVERTICALBAR = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_DBLVERTICALBAR) , neogfx::KeyCode_KP_COLON = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_COLON) ,
  neogfx::KeyCode_KP_HASH = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_HASH) , neogfx::KeyCode_KP_SPACE = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_SPACE) , neogfx::KeyCode_KP_AT = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_AT) , neogfx::KeyCode_KP_EXCLAM = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_EXCLAM) ,
  neogfx::KeyCode_KP_MEMSTORE = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_MEMSTORE) , neogfx::KeyCode_KP_MEMRECALL = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_MEMRECALL) , neogfx::KeyCode_KP_MEMCLEAR = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_MEMCLEAR) , neogfx::KeyCode_KP_MEMADD = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_MEMADD) ,
  neogfx::KeyCode_KP_MEMSUBTRACT = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_MEMSUBTRACT) , neogfx::KeyCode_KP_MEMMULTIPLY = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_MEMMULTIPLY) , neogfx::KeyCode_KP_MEMDIVIDE = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_MEMDIVIDE) , neogfx::KeyCode_KP_PLUSMINUS = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_PLUSMINUS) ,
  neogfx::KeyCode_KP_CLEAR = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_CLEAR) , neogfx::KeyCode_KP_CLEARENTRY = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_CLEARENTRY) , neogfx::KeyCode_KP_BINARY = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_BINARY) , neogfx::KeyCode_KP_OCTAL = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_OCTAL) ,
  neogfx::KeyCode_KP_DECIMAL = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_DECIMAL) , neogfx::KeyCode_KP_HEXADECIMAL = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KP_HEXADECIMAL) , neogfx::KeyCode_LCTRL = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_LCTRL) , neogfx::KeyCode_LSHIFT = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_LSHIFT) ,
  neogfx::KeyCode_LALT = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_LALT) , neogfx::KeyCode_LGUI = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_LGUI) , neogfx::KeyCode_RCTRL = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_RCTRL) , neogfx::KeyCode_RSHIFT = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_RSHIFT) ,
  neogfx::KeyCode_RALT = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_RALT) , neogfx::KeyCode_RGUI = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_RGUI) , neogfx::KeyCode_MODE = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_MODE) , neogfx::KeyCode_AUDIONEXT = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_AUDIONEXT) ,
  neogfx::KeyCode_AUDIOPREV = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_AUDIOPREV) , neogfx::KeyCode_AUDIOSTOP = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_AUDIOSTOP) , neogfx::KeyCode_AUDIOPLAY = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_AUDIOPLAY) , neogfx::KeyCode_AUDIOMUTE = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_AUDIOMUTE) ,
  neogfx::KeyCode_MEDIASELECT = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_MEDIASELECT) , neogfx::KeyCode_WWW = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_WWW) , neogfx::KeyCode_MAIL = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_MAIL) , neogfx::KeyCode_CALCULATOR = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_CALCULATOR) ,
  neogfx::KeyCode_COMPUTER = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_COMPUTER) , neogfx::KeyCode_AC_SEARCH = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_AC_SEARCH) , neogfx::KeyCode_AC_HOME = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_AC_HOME) , neogfx::KeyCode_AC_BACK = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_AC_BACK) ,
  neogfx::KeyCode_AC_FORWARD = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_AC_FORWARD) , neogfx::KeyCode_AC_STOP = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_AC_STOP) , neogfx::KeyCode_AC_REFRESH = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_AC_REFRESH) , neogfx::KeyCode_AC_BOOKMARKS = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_AC_BOOKMARKS) ,
  neogfx::KeyCode_BRIGHTNESSDOWN = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_BRIGHTNESSDOWN) , neogfx::KeyCode_BRIGHTNESSUP = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_BRIGHTNESSUP) , neogfx::KeyCode_DISPLAYSWITCH = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_DISPLAYSWITCH) , neogfx::KeyCode_KBDILLUMTOGGLE = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KBDILLUMTOGGLE) ,
  neogfx::KeyCode_KBDILLUMDOWN = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KBDILLUMDOWN) , neogfx::KeyCode_KBDILLUMUP = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_KBDILLUMUP) , neogfx::KeyCode_EJECT = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_EJECT) , neogfx::KeyCode_SLEEP = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_SLEEP) ,
  neogfx::KeyCode_APP1 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_APP1) , neogfx::KeyCode_APP2 = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_APP2) , neogfx::KeyCode_AUDIOREWIND = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_AUDIOREWIND) , neogfx::KeyCode_AUDIOFASTFORWARD = NEOGFX_SCANCODE_TO_KEYCODE(ScanCode_AUDIOFASTFORWARD)
}
 
enum  neogfx::key_modifiers_e : uint16_t {
  neogfx::KeyModifier_NONE = 0x0000 , neogfx::KeyModifier_LSHIFT = 0x0001 , neogfx::KeyModifier_RSHIFT = 0x0002 , neogfx::KeyModifier_SHIFT = KeyModifier_LSHIFT | KeyModifier_RSHIFT ,
  neogfx::KeyModifier_LCTRL = 0x0040 , neogfx::KeyModifier_RCTRL = 0x0080 , neogfx::KeyModifier_CTRL = KeyModifier_LCTRL | KeyModifier_RCTRL , neogfx::KeyModifier_LALT = 0x0100 ,
  neogfx::KeyModifier_RALT = 0x0200 , neogfx::KeyModifier_ALT = KeyModifier_LALT | KeyModifier_RALT , neogfx::KeyModifier_LGUI = 0x0400 , neogfx::KeyModifier_RGUI = 0x0800 ,
  neogfx::KeyModifier_GUI = KeyModifier_LGUI | KeyModifier_RGUI , neogfx::KeyModifier_NUM = 0x1000 , neogfx::KeyModifier_CAPS = 0x2000 , neogfx::KeyModifier_MODE = 0x4000 ,
  neogfx::KeyModifier_LOCKS = KeyModifier_NUM | KeyModifier_CAPS | KeyModifier_MODE , neogfx::KeyModifier_RESERVED = 0x8000
}
 
enum class  neogfx::keyboard_locks : uint32_t {
  neogfx::None = 0x0000 , neogfx::CapsLock = 0x0001 , neogfx::NumLock = 0x0002 , neogfx::ScrollLock = 0x0004 ,
  neogfx::InsertLock = 0x0008
}
 

Functions

constexpr keyboard_locks neogfx::operator| (keyboard_locks aLhs, keyboard_locks aRhs)
 
constexpr keyboard_locks neogfx::operator& (keyboard_locks aLhs, keyboard_locks aRhs)
 

Macro Definition Documentation

◆ NEOGFX_SCANCODE_MASK

#define NEOGFX_SCANCODE_MASK   (1<<30)

Definition at line 327 of file i_keyboard.hpp.

◆ NEOGFX_SCANCODE_TO_KEYCODE

#define NEOGFX_SCANCODE_TO_KEYCODE (   X)    (X | NEOGFX_SCANCODE_MASK)

Definition at line 328 of file i_keyboard.hpp.