Elaztek Developer Hub
Blamite Game Engine - blam!  00398.09.22.23.2015.blamite
The core library for the Blamite Game Engine.
SdlEmulationLayer.h File Reference
#include "OGRE/OgrePrerequisites.h"
+ Include dependency graph for SdlEmulationLayer.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  SDL_Keysym
 
struct  SDL_KeyboardEvent
 Keyboard button event structure (event.key. More...
 
struct  SDL_MouseMotionEvent
 Mouse motion event structure (event.motion. More...
 
struct  SDL_MouseButtonEvent
 Mouse button event structure (event.button. More...
 
struct  SDL_MouseWheelEvent
 Mouse wheel event structure (event.wheel. More...
 
union  SDL_Event
 

Macros

#define OGRE_USE_SDL2   0
 
#define SDLK_SCANCODE_MASK   (1<<30)
 
#define SDL_SCANCODE_TO_KEYCODE(X)   (X | SDLK_SCANCODE_MASK)
 

Typedefs

typedef Ogre::int32 SDL_Keycode
 
typedef struct SDL_Keysym SDL_Keysym
 
typedef struct SDL_KeyboardEvent SDL_KeyboardEvent
 Keyboard button event structure (event.key. More...
 
typedef struct SDL_MouseMotionEvent SDL_MouseMotionEvent
 Mouse motion event structure (event.motion. More...
 
typedef struct SDL_MouseButtonEvent SDL_MouseButtonEvent
 Mouse button event structure (event.button. More...
 
typedef struct SDL_MouseWheelEvent SDL_MouseWheelEvent
 Mouse wheel event structure (event.wheel. More...
 
typedef union SDL_Event SDL_Event
 

Enumerations

enum  SDL_Scancode {
  SDL_SCANCODE_UNKNOWN = 0, SDL_SCANCODE_A = 4, SDL_SCANCODE_B = 5, SDL_SCANCODE_C = 6,
  SDL_SCANCODE_D = 7, SDL_SCANCODE_E = 8, SDL_SCANCODE_F = 9, SDL_SCANCODE_G = 10,
  SDL_SCANCODE_H = 11, SDL_SCANCODE_I = 12, SDL_SCANCODE_J = 13, SDL_SCANCODE_K = 14,
  SDL_SCANCODE_L = 15, SDL_SCANCODE_M = 16, SDL_SCANCODE_N = 17, SDL_SCANCODE_O = 18,
  SDL_SCANCODE_P = 19, SDL_SCANCODE_Q = 20, SDL_SCANCODE_R = 21, SDL_SCANCODE_S = 22,
  SDL_SCANCODE_T = 23, SDL_SCANCODE_U = 24, SDL_SCANCODE_V = 25, SDL_SCANCODE_W = 26,
  SDL_SCANCODE_X = 27, SDL_SCANCODE_Y = 28, SDL_SCANCODE_Z = 29, SDL_SCANCODE_1 = 30,
  SDL_SCANCODE_2 = 31, SDL_SCANCODE_3 = 32, SDL_SCANCODE_4 = 33, SDL_SCANCODE_5 = 34,
  SDL_SCANCODE_6 = 35, SDL_SCANCODE_7 = 36, SDL_SCANCODE_8 = 37, SDL_SCANCODE_9 = 38,
  SDL_SCANCODE_0 = 39, SDL_SCANCODE_RETURN = 40, SDL_SCANCODE_ESCAPE = 41, SDL_SCANCODE_BACKSPACE = 42,
  SDL_SCANCODE_TAB = 43, SDL_SCANCODE_SPACE = 44, SDL_SCANCODE_MINUS = 45, SDL_SCANCODE_EQUALS = 46,
  SDL_SCANCODE_LEFTBRACKET = 47, SDL_SCANCODE_RIGHTBRACKET = 48, SDL_SCANCODE_BACKSLASH = 49, SDL_SCANCODE_NONUSHASH = 50,
  SDL_SCANCODE_SEMICOLON = 51, SDL_SCANCODE_APOSTROPHE = 52, SDL_SCANCODE_GRAVE = 53, SDL_SCANCODE_COMMA = 54,
  SDL_SCANCODE_PERIOD = 55, SDL_SCANCODE_SLASH = 56, SDL_SCANCODE_CAPSLOCK = 57, SDL_SCANCODE_F1 = 58,
  SDL_SCANCODE_F2 = 59, SDL_SCANCODE_F3 = 60, SDL_SCANCODE_F4 = 61, SDL_SCANCODE_F5 = 62,
  SDL_SCANCODE_F6 = 63, SDL_SCANCODE_F7 = 64, SDL_SCANCODE_F8 = 65, SDL_SCANCODE_F9 = 66,
  SDL_SCANCODE_F10 = 67, SDL_SCANCODE_F11 = 68, SDL_SCANCODE_F12 = 69, SDL_SCANCODE_PRINTSCREEN = 70,
  SDL_SCANCODE_SCROLLLOCK = 71, SDL_SCANCODE_PAUSE = 72, SDL_SCANCODE_INSERT = 73, SDL_SCANCODE_HOME = 74,
  SDL_SCANCODE_PAGEUP = 75, SDL_SCANCODE_DELETE = 76, SDL_SCANCODE_END = 77, SDL_SCANCODE_PAGEDOWN = 78,
  SDL_SCANCODE_RIGHT = 79, SDL_SCANCODE_LEFT = 80, SDL_SCANCODE_DOWN = 81, SDL_SCANCODE_UP = 82,
  SDL_SCANCODE_NUMLOCKCLEAR = 83, SDL_SCANCODE_KP_DIVIDE = 84, SDL_SCANCODE_KP_MULTIPLY = 85, SDL_SCANCODE_KP_MINUS = 86,
  SDL_SCANCODE_KP_PLUS = 87, SDL_SCANCODE_KP_ENTER = 88, SDL_SCANCODE_KP_1 = 89, SDL_SCANCODE_KP_2 = 90,
  SDL_SCANCODE_KP_3 = 91, SDL_SCANCODE_KP_4 = 92, SDL_SCANCODE_KP_5 = 93, SDL_SCANCODE_KP_6 = 94,
  SDL_SCANCODE_KP_7 = 95, SDL_SCANCODE_KP_8 = 96, SDL_SCANCODE_KP_9 = 97, SDL_SCANCODE_KP_0 = 98,
  SDL_SCANCODE_KP_PERIOD = 99, SDL_SCANCODE_NONUSBACKSLASH = 100, SDL_SCANCODE_APPLICATION = 101, SDL_SCANCODE_POWER = 102,
  SDL_SCANCODE_KP_EQUALS = 103, SDL_SCANCODE_F13 = 104, SDL_SCANCODE_F14 = 105, SDL_SCANCODE_F15 = 106,
  SDL_SCANCODE_F16 = 107, SDL_SCANCODE_F17 = 108, SDL_SCANCODE_F18 = 109, SDL_SCANCODE_F19 = 110,
  SDL_SCANCODE_F20 = 111, SDL_SCANCODE_F21 = 112, SDL_SCANCODE_F22 = 113, SDL_SCANCODE_F23 = 114,
  SDL_SCANCODE_F24 = 115, SDL_SCANCODE_EXECUTE = 116, SDL_SCANCODE_HELP = 117, SDL_SCANCODE_MENU = 118,
  SDL_SCANCODE_SELECT = 119, SDL_SCANCODE_STOP = 120, SDL_SCANCODE_AGAIN = 121, SDL_SCANCODE_UNDO = 122,
  SDL_SCANCODE_CUT = 123, SDL_SCANCODE_COPY = 124, SDL_SCANCODE_PASTE = 125, SDL_SCANCODE_FIND = 126,
  SDL_SCANCODE_MUTE = 127, SDL_SCANCODE_VOLUMEUP = 128, SDL_SCANCODE_VOLUMEDOWN = 129, SDL_SCANCODE_KP_COMMA = 133,
  SDL_SCANCODE_KP_EQUALSAS400 = 134, SDL_SCANCODE_INTERNATIONAL1 = 135, SDL_SCANCODE_INTERNATIONAL2 = 136, SDL_SCANCODE_INTERNATIONAL3 = 137,
  SDL_SCANCODE_INTERNATIONAL4 = 138, SDL_SCANCODE_INTERNATIONAL5 = 139, SDL_SCANCODE_INTERNATIONAL6 = 140, SDL_SCANCODE_INTERNATIONAL7 = 141,
  SDL_SCANCODE_INTERNATIONAL8 = 142, SDL_SCANCODE_INTERNATIONAL9 = 143, SDL_SCANCODE_LANG1 = 144, SDL_SCANCODE_LANG2 = 145,
  SDL_SCANCODE_LANG3 = 146, SDL_SCANCODE_LANG4 = 147, SDL_SCANCODE_LANG5 = 148, SDL_SCANCODE_LANG6 = 149,
  SDL_SCANCODE_LANG7 = 150, SDL_SCANCODE_LANG8 = 151, SDL_SCANCODE_LANG9 = 152, SDL_SCANCODE_ALTERASE = 153,
  SDL_SCANCODE_SYSREQ = 154, SDL_SCANCODE_CANCEL = 155, SDL_SCANCODE_CLEAR = 156, SDL_SCANCODE_PRIOR = 157,
  SDL_SCANCODE_RETURN2 = 158, SDL_SCANCODE_SEPARATOR = 159, SDL_SCANCODE_OUT = 160, SDL_SCANCODE_OPER = 161,
  SDL_SCANCODE_CLEARAGAIN = 162, SDL_SCANCODE_CRSEL = 163, SDL_SCANCODE_EXSEL = 164, SDL_SCANCODE_KP_00 = 176,
  SDL_SCANCODE_KP_000 = 177, SDL_SCANCODE_THOUSANDSSEPARATOR = 178, SDL_SCANCODE_DECIMALSEPARATOR = 179, SDL_SCANCODE_CURRENCYUNIT = 180,
  SDL_SCANCODE_CURRENCYSUBUNIT = 181, SDL_SCANCODE_KP_LEFTPAREN = 182, SDL_SCANCODE_KP_RIGHTPAREN = 183, SDL_SCANCODE_KP_LEFTBRACE = 184,
  SDL_SCANCODE_KP_RIGHTBRACE = 185, SDL_SCANCODE_KP_TAB = 186, SDL_SCANCODE_KP_BACKSPACE = 187, SDL_SCANCODE_KP_A = 188,
  SDL_SCANCODE_KP_B = 189, SDL_SCANCODE_KP_C = 190, SDL_SCANCODE_KP_D = 191, SDL_SCANCODE_KP_E = 192,
  SDL_SCANCODE_KP_F = 193, SDL_SCANCODE_KP_XOR = 194, SDL_SCANCODE_KP_POWER = 195, SDL_SCANCODE_KP_PERCENT = 196,
  SDL_SCANCODE_KP_LESS = 197, SDL_SCANCODE_KP_GREATER = 198, SDL_SCANCODE_KP_AMPERSAND = 199, SDL_SCANCODE_KP_DBLAMPERSAND = 200,
  SDL_SCANCODE_KP_VERTICALBAR = 201, SDL_SCANCODE_KP_DBLVERTICALBAR = 202, SDL_SCANCODE_KP_COLON = 203, SDL_SCANCODE_KP_HASH = 204,
  SDL_SCANCODE_KP_SPACE = 205, SDL_SCANCODE_KP_AT = 206, SDL_SCANCODE_KP_EXCLAM = 207, SDL_SCANCODE_KP_MEMSTORE = 208,
  SDL_SCANCODE_KP_MEMRECALL = 209, SDL_SCANCODE_KP_MEMCLEAR = 210, SDL_SCANCODE_KP_MEMADD = 211, SDL_SCANCODE_KP_MEMSUBTRACT = 212,
  SDL_SCANCODE_KP_MEMMULTIPLY = 213, SDL_SCANCODE_KP_MEMDIVIDE = 214, SDL_SCANCODE_KP_PLUSMINUS = 215, SDL_SCANCODE_KP_CLEAR = 216,
  SDL_SCANCODE_KP_CLEARENTRY = 217, SDL_SCANCODE_KP_BINARY = 218, SDL_SCANCODE_KP_OCTAL = 219, SDL_SCANCODE_KP_DECIMAL = 220,
  SDL_SCANCODE_KP_HEXADECIMAL = 221, SDL_SCANCODE_LCTRL = 224, SDL_SCANCODE_LSHIFT = 225, SDL_SCANCODE_LALT = 226,
  SDL_SCANCODE_LGUI = 227, SDL_SCANCODE_RCTRL = 228, SDL_SCANCODE_RSHIFT = 229, SDL_SCANCODE_RALT = 230,
  SDL_SCANCODE_RGUI = 231, SDL_SCANCODE_MODE = 257, SDL_SCANCODE_AUDIONEXT = 258, SDL_SCANCODE_AUDIOPREV = 259,
  SDL_SCANCODE_AUDIOSTOP = 260, SDL_SCANCODE_AUDIOPLAY = 261, SDL_SCANCODE_AUDIOMUTE = 262, SDL_SCANCODE_MEDIASELECT = 263,
  SDL_SCANCODE_WWW = 264, SDL_SCANCODE_MAIL = 265, SDL_SCANCODE_CALCULATOR = 266, SDL_SCANCODE_COMPUTER = 267,
  SDL_SCANCODE_AC_SEARCH = 268, SDL_SCANCODE_AC_HOME = 269, SDL_SCANCODE_AC_BACK = 270, SDL_SCANCODE_AC_FORWARD = 271,
  SDL_SCANCODE_AC_STOP = 272, SDL_SCANCODE_AC_REFRESH = 273, SDL_SCANCODE_AC_BOOKMARKS = 274, SDL_SCANCODE_BRIGHTNESSDOWN = 275,
  SDL_SCANCODE_BRIGHTNESSUP = 276, SDL_SCANCODE_DISPLAYSWITCH = 277, SDL_SCANCODE_KBDILLUMTOGGLE = 278, SDL_SCANCODE_KBDILLUMDOWN = 279,
  SDL_SCANCODE_KBDILLUMUP = 280, SDL_SCANCODE_EJECT = 281, SDL_SCANCODE_SLEEP = 282, SDL_SCANCODE_APP1 = 283,
  SDL_SCANCODE_APP2 = 284, SDL_NUM_SCANCODES = 512
}
 The SDL keyboard scancode representation. More...
 
enum  {
  SDLK_UNKNOWN = 0, SDLK_RETURN = '\r', SDLK_ESCAPE = '\033', SDLK_BACKSPACE = '\b',
  SDLK_TAB = '\t', SDLK_SPACE = ' ', SDLK_EXCLAIM = '!', SDLK_QUOTEDBL = '"',
  SDLK_HASH = '#', SDLK_PERCENT = '', SDLK_DOLLAR = '$', SDLK_AMPERSAND = '&',
  SDLK_QUOTE = '\'', SDLK_LEFTPAREN = '(', SDLK_RIGHTPAREN = ')', SDLK_ASTERISK = '*',
  SDLK_PLUS = '+', SDLK_COMMA = ',', SDLK_MINUS = '-', SDLK_PERIOD = '.',
  SDLK_SLASH = '/', SDLK_0 = '0', SDLK_1 = '1', SDLK_2 = '2',
  SDLK_3 = '3', SDLK_4 = '4', SDLK_5 = '5', SDLK_6 = '6',
  SDLK_7 = '7', SDLK_8 = '8', SDLK_9 = '9', SDLK_COLON = ':',
  SDLK_SEMICOLON = ';', SDLK_LESS = '<', SDLK_EQUALS = '=', SDLK_GREATER = '>',
  SDLK_QUESTION = '?', SDLK_AT = '@', SDLK_LEFTBRACKET = '[', SDLK_BACKSLASH = '\\',
  SDLK_RIGHTBRACKET = ']', SDLK_CARET = '^', SDLK_UNDERSCORE = '_', SDLK_BACKQUOTE = '`',
  SDLK_a = 'a', SDLK_b = 'b', SDLK_c = 'c', SDLK_d = 'd',
  SDLK_e = 'e', SDLK_f = 'f', SDLK_g = 'g', SDLK_h = 'h',
  SDLK_i = 'i', SDLK_j = 'j', SDLK_k = 'k', SDLK_l = 'l',
  SDLK_m = 'm', SDLK_n = 'n', SDLK_o = 'o', SDLK_p = 'p',
  SDLK_q = 'q', SDLK_r = 'r', SDLK_s = 's', SDLK_t = 't',
  SDLK_u = 'u', SDLK_v = 'v', SDLK_w = 'w', SDLK_x = 'x',
  SDLK_y = 'y', SDLK_z = 'z', SDLK_CAPSLOCK = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CAPSLOCK), SDLK_F1 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F1),
  SDLK_F2 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F2), SDLK_F3 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F3), SDLK_F4 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F4), SDLK_F5 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F5),
  SDLK_F6 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F6), SDLK_F7 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F7), SDLK_F8 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F8), SDLK_F9 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F9),
  SDLK_F10 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F10), SDLK_F11 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F11), SDLK_F12 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F12), SDLK_PRINTSCREEN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PRINTSCREEN),
  SDLK_SCROLLLOCK = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SCROLLLOCK), SDLK_PAUSE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PAUSE), SDLK_INSERT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_INSERT), SDLK_HOME = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_HOME),
  SDLK_PAGEUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PAGEUP), SDLK_DELETE = '\177', SDLK_END = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_END), SDLK_PAGEDOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PAGEDOWN),
  SDLK_RIGHT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RIGHT), SDLK_LEFT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LEFT), SDLK_DOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_DOWN), SDLK_UP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_UP),
  SDLK_NUMLOCKCLEAR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_NUMLOCKCLEAR), SDLK_KP_DIVIDE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_DIVIDE), SDLK_KP_MULTIPLY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MULTIPLY), SDLK_KP_MINUS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MINUS),
  SDLK_KP_PLUS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_PLUS), SDLK_KP_ENTER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_ENTER), SDLK_KP_1 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_1), SDLK_KP_2 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_2),
  SDLK_KP_3 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_3), SDLK_KP_4 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_4), SDLK_KP_5 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_5), SDLK_KP_6 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_6),
  SDLK_KP_7 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_7), SDLK_KP_8 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_8), SDLK_KP_9 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_9), SDLK_KP_0 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_0),
  SDLK_KP_PERIOD = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_PERIOD), SDLK_APPLICATION = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_APPLICATION), SDLK_POWER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_POWER), SDLK_KP_EQUALS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_EQUALS),
  SDLK_F13 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F13), SDLK_F14 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F14), SDLK_F15 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F15), SDLK_F16 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F16),
  SDLK_F17 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F17), SDLK_F18 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F18), SDLK_F19 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F19), SDLK_F20 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F20),
  SDLK_F21 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F21), SDLK_F22 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F22), SDLK_F23 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F23), SDLK_F24 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_F24),
  SDLK_EXECUTE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_EXECUTE), SDLK_HELP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_HELP), SDLK_MENU = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MENU), SDLK_SELECT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SELECT),
  SDLK_STOP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_STOP), SDLK_AGAIN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AGAIN), SDLK_UNDO = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_UNDO), SDLK_CUT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CUT),
  SDLK_COPY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_COPY), SDLK_PASTE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PASTE), SDLK_FIND = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_FIND), SDLK_MUTE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MUTE),
  SDLK_VOLUMEUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_VOLUMEUP), SDLK_VOLUMEDOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_VOLUMEDOWN), SDLK_KP_COMMA = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_COMMA), SDLK_KP_EQUALSAS400,
  SDLK_ALTERASE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_ALTERASE), SDLK_SYSREQ = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SYSREQ), SDLK_CANCEL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CANCEL), SDLK_CLEAR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CLEAR),
  SDLK_PRIOR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_PRIOR), SDLK_RETURN2 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RETURN2), SDLK_SEPARATOR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SEPARATOR), SDLK_OUT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_OUT),
  SDLK_OPER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_OPER), SDLK_CLEARAGAIN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CLEARAGAIN), SDLK_CRSEL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CRSEL), SDLK_EXSEL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_EXSEL),
  SDLK_KP_00 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_00), SDLK_KP_000 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_000), SDLK_THOUSANDSSEPARATOR, SDLK_DECIMALSEPARATOR,
  SDLK_CURRENCYUNIT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CURRENCYUNIT), SDLK_CURRENCYSUBUNIT, SDLK_KP_LEFTPAREN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_LEFTPAREN), SDLK_KP_RIGHTPAREN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_RIGHTPAREN),
  SDLK_KP_LEFTBRACE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_LEFTBRACE), SDLK_KP_RIGHTBRACE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_RIGHTBRACE), SDLK_KP_TAB = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_TAB), SDLK_KP_BACKSPACE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_BACKSPACE),
  SDLK_KP_A = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_A), SDLK_KP_B = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_B), SDLK_KP_C = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_C), SDLK_KP_D = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_D),
  SDLK_KP_E = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_E), SDLK_KP_F = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_F), SDLK_KP_XOR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_XOR), SDLK_KP_POWER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_POWER),
  SDLK_KP_PERCENT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_PERCENT), SDLK_KP_LESS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_LESS), SDLK_KP_GREATER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_GREATER), SDLK_KP_AMPERSAND = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_AMPERSAND),
  SDLK_KP_DBLAMPERSAND, SDLK_KP_VERTICALBAR, SDLK_KP_DBLVERTICALBAR, SDLK_KP_COLON = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_COLON),
  SDLK_KP_HASH = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_HASH), SDLK_KP_SPACE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_SPACE), SDLK_KP_AT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_AT), SDLK_KP_EXCLAM = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_EXCLAM),
  SDLK_KP_MEMSTORE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMSTORE), SDLK_KP_MEMRECALL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMRECALL), SDLK_KP_MEMCLEAR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMCLEAR), SDLK_KP_MEMADD = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMADD),
  SDLK_KP_MEMSUBTRACT, SDLK_KP_MEMMULTIPLY, SDLK_KP_MEMDIVIDE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_MEMDIVIDE), SDLK_KP_PLUSMINUS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_PLUSMINUS),
  SDLK_KP_CLEAR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_CLEAR), SDLK_KP_CLEARENTRY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_CLEARENTRY), SDLK_KP_BINARY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_BINARY), SDLK_KP_OCTAL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_OCTAL),
  SDLK_KP_DECIMAL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KP_DECIMAL), SDLK_KP_HEXADECIMAL, SDLK_LCTRL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LCTRL), SDLK_LSHIFT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LSHIFT),
  SDLK_LALT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LALT), SDLK_LGUI = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_LGUI), SDLK_RCTRL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RCTRL), SDLK_RSHIFT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RSHIFT),
  SDLK_RALT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RALT), SDLK_RGUI = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_RGUI), SDLK_MODE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MODE), SDLK_AUDIONEXT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIONEXT),
  SDLK_AUDIOPREV = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOPREV), SDLK_AUDIOSTOP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOSTOP), SDLK_AUDIOPLAY = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOPLAY), SDLK_AUDIOMUTE = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOMUTE),
  SDLK_MEDIASELECT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MEDIASELECT), SDLK_WWW = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_WWW), SDLK_MAIL = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_MAIL), SDLK_CALCULATOR = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_CALCULATOR),
  SDLK_COMPUTER = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_COMPUTER), SDLK_AC_SEARCH = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_SEARCH), SDLK_AC_HOME = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_HOME), SDLK_AC_BACK = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_BACK),
  SDLK_AC_FORWARD = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_FORWARD), SDLK_AC_STOP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_STOP), SDLK_AC_REFRESH = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_REFRESH), SDLK_AC_BOOKMARKS = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AC_BOOKMARKS),
  SDLK_BRIGHTNESSDOWN, SDLK_BRIGHTNESSUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_BRIGHTNESSUP), SDLK_DISPLAYSWITCH = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_DISPLAYSWITCH), SDLK_KBDILLUMTOGGLE,
  SDLK_KBDILLUMDOWN = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KBDILLUMDOWN), SDLK_KBDILLUMUP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_KBDILLUMUP), SDLK_EJECT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_EJECT), SDLK_SLEEP = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SLEEP)
}
 
