Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
Keyboard

Classes

class  CInputManager
 Main input processing class. More...
 
class  KODI::KEYBOARD::CKeyboardInputHandling
 Class to translate input from Kodi keycodes to key names defined by the keyboard's controller profile. More...
 
class  KODI::KEYBOARD::IKeyboardDriverHandler
 Interface for handling keyboard events. More...
 
class  KODI::KEYBOARD::IKeyboardInputHandler
 Interface for handling input events for keyboards. More...
 
class  KODI::KEYBOARD::IKeyboardInputProvider
 Interface for classes that can provide keyboard input. More...
 
class  CKey
 
class  KODI::KEYBOARD::CKeyboardEasterEgg
 Hush!!! More...
 
class  KODI::KEYBOARD::CKeyboardLayout
 
class  KODI::KEYBOARD::CKeyboardLayoutManager
 
class  KODI::KEYBOARD::CKeyboardStat
 
struct  XBMC_keysym
 
struct  KODI::KEYBOARD::XBMCKEYTABLE
 

Typedefs

using KODI::KEYBOARD::KeyboardLayouts = std::map<std::string, CKeyboardLayout>
 
enum  XBMCKey {
  XBMCK_UNKNOWN = 0x00 , XBMCK_FIRST = 0x00 , XBMCK_CTRLF = 0x06 , XBMCK_BACKSPACE = 0x08 ,
  XBMCK_TAB = 0x09 , XBMCK_CLEAR = 0x0C , XBMCK_RETURN = 0x0D , XBMCK_PAUSE = 0x13 ,
  XBMCK_ESCAPE = 0x1B , XBMCK_SPACE = 0x20 , XBMCK_EXCLAIM = 0x21 , XBMCK_QUOTEDBL = 0x22 ,
  XBMCK_HASH = 0x23 , XBMCK_DOLLAR = 0x24 , XBMCK_PERCENT = 0x25 , XBMCK_AMPERSAND = 0x26 ,
  XBMCK_QUOTE = 0x27 , XBMCK_LEFTPAREN = 0x28 , XBMCK_RIGHTPAREN = 0x29 , XBMCK_ASTERISK = 0x2A ,
  XBMCK_PLUS = 0x2B , XBMCK_COMMA = 0x2C , XBMCK_MINUS = 0x2D , XBMCK_PERIOD = 0x2E ,
  XBMCK_SLASH = 0x2F , XBMCK_0 = 0x30 , XBMCK_1 = 0x31 , XBMCK_2 = 0x32 ,
  XBMCK_3 = 0x33 , XBMCK_4 = 0x34 , XBMCK_5 = 0x35 , XBMCK_6 = 0x36 ,
  XBMCK_7 = 0x37 , XBMCK_8 = 0x38 , XBMCK_9 = 0x39 , XBMCK_COLON = 0x3A ,
  XBMCK_SEMICOLON = 0x3B , XBMCK_LESS = 0x3C , XBMCK_EQUALS = 0x3D , XBMCK_GREATER = 0x3E ,
  XBMCK_QUESTION = 0x3F , XBMCK_AT = 0x40 , XBMCK_LEFTBRACKET = 0x5B , XBMCK_BACKSLASH = 0x5C ,
  XBMCK_RIGHTBRACKET = 0x5D , XBMCK_CARET = 0x5E , XBMCK_UNDERSCORE = 0x5F , XBMCK_BACKQUOTE = 0x60 ,
  XBMCK_a = 0x61 , XBMCK_b = 0x62 , XBMCK_c = 0x63 , XBMCK_d = 0x64 ,
  XBMCK_e = 0x65 , XBMCK_f = 0x66 , XBMCK_g = 0x67 , XBMCK_h = 0x68 ,
  XBMCK_i = 0x69 , XBMCK_j = 0x6A , XBMCK_k = 0x6B , XBMCK_l = 0x6C ,
  XBMCK_m = 0x6D , XBMCK_n = 0x6E , XBMCK_o = 0x6F , XBMCK_p = 0x70 ,
  XBMCK_q = 0x71 , XBMCK_r = 0x72 , XBMCK_s = 0x73 , XBMCK_t = 0x74 ,
  XBMCK_u = 0x75 , XBMCK_v = 0x76 , XBMCK_w = 0x77 , XBMCK_x = 0x78 ,
  XBMCK_y = 0x79 , XBMCK_z = 0x7A , XBMCK_LEFTBRACE = 0x7b , XBMCK_PIPE = 0x7C ,
  XBMCK_RIGHTBRACE = 0x7D , XBMCK_TILDE = 0x7E , XBMCK_DELETE = 0x7F , XBMCK_BROWSER_BACK = 0xA6 ,
  XBMCK_BROWSER_FORWARD = 0xA7 , XBMCK_BROWSER_REFRESH = 0xA8 , XBMCK_BROWSER_STOP = 0xA9 , XBMCK_BROWSER_SEARCH = 0xAA ,
  XBMCK_BROWSER_FAVORITES = 0xAB , XBMCK_BROWSER_HOME = 0xAC , XBMCK_VOLUME_MUTE = 0xAD , XBMCK_VOLUME_DOWN = 0xAE ,
  XBMCK_VOLUME_UP = 0xAF , XBMCK_MEDIA_NEXT_TRACK = 0xB0 , XBMCK_MEDIA_PREV_TRACK = 0xB1 , XBMCK_MEDIA_STOP = 0xB2 ,
  XBMCK_MEDIA_PLAY_PAUSE = 0xB3 , XBMCK_LAUNCH_MAIL = 0xB4 , XBMCK_LAUNCH_MEDIA_SELECT = 0xB5 , XBMCK_LAUNCH_APP1 = 0xB6 ,
  XBMCK_LAUNCH_APP2 = 0xB7 , XBMCK_LAUNCH_FILE_BROWSER = 0xB8 , XBMCK_LAUNCH_MEDIA_CENTER = 0xB9 , XBMCK_MEDIA_REWIND = 0xBA ,
  XBMCK_MEDIA_FASTFORWARD = 0xBB , XBMCK_OEM_102 = 0xE2 , XBMCK_KP0 = 0x100 , XBMCK_KP1 = 0x101 ,
  XBMCK_KP2 = 0x102 , XBMCK_KP3 = 0x103 , XBMCK_KP4 = 0x104 , XBMCK_KP5 = 0x105 ,
  XBMCK_KP6 = 0x106 , XBMCK_KP7 = 0x107 , XBMCK_KP8 = 0x108 , XBMCK_KP9 = 0x109 ,
  XBMCK_KP_PERIOD = 0x10A , XBMCK_KP_DIVIDE = 0x10B , XBMCK_KP_MULTIPLY = 0x10C , XBMCK_KP_MINUS = 0x10D ,
  XBMCK_KP_PLUS = 0x10E , XBMCK_KP_ENTER = 0x10F , XBMCK_KP_EQUALS = 0x110 , XBMCK_UP = 0x111 ,
  XBMCK_DOWN = 0x112 , XBMCK_RIGHT = 0x113 , XBMCK_LEFT = 0x114 , XBMCK_INSERT = 0x115 ,
  XBMCK_HOME = 0x116 , XBMCK_END = 0x117 , XBMCK_PAGEUP = 0x118 , XBMCK_PAGEDOWN = 0x119 ,
  XBMCK_F1 = 0x11A , XBMCK_F2 = 0x11B , XBMCK_F3 = 0x11C , XBMCK_F4 = 0x11D ,
  XBMCK_F5 = 0x11E , XBMCK_F6 = 0x11F , XBMCK_F7 = 0x120 , XBMCK_F8 = 0x121 ,
  XBMCK_F9 = 0x122 , XBMCK_F10 = 0x123 , XBMCK_F11 = 0x124 , XBMCK_F12 = 0x125 ,
  XBMCK_F13 = 0x126 , XBMCK_F14 = 0x127 , XBMCK_F15 = 0x128 , XBMCK_NUMLOCK = 0x12C ,
  XBMCK_CAPSLOCK = 0x12D , XBMCK_SCROLLOCK = 0x12E , XBMCK_RSHIFT = 0x12F , XBMCK_LSHIFT = 0x130 ,
  XBMCK_RCTRL = 0x131 , XBMCK_LCTRL = 0x132 , XBMCK_RALT = 0x133 , XBMCK_LALT = 0x134 ,
  XBMCK_RMETA = 0x135 , XBMCK_LMETA = 0x136 , XBMCK_LSUPER = 0x137 , XBMCK_RSUPER = 0x138 ,
  XBMCK_MODE = 0x139 , XBMCK_COMPOSE = 0x13A , XBMCK_HELP = 0x13B , XBMCK_PRINT = 0x13C ,
  XBMCK_SYSREQ = 0x13D , XBMCK_BREAK = 0x13E , XBMCK_MENU = 0x13F , XBMCK_POWER = 0x140 ,
  XBMCK_EURO = 0x141 , XBMCK_UNDO = 0x142 , XBMCK_SLEEP = 0x143 , XBMCK_GUIDE = 0x144 ,
  XBMCK_SETTINGS = 0x145 , XBMCK_INFO = 0x146 , XBMCK_RED = 0x147 , XBMCK_GREEN = 0x148 ,
  XBMCK_YELLOW = 0x149 , XBMCK_BLUE = 0x14a , XBMCK_ZOOM = 0x14b , XBMCK_TEXT = 0x14c ,
  XBMCK_FAVORITES = 0x14d , XBMCK_HOMEPAGE = 0x14e , XBMCK_CONFIG = 0x14f , XBMCK_EPG = 0x150 ,
  XBMCK_GRAVE = 0x0060 , XBMCK_ACUTE = 0x00B4 , XBMCK_CIRCUMFLEX = 0x005E , XBMCK_PERISPOMENI = 0x1FC0 ,
  XBMCK_MACRON = 0x00AF , XBMCK_BREVE = 0x02D8 , XBMCK_ABOVEDOT = 0x02D9 , XBMCK_DIAERESIS = 0x00A8 ,
  XBMCK_ABOVERING = 0x02DA , XBMCK_DOUBLEACUTE = 0x030B , XBMCK_CARON = 0x030C , XBMCK_CEDILLA = 0x0327 ,
  XBMCK_OGONEK = 0x0328 , XBMCK_IOTA = 0x0345 , XBMCK_VOICESOUND = 0x3099 , XBMCK_SEMIVOICESOUND = 0x309A ,
  XBMCK_BELOWDOT = 0x0323 , XBMCK_HOOK = 0x0309 , XBMCK_HORN = 0x031B , XBMCK_STROKE = 0x0335 ,
  XBMCK_ABOVECOMMA = 0x0313 , XBMCK_ABOVEREVERSEDCOMMA = 0x0314 , XBMCK_DOUBLEGRAVE = 0x30F , XBMCK_BELOWRING = 0x325 ,
  XBMCK_BELOWMACRON = 0x331 , XBMCK_BELOWCIRCUMFLEX = 0x32D , XBMCK_BELOWTILDE = 0x330 , XBMCK_BELOWBREVE = 0x32e ,
  XBMCK_BELOWDIAERESIS = 0x324 , XBMCK_INVERTEDBREVE = 0x32f , XBMCK_BELOWCOMMA = 0x326 , XBMCK_LOWLINE = 0x332 ,
  XBMCK_ABOVEVERTICALLINE = 0x30D , XBMCK_BELOWVERTICALLINE = 0x329 , XBMCK_LONGSOLIDUSOVERLAY = 0x338 , XBMCK_DEAD_A = 0x363 ,
  XBMCK_DEAD_E = 0x364 , XBMCK_DEAD_I = 0x365 , XBMCK_DEAD_O = 0x366 , XBMCK_DEAD_U = 0x367 ,
  XBMCK_SCHWA = 0x1DEA , XBMCK_STOP = 337 , XBMCK_RECORD = 338 , XBMCK_REWIND = 339 ,
  XBMCK_PHONE = 340 , XBMCK_PLAY = 341 , XBMCK_SHUFFLE = 342 , XBMCK_FASTFORWARD = 343 ,
  XBMCK_EJECT = 344 , XBMCK_XKB_KP_HOME = 0xFF95 , XBMCK_XKB_KP_LEFT = 0xFF96 , XBMCK_XKB_KP_UP = 0xFF97 ,
  XBMCK_XKB_KP_RIGHT = 0xFF98 , XBMCK_XKB_KP_DOWN = 0xFF99 , XBMCK_XKB_KP_PAGE_UP = 0xFF9A , XBMCK_XKB_KP_PAGE_DOWN = 0xFF9B ,
  XBMCK_XKB_KP_END = 0xFF9C , XBMCK_XKB_KP_BEGIN = 0xFF9D , XBMCK_XKB_KP_INSERT = 0xFF9E , XBMCK_XKB_KP_DELETE = 0xFF9F ,
  XBMCK_XKB_KP_DECIMAL = 0xFFAE , XBMCK_XKB_KP0 = 0xFFB0 , XBMCK_XKB_KP1 = 0xFFB1 , XBMCK_XKB_KP2 = 0xFFB2 ,
  XBMCK_XKB_KP3 = 0xFFB3 , XBMCK_XKB_KP4 = 0xFFB4 , XBMCK_XKB_KP5 = 0xFFB5 , XBMCK_XKB_KP6 = 0xFFB6 ,
  XBMCK_XKB_KP7 = 0xFFB7 , XBMCK_XKB_KP8 = 0xFFB8 , XBMCK_XKB_KP9 = 0xFFB9 , XBMCK_XKB_KP_SPACE = 0xFF80 ,
  XBMCK_XKB_KP_TAB = 0xFF89 , XBMCK_XKB_KP_ENTER = 0xFF8D , XBMCK_XKB_KP_F1 = 0xFF91 , XBMCK_XKB_KP_F2 = 0xFF92 ,
  XBMCK_XKB_KP_F3 = 0xFF93 , XBMCK_XKB_KP_F4 = 0xFF94 , XBMCK_XKB_KP_EQUALS = 0xFFBD , XBMCK_XKB_KP_MULTIPLY = 0xFFAA ,
  XBMCK_XKB_KP_ADD = 0xFFAB , XBMCK_XKB_KP_SEPARATOR = 0xFFAC , XBMCK_XKB_KP_SUBTRACT = 0xFFAD , XBMCK_XKB_KP_DIVIDE = 0xFFAF ,
  XBMCK_LAST
}
 
