diff options
Diffstat (limited to '')
-rw-r--r-- | xbmc/input/XBMC_vkeys.h | 273 |
1 files changed, 273 insertions, 0 deletions
diff --git a/xbmc/input/XBMC_vkeys.h b/xbmc/input/XBMC_vkeys.h new file mode 100644 index 0000000..833d2da --- /dev/null +++ b/xbmc/input/XBMC_vkeys.h @@ -0,0 +1,273 @@ +/* + * SDL - Simple DirectMedia Layer + * Copyright (C) 1997-2009 Sam Lantinga + * + * SPDX-License-Identifier: LGPL-2.1-or-later + * See LICENSES/README.md for more information. + * + * Sam Lantinga + * slouken@libsdl.org + */ + +#pragma once + +// The XBMC_vkey identifies a key that is mapped to an action or function. +// The keysym.sym generated by SDL_KEYDOWN is mapped to a vkey and the vkey +// is used to lookup an action in the global mapping table. +// The vkey values are the ASCII code of the character where this is possible. +// Non-printing keypresses get a value in the range 0x80 - 0xFF. +// Note that the vkey is a byte value so it cannot be greater than 0xFF. + +typedef enum +{ + 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, + + // Lowercase letters 0x61 - 0x7a have the same vkey as uppercase, so + // use this block for the numpad keys + 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, + + // Non-printing characters + + 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 +} XBMCVKey; + +// These should be in winuser.h. Not sure why they have been defined here +#ifndef VK_0 +#define VK_0 '0' +#define VK_1 '1' +#define VK_2 '2' +#define VK_3 '3' +#define VK_4 '4' +#define VK_5 '5' +#define VK_6 '6' +#define VK_7 '7' +#define VK_8 '8' +#define VK_9 '9' +#define VK_A 'A' +#define VK_B 'B' +#define VK_C 'C' +#define VK_D 'D' +#define VK_E 'E' +#define VK_F 'F' +#define VK_G 'G' +#define VK_H 'H' +#define VK_I 'I' +#define VK_J 'J' +#define VK_K 'K' +#define VK_L 'L' +#define VK_M 'M' +#define VK_N 'N' +#define VK_O 'O' +#define VK_P 'P' +#define VK_Q 'Q' +#define VK_R 'R' +#define VK_S 'S' +#define VK_T 'T' +#define VK_U 'U' +#define VK_V 'V' +#define VK_W 'W' +#define VK_X 'X' +#define VK_Y 'Y' +#define VK_Z 'Z' +#endif /* VK_0 */ + +/* These keys haven't been defined, but were experimentally determined */ +#ifndef VK_SEMICOLON +#define VK_SEMICOLON 0xBA +#define VK_EQUALS 0xBB +#define VK_COMMA 0xBC +#define VK_MINUS 0xBD +#define VK_PERIOD 0xBE +#define VK_SLASH 0xBF +#define VK_GRAVE 0xC0 +#define VK_LBRACKET 0xDB +#define VK_BACKSLASH 0xDC +#define VK_RBRACKET 0xDD +#define VK_APOSTROPHE 0xDE +#define VK_BACKTICK 0xDF +#define VK_OEM_102 0xE2 +#endif |