enum  SDL_Keymod {
  KMOD_NONE = 0x0000, KMOD_LSHIFT = 0x0001, KMOD_RSHIFT = 0x0002, KMOD_LCTRL = 0x0040,
  KMOD_RCTRL = 0x0080, KMOD_LALT = 0x0100, KMOD_RALT = 0x0200, KMOD_LGUI = 0x0400,
  KMOD_RGUI = 0x0800, KMOD_NUM = 0x1000, KMOD_CAPS = 0x2000, KMOD_MODE = 0x4000,
  KMOD_RESERVED = 0x8000
}
 

Macro Definition Documentation

◆ OGRE_USE_SDL2

#define OGRE_USE_SDL2   0

◆ SDL_SCANCODE_TO_KEYCODE

#define SDL_SCANCODE_TO_KEYCODE (   X)    (X | SDLK_SCANCODE_MASK)

◆ SDLK_SCANCODE_MASK

#define SDLK_SCANCODE_MASK   (1<<30)

Typedef Documentation

◆ SDL_Event

typedef union SDL_Event SDL_Event

◆ SDL_KeyboardEvent

Keyboard button event structure (event.key.

*)

◆ SDL_Keycode

typedef Ogre::int32 SDL_Keycode

◆ SDL_Keysym

typedef struct SDL_Keysym SDL_Keysym