enum  XBMCVKey {
  XBMCVK_BACK = 0x08 , XBMCVK_TAB = 0x09 , XBMCVK_RETURN = 0x0D , XBMCVK_ESCAPE = 0x1B ,
  XBMCVK_SPACE = 0x20 , XBMCVK_EXCLAIM = 0x21 , XBMCVK_QUOTEDBL = 0x22 , XBMCVK_HASH = 0x23 ,
  XBMCVK_DOLLAR = 0x24 , XBMCVK_PERCENT = 0x25 , XBMCVK_AMPERSAND = 0x26 , XBMCVK_QUOTE = 0x27 ,
  XBMCVK_LEFTPAREN = 0x28 , XBMCVK_RIGHTPAREN = 0x29 , XBMCVK_ASTERISK = 0x2A , XBMCVK_PLUS = 0x2B ,
  XBMCVK_COMMA = 0x2C , XBMCVK_MINUS = 0x2D , XBMCVK_PERIOD = 0x2E , XBMCVK_SLASH = 0x2F ,
  XBMCVK_0 = 0x30 , XBMCVK_1 = 0x31 , XBMCVK_2 = 0x32 , XBMCVK_3 = 0x33 ,
  XBMCVK_4 = 0x34 , XBMCVK_5 = 0x35 , XBMCVK_6 = 0x36 , XBMCVK_7 = 0x37 ,
  XBMCVK_8 = 0x38 , XBMCVK_9 = 0x39 , XBMCVK_COLON = 0x3A , XBMCVK_SEMICOLON = 0x3B ,
  XBMCVK_LESS = 0x3C , XBMCVK_EQUALS = 0x3D , XBMCVK_GREATER = 0x3E , XBMCVK_QUESTION = 0x3F ,
  XBMCVK_AT = 0x40 , XBMCVK_A = 0x41 , XBMCVK_B = 0x42 , XBMCVK_C = 0x43 ,
  XBMCVK_D = 0x44 , XBMCVK_E = 0x45 , XBMCVK_F = 0x46 , XBMCVK_G = 0x47 ,
  XBMCVK_H = 0x48 , XBMCVK_I = 0x49 , XBMCVK_J = 0x4A , XBMCVK_K = 0x4B ,
  XBMCVK_L = 0x4C , XBMCVK_M = 0x4D , XBMCVK_N = 0x4E , XBMCVK_O = 0x4F ,
  XBMCVK_P = 0x50 , XBMCVK_Q = 0x51 , XBMCVK_R = 0x52 , XBMCVK_S = 0x53 ,
  XBMCVK_T = 0x54 , XBMCVK_U = 0x55 , XBMCVK_V = 0x56 , XBMCVK_W = 0x57 ,
  XBMCVK_X = 0x58 , XBMCVK_Y = 0x59 , XBMCVK_Z = 0x5A , XBMCVK_LEFTBRACKET = 0x5B ,
  XBMCVK_BACKSLASH = 0x5C , XBMCVK_RIGHTBRACKET = 0x5D , XBMCVK_CARET = 0x5E , XBMCVK_UNDERSCORE = 0x5F ,
  XBMCVK_BACKQUOTE = 0x60 , XBMCVK_NUMPADDIVIDE = 0x61 , XBMCVK_NUMPADTIMES = 0x62 , XBMCVK_NUMPADMINUS = 0x63 ,
  XBMCVK_NUMPADPLUS = 0x64 , XBMCVK_NUMPADENTER = 0x65 , XBMCVK_NUMPADPERIOD = 0x66 , XBMCVK_NUMPAD0 = 0x70 ,
  XBMCVK_NUMPAD1 = 0x71 , XBMCVK_NUMPAD2 = 0x72 , XBMCVK_NUMPAD3 = 0x73 , XBMCVK_NUMPAD4 = 0x74 ,
  XBMCVK_NUMPAD5 = 0x75 , XBMCVK_NUMPAD6 = 0x76 , XBMCVK_NUMPAD7 = 0x77 , XBMCVK_NUMPAD8 = 0x78 ,
  XBMCVK_NUMPAD9 = 0x79 , XBMCVK_LEFTBRACE = 0x7B , XBMCVK_PIPE = 0x7C , XBMCVK_RIGHTBRACE = 0x7D ,
  XBMCVK_TILDE = 0x7E , XBMCVK_UP = 0x80 , XBMCVK_DOWN = 0x81 , XBMCVK_LEFT = 0x82 ,
  XBMCVK_RIGHT = 0x83 , XBMCVK_PAGEUP = 0x84 , XBMCVK_PAGEDOWN = 0x85 , XBMCVK_INSERT = 0x86 ,
  XBMCVK_DELETE = 0x87 , XBMCVK_HOME = 0x88 , XBMCVK_END = 0x89 , XBMCVK_F1 = 0x90 ,
  XBMCVK_F2 = 0x91 , XBMCVK_F3 = 0x92 , XBMCVK_F4 = 0x93 , XBMCVK_F5 = 0x94 ,
  XBMCVK_F6 = 0x95 , XBMCVK_F7 = 0x96 , XBMCVK_F8 = 0x97 , XBMCVK_F9 = 0x98 ,
  XBMCVK_F10 = 0x99 , XBMCVK_F11 = 0x9A , XBMCVK_F12 = 0x9B , XBMCVK_F13 = 0x9C ,
  XBMCVK_F14 = 0x9D , XBMCVK_F15 = 0x9E , XBMCVK_F16 = 0x9F , XBMCVK_F17 = 0xA0 ,
  XBMCVK_F18 = 0xA1 , XBMCVK_F19 = 0xA2 , XBMCVK_F20 = 0xA3 , XBMCVK_F21 = 0xA4 ,
  XBMCVK_F22 = 0xA5 , XBMCVK_F23 = 0xA6 , XBMCVK_F24 = 0xA7 , XBMCVK_BROWSER_BACK = 0xB0 ,
  XBMCVK_BROWSER_FORWARD = 0xB1 , XBMCVK_BROWSER_REFRESH = 0xB2 , XBMCVK_BROWSER_STOP = 0xB3 , XBMCVK_BROWSER_SEARCH = 0xB4 ,
  XBMCVK_BROWSER_FAVORITES = 0xB5 , XBMCVK_BROWSER_HOME = 0xB6 , XBMCVK_VOLUME_MUTE = 0xB7 , XBMCVK_VOLUME_DOWN = 0xB8 ,
  XBMCVK_VOLUME_UP = 0xB9 , XBMCVK_MEDIA_NEXT_TRACK = 0xBA , XBMCVK_MEDIA_PREV_TRACK = 0xBB , XBMCVK_MEDIA_STOP = 0xBC ,
  XBMCVK_MEDIA_PLAY_PAUSE = 0xBD , XBMCVK_LAUNCH_MAIL = 0xBE , XBMCVK_LAUNCH_MEDIA_SELECT = 0xBF , XBMCVK_LAUNCH_APP1 = 0xC0 ,
  XBMCVK_LAUNCH_APP2 = 0xC1 , XBMCVK_LAUNCH_FILE_BROWSER = 0xC2 , XBMCVK_LAUNCH_MEDIA_CENTER = 0xC3 , XBMCVK_MEDIA_REWIND = 0xC4 ,
  XBMCVK_MEDIA_FASTFORWARD = 0xC5 , XBMCVK_MEDIA_RECORD = 0xC6 , XBMCVK_LCONTROL = 0xD0 , XBMCVK_RCONTROL = 0xD1 ,
  XBMCVK_LSHIFT = 0xD2 , XBMCVK_RSHIFT = 0xD3 , XBMCVK_LMENU = 0xD4 , XBMCVK_RMENU = 0xD5 ,
  XBMCVK_LWIN = 0xD6 , XBMCVK_RWIN = 0xD7 , XBMCVK_MENU = 0xD8 , XBMCVK_CAPSLOCK = 0xD9 ,
  XBMCVK_NUMLOCK = 0xDA , XBMCVK_PRINTSCREEN = 0xDB , XBMCVK_SCROLLLOCK = 0xDC , XBMCVK_PAUSE = 0XDD ,
  XBMCVK_POWER = 0XDE , XBMCVK_SLEEP = 0XDF , XBMCVK_GUIDE = 0xE0 , XBMCVK_SETTINGS = 0xE1 ,
  XBMCVK_INFO = 0xE2 , XBMCVK_RED = 0xE3 , XBMCVK_GREEN = 0xE4 , XBMCVK_YELLOW = 0xE5 ,
  XBMCVK_BLUE = 0xE6 , XBMCVK_ZOOM = 0xE7 , XBMCVK_TEXT = 0xE8 , XBMCVK_FAVORITES = 0xE9 ,
  XBMCVK_HOMEPAGE = 0xEA , XBMCVK_CONFIG = 0xEB , XBMCVK_EPG = 0xEC , XBMCVK_LAST = 0xFF
}
 
