From bb97e8aaa15217afe1f3fcdc93662ab03b8ae9d9 Mon Sep 17 00:00:00 2001 From: Tomasz Kramkowski Date: Thu, 11 Feb 2021 12:15:12 +0000 Subject: init commit --- sdl.c | 533 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 533 insertions(+) create mode 100644 sdl.c (limited to 'sdl.c') diff --git a/sdl.c b/sdl.c new file mode 100644 index 0000000..a2acb45 --- /dev/null +++ b/sdl.c @@ -0,0 +1,533 @@ +#include +#include + +#include "sdl.h" + +static unsigned long refcnt; + +int sdl_error(lua_State *L, const char *what) +{ + return luaL_error(L, "%s failed: %s", what, SDL_GetError()); +} + +void acquire_sdl() +{ + if (refcnt++ != 0) return; + + SDL_Init(SDL_INIT_VIDEO); + SDL_EnableScreenSaver(); +} + +void release_sdl() +{ + if (refcnt == 0 || --refcnt != 0) return; + + SDL_Quit(); +} + +const char *strbutton(Uint8 button) +{ + switch (button) { + case SDL_BUTTON_LEFT: return "LEFT"; + case SDL_BUTTON_MIDDLE: return "MIDDLE"; + case SDL_BUTTON_RIGHT: return "RIGHT"; + case SDL_BUTTON_X1: return "X1"; + case SDL_BUTTON_X2: return "X2"; + default: return "UNK"; + } +} + +const char *strscancode(SDL_Scancode s) +{ + switch (s) { + case SDL_SCANCODE_A: return "A"; + case SDL_SCANCODE_B: return "B"; + case SDL_SCANCODE_C: return "C"; + case SDL_SCANCODE_D: return "D"; + case SDL_SCANCODE_E: return "E"; + case SDL_SCANCODE_F: return "F"; + case SDL_SCANCODE_G: return "G"; + case SDL_SCANCODE_H: return "H"; + case SDL_SCANCODE_I: return "I"; + case SDL_SCANCODE_J: return "J"; + case SDL_SCANCODE_K: return "K"; + case SDL_SCANCODE_L: return "L"; + case SDL_SCANCODE_M: return "M"; + case SDL_SCANCODE_N: return "N"; + case SDL_SCANCODE_O: return "O"; + case SDL_SCANCODE_P: return "P"; + case SDL_SCANCODE_Q: return "Q"; + case SDL_SCANCODE_R: return "R"; + case SDL_SCANCODE_S: return "S"; + case SDL_SCANCODE_T: return "T"; + case SDL_SCANCODE_U: return "U"; + case SDL_SCANCODE_V: return "V"; + case SDL_SCANCODE_W: return "W"; + case SDL_SCANCODE_X: return "X"; + case SDL_SCANCODE_Y: return "Y"; + case SDL_SCANCODE_Z: return "Z"; + case SDL_SCANCODE_1: return "1"; + case SDL_SCANCODE_2: return "2"; + case SDL_SCANCODE_3: return "3"; + case SDL_SCANCODE_4: return "4"; + case SDL_SCANCODE_5: return "5"; + case SDL_SCANCODE_6: return "6"; + case SDL_SCANCODE_7: return "7"; + case SDL_SCANCODE_8: return "8"; + case SDL_SCANCODE_9: return "9"; + case SDL_SCANCODE_0: return "0"; + case SDL_SCANCODE_RETURN: return "RETURN"; + case SDL_SCANCODE_ESCAPE: return "ESCAPE"; + case SDL_SCANCODE_BACKSPACE: return "BACKSPACE"; + case SDL_SCANCODE_TAB: return "TAB"; + case SDL_SCANCODE_SPACE: return "SPACE"; + case SDL_SCANCODE_MINUS: return "MINUS"; + case SDL_SCANCODE_EQUALS: return "EQUALS"; + case SDL_SCANCODE_LEFTBRACKET: return "LEFTBRACKET"; + case SDL_SCANCODE_RIGHTBRACKET: return "RIGHTBRACKET"; + case SDL_SCANCODE_BACKSLASH: return "BACKSLASH"; + case SDL_SCANCODE_NONUSHASH: return "NONUSHASH"; + case SDL_SCANCODE_SEMICOLON: return "SEMICOLON"; + case SDL_SCANCODE_APOSTROPHE: return "APOSTROPHE"; + case SDL_SCANCODE_GRAVE: return "GRAVE"; + case SDL_SCANCODE_COMMA: return "COMMA"; + case SDL_SCANCODE_PERIOD: return "PERIOD"; + case SDL_SCANCODE_SLASH: return "SLASH"; + case SDL_SCANCODE_CAPSLOCK: return "CAPSLOCK"; + case SDL_SCANCODE_F1: return "F1"; + case SDL_SCANCODE_F2: return "F2"; + case SDL_SCANCODE_F3: return "F3"; + case SDL_SCANCODE_F4: return "F4"; + case SDL_SCANCODE_F5: return "F5"; + case SDL_SCANCODE_F6: return "F6"; + case SDL_SCANCODE_F7: return "F7"; + case SDL_SCANCODE_F8: return "F8"; + case SDL_SCANCODE_F9: return "F9"; + case SDL_SCANCODE_F10: return "F10"; + case SDL_SCANCODE_F11: return "F11"; + case SDL_SCANCODE_F12: return "F12"; + case SDL_SCANCODE_PRINTSCREEN: return "PRINTSCREEN"; + case SDL_SCANCODE_SCROLLLOCK: return "SCROLLLOCK"; + case SDL_SCANCODE_PAUSE: return "PAUSE"; + case SDL_SCANCODE_INSERT: return "INSERT"; + case SDL_SCANCODE_HOME: return "HOME"; + case SDL_SCANCODE_PAGEUP: return "PAGEUP"; + case SDL_SCANCODE_DELETE: return "DELETE"; + case SDL_SCANCODE_END: return "END"; + case SDL_SCANCODE_PAGEDOWN: return "PAGEDOWN"; + case SDL_SCANCODE_RIGHT: return "RIGHT"; + case SDL_SCANCODE_LEFT: return "LEFT"; + case SDL_SCANCODE_DOWN: return "DOWN"; + case SDL_SCANCODE_UP: return "UP"; + case SDL_SCANCODE_NUMLOCKCLEAR: return "NUMLOCKCLEAR"; + case SDL_SCANCODE_KP_DIVIDE: return "KP_DIVIDE"; + case SDL_SCANCODE_KP_MULTIPLY: return "KP_MULTIPLY"; + case SDL_SCANCODE_KP_MINUS: return "KP_MINUS"; + case SDL_SCANCODE_KP_PLUS: return "KP_PLUS"; + case SDL_SCANCODE_KP_ENTER: return "KP_ENTER"; + case SDL_SCANCODE_KP_1: return "KP_1"; + case SDL_SCANCODE_KP_2: return "KP_2"; + case SDL_SCANCODE_KP_3: return "KP_3"; + case SDL_SCANCODE_KP_4: return "KP_4"; + case SDL_SCANCODE_KP_5: return "KP_5"; + case SDL_SCANCODE_KP_6: return "KP_6"; + case SDL_SCANCODE_KP_7: return "KP_7"; + case SDL_SCANCODE_KP_8: return "KP_8"; + case SDL_SCANCODE_KP_9: return "KP_9"; + case SDL_SCANCODE_KP_0: return "KP_0"; + case SDL_SCANCODE_KP_PERIOD: return "KP_PERIOD"; + case SDL_SCANCODE_NONUSBACKSLASH: return "NONUSBACKSLASH"; + case SDL_SCANCODE_APPLICATION: return "APPLICATION"; + case SDL_SCANCODE_POWER: return "POWER"; + case SDL_SCANCODE_KP_EQUALS: return "KP_EQUALS"; + case SDL_SCANCODE_F13: return "F13"; + case SDL_SCANCODE_F14: return "F14"; + case SDL_SCANCODE_F15: return "F15"; + case SDL_SCANCODE_F16: return "F16"; + case SDL_SCANCODE_F17: return "F17"; + case SDL_SCANCODE_F18: return "F18"; + case SDL_SCANCODE_F19: return "F19"; + case SDL_SCANCODE_F20: return "F20"; + case SDL_SCANCODE_F21: return "F21"; + case SDL_SCANCODE_F22: return "F22"; + case SDL_SCANCODE_F23: return "F23"; + case SDL_SCANCODE_F24: return "F24"; + case SDL_SCANCODE_EXECUTE: return "EXECUTE"; + case SDL_SCANCODE_HELP: return "HELP"; + case SDL_SCANCODE_MENU: return "MENU"; + case SDL_SCANCODE_SELECT: return "SELECT"; + case SDL_SCANCODE_STOP: return "STOP"; + case SDL_SCANCODE_AGAIN: return "AGAIN"; + case SDL_SCANCODE_UNDO: return "UNDO"; + case SDL_SCANCODE_CUT: return "CUT"; + case SDL_SCANCODE_COPY: return "COPY"; + case SDL_SCANCODE_PASTE: return "PASTE"; + case SDL_SCANCODE_FIND: return "FIND"; + case SDL_SCANCODE_MUTE: return "MUTE"; + case SDL_SCANCODE_VOLUMEUP: return "VOLUMEUP"; + case SDL_SCANCODE_VOLUMEDOWN: return "VOLUMEDOWN"; + case SDL_SCANCODE_KP_COMMA: return "KP_COMMA"; + case SDL_SCANCODE_KP_EQUALSAS400: return "KP_EQUALSAS400"; + case SDL_SCANCODE_INTERNATIONAL1: return "INTERNATIONAL1"; + case SDL_SCANCODE_INTERNATIONAL2: return "INTERNATIONAL2"; + case SDL_SCANCODE_INTERNATIONAL3: return "INTERNATIONAL3"; + case SDL_SCANCODE_INTERNATIONAL4: return "INTERNATIONAL4"; + case SDL_SCANCODE_INTERNATIONAL5: return "INTERNATIONAL5"; + case SDL_SCANCODE_INTERNATIONAL6: return "INTERNATIONAL6"; + case SDL_SCANCODE_INTERNATIONAL7: return "INTERNATIONAL7"; + case SDL_SCANCODE_INTERNATIONAL8: return "INTERNATIONAL8"; + case SDL_SCANCODE_INTERNATIONAL9: return "INTERNATIONAL9"; + case SDL_SCANCODE_LANG1: return "LANG1"; + case SDL_SCANCODE_LANG2: return "LANG2"; + case SDL_SCANCODE_LANG3: return "LANG3"; + case SDL_SCANCODE_LANG4: return "LANG4"; + case SDL_SCANCODE_LANG5: return "LANG5"; + case SDL_SCANCODE_LANG6: return "LANG6"; + case SDL_SCANCODE_LANG7: return "LANG7"; + case SDL_SCANCODE_LANG8: return "LANG8"; + case SDL_SCANCODE_LANG9: return "LANG9"; + case SDL_SCANCODE_ALTERASE: return "ALTERASE"; + case SDL_SCANCODE_SYSREQ: return "SYSREQ"; + case SDL_SCANCODE_CANCEL: return "CANCEL"; + case SDL_SCANCODE_CLEAR: return "CLEAR"; + case SDL_SCANCODE_PRIOR: return "PRIOR"; + case SDL_SCANCODE_RETURN2: return "RETURN2"; + case SDL_SCANCODE_SEPARATOR: return "SEPARATOR"; + case SDL_SCANCODE_OUT: return "OUT"; + case SDL_SCANCODE_OPER: return "OPER"; + case SDL_SCANCODE_CLEARAGAIN: return "CLEARAGAIN"; + case SDL_SCANCODE_CRSEL: return "CRSEL"; + case SDL_SCANCODE_EXSEL: return "EXSEL"; + case SDL_SCANCODE_KP_00: return "KP_00"; + case SDL_SCANCODE_KP_000: return "KP_000"; + case SDL_SCANCODE_THOUSANDSSEPARATOR: return "THOUSANDSSEPARATOR"; + case SDL_SCANCODE_DECIMALSEPARATOR: return "DECIMALSEPARATOR"; + case SDL_SCANCODE_CURRENCYUNIT: return "CURRENCYUNIT"; + case SDL_SCANCODE_CURRENCYSUBUNIT: return "CURRENCYSUBUNIT"; + case SDL_SCANCODE_KP_LEFTPAREN: return "KP_LEFTPAREN"; + case SDL_SCANCODE_KP_RIGHTPAREN: return "KP_RIGHTPAREN"; + case SDL_SCANCODE_KP_LEFTBRACE: return "KP_LEFTBRACE"; + case SDL_SCANCODE_KP_RIGHTBRACE: return "KP_RIGHTBRACE"; + case SDL_SCANCODE_KP_TAB: return "KP_TAB"; + case SDL_SCANCODE_KP_BACKSPACE: return "KP_BACKSPACE"; + case SDL_SCANCODE_KP_A: return "KP_A"; + case SDL_SCANCODE_KP_B: return "KP_B"; + case SDL_SCANCODE_KP_C: return "KP_C"; + case SDL_SCANCODE_KP_D: return "KP_D"; + case SDL_SCANCODE_KP_E: return "KP_E"; + case SDL_SCANCODE_KP_F: return "KP_F"; + case SDL_SCANCODE_KP_XOR: return "KP_XOR"; + case SDL_SCANCODE_KP_POWER: return "KP_POWER"; + case SDL_SCANCODE_KP_PERCENT: return "KP_PERCENT"; + case SDL_SCANCODE_KP_LESS: return "KP_LESS"; + case SDL_SCANCODE_KP_GREATER: return "KP_GREATER"; + case SDL_SCANCODE_KP_AMPERSAND: return "KP_AMPERSAND"; + case SDL_SCANCODE_KP_DBLAMPERSAND: return "KP_DBLAMPERSAND"; + case SDL_SCANCODE_KP_VERTICALBAR: return "KP_VERTICALBAR"; + case SDL_SCANCODE_KP_DBLVERTICALBAR: return "KP_DBLVERTICALBAR"; + case SDL_SCANCODE_KP_COLON: return "KP_COLON"; + case SDL_SCANCODE_KP_HASH: return "KP_HASH"; + case SDL_SCANCODE_KP_SPACE: return "KP_SPACE"; + case SDL_SCANCODE_KP_AT: return "KP_AT"; + case SDL_SCANCODE_KP_EXCLAM: return "KP_EXCLAM"; + case SDL_SCANCODE_KP_MEMSTORE: return "KP_MEMSTORE"; + case SDL_SCANCODE_KP_MEMRECALL: return "KP_MEMRECALL"; + case SDL_SCANCODE_KP_MEMCLEAR: return "KP_MEMCLEAR"; + case SDL_SCANCODE_KP_MEMADD: return "KP_MEMADD"; + case SDL_SCANCODE_KP_MEMSUBTRACT: return "KP_MEMSUBTRACT"; + case SDL_SCANCODE_KP_MEMMULTIPLY: return "KP_MEMMULTIPLY"; + case SDL_SCANCODE_KP_MEMDIVIDE: return "KP_MEMDIVIDE"; + case SDL_SCANCODE_KP_PLUSMINUS: return "KP_PLUSMINUS"; + case SDL_SCANCODE_KP_CLEAR: return "KP_CLEAR"; + case SDL_SCANCODE_KP_CLEARENTRY: return "KP_CLEARENTRY"; + case SDL_SCANCODE_KP_BINARY: return "KP_BINARY"; + case SDL_SCANCODE_KP_OCTAL: return "KP_OCTAL"; + case SDL_SCANCODE_KP_DECIMAL: return "KP_DECIMAL"; + case SDL_SCANCODE_KP_HEXADECIMAL: return "KP_HEXADECIMAL"; + case SDL_SCANCODE_LCTRL: return "LCTRL"; + case SDL_SCANCODE_LSHIFT: return "LSHIFT"; + case SDL_SCANCODE_LALT: return "LALT"; + case SDL_SCANCODE_LGUI: return "LGUI"; + case SDL_SCANCODE_RCTRL: return "RCTRL"; + case SDL_SCANCODE_RSHIFT: return "RSHIFT"; + case SDL_SCANCODE_RALT: return "RALT"; + case SDL_SCANCODE_RGUI: return "RGUI"; + case SDL_SCANCODE_MODE: return "MODE"; + case SDL_SCANCODE_AUDIONEXT: return "AUDIONEXT"; + case SDL_SCANCODE_AUDIOPREV: return "AUDIOPREV"; + case SDL_SCANCODE_AUDIOSTOP: return "AUDIOSTOP"; + case SDL_SCANCODE_AUDIOPLAY: return "AUDIOPLAY"; + case SDL_SCANCODE_AUDIOMUTE: return "AUDIOMUTE"; + case SDL_SCANCODE_MEDIASELECT: return "MEDIASELECT"; + case SDL_SCANCODE_WWW: return "WWW"; + case SDL_SCANCODE_MAIL: return "MAIL"; + case SDL_SCANCODE_CALCULATOR: return "CALCULATOR"; + case SDL_SCANCODE_COMPUTER: return "COMPUTER"; + case SDL_SCANCODE_AC_SEARCH: return "AC_SEARCH"; + case SDL_SCANCODE_AC_HOME: return "AC_HOME"; + case SDL_SCANCODE_AC_BACK: return "AC_BACK"; + case SDL_SCANCODE_AC_FORWARD: return "AC_FORWARD"; + case SDL_SCANCODE_AC_STOP: return "AC_STOP"; + case SDL_SCANCODE_AC_REFRESH: return "AC_REFRESH"; + case SDL_SCANCODE_AC_BOOKMARKS: return "AC_BOOKMARKS"; + case SDL_SCANCODE_BRIGHTNESSDOWN: return "BRIGHTNESSDOWN"; + case SDL_SCANCODE_BRIGHTNESSUP: return "BRIGHTNESSUP"; + case SDL_SCANCODE_DISPLAYSWITCH: return "DISPLAYSWITCH"; + case SDL_SCANCODE_KBDILLUMTOGGLE: return "KBDILLUMTOGGLE"; + case SDL_SCANCODE_KBDILLUMDOWN: return "KBDILLUMDOWN"; + case SDL_SCANCODE_KBDILLUMUP: return "KBDILLUMUP"; + case SDL_SCANCODE_EJECT: return "EJECT"; + case SDL_SCANCODE_SLEEP: return "SLEEP"; + case SDL_SCANCODE_APP1: return "APP1"; + case SDL_SCANCODE_APP2: return "APP2"; + case SDL_SCANCODE_AUDIOREWIND: return "AUDIOREWIND"; + case SDL_SCANCODE_AUDIOFASTFORWARD: return "AUDIOFASTFORWARD"; + default: return "UNKNOWN"; + } +} + +const char *strsym(SDL_Keycode k) +{ + switch (k) { + case SDLK_RETURN: return "RETURN"; + case SDLK_ESCAPE: return "ESCAPE"; + case SDLK_BACKSPACE: return "BACKSPACE"; + case SDLK_TAB: return "TAB"; + case SDLK_SPACE: return "SPACE"; + case SDLK_EXCLAIM: return "EXCLAIM"; + case SDLK_QUOTEDBL: return "QUOTEDBL"; + case SDLK_HASH: return "HASH"; + case SDLK_PERCENT: return "PERCENT"; + case SDLK_DOLLAR: return "DOLLAR"; + case SDLK_AMPERSAND: return "AMPERSAND"; + case SDLK_QUOTE: return "QUOTE"; + case SDLK_LEFTPAREN: return "LEFTPAREN"; + case SDLK_RIGHTPAREN: return "RIGHTPAREN"; + case SDLK_ASTERISK: return "ASTERISK"; + case SDLK_PLUS: return "PLUS"; + case SDLK_COMMA: return "COMMA"; + case SDLK_MINUS: return "MINUS"; + case SDLK_PERIOD: return "PERIOD"; + case SDLK_SLASH: return "SLASH"; + case SDLK_0: return "0"; + case SDLK_1: return "1"; + case SDLK_2: return "2"; + case SDLK_3: return "3"; + case SDLK_4: return "4"; + case SDLK_5: return "5"; + case SDLK_6: return "6"; + case SDLK_7: return "7"; + case SDLK_8: return "8"; + case SDLK_9: return "9"; + case SDLK_COLON: return "COLON"; + case SDLK_SEMICOLON: return "SEMICOLON"; + case SDLK_LESS: return "LESS"; + case SDLK_EQUALS: return "EQUALS"; + case SDLK_GREATER: return "GREATER"; + case SDLK_QUESTION: return "QUESTION"; + case SDLK_AT: return "AT"; + case SDLK_LEFTBRACKET: return "LEFTBRACKET"; + case SDLK_BACKSLASH: return "BACKSLASH"; + case SDLK_RIGHTBRACKET: return "RIGHTBRACKET"; + case SDLK_CARET: return "CARET"; + case SDLK_UNDERSCORE: return "UNDERSCORE"; + case SDLK_BACKQUOTE: return "BACKQUOTE"; + case SDLK_a: return "a"; + case SDLK_b: return "b"; + case SDLK_c: return "c"; + case SDLK_d: return "d"; + case SDLK_e: return "e"; + case SDLK_f: return "f"; + case SDLK_g: return "g"; + case SDLK_h: return "h"; + case SDLK_i: return "i"; + case SDLK_j: return "j"; + case SDLK_k: return "k"; + case SDLK_l: return "l"; + case SDLK_m: return "m"; + case SDLK_n: return "n"; + case SDLK_o: return "o"; + case SDLK_p: return "p"; + case SDLK_q: return "q"; + case SDLK_r: return "r"; + case SDLK_s: return "s"; + case SDLK_t: return "t"; + case SDLK_u: return "u"; + case SDLK_v: return "v"; + case SDLK_w: return "w"; + case SDLK_x: return "x"; + case SDLK_y: return "y"; + case SDLK_z: return "z"; + case SDLK_CAPSLOCK: return "CAPSLOCK"; + case SDLK_F1: return "F1"; + case SDLK_F2: return "F2"; + case SDLK_F3: return "F3"; + case SDLK_F4: return "F4"; + case SDLK_F5: return "F5"; + case SDLK_F6: return "F6"; + case SDLK_F7: return "F7"; + case SDLK_F8: return "F8"; + case SDLK_F9: return "F9"; + case SDLK_F10: return "F10"; + case SDLK_F11: return "F11"; + case SDLK_F12: return "F12"; + case SDLK_PRINTSCREEN: return "PRINTSCREEN"; + case SDLK_SCROLLLOCK: return "SCROLLLOCK"; + case SDLK_PAUSE: return "PAUSE"; + case SDLK_INSERT: return "INSERT"; + case SDLK_HOME: return "HOME"; + case SDLK_PAGEUP: return "PAGEUP"; + case SDLK_DELETE: return "DELETE"; + case SDLK_END: return "END"; + case SDLK_PAGEDOWN: return "PAGEDOWN"; + case SDLK_RIGHT: return "RIGHT"; + case SDLK_LEFT: return "LEFT"; + case SDLK_DOWN: return "DOWN"; + case SDLK_UP: return "UP"; + case SDLK_NUMLOCKCLEAR: return "NUMLOCKCLEAR"; + case SDLK_KP_DIVIDE: return "KP_DIVIDE"; + case SDLK_KP_MULTIPLY: return "KP_MULTIPLY"; + case SDLK_KP_MINUS: return "KP_MINUS"; + case SDLK_KP_PLUS: return "KP_PLUS"; + case SDLK_KP_ENTER: return "KP_ENTER"; + case SDLK_KP_1: return "KP_1"; + case SDLK_KP_2: return "KP_2"; + case SDLK_KP_3: return "KP_3"; + case SDLK_KP_4: return "KP_4"; + case SDLK_KP_5: return "KP_5"; + case SDLK_KP_6: return "KP_6"; + case SDLK_KP_7: return "KP_7"; + case SDLK_KP_8: return "KP_8"; + case SDLK_KP_9: return "KP_9"; + case SDLK_KP_0: return "KP_0"; + case SDLK_KP_PERIOD: return "KP_PERIOD"; + case SDLK_APPLICATION: return "APPLICATION"; + case SDLK_POWER: return "POWER"; + case SDLK_KP_EQUALS: return "KP_EQUALS"; + case SDLK_F13: return "F13"; + case SDLK_F14: return "F14"; + case SDLK_F15: return "F15"; + case SDLK_F16: return "F16"; + case SDLK_F17: return "F17"; + case SDLK_F18: return "F18"; + case SDLK_F19: return "F19"; + case SDLK_F20: return "F20"; + case SDLK_F21: return "F21"; + case SDLK_F22: return "F22"; + case SDLK_F23: return "F23"; + case SDLK_F24: return "F24"; + case SDLK_EXECUTE: return "EXECUTE"; + case SDLK_HELP: return "HELP"; + case SDLK_MENU: return "MENU"; + case SDLK_SELECT: return "SELECT"; + case SDLK_STOP: return "STOP"; + case SDLK_AGAIN: return "AGAIN"; + case SDLK_UNDO: return "UNDO"; + case SDLK_CUT: return "CUT"; + case SDLK_COPY: return "COPY"; + case SDLK_PASTE: return "PASTE"; + case SDLK_FIND: return "FIND"; + case SDLK_MUTE: return "MUTE"; + case SDLK_VOLUMEUP: return "VOLUMEUP"; + case SDLK_VOLUMEDOWN: return "VOLUMEDOWN"; + case SDLK_KP_COMMA: return "KP_COMMA"; + case SDLK_KP_EQUALSAS400: return "KP_EQUALSAS400"; + case SDLK_ALTERASE: return "ALTERASE"; + case SDLK_SYSREQ: return "SYSREQ"; + case SDLK_CANCEL: return "CANCEL"; + case SDLK_CLEAR: return "CLEAR"; + case SDLK_PRIOR: return "PRIOR"; + case SDLK_RETURN2: return "RETURN2"; + case SDLK_SEPARATOR: return "SEPARATOR"; + case SDLK_OUT: return "OUT"; + case SDLK_OPER: return "OPER"; + case SDLK_CLEARAGAIN: return "CLEARAGAIN"; + case SDLK_CRSEL: return "CRSEL"; + case SDLK_EXSEL: return "EXSEL"; + case SDLK_KP_00: return "KP_00"; + case SDLK_KP_000: return "KP_000"; + case SDLK_THOUSANDSSEPARATOR: return "THOUSANDSSEPARATOR"; + case SDLK_DECIMALSEPARATOR: return "DECIMALSEPARATOR"; + case SDLK_CURRENCYUNIT: return "CURRENCYUNIT"; + case SDLK_CURRENCYSUBUNIT: return "CURRENCYSUBUNIT"; + case SDLK_KP_LEFTPAREN: return "KP_LEFTPAREN"; + case SDLK_KP_RIGHTPAREN: return "KP_RIGHTPAREN"; + case SDLK_KP_LEFTBRACE: return "KP_LEFTBRACE"; + case SDLK_KP_RIGHTBRACE: return "KP_RIGHTBRACE"; + case SDLK_KP_TAB: return "KP_TAB"; + case SDLK_KP_BACKSPACE: return "KP_BACKSPACE"; + case SDLK_KP_A: return "KP_A"; + case SDLK_KP_B: return "KP_B"; + case SDLK_KP_C: return "KP_C"; + case SDLK_KP_D: return "KP_D"; + case SDLK_KP_E: return "KP_E"; + case SDLK_KP_F: return "KP_F"; + case SDLK_KP_XOR: return "KP_XOR"; + case SDLK_KP_POWER: return "KP_POWER"; + case SDLK_KP_PERCENT: return "KP_PERCENT"; + case SDLK_KP_LESS: return "KP_LESS"; + case SDLK_KP_GREATER: return "KP_GREATER"; + case SDLK_KP_AMPERSAND: return "KP_AMPERSAND"; + case SDLK_KP_DBLAMPERSAND: return "KP_DBLAMPERSAND"; + case SDLK_KP_VERTICALBAR: return "KP_VERTICALBAR"; + case SDLK_KP_DBLVERTICALBAR: return "KP_DBLVERTICALBAR"; + case SDLK_KP_COLON: return "KP_COLON"; + case SDLK_KP_HASH: return "KP_HASH"; + case SDLK_KP_SPACE: return "KP_SPACE"; + case SDLK_KP_AT: return "KP_AT"; + case SDLK_KP_EXCLAM: return "KP_EXCLAM"; + case SDLK_KP_MEMSTORE: return "KP_MEMSTORE"; + case SDLK_KP_MEMRECALL: return "KP_MEMRECALL"; + case SDLK_KP_MEMCLEAR: return "KP_MEMCLEAR"; + case SDLK_KP_MEMADD: return "KP_MEMADD"; + case SDLK_KP_MEMSUBTRACT: return "KP_MEMSUBTRACT"; + case SDLK_KP_MEMMULTIPLY: return "KP_MEMMULTIPLY"; + case SDLK_KP_MEMDIVIDE: return "KP_MEMDIVIDE"; + case SDLK_KP_PLUSMINUS: return "KP_PLUSMINUS"; + case SDLK_KP_CLEAR: return "KP_CLEAR"; + case SDLK_KP_CLEARENTRY: return "KP_CLEARENTRY"; + case SDLK_KP_BINARY: return "KP_BINARY"; + case SDLK_KP_OCTAL: return "KP_OCTAL"; + case SDLK_KP_DECIMAL: return "KP_DECIMAL"; + case SDLK_KP_HEXADECIMAL: return "KP_HEXADECIMAL"; + case SDLK_LCTRL: return "LCTRL"; + case SDLK_LSHIFT: return "LSHIFT"; + case SDLK_LALT: return "LALT"; + case SDLK_LGUI: return "LGUI"; + case SDLK_RCTRL: return "RCTRL"; + case SDLK_RSHIFT: return "RSHIFT"; + case SDLK_RALT: return "RALT"; + case SDLK_RGUI: return "RGUI"; + case SDLK_MODE: return "MODE"; + case SDLK_AUDIONEXT: return "AUDIONEXT"; + case SDLK_AUDIOPREV: return "AUDIOPREV"; + case SDLK_AUDIOSTOP: return "AUDIOSTOP"; + case SDLK_AUDIOPLAY: return "AUDIOPLAY"; + case SDLK_AUDIOMUTE: return "AUDIOMUTE"; + case SDLK_MEDIASELECT: return "MEDIASELECT"; + case SDLK_WWW: return "WWW"; + case SDLK_MAIL: return "MAIL"; + case SDLK_CALCULATOR: return "CALCULATOR"; + case SDLK_COMPUTER: return "COMPUTER"; + case SDLK_AC_SEARCH: return "AC_SEARCH"; + case SDLK_AC_HOME: return "AC_HOME"; + case SDLK_AC_BACK: return "AC_BACK"; + case SDLK_AC_FORWARD: return "AC_FORWARD"; + case SDLK_AC_STOP: return "AC_STOP"; + case SDLK_AC_REFRESH: return "AC_REFRESH"; + case SDLK_AC_BOOKMARKS: return "AC_BOOKMARKS"; + case SDLK_BRIGHTNESSDOWN: return "BRIGHTNESSDOWN"; + case SDLK_BRIGHTNESSUP: return "BRIGHTNESSUP"; + case SDLK_DISPLAYSWITCH: return "DISPLAYSWITCH"; + case SDLK_KBDILLUMTOGGLE: return "KBDILLUMTOGGLE"; + case SDLK_KBDILLUMDOWN: return "KBDILLUMDOWN"; + case SDLK_KBDILLUMUP: return "KBDILLUMUP"; + case SDLK_EJECT: return "EJECT"; + case SDLK_SLEEP: return "SLEEP"; + case SDLK_APP1: return "APP1"; + case SDLK_APP2: return "APP2"; + case SDLK_AUDIOREWIND: return "AUDIOREWIND"; + case SDLK_AUDIOFASTFORWARD: return "AUDIOFASTFORWARD"; + default: return "UNKNOWN"; + } +} -- cgit v1.2.3-54-g00ecf