◆ SDL_MouseButtonEvent

Mouse button event structure (event.button.

*)

◆ SDL_MouseMotionEvent

Mouse motion event structure (event.motion.

*)

◆ SDL_MouseWheelEvent

Mouse wheel event structure (event.wheel.

*)

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
SDLK_UNKNOWN 
SDLK_RETURN 
SDLK_ESCAPE 
SDLK_BACKSPACE 
SDLK_TAB 
SDLK_SPACE 
SDLK_EXCLAIM 
SDLK_QUOTEDBL 
SDLK_HASH 
SDLK_PERCENT 
SDLK_DOLLAR 
SDLK_AMPERSAND 
SDLK_QUOTE 
SDLK_LEFTPAREN 
SDLK_RIGHTPAREN 
SDLK_ASTERISK 
SDLK_PLUS 
SDLK_COMMA 
SDLK_MINUS 
SDLK_PERIOD 
SDLK_SLASH 
SDLK_0 
SDLK_1 
SDLK_2 
SDLK_3 
SDLK_4 
SDLK_5 
SDLK_6 
SDLK_7 
SDLK_8 
SDLK_9 
SDLK_COLON 
SDLK_SEMICOLON 
SDLK_LESS 
SDLK_EQUALS 
SDLK_GREATER 
SDLK_QUESTION 
SDLK_AT 
SDLK_LEFTBRACKET 
SDLK_BACKSLASH 
SDLK_RIGHTBRACKET 
SDLK_CARET 
SDLK_UNDERSCORE 
SDLK_BACKQUOTE 
SDLK_a 
SDLK_b 
SDLK_c 
SDLK_d 
SDLK_e 
SDLK_f 
SDLK_g 
SDLK_h 
SDLK_i 
SDLK_j 
SDLK_k 
SDLK_l 
SDLK_m 
SDLK_n 
SDLK_o 
SDLK_p 
SDLK_q 
SDLK_r 
SDLK_s 
SDLK_t 
SDLK_u 
SDLK_v 
SDLK_w 
SDLK_x 
SDLK_y 
SDLK_z 
SDLK_CAPSLOCK 
SDLK_F1 
SDLK_F2 
SDLK_F3 
SDLK_F4 
SDLK_F5 
SDLK_F6 
SDLK_F7 
SDLK_F8 
SDLK_F9 
SDLK_F10 
SDLK_F11 
SDLK_F12 
SDLK_PRINTSCREEN 
SDLK_SCROLLLOCK 
SDLK_PAUSE 
SDLK_INSERT 
SDLK_HOME 
SDLK_PAGEUP 
SDLK_DELETE 
SDLK_END 
SDLK_PAGEDOWN 
SDLK_RIGHT 
SDLK_LEFT 
SDLK_DOWN 
SDLK_UP 
SDLK_NUMLOCKCLEAR 
SDLK_KP_DIVIDE 
SDLK_KP_MULTIPLY 
SDLK_KP_MINUS 
SDLK_KP_PLUS 
SDLK_KP_ENTER 
SDLK_KP_1 
SDLK_KP_2 
SDLK_KP_3 
SDLK_KP_4 
SDLK_KP_5 
SDLK_KP_6 
SDLK_KP_7 
SDLK_KP_8 
SDLK_KP_9 
SDLK_KP_0 
SDLK_KP_PERIOD 
SDLK_APPLICATION 
SDLK_POWER 
SDLK_KP_EQUALS 
SDLK_F13 
SDLK_F14 
SDLK_F15 
SDLK_F16 
SDLK_F17 
SDLK_F18 
SDLK_F19 
SDLK_F20 
SDLK_F21 
SDLK_F22 
SDLK_F23 
SDLK_F24 
SDLK_EXECUTE 
SDLK_HELP 
SDLK_MENU 
SDLK_SELECT 
SDLK_STOP 
SDLK_AGAIN 
SDLK_UNDO 
SDLK_CUT 
SDLK_COPY 
SDLK_PASTE 
SDLK_FIND 
SDLK_MUTE 
SDLK_VOLUMEUP 
SDLK_VOLUMEDOWN 
SDLK_KP_COMMA 
SDLK_KP_EQUALSAS400 
SDLK_ALTERASE 
SDLK_SYSREQ 
SDLK_CANCEL 
SDLK_CLEAR 
SDLK_PRIOR 
SDLK_RETURN2 
SDLK_SEPARATOR 
SDLK_OUT 
SDLK_OPER 
SDLK_CLEARAGAIN 
SDLK_CRSEL 
SDLK_EXSEL 
SDLK_KP_00 
SDLK_KP_000 
SDLK_THOUSANDSSEPARATOR 
SDLK_DECIMALSEPARATOR 
SDLK_CURRENCYUNIT 
SDLK_CURRENCYSUBUNIT 
SDLK_KP_LEFTPAREN 
SDLK_KP_RIGHTPAREN 
SDLK_KP_LEFTBRACE 
SDLK_KP_RIGHTBRACE 
SDLK_KP_TAB 
SDLK_KP_BACKSPACE 
SDLK_KP_A 
SDLK_KP_B 
SDLK_KP_C 
SDLK_KP_D 
SDLK_KP_E 
SDLK_KP_F 
SDLK_KP_XOR 
SDLK_KP_POWER 
SDLK_KP_PERCENT 
SDLK_KP_LESS 
SDLK_KP_GREATER 
SDLK_KP_AMPERSAND 
SDLK_KP_DBLAMPERSAND 
SDLK_KP_VERTICALBAR 
SDLK_KP_DBLVERTICALBAR 
SDLK_KP_COLON 
SDLK_KP_HASH 
SDLK_KP_SPACE 
SDLK_KP_AT 
SDLK_KP_EXCLAM 
SDLK_KP_MEMSTORE 
SDLK_KP_MEMRECALL 
SDLK_KP_MEMCLEAR 
SDLK_KP_MEMADD 
SDLK_KP_MEMSUBTRACT 
SDLK_KP_MEMMULTIPLY 
SDLK_KP_MEMDIVIDE 
SDLK_KP_PLUSMINUS 
SDLK_KP_CLEAR 
SDLK_KP_CLEARENTRY 
SDLK_KP_BINARY 
SDLK_KP_OCTAL 
SDLK_KP_DECIMAL 
SDLK_KP_HEXADECIMAL 
SDLK_LCTRL 
SDLK_LSHIFT 
SDLK_LALT 
SDLK_LGUI 
SDLK_RCTRL 
SDLK_RSHIFT 
SDLK_RALT 
SDLK_RGUI 
SDLK_MODE 
SDLK_AUDIONEXT 
SDLK_AUDIOPREV 
SDLK_AUDIOSTOP 
SDLK_AUDIOPLAY 
SDLK_AUDIOMUTE 
SDLK_MEDIASELECT 
SDLK_WWW 
SDLK_MAIL 
SDLK_CALCULATOR 
SDLK_COMPUTER 
SDLK_AC_SEARCH 
SDLK_AC_HOME 
SDLK_AC_BACK 
SDLK_AC_FORWARD 
SDLK_AC_STOP 
SDLK_AC_REFRESH 
SDLK_AC_BOOKMARKS 
SDLK_BRIGHTNESSDOWN 
SDLK_BRIGHTNESSUP 
SDLK_DISPLAYSWITCH 
SDLK_KBDILLUMTOGGLE 
SDLK_KBDILLUMDOWN 
SDLK_KBDILLUMUP 
SDLK_EJECT 
SDLK_SLEEP 