using KODI::KEYBOARD::XBMCKey = XBMCKey
 Symbol of a hardware-independent key.
 
using KODI::KEYBOARD::KeyName = std::string
 Name of a hardware-indendent symbol representing a key.
 
using KODI::KEYBOARD::Modifier = CKey::Modifier
 Modifier keys on a keyboard that can be held when sending a key press.
 
const unsigned int KODI::KEYBOARD::KEY_HOLD_TRESHOLD = 250
 Duration for which a keyboard key is considered held.
 
#define KEY_BUTTON_A   256
 
#define KEY_BUTTON_B   257
 
#define KEY_BUTTON_X   258
 
#define KEY_BUTTON_Y   259
 
#define KEY_BUTTON_BLACK   260
 
#define KEY_BUTTON_WHITE   261
 
#define KEY_BUTTON_LEFT_TRIGGER   262
 
#define KEY_BUTTON_RIGHT_TRIGGER   263
 
#define KEY_BUTTON_LEFT_THUMB_STICK   264
 
#define KEY_BUTTON_RIGHT_THUMB_STICK   265
 
#define KEY_BUTTON_RIGHT_THUMB_STICK_UP   266
 
#define KEY_BUTTON_RIGHT_THUMB_STICK_DOWN   267
 
#define KEY_BUTTON_RIGHT_THUMB_STICK_LEFT   268
 
#define KEY_BUTTON_RIGHT_THUMB_STICK_RIGHT   269
 
#define KEY_BUTTON_DPAD_UP   270
 
#define KEY_BUTTON_DPAD_DOWN   271
 
#define KEY_BUTTON_DPAD_LEFT   272
 
#define KEY_BUTTON_DPAD_RIGHT   273
 
#define KEY_BUTTON_START   274
 
#define KEY_BUTTON_BACK   275
 
#define KEY_BUTTON_LEFT_THUMB_BUTTON   276
 
#define KEY_BUTTON_RIGHT_THUMB_BUTTON   277
 
#define KEY_BUTTON_LEFT_ANALOG_TRIGGER   278
 
#define KEY_BUTTON_RIGHT_ANALOG_TRIGGER   279
 
#define KEY_BUTTON_LEFT_THUMB_STICK_UP   280
 
#define KEY_BUTTON_LEFT_THUMB_STICK_DOWN   281
 
#define KEY_BUTTON_LEFT_THUMB_STICK_LEFT   282
 
#define KEY_BUTTON_LEFT_THUMB_STICK_RIGHT   283
 
#define KEY_VKEY   0xF000
 
#define KEY_UNICODE   0xF200
 
#define KEY_VMOUSE   0xEFFF
 
#define KEY_MOUSE_START   0xE000
 