◆ SDL_Keymod

enum SDL_Keymod
Enumerator
KMOD_NONE 
KMOD_LSHIFT 
KMOD_RSHIFT 
KMOD_LCTRL 
KMOD_RCTRL 
KMOD_LALT 
KMOD_RALT 
KMOD_LGUI 
KMOD_RGUI 
KMOD_NUM 
KMOD_CAPS 
KMOD_MODE 
KMOD_RESERVED 

◆ SDL_Scancode

The SDL keyboard scancode representation.

Values of this type are used to represent keyboard keys, among other places in the key.keysym.scancode field of the SDL_Event structure.

The values in this enumeration are based on the USB usage page standard: http://www.usb.org/developers/devclass_docs/Hut1_12v2.pdf

Enumerator
SDL_SCANCODE_UNKNOWN 
SDL_SCANCODE_A 
SDL_SCANCODE_B 
SDL_SCANCODE_C 
SDL_SCANCODE_D 
SDL_SCANCODE_E 
SDL_SCANCODE_F 
SDL_SCANCODE_G 
SDL_SCANCODE_H 
SDL_SCANCODE_I 
SDL_SCANCODE_J 
SDL_SCANCODE_K 
SDL_SCANCODE_L 
SDL_SCANCODE_M 
SDL_SCANCODE_N 
SDL_SCANCODE_O 
SDL_SCANCODE_P 
SDL_SCANCODE_Q 
SDL_SCANCODE_R 
SDL_SCANCODE_S 
SDL_SCANCODE_T 
SDL_SCANCODE_U 
SDL_SCANCODE_V 
SDL_SCANCODE_W 
SDL_SCANCODE_X 
SDL_SCANCODE_Y 
SDL_SCANCODE_Z 
SDL_SCANCODE_1 
SDL_SCANCODE_2 
SDL_SCANCODE_3 
SDL_SCANCODE_4 
SDL_SCANCODE_5 
SDL_SCANCODE_6 
SDL_SCANCODE_7 
SDL_SCANCODE_8 
SDL_SCANCODE_9 
SDL_SCANCODE_0 
SDL_SCANCODE_RETURN 
SDL_SCANCODE_ESCAPE 
SDL_SCANCODE_BACKSPACE 
SDL_SCANCODE_TAB 
SDL_SCANCODE_SPACE 
SDL_SCANCODE_MINUS 
SDL_SCANCODE_EQUALS 
SDL_SCANCODE_LEFTBRACKET 
SDL_SCANCODE_RIGHTBRACKET 
SDL_SCANCODE_BACKSLASH 