#define KEY_MOUSE_CLICK   0xE000
 
#define KEY_MOUSE_RIGHTCLICK   0xE001
 
#define KEY_MOUSE_MIDDLECLICK   0xE002
 
#define KEY_MOUSE_DOUBLE_CLICK   0xE010
 
#define KEY_MOUSE_LONG_CLICK   0xE020
 
#define KEY_MOUSE_WHEEL_UP   0xE101
 
#define KEY_MOUSE_WHEEL_DOWN   0xE102
 
#define KEY_MOUSE_MOVE   0xE103
 
#define KEY_MOUSE_DRAG   0xE104
 
#define KEY_MOUSE_DRAG_START   0xE105
 
#define KEY_MOUSE_DRAG_END   0xE106
 
#define KEY_MOUSE_RDRAG   0xE107
 
#define KEY_MOUSE_RDRAG_START   0xE108
 
#define KEY_MOUSE_RDRAG_END   0xE109
 
#define KEY_MOUSE_NOOP   0xEFFF
 
#define KEY_MOUSE_END   0xEFFF
 
#define KEY_APPCOMMAND   0xD000
 
#define KEY_INVALID   0xFFFF
 

Detailed Description

Keyboard input is processed by CInputManager and forwarded to registered keyboard handlers (e.g. game clients) or as actions to the UI:

Macro Definition Documentation

◆ KEY_APPCOMMAND

#define KEY_APPCOMMAND   0xD000

◆ KEY_BUTTON_A

#define KEY_BUTTON_A   256

◆ KEY_BUTTON_B

#define KEY_BUTTON_B   257

◆ KEY_BUTTON_BACK

#define KEY_BUTTON_BACK   275

◆ KEY_BUTTON_BLACK

#define KEY_BUTTON_BLACK   260

◆ KEY_BUTTON_DPAD_DOWN

#define KEY_BUTTON_DPAD_DOWN   271

◆ KEY_BUTTON_DPAD_LEFT

#define KEY_BUTTON_DPAD_LEFT   272

◆ KEY_BUTTON_DPAD_RIGHT

#define KEY_BUTTON_DPAD_RIGHT   273

◆ KEY_BUTTON_DPAD_UP

#define KEY_BUTTON_DPAD_UP   270

◆ KEY_BUTTON_LEFT_ANALOG_TRIGGER

#define KEY_BUTTON_LEFT_ANALOG_TRIGGER   278

◆ KEY_BUTTON_LEFT_THUMB_BUTTON

#define KEY_BUTTON_LEFT_THUMB_BUTTON   276

◆ KEY_BUTTON_LEFT_THUMB_STICK

#define KEY_BUTTON_LEFT_THUMB_STICK   264

◆ KEY_BUTTON_LEFT_THUMB_STICK_DOWN

#define KEY_BUTTON_LEFT_THUMB_STICK_DOWN   281

◆ KEY_BUTTON_LEFT_THUMB_STICK_LEFT

#define KEY_BUTTON_LEFT_THUMB_STICK_LEFT   282

◆ KEY_BUTTON_LEFT_THUMB_STICK_RIGHT

#define KEY_BUTTON_LEFT_THUMB_STICK_RIGHT   283

◆ KEY_BUTTON_LEFT_THUMB_STICK_UP

#define KEY_BUTTON_LEFT_THUMB_STICK_UP   280

◆ KEY_BUTTON_LEFT_TRIGGER

#define KEY_BUTTON_LEFT_TRIGGER   262

◆ KEY_BUTTON_RIGHT_ANALOG_TRIGGER

#define KEY_BUTTON_RIGHT_ANALOG_TRIGGER   279

◆ KEY_BUTTON_RIGHT_THUMB_BUTTON

#define KEY_BUTTON_RIGHT_THUMB_BUTTON   277

◆ KEY_BUTTON_RIGHT_THUMB_STICK

#define KEY_BUTTON_RIGHT_THUMB_STICK   265

◆ KEY_BUTTON_RIGHT_THUMB_STICK_DOWN

#define KEY_BUTTON_RIGHT_THUMB_STICK_DOWN   267

◆ KEY_BUTTON_RIGHT_THUMB_STICK_LEFT

#define KEY_BUTTON_RIGHT_THUMB_STICK_LEFT   268

◆ KEY_BUTTON_RIGHT_THUMB_STICK_RIGHT

#define KEY_BUTTON_RIGHT_THUMB_STICK_RIGHT   269

◆ KEY_BUTTON_RIGHT_THUMB_STICK_UP

#define KEY_BUTTON_RIGHT_THUMB_STICK_UP   266

◆ KEY_BUTTON_RIGHT_TRIGGER

#define KEY_BUTTON_RIGHT_TRIGGER   263

◆ KEY_BUTTON_START

#define KEY_BUTTON_START   274

◆ KEY_BUTTON_WHITE

#define KEY_BUTTON_WHITE   261

◆ KEY_BUTTON_X

#define KEY_BUTTON_X   258

◆ KEY_BUTTON_Y

#define KEY_BUTTON_Y   259

◆ KEY_INVALID

#define KEY_INVALID   0xFFFF

◆ KEY_MOUSE_CLICK

#define KEY_MOUSE_CLICK   0xE000

◆ KEY_MOUSE_DOUBLE_CLICK

#define KEY_MOUSE_DOUBLE_CLICK   0xE010

◆ KEY_MOUSE_DRAG

#define KEY_MOUSE_DRAG   0xE104

◆ KEY_MOUSE_DRAG_END

#define KEY_MOUSE_DRAG_END   0xE106

◆ KEY_MOUSE_DRAG_START

#define KEY_MOUSE_DRAG_START   0xE105

◆ KEY_MOUSE_END

#define KEY_MOUSE_END   0xEFFF

◆ KEY_MOUSE_LONG_CLICK

#define KEY_MOUSE_LONG_CLICK   0xE020

◆ KEY_MOUSE_MIDDLECLICK

#define KEY_MOUSE_MIDDLECLICK   0xE002

◆ KEY_MOUSE_MOVE

#define KEY_MOUSE_MOVE   0xE103

◆ KEY_MOUSE_NOOP

#define KEY_MOUSE_NOOP   0xEFFF

◆ KEY_MOUSE_RDRAG

#define KEY_MOUSE_RDRAG   0xE107

◆ KEY_MOUSE_RDRAG_END

#define KEY_MOUSE_RDRAG_END   0xE109

◆ KEY_MOUSE_RDRAG_START

#define KEY_MOUSE_RDRAG_START   0xE108

◆ KEY_MOUSE_RIGHTCLICK

#define KEY_MOUSE_RIGHTCLICK   0xE001

◆ KEY_MOUSE_START

#define KEY_MOUSE_START   0xE000

◆ KEY_MOUSE_WHEEL_DOWN

#define KEY_MOUSE_WHEEL_DOWN   0xE102

◆ KEY_MOUSE_WHEEL_UP

#define KEY_MOUSE_WHEEL_UP   0xE101

◆ KEY_UNICODE

#define KEY_UNICODE   0xF200

◆ KEY_VKEY

#define KEY_VKEY   0xF000

◆ KEY_VMOUSE

#define KEY_VMOUSE   0xEFFF

Typedef Documentation

◆ KeyboardLayouts

using KODI::KEYBOARD::KeyboardLayouts = std::map<std::string, CKeyboardLayout>

◆ KeyName

using KODI::KEYBOARD::KeyName = std::string

Name of a hardware-indendent symbol representing a key.

Names are defined in the keyboard's controller profile.

◆ Modifier

Modifier keys on a keyboard that can be held when sending a key press.

Todo
Move CKey enum to this file

◆ XBMCKey

Symbol of a hardware-independent key.

Enumeration Type Documentation

◆ XBMCKey