Located at the lower left of the return key on ISO keyboards and at the right end of the QWERTY row on ANSI keyboards.

Produces REVERSE SOLIDUS (backslash) and VERTICAL LINE in a US layout, REVERSE SOLIDUS and VERTICAL LINE in a UK Mac layout, NUMBER SIGN and TILDE in a UK Windows layout, DOLLAR SIGN and POUND SIGN in a Swiss German layout, NUMBER SIGN and APOSTROPHE in a German layout, GRAVE ACCENT and POUND SIGN in a French Mac layout, and ASTERISK and MICRO SIGN in a French Windows layout.

SDL_SCANCODE_NONUSHASH 

ISO USB keyboards actually use this code instead of 49 for the same key, but all OSes I've seen treat the two codes identically.

So, as an implementor, unless your keyboard generates both of those codes and your OS treats them differently, you should generate SDL_SCANCODE_BACKSLASH instead of this code. As a user, you should not rely on this code because SDL will never generate it with most (all?) keyboards.

SDL_SCANCODE_SEMICOLON 
SDL_SCANCODE_APOSTROPHE 
SDL_SCANCODE_GRAVE 

Located in the top left corner (on both ANSI and ISO keyboards).

Produces GRAVE ACCENT and TILDE in a US Windows layout and in US and UK Mac layouts on ANSI keyboards, GRAVE ACCENT and NOT SIGN in a UK Windows layout, SECTION SIGN and PLUS-MINUS SIGN in US and UK Mac layouts on ISO keyboards, SECTION SIGN and DEGREE SIGN in a Swiss German layout (Mac: only on ISO keyboards), CIRCUMFLEX ACCENT and DEGREE SIGN in a German layout (Mac: only on ISO keyboards), SUPERSCRIPT TWO and TILDE in a French Windows layout, COMMERCIAL AT and NUMBER SIGN in a French Mac layout on ISO keyboards, and LESS-THAN SIGN and GREATER-THAN SIGN in a Swiss German, German, or French Mac layout on ANSI keyboards.

SDL_SCANCODE_COMMA 
SDL_SCANCODE_PERIOD 
SDL_SCANCODE_SLASH 
SDL_SCANCODE_CAPSLOCK 
SDL_SCANCODE_F1 
SDL_SCANCODE_F2 
SDL_SCANCODE_F3 
SDL_SCANCODE_F4 
SDL_SCANCODE_F5 
SDL_SCANCODE_F6 
SDL_SCANCODE_F7 
SDL_SCANCODE_F8 
SDL_SCANCODE_F9 
SDL_SCANCODE_F10 
SDL_SCANCODE_F11 
SDL_SCANCODE_F12 
SDL_SCANCODE_PRINTSCREEN 
SDL_SCANCODE_SCROLLLOCK 
SDL_SCANCODE_PAUSE 
SDL_SCANCODE_INSERT 

insert on PC, help on some Mac keyboards (but does send code 73, not 117)

SDL_SCANCODE_HOME 
SDL_SCANCODE_PAGEUP 
SDL_SCANCODE_DELETE 
SDL_SCANCODE_END 
SDL_SCANCODE_PAGEDOWN 
SDL_SCANCODE_RIGHT 
SDL_SCANCODE_LEFT 
SDL_SCANCODE_DOWN 
SDL_SCANCODE_UP 
SDL_SCANCODE_NUMLOCKCLEAR 