enum XBMCKey
Enumerator
XBMCK_UNKNOWN 
XBMCK_FIRST 
XBMCK_CTRLF 
XBMCK_BACKSPACE 
XBMCK_TAB 
XBMCK_CLEAR 
XBMCK_RETURN 
XBMCK_PAUSE 
XBMCK_ESCAPE 
XBMCK_SPACE 
XBMCK_EXCLAIM 
XBMCK_QUOTEDBL 
XBMCK_HASH 
XBMCK_DOLLAR 
XBMCK_PERCENT 
XBMCK_AMPERSAND 
XBMCK_QUOTE 
XBMCK_LEFTPAREN 
XBMCK_RIGHTPAREN 
XBMCK_ASTERISK 
XBMCK_PLUS 
XBMCK_COMMA 
XBMCK_MINUS 
XBMCK_PERIOD 
XBMCK_SLASH 
XBMCK_0 
XBMCK_1 
XBMCK_2 
XBMCK_3 
XBMCK_4 
XBMCK_5 
XBMCK_6 
XBMCK_7 
XBMCK_8 
XBMCK_9 
XBMCK_COLON 
XBMCK_SEMICOLON 
XBMCK_LESS 
XBMCK_EQUALS 
XBMCK_GREATER 
XBMCK_QUESTION 
XBMCK_AT 
XBMCK_LEFTBRACKET 
XBMCK_BACKSLASH 
XBMCK_RIGHTBRACKET 
XBMCK_CARET 
XBMCK_UNDERSCORE 
XBMCK_BACKQUOTE 
XBMCK_a 
XBMCK_b 
XBMCK_c 
XBMCK_d 
XBMCK_e 
XBMCK_f 
XBMCK_g 
XBMCK_h 
XBMCK_i 
XBMCK_j 
XBMCK_k 
XBMCK_l 
XBMCK_m 
XBMCK_n 
XBMCK_o 
XBMCK_p 
XBMCK_q 
XBMCK_r 
XBMCK_s 
XBMCK_t 
XBMCK_u 
XBMCK_v 
XBMCK_w 
XBMCK_x 
XBMCK_y 
XBMCK_z 
XBMCK_LEFTBRACE 
XBMCK_PIPE 
XBMCK_RIGHTBRACE 
XBMCK_TILDE 
XBMCK_DELETE 
XBMCK_BROWSER_BACK 
XBMCK_BROWSER_FORWARD 
XBMCK_BROWSER_REFRESH 
XBMCK_BROWSER_STOP 
XBMCK_BROWSER_SEARCH 
XBMCK_BROWSER_FAVORITES 
XBMCK_BROWSER_HOME 
XBMCK_VOLUME_MUTE 
XBMCK_VOLUME_DOWN 
XBMCK_VOLUME_UP 
XBMCK_MEDIA_NEXT_TRACK 
XBMCK_MEDIA_PREV_TRACK 
XBMCK_MEDIA_STOP 
XBMCK_MEDIA_PLAY_PAUSE 
XBMCK_LAUNCH_MAIL 
XBMCK_LAUNCH_MEDIA_SELECT 
XBMCK_LAUNCH_APP1 
XBMCK_LAUNCH_APP2 
XBMCK_LAUNCH_FILE_BROWSER 
XBMCK_LAUNCH_MEDIA_CENTER 
XBMCK_MEDIA_REWIND 
XBMCK_MEDIA_FASTFORWARD 
XBMCK_OEM_102 
XBMCK_KP0 
XBMCK_KP1 
XBMCK_KP2 
XBMCK_KP3 
XBMCK_KP4 
XBMCK_KP5 
XBMCK_KP6 
XBMCK_KP7 
XBMCK_KP8 
XBMCK_KP9 
XBMCK_KP_PERIOD 
XBMCK_KP_DIVIDE 
XBMCK_KP_MULTIPLY 
XBMCK_KP_MINUS 
XBMCK_KP_PLUS 
XBMCK_KP_ENTER 
XBMCK_KP_EQUALS 
XBMCK_UP 
XBMCK_DOWN 
XBMCK_RIGHT 
XBMCK_LEFT 
XBMCK_INSERT 
XBMCK_HOME 
XBMCK_END 
XBMCK_PAGEUP 
XBMCK_PAGEDOWN 
XBMCK_F1 
XBMCK_F2 
XBMCK_F3 
XBMCK_F4 
XBMCK_F5 
XBMCK_F6 
XBMCK_F7 
XBMCK_F8 
XBMCK_F9 
XBMCK_F10 
XBMCK_F11 
XBMCK_F12 
XBMCK_F13 
XBMCK_F14 
XBMCK_F15 
XBMCK_NUMLOCK 
XBMCK_CAPSLOCK 
XBMCK_SCROLLOCK 
XBMCK_RSHIFT 
XBMCK_LSHIFT 
XBMCK_RCTRL 
XBMCK_LCTRL 
XBMCK_RALT 
XBMCK_LALT 
XBMCK_RMETA 
XBMCK_LMETA 
XBMCK_LSUPER 
XBMCK_RSUPER 
XBMCK_MODE 
XBMCK_COMPOSE 
XBMCK_HELP 
XBMCK_PRINT 
XBMCK_SYSREQ 
XBMCK_BREAK 
XBMCK_MENU 
XBMCK_POWER 
XBMCK_EURO 
XBMCK_UNDO 
XBMCK_SLEEP 
XBMCK_GUIDE 
XBMCK_SETTINGS 
XBMCK_INFO 
XBMCK_RED 
XBMCK_GREEN 
XBMCK_YELLOW 
XBMCK_BLUE 
XBMCK_ZOOM 
XBMCK_TEXT 
XBMCK_FAVORITES 
XBMCK_HOMEPAGE 
XBMCK_CONFIG 
XBMCK_EPG 
XBMCK_GRAVE 
XBMCK_ACUTE 
XBMCK_CIRCUMFLEX 
XBMCK_PERISPOMENI 
XBMCK_MACRON 
XBMCK_BREVE 
XBMCK_ABOVEDOT 
XBMCK_DIAERESIS 
XBMCK_ABOVERING 
XBMCK_DOUBLEACUTE 
XBMCK_CARON 
XBMCK_CEDILLA 
XBMCK_OGONEK 
XBMCK_IOTA 
XBMCK_VOICESOUND 
XBMCK_SEMIVOICESOUND 
XBMCK_BELOWDOT 
XBMCK_HOOK 
XBMCK_HORN 
XBMCK_STROKE 
XBMCK_ABOVECOMMA 
XBMCK_ABOVEREVERSEDCOMMA 
XBMCK_DOUBLEGRAVE 
XBMCK_BELOWRING 
XBMCK_BELOWMACRON 
XBMCK_BELOWCIRCUMFLEX 
XBMCK_BELOWTILDE 
XBMCK_BELOWBREVE 
XBMCK_BELOWDIAERESIS 
XBMCK_INVERTEDBREVE 
XBMCK_BELOWCOMMA 
XBMCK_LOWLINE 
XBMCK_ABOVEVERTICALLINE 
XBMCK_BELOWVERTICALLINE 
XBMCK_LONGSOLIDUSOVERLAY 
XBMCK_DEAD_A 
XBMCK_DEAD_E 
XBMCK_DEAD_I 
XBMCK_DEAD_O 
XBMCK_DEAD_U 
XBMCK_SCHWA 
XBMCK_STOP 
XBMCK_RECORD 
XBMCK_REWIND 
XBMCK_PHONE 
XBMCK_PLAY 
XBMCK_SHUFFLE 
XBMCK_FASTFORWARD 
XBMCK_EJECT 
XBMCK_XKB_KP_HOME 
XBMCK_XKB_KP_LEFT 
XBMCK_XKB_KP_UP 
XBMCK_XKB_KP_RIGHT 
XBMCK_XKB_KP_DOWN 
XBMCK_XKB_KP_PAGE_UP 
XBMCK_XKB_KP_PAGE_DOWN 
XBMCK_XKB_KP_END 
XBMCK_XKB_KP_BEGIN 
XBMCK_XKB_KP_INSERT 
XBMCK_XKB_KP_DELETE 
XBMCK_XKB_KP_DECIMAL 
XBMCK_XKB_KP0 
XBMCK_XKB_KP1 
XBMCK_XKB_KP2 
XBMCK_XKB_KP3 
XBMCK_XKB_KP4 
XBMCK_XKB_KP5 
XBMCK_XKB_KP6 
XBMCK_XKB_KP7 
XBMCK_XKB_KP8 
XBMCK_XKB_KP9 
XBMCK_XKB_KP_SPACE 
XBMCK_XKB_KP_TAB 
XBMCK_XKB_KP_ENTER 
XBMCK_XKB_KP_F1 
XBMCK_XKB_KP_F2 
XBMCK_XKB_KP_F3 
XBMCK_XKB_KP_F4 
XBMCK_XKB_KP_EQUALS 
XBMCK_XKB_KP_MULTIPLY 
XBMCK_XKB_KP_ADD 
XBMCK_XKB_KP_SEPARATOR 
XBMCK_XKB_KP_SUBTRACT 
XBMCK_XKB_KP_DIVIDE 
XBMCK_LAST 

◆ XBMCVKey

enum XBMCVKey
Enumerator
XBMCVK_BACK 
XBMCVK_TAB 
XBMCVK_RETURN 
XBMCVK_ESCAPE 
XBMCVK_SPACE 
XBMCVK_EXCLAIM 
XBMCVK_QUOTEDBL 
XBMCVK_HASH 
XBMCVK_DOLLAR 
XBMCVK_PERCENT 
XBMCVK_AMPERSAND 
XBMCVK_QUOTE 
XBMCVK_LEFTPAREN 
XBMCVK_RIGHTPAREN 
XBMCVK_ASTERISK 
XBMCVK_PLUS 
XBMCVK_COMMA 
XBMCVK_MINUS 
XBMCVK_PERIOD 
XBMCVK_SLASH 
XBMCVK_0 
XBMCVK_1 
XBMCVK_2 
XBMCVK_3 
XBMCVK_4 
XBMCVK_5 
XBMCVK_6 
XBMCVK_7 
XBMCVK_8 
XBMCVK_9 
XBMCVK_COLON 
XBMCVK_SEMICOLON 
XBMCVK_LESS 
XBMCVK_EQUALS 
XBMCVK_GREATER 
XBMCVK_QUESTION 
XBMCVK_AT 
XBMCVK_A 
XBMCVK_B 
XBMCVK_C 
XBMCVK_D 
XBMCVK_E 
XBMCVK_F 
XBMCVK_G 
XBMCVK_H 
XBMCVK_I 
XBMCVK_J 
XBMCVK_K 
XBMCVK_L 
XBMCVK_M 
XBMCVK_N 
XBMCVK_O 
XBMCVK_P 
XBMCVK_Q 
XBMCVK_R 
XBMCVK_S 
XBMCVK_T 
XBMCVK_U 
XBMCVK_V 
XBMCVK_W 
XBMCVK_X 
XBMCVK_Y 
XBMCVK_Z 
XBMCVK_LEFTBRACKET 
XBMCVK_BACKSLASH 
XBMCVK_RIGHTBRACKET 
XBMCVK_CARET 
XBMCVK_UNDERSCORE 
XBMCVK_BACKQUOTE 
XBMCVK_NUMPADDIVIDE 
XBMCVK_NUMPADTIMES 
XBMCVK_NUMPADMINUS 
XBMCVK_NUMPADPLUS 
XBMCVK_NUMPADENTER 
XBMCVK_NUMPADPERIOD 
XBMCVK_NUMPAD0 
XBMCVK_NUMPAD1 
XBMCVK_NUMPAD2 
XBMCVK_NUMPAD3 
XBMCVK_NUMPAD4 
XBMCVK_NUMPAD5 
XBMCVK_NUMPAD6 
XBMCVK_NUMPAD7 
XBMCVK_NUMPAD8 
XBMCVK_NUMPAD9 
XBMCVK_LEFTBRACE 
XBMCVK_PIPE 
XBMCVK_RIGHTBRACE 
XBMCVK_TILDE 
XBMCVK_UP 
XBMCVK_DOWN 
XBMCVK_LEFT 
XBMCVK_RIGHT 
XBMCVK_PAGEUP 
XBMCVK_PAGEDOWN 
XBMCVK_INSERT 
XBMCVK_DELETE 
XBMCVK_HOME 
XBMCVK_END 
XBMCVK_F1 
XBMCVK_F2 
XBMCVK_F3 
XBMCVK_F4 
XBMCVK_F5 
XBMCVK_F6 
XBMCVK_F7 
XBMCVK_F8 
XBMCVK_F9 
XBMCVK_F10 
XBMCVK_F11 
XBMCVK_F12 
XBMCVK_F13 
XBMCVK_F14 
XBMCVK_F15 
XBMCVK_F16 
XBMCVK_F17 
XBMCVK_F18 
XBMCVK_F19 
XBMCVK_F20 
XBMCVK_F21 
XBMCVK_F22 
XBMCVK_F23 
XBMCVK_F24 
XBMCVK_BROWSER_BACK 
XBMCVK_BROWSER_FORWARD 
XBMCVK_BROWSER_REFRESH 
XBMCVK_BROWSER_STOP 
XBMCVK_BROWSER_SEARCH 
XBMCVK_BROWSER_FAVORITES 
XBMCVK_BROWSER_HOME 
XBMCVK_VOLUME_MUTE 
XBMCVK_VOLUME_DOWN 
XBMCVK_VOLUME_UP 
XBMCVK_MEDIA_NEXT_TRACK 
XBMCVK_MEDIA_PREV_TRACK 
XBMCVK_MEDIA_STOP 
XBMCVK_MEDIA_PLAY_PAUSE 
XBMCVK_LAUNCH_MAIL 
XBMCVK_LAUNCH_MEDIA_SELECT 
XBMCVK_LAUNCH_APP1 
XBMCVK_LAUNCH_APP2 
XBMCVK_LAUNCH_FILE_BROWSER 
XBMCVK_LAUNCH_MEDIA_CENTER 
XBMCVK_MEDIA_REWIND 
XBMCVK_MEDIA_FASTFORWARD 
XBMCVK_MEDIA_RECORD 
XBMCVK_LCONTROL 
XBMCVK_RCONTROL 
XBMCVK_LSHIFT 
XBMCVK_RSHIFT 
XBMCVK_LMENU 
XBMCVK_RMENU 
XBMCVK_LWIN 
XBMCVK_RWIN 
XBMCVK_MENU 
XBMCVK_CAPSLOCK 
XBMCVK_NUMLOCK 
XBMCVK_PRINTSCREEN 
XBMCVK_SCROLLLOCK 
XBMCVK_PAUSE 
XBMCVK_POWER 
XBMCVK_SLEEP 
XBMCVK_GUIDE 
XBMCVK_SETTINGS 
XBMCVK_INFO 
XBMCVK_RED 
XBMCVK_GREEN 
XBMCVK_YELLOW 
XBMCVK_BLUE 
XBMCVK_ZOOM 
XBMCVK_TEXT 
XBMCVK_FAVORITES 
XBMCVK_HOMEPAGE 
XBMCVK_CONFIG 
XBMCVK_EPG 
XBMCVK_LAST 

Variable Documentation

◆ KEY_HOLD_TRESHOLD

const unsigned int KODI::KEYBOARD::KEY_HOLD_TRESHOLD = 250

Duration for which a keyboard key is considered held.