num lock on PC, clear on Mac keyboards

SDL_SCANCODE_KP_DIVIDE 
SDL_SCANCODE_KP_MULTIPLY 
SDL_SCANCODE_KP_MINUS 
SDL_SCANCODE_KP_PLUS 
SDL_SCANCODE_KP_ENTER 
SDL_SCANCODE_KP_1 
SDL_SCANCODE_KP_2 
SDL_SCANCODE_KP_3 
SDL_SCANCODE_KP_4 
SDL_SCANCODE_KP_5 
SDL_SCANCODE_KP_6 
SDL_SCANCODE_KP_7 
SDL_SCANCODE_KP_8 
SDL_SCANCODE_KP_9 
SDL_SCANCODE_KP_0 
SDL_SCANCODE_KP_PERIOD 
SDL_SCANCODE_NONUSBACKSLASH 

This is the additional key that ISO keyboards have over ANSI ones, located between left shift and Y.

Produces GRAVE ACCENT and TILDE in a US or UK Mac layout, REVERSE SOLIDUS (backslash) and VERTICAL LINE in a US or UK Windows layout, and LESS-THAN SIGN and GREATER-THAN SIGN in a Swiss German, German, or French layout.

SDL_SCANCODE_APPLICATION 

windows contextual menu, compose

SDL_SCANCODE_POWER 

The USB document says this is a status flag, not a physical key - but some Mac keyboards do have a power key.

SDL_SCANCODE_KP_EQUALS 
SDL_SCANCODE_F13 
SDL_SCANCODE_F14 
SDL_SCANCODE_F15 
SDL_SCANCODE_F16 
SDL_SCANCODE_F17 
SDL_SCANCODE_F18 
SDL_SCANCODE_F19 
SDL_SCANCODE_F20 
SDL_SCANCODE_F21 
SDL_SCANCODE_F22 
SDL_SCANCODE_F23 
SDL_SCANCODE_F24 
SDL_SCANCODE_EXECUTE 
SDL_SCANCODE_HELP 
SDL_SCANCODE_MENU 
SDL_SCANCODE_SELECT 
SDL_SCANCODE_STOP 
SDL_SCANCODE_AGAIN 

redo

SDL_SCANCODE_UNDO 
SDL_SCANCODE_CUT 
SDL_SCANCODE_COPY 
SDL_SCANCODE_PASTE 
SDL_SCANCODE_FIND 
SDL_SCANCODE_MUTE 
SDL_SCANCODE_VOLUMEUP 
SDL_SCANCODE_VOLUMEDOWN 
SDL_SCANCODE_KP_COMMA 
SDL_SCANCODE_KP_EQUALSAS400 
SDL_SCANCODE_INTERNATIONAL1 

used on Asian keyboards, see footnotes in USB doc

SDL_SCANCODE_INTERNATIONAL2 
SDL_SCANCODE_INTERNATIONAL3 

Yen.

SDL_SCANCODE_INTERNATIONAL4 
SDL_SCANCODE_INTERNATIONAL5 
SDL_SCANCODE_INTERNATIONAL6 
SDL_SCANCODE_INTERNATIONAL7 
SDL_SCANCODE_INTERNATIONAL8 
SDL_SCANCODE_INTERNATIONAL9 
SDL_SCANCODE_LANG1 

Hangul/English toggle.

SDL_SCANCODE_LANG2 

Hanja conversion.

SDL_SCANCODE_LANG3 

Katakana.

SDL_SCANCODE_LANG4 

Hiragana.

SDL_SCANCODE_LANG5 

Zenkaku/Hankaku.

SDL_SCANCODE_LANG6 

reserved

SDL_SCANCODE_LANG7 

reserved

SDL_SCANCODE_LANG8 

reserved

SDL_SCANCODE_LANG9 

reserved

SDL_SCANCODE_ALTERASE 

Erase-Eaze.

SDL_SCANCODE_SYSREQ 
SDL_SCANCODE_CANCEL 
SDL_SCANCODE_CLEAR 
SDL_SCANCODE_PRIOR 
SDL_SCANCODE_RETURN2 
SDL_SCANCODE_SEPARATOR 
SDL_SCANCODE_OUT 
SDL_SCANCODE_OPER 
SDL_SCANCODE_CLEARAGAIN 
SDL_SCANCODE_CRSEL 
SDL_SCANCODE_EXSEL 
SDL_SCANCODE_KP_00 
SDL_SCANCODE_KP_000 
SDL_SCANCODE_THOUSANDSSEPARATOR 
SDL_SCANCODE_DECIMALSEPARATOR 
SDL_SCANCODE_CURRENCYUNIT 
SDL_SCANCODE_CURRENCYSUBUNIT 
SDL_SCANCODE_KP_LEFTPAREN 
SDL_SCANCODE_KP_RIGHTPAREN 
SDL_SCANCODE_KP_LEFTBRACE 
SDL_SCANCODE_KP_RIGHTBRACE 
SDL_SCANCODE_KP_TAB 
SDL_SCANCODE_KP_BACKSPACE 
SDL_SCANCODE_KP_A 
SDL_SCANCODE_KP_B 
SDL_SCANCODE_KP_C 
SDL_SCANCODE_KP_D 
SDL_SCANCODE_KP_E 
SDL_SCANCODE_KP_F 
SDL_SCANCODE_KP_XOR 
SDL_SCANCODE_KP_POWER 
SDL_SCANCODE_KP_PERCENT 
SDL_SCANCODE_KP_LESS 
SDL_SCANCODE_KP_GREATER 
SDL_SCANCODE_KP_AMPERSAND 
SDL_SCANCODE_KP_DBLAMPERSAND 
SDL_SCANCODE_KP_VERTICALBAR 
SDL_SCANCODE_KP_DBLVERTICALBAR 
SDL_SCANCODE_KP_COLON 
SDL_SCANCODE_KP_HASH 
SDL_SCANCODE_KP_SPACE 
SDL_SCANCODE_KP_AT 
SDL_SCANCODE_KP_EXCLAM 
SDL_SCANCODE_KP_MEMSTORE 
SDL_SCANCODE_KP_MEMRECALL 
SDL_SCANCODE_KP_MEMCLEAR 
SDL_SCANCODE_KP_MEMADD 
SDL_SCANCODE_KP_MEMSUBTRACT 
SDL_SCANCODE_KP_MEMMULTIPLY 
SDL_SCANCODE_KP_MEMDIVIDE 
SDL_SCANCODE_KP_PLUSMINUS 
SDL_SCANCODE_KP_CLEAR 
SDL_SCANCODE_KP_CLEARENTRY 
SDL_SCANCODE_KP_BINARY 
SDL_SCANCODE_KP_OCTAL 
SDL_SCANCODE_KP_DECIMAL 
SDL_SCANCODE_KP_HEXADECIMAL 
SDL_SCANCODE_LCTRL 
SDL_SCANCODE_LSHIFT 
SDL_SCANCODE_LALT 

alt, option

SDL_SCANCODE_LGUI 

windows, command (apple), meta

SDL_SCANCODE_RCTRL 
SDL_SCANCODE_RSHIFT 
SDL_SCANCODE_RALT 

alt gr, option

SDL_SCANCODE_RGUI 

windows, command (apple), meta

SDL_SCANCODE_MODE 

I'm not sure if this is really not covered by any of the above, but since there's a special KMOD_MODE for it I'm adding it here.

SDL_SCANCODE_AUDIONEXT 
SDL_SCANCODE_AUDIOPREV 
SDL_SCANCODE_AUDIOSTOP 
SDL_SCANCODE_AUDIOPLAY 
SDL_SCANCODE_AUDIOMUTE 
SDL_SCANCODE_MEDIASELECT 
SDL_SCANCODE_WWW 
SDL_SCANCODE_MAIL 
SDL_SCANCODE_CALCULATOR 
SDL_SCANCODE_COMPUTER 
SDL_SCANCODE_AC_SEARCH 
SDL_SCANCODE_AC_HOME 
SDL_SCANCODE_AC_BACK 
SDL_SCANCODE_AC_FORWARD 
SDL_SCANCODE_AC_STOP 
SDL_SCANCODE_AC_REFRESH 
SDL_SCANCODE_AC_BOOKMARKS 
SDL_SCANCODE_BRIGHTNESSDOWN 
SDL_SCANCODE_BRIGHTNESSUP 
SDL_SCANCODE_DISPLAYSWITCH 

display mirroring/dual display switch, video mode switch

SDL_SCANCODE_KBDILLUMTOGGLE 
SDL_SCANCODE_KBDILLUMDOWN 
SDL_SCANCODE_KBDILLUMUP 
SDL_SCANCODE_EJECT 
SDL_SCANCODE_SLEEP 
SDL_SCANCODE_APP1 
SDL_SCANCODE_APP2 
SDL_NUM_SCANCODES 

not a key, just marks the number of scancodes for array bounds