use @import("SDL_stdinc.zig");

pub const SDL_Keycode = i32;
pub const SDLK_UNKNOWN = 0;
pub const SDLK_RETURN = 13;
pub const SDLK_ESCAPE = 27;
pub const SDLK_BACKSPACE = 8;
pub const SDLK_TAB = 9;
pub const SDLK_SPACE = 32;
pub const SDLK_EXCLAIM = 33;
pub const SDLK_QUOTEDBL = 34;
pub const SDLK_HASH = 35;
pub const SDLK_PERCENT = 37;
pub const SDLK_DOLLAR = 36;
pub const SDLK_AMPERSAND = 38;
pub const SDLK_QUOTE = 39;
pub const SDLK_LEFTPAREN = 40;
pub const SDLK_RIGHTPAREN = 41;
pub const SDLK_ASTERISK = 42;
pub const SDLK_PLUS = 43;
pub const SDLK_COMMA = 44;
pub const SDLK_MINUS = 45;
pub const SDLK_PERIOD = 46;
pub const SDLK_SLASH = 47;
pub const SDLK_0 = 48;
pub const SDLK_1 = 49;
pub const SDLK_2 = 50;
pub const SDLK_3 = 51;
pub const SDLK_4 = 52;
pub const SDLK_5 = 53;
pub const SDLK_6 = 54;
pub const SDLK_7 = 55;
pub const SDLK_8 = 56;
pub const SDLK_9 = 57;
pub const SDLK_COLON = 58;
pub const SDLK_SEMICOLON = 59;
pub const SDLK_LESS = 60;
pub const SDLK_EQUALS = 61;
pub const SDLK_GREATER = 62;
pub const SDLK_QUESTION = 63;
pub const SDLK_AT = 64;
pub const SDLK_LEFTBRACKET = 91;
pub const SDLK_BACKSLASH = 92;
pub const SDLK_RIGHTBRACKET = 93;
pub const SDLK_CARET = 94;
pub const SDLK_UNDERSCORE = 95;
pub const SDLK_BACKQUOTE = 96;
pub const SDLK_a = 97;
pub const SDLK_b = 98;
pub const SDLK_c = 99;
pub const SDLK_d = 100;
pub const SDLK_e = 101;
pub const SDLK_f = 102;
pub const SDLK_g = 103;
pub const SDLK_h = 104;
pub const SDLK_i = 105;
pub const SDLK_j = 106;
pub const SDLK_k = 107;
pub const SDLK_l = 108;
pub const SDLK_m = 109;
pub const SDLK_n = 110;
pub const SDLK_o = 111;
pub const SDLK_p = 112;
pub const SDLK_q = 113;
pub const SDLK_r = 114;
pub const SDLK_s = 115;
pub const SDLK_t = 116;
pub const SDLK_u = 117;
pub const SDLK_v = 118;
pub const SDLK_w = 119;
pub const SDLK_x = 120;
pub const SDLK_y = 121;
pub const SDLK_z = 122;
pub const SDLK_CAPSLOCK = 1073741881;
pub const SDLK_F1 = 1073741882;
pub const SDLK_F2 = 1073741883;
pub const SDLK_F3 = 1073741884;
pub const SDLK_F4 = 1073741885;
pub const SDLK_F5 = 1073741886;
pub const SDLK_F6 = 1073741887;
pub const SDLK_F7 = 1073741888;
pub const SDLK_F8 = 1073741889;
pub const SDLK_F9 = 1073741890;
pub const SDLK_F10 = 1073741891;
pub const SDLK_F11 = 1073741892;
pub const SDLK_F12 = 1073741893;
pub const SDLK_PRINTSCREEN = 1073741894;
pub const SDLK_SCROLLLOCK = 1073741895;
pub const SDLK_PAUSE = 1073741896;
pub const SDLK_INSERT = 1073741897;
pub const SDLK_HOME = 1073741898;
pub const SDLK_PAGEUP = 1073741899;
pub const SDLK_DELETE = 127;
pub const SDLK_END = 1073741901;
pub const SDLK_PAGEDOWN = 1073741902;
pub const SDLK_RIGHT = 1073741903;
pub const SDLK_LEFT = 1073741904;
pub const SDLK_DOWN = 1073741905;
pub const SDLK_UP = 1073741906;
pub const SDLK_NUMLOCKCLEAR = 1073741907;
pub const SDLK_KP_DIVIDE = 1073741908;
pub const SDLK_KP_MULTIPLY = 1073741909;
pub const SDLK_KP_MINUS = 1073741910;
pub const SDLK_KP_PLUS = 1073741911;
pub const SDLK_KP_ENTER = 1073741912;
pub const SDLK_KP_1 = 1073741913;
pub const SDLK_KP_2 = 1073741914;
pub const SDLK_KP_3 = 1073741915;
pub const SDLK_KP_4 = 1073741916;
pub const SDLK_KP_5 = 1073741917;
pub const SDLK_KP_6 = 1073741918;
pub const SDLK_KP_7 = 1073741919;
pub const SDLK_KP_8 = 1073741920;
pub const SDLK_KP_9 = 1073741921;
pub const SDLK_KP_0 = 1073741922;
pub const SDLK_KP_PERIOD = 1073741923;
pub const SDLK_APPLICATION = 1073741925;
pub const SDLK_POWER = 1073741926;
pub const SDLK_KP_EQUALS = 1073741927;
pub const SDLK_F13 = 1073741928;
pub const SDLK_F14 = 1073741929;
pub const SDLK_F15 = 1073741930;
pub const SDLK_F16 = 1073741931;
pub const SDLK_F17 = 1073741932;
pub const SDLK_F18 = 1073741933;
pub const SDLK_F19 = 1073741934;
pub const SDLK_F20 = 1073741935;
pub const SDLK_F21 = 1073741936;
pub const SDLK_F22 = 1073741937;
pub const SDLK_F23 = 1073741938;
pub const SDLK_F24 = 1073741939;
pub const SDLK_EXECUTE = 1073741940;
pub const SDLK_HELP = 1073741941;
pub const SDLK_MENU = 1073741942;
pub const SDLK_SELECT = 1073741943;
pub const SDLK_STOP = 1073741944;
pub const SDLK_AGAIN = 1073741945;
pub const SDLK_UNDO = 1073741946;
pub const SDLK_CUT = 1073741947;
pub const SDLK_COPY = 1073741948;
pub const SDLK_PASTE = 1073741949;
pub const SDLK_FIND = 1073741950;
pub const SDLK_MUTE = 1073741951;
pub const SDLK_VOLUMEUP = 1073741952;
pub const SDLK_VOLUMEDOWN = 1073741953;
pub const SDLK_KP_COMMA = 1073741957;
pub const SDLK_KP_EQUALSAS400 = 1073741958;
pub const SDLK_ALTERASE = 1073741977;
pub const SDLK_SYSREQ = 1073741978;
pub const SDLK_CANCEL = 1073741979;
pub const SDLK_CLEAR = 1073741980;
pub const SDLK_PRIOR = 1073741981;
pub const SDLK_RETURN2 = 1073741982;
pub const SDLK_SEPARATOR = 1073741983;
pub const SDLK_OUT = 1073741984;
pub const SDLK_OPER = 1073741985;
pub const SDLK_CLEARAGAIN = 1073741986;
pub const SDLK_CRSEL = 1073741987;
pub const SDLK_EXSEL = 1073741988;
pub const SDLK_KP_00 = 1073742000;
pub const SDLK_KP_000 = 1073742001;
pub const SDLK_THOUSANDSSEPARATOR = 1073742002;
pub const SDLK_DECIMALSEPARATOR = 1073742003;
pub const SDLK_CURRENCYUNIT = 1073742004;
pub const SDLK_CURRENCYSUBUNIT = 1073742005;
pub const SDLK_KP_LEFTPAREN = 1073742006;
pub const SDLK_KP_RIGHTPAREN = 1073742007;
pub const SDLK_KP_LEFTBRACE = 1073742008;
pub const SDLK_KP_RIGHTBRACE = 1073742009;
pub const SDLK_KP_TAB = 1073742010;
pub const SDLK_KP_BACKSPACE = 1073742011;
pub const SDLK_KP_A = 1073742012;
pub const SDLK_KP_B = 1073742013;
pub const SDLK_KP_C = 1073742014;
pub const SDLK_KP_D = 1073742015;
pub const SDLK_KP_E = 1073742016;
pub const SDLK_KP_F = 1073742017;
pub const SDLK_KP_XOR = 1073742018;
pub const SDLK_KP_POWER = 1073742019;
pub const SDLK_KP_PERCENT = 1073742020;
pub const SDLK_KP_LESS = 1073742021;
pub const SDLK_KP_GREATER = 1073742022;
pub const SDLK_KP_AMPERSAND = 1073742023;
pub const SDLK_KP_DBLAMPERSAND = 1073742024;
pub const SDLK_KP_VERTICALBAR = 1073742025;
pub const SDLK_KP_DBLVERTICALBAR = 1073742026;
pub const SDLK_KP_COLON = 1073742027;
pub const SDLK_KP_HASH = 1073742028;
pub const SDLK_KP_SPACE = 1073742029;
pub const SDLK_KP_AT = 1073742030;
pub const SDLK_KP_EXCLAM = 1073742031;
pub const SDLK_KP_MEMSTORE = 1073742032;
pub const SDLK_KP_MEMRECALL = 1073742033;
pub const SDLK_KP_MEMCLEAR = 1073742034;
pub const SDLK_KP_MEMADD = 1073742035;
pub const SDLK_KP_MEMSUBTRACT = 1073742036;
pub const SDLK_KP_MEMMULTIPLY = 1073742037;
pub const SDLK_KP_MEMDIVIDE = 1073742038;
pub const SDLK_KP_PLUSMINUS = 1073742039;
pub const SDLK_KP_CLEAR = 1073742040;
pub const SDLK_KP_CLEARENTRY = 1073742041;
pub const SDLK_KP_BINARY = 1073742042;
pub const SDLK_KP_OCTAL = 1073742043;
pub const SDLK_KP_DECIMAL = 1073742044;
pub const SDLK_KP_HEXADECIMAL = 1073742045;
pub const SDLK_LCTRL = 1073742048;
pub const SDLK_LSHIFT = 1073742049;
pub const SDLK_LALT = 1073742050;
pub const SDLK_LGUI = 1073742051;
pub const SDLK_RCTRL = 1073742052;
pub const SDLK_RSHIFT = 1073742053;
pub const SDLK_RALT = 1073742054;
pub const SDLK_RGUI = 1073742055;
pub const SDLK_MODE = 1073742081;
pub const SDLK_AUDIONEXT = 1073742082;
pub const SDLK_AUDIOPREV = 1073742083;
pub const SDLK_AUDIOSTOP = 1073742084;
pub const SDLK_AUDIOPLAY = 1073742085;
pub const SDLK_AUDIOMUTE = 1073742086;
pub const SDLK_MEDIASELECT = 1073742087;
pub const SDLK_WWW = 1073742088;
pub const SDLK_MAIL = 1073742089;
pub const SDLK_CALCULATOR = 1073742090;
pub const SDLK_COMPUTER = 1073742091;
pub const SDLK_AC_SEARCH = 1073742092;
pub const SDLK_AC_HOME = 1073742093;
pub const SDLK_AC_BACK = 1073742094;
pub const SDLK_AC_FORWARD = 1073742095;
pub const SDLK_AC_STOP = 1073742096;
pub const SDLK_AC_REFRESH = 1073742097;
pub const SDLK_AC_BOOKMARKS = 1073742098;
pub const SDLK_BRIGHTNESSDOWN = 1073742099;
pub const SDLK_BRIGHTNESSUP = 1073742100;
pub const SDLK_DISPLAYSWITCH = 1073742101;
pub const SDLK_KBDILLUMTOGGLE = 1073742102;
pub const SDLK_KBDILLUMDOWN = 1073742103;
pub const SDLK_KBDILLUMUP = 1073742104;
pub const SDLK_EJECT = 1073742105;
pub const SDLK_SLEEP = 1073742106;
pub const SDLK_APP1 = 1073742107;
pub const SDLK_APP2 = 1073742108;
pub const SDLK_AUDIOREWIND = 1073742109;
pub const SDLK_AUDIOFASTFORWARD = 1073742110;

pub const KMOD_NONE = 0;
pub const KMOD_LSHIFT = 1;
pub const KMOD_RSHIFT = 2;
pub const KMOD_LCTRL = 64;
pub const KMOD_RCTRL = 128;
pub const KMOD_LALT = 256;
pub const KMOD_RALT = 512;
pub const KMOD_LGUI = 1024;
pub const KMOD_RGUI = 2048;
pub const KMOD_NUM = 4096;
pub const KMOD_CAPS = 8192;
pub const KMOD_MODE = 16384;
pub const KMOD_RESERVED = 32768;
pub const SDL_Keymod = extern enum {
    KMOD_NONE = 0,
    KMOD_LSHIFT = 1,
    KMOD_RSHIFT = 2,
    KMOD_LCTRL = 64,
    KMOD_RCTRL = 128,
    KMOD_LALT = 256,
    KMOD_RALT = 512,
    KMOD_LGUI = 1024,
    KMOD_RGUI = 2048,
    KMOD_NUM = 4096,
    KMOD_CAPS = 8192,
    KMOD_MODE = 16384,
    KMOD_RESERVED = 32768,
};

pub const SDL_SCANCODE_UNKNOWN = 0;
pub const SDL_SCANCODE_A = 4;
pub const SDL_SCANCODE_B = 5;
pub const SDL_SCANCODE_C = 6;
pub const SDL_SCANCODE_D = 7;
pub const SDL_SCANCODE_E = 8;
pub const SDL_SCANCODE_F = 9;
pub const SDL_SCANCODE_G = 10;
pub const SDL_SCANCODE_H = 11;
pub const SDL_SCANCODE_I = 12;
pub const SDL_SCANCODE_J = 13;
pub const SDL_SCANCODE_K = 14;
pub const SDL_SCANCODE_L = 15;
pub const SDL_SCANCODE_M = 16;
pub const SDL_SCANCODE_N = 17;
pub const SDL_SCANCODE_O = 18;
pub const SDL_SCANCODE_P = 19;
pub const SDL_SCANCODE_Q = 20;
pub const SDL_SCANCODE_R = 21;
pub const SDL_SCANCODE_S = 22;
pub const SDL_SCANCODE_T = 23;
pub const SDL_SCANCODE_U = 24;
pub const SDL_SCANCODE_V = 25;
pub const SDL_SCANCODE_W = 26;
pub const SDL_SCANCODE_X = 27;
pub const SDL_SCANCODE_Y = 28;
pub const SDL_SCANCODE_Z = 29;
pub const SDL_SCANCODE_1 = 30;
pub const SDL_SCANCODE_2 = 31;
pub const SDL_SCANCODE_3 = 32;
pub const SDL_SCANCODE_4 = 33;
pub const SDL_SCANCODE_5 = 34;
pub const SDL_SCANCODE_6 = 35;
pub const SDL_SCANCODE_7 = 36;
pub const SDL_SCANCODE_8 = 37;
pub const SDL_SCANCODE_9 = 38;
pub const SDL_SCANCODE_0 = 39;
pub const SDL_SCANCODE_RETURN = 40;
pub const SDL_SCANCODE_ESCAPE = 41;
pub const SDL_SCANCODE_BACKSPACE = 42;
pub const SDL_SCANCODE_TAB = 43;
pub const SDL_SCANCODE_SPACE = 44;
pub const SDL_SCANCODE_MINUS = 45;
pub const SDL_SCANCODE_EQUALS = 46;
pub const SDL_SCANCODE_LEFTBRACKET = 47;
pub const SDL_SCANCODE_RIGHTBRACKET = 48;
pub const SDL_SCANCODE_BACKSLASH = 49;
pub const SDL_SCANCODE_NONUSHASH = 50;
pub const SDL_SCANCODE_SEMICOLON = 51;
pub const SDL_SCANCODE_APOSTROPHE = 52;
pub const SDL_SCANCODE_GRAVE = 53;
pub const SDL_SCANCODE_COMMA = 54;
pub const SDL_SCANCODE_PERIOD = 55;
pub const SDL_SCANCODE_SLASH = 56;
pub const SDL_SCANCODE_CAPSLOCK = 57;
pub const SDL_SCANCODE_F1 = 58;
pub const SDL_SCANCODE_F2 = 59;
pub const SDL_SCANCODE_F3 = 60;
pub const SDL_SCANCODE_F4 = 61;
pub const SDL_SCANCODE_F5 = 62;
pub const SDL_SCANCODE_F6 = 63;
pub const SDL_SCANCODE_F7 = 64;
pub const SDL_SCANCODE_F8 = 65;
pub const SDL_SCANCODE_F9 = 66;
pub const SDL_SCANCODE_F10 = 67;
pub const SDL_SCANCODE_F11 = 68;
pub const SDL_SCANCODE_F12 = 69;
pub const SDL_SCANCODE_PRINTSCREEN = 70;
pub const SDL_SCANCODE_SCROLLLOCK = 71;
pub const SDL_SCANCODE_PAUSE = 72;
pub const SDL_SCANCODE_INSERT = 73;
pub const SDL_SCANCODE_HOME = 74;
pub const SDL_SCANCODE_PAGEUP = 75;
pub const SDL_SCANCODE_DELETE = 76;
pub const SDL_SCANCODE_END = 77;
pub const SDL_SCANCODE_PAGEDOWN = 78;
pub const SDL_SCANCODE_RIGHT = 79;
pub const SDL_SCANCODE_LEFT = 80;
pub const SDL_SCANCODE_DOWN = 81;
pub const SDL_SCANCODE_UP = 82;
pub const SDL_SCANCODE_NUMLOCKCLEAR = 83;
pub const SDL_SCANCODE_KP_DIVIDE = 84;
pub const SDL_SCANCODE_KP_MULTIPLY = 85;
pub const SDL_SCANCODE_KP_MINUS = 86;
pub const SDL_SCANCODE_KP_PLUS = 87;
pub const SDL_SCANCODE_KP_ENTER = 88;
pub const SDL_SCANCODE_KP_1 = 89;
pub const SDL_SCANCODE_KP_2 = 90;
pub const SDL_SCANCODE_KP_3 = 91;
pub const SDL_SCANCODE_KP_4 = 92;
pub const SDL_SCANCODE_KP_5 = 93;
pub const SDL_SCANCODE_KP_6 = 94;
pub const SDL_SCANCODE_KP_7 = 95;
pub const SDL_SCANCODE_KP_8 = 96;
pub const SDL_SCANCODE_KP_9 = 97;
pub const SDL_SCANCODE_KP_0 = 98;
pub const SDL_SCANCODE_KP_PERIOD = 99;
pub const SDL_SCANCODE_NONUSBACKSLASH = 100;
pub const SDL_SCANCODE_APPLICATION = 101;
pub const SDL_SCANCODE_POWER = 102;
pub const SDL_SCANCODE_KP_EQUALS = 103;
pub const SDL_SCANCODE_F13 = 104;
pub const SDL_SCANCODE_F14 = 105;
pub const SDL_SCANCODE_F15 = 106;
pub const SDL_SCANCODE_F16 = 107;
pub const SDL_SCANCODE_F17 = 108;
pub const SDL_SCANCODE_F18 = 109;
pub const SDL_SCANCODE_F19 = 110;
pub const SDL_SCANCODE_F20 = 111;
pub const SDL_SCANCODE_F21 = 112;
pub const SDL_SCANCODE_F22 = 113;
pub const SDL_SCANCODE_F23 = 114;
pub const SDL_SCANCODE_F24 = 115;
pub const SDL_SCANCODE_EXECUTE = 116;
pub const SDL_SCANCODE_HELP = 117;
pub const SDL_SCANCODE_MENU = 118;
pub const SDL_SCANCODE_SELECT = 119;
pub const SDL_SCANCODE_STOP = 120;
pub const SDL_SCANCODE_AGAIN = 121;
pub const SDL_SCANCODE_UNDO = 122;
pub const SDL_SCANCODE_CUT = 123;
pub const SDL_SCANCODE_COPY = 124;
pub const SDL_SCANCODE_PASTE = 125;
pub const SDL_SCANCODE_FIND = 126;
pub const SDL_SCANCODE_MUTE = 127;
pub const SDL_SCANCODE_VOLUMEUP = 128;
pub const SDL_SCANCODE_VOLUMEDOWN = 129;
pub const SDL_SCANCODE_KP_COMMA = 133;
pub const SDL_SCANCODE_KP_EQUALSAS400 = 134;
pub const SDL_SCANCODE_INTERNATIONAL1 = 135;
pub const SDL_SCANCODE_INTERNATIONAL2 = 136;
pub const SDL_SCANCODE_INTERNATIONAL3 = 137;
pub const SDL_SCANCODE_INTERNATIONAL4 = 138;
pub const SDL_SCANCODE_INTERNATIONAL5 = 139;
pub const SDL_SCANCODE_INTERNATIONAL6 = 140;
pub const SDL_SCANCODE_INTERNATIONAL7 = 141;
pub const SDL_SCANCODE_INTERNATIONAL8 = 142;
pub const SDL_SCANCODE_INTERNATIONAL9 = 143;
pub const SDL_SCANCODE_LANG1 = 144;
pub const SDL_SCANCODE_LANG2 = 145;
pub const SDL_SCANCODE_LANG3 = 146;
pub const SDL_SCANCODE_LANG4 = 147;
pub const SDL_SCANCODE_LANG5 = 148;
pub const SDL_SCANCODE_LANG6 = 149;
pub const SDL_SCANCODE_LANG7 = 150;
pub const SDL_SCANCODE_LANG8 = 151;
pub const SDL_SCANCODE_LANG9 = 152;
pub const SDL_SCANCODE_ALTERASE = 153;
pub const SDL_SCANCODE_SYSREQ = 154;
pub const SDL_SCANCODE_CANCEL = 155;
pub const SDL_SCANCODE_CLEAR = 156;
pub const SDL_SCANCODE_PRIOR = 157;
pub const SDL_SCANCODE_RETURN2 = 158;
pub const SDL_SCANCODE_SEPARATOR = 159;
pub const SDL_SCANCODE_OUT = 160;
pub const SDL_SCANCODE_OPER = 161;
pub const SDL_SCANCODE_CLEARAGAIN = 162;
pub const SDL_SCANCODE_CRSEL = 163;
pub const SDL_SCANCODE_EXSEL = 164;
pub const SDL_SCANCODE_KP_00 = 176;
pub const SDL_SCANCODE_KP_000 = 177;
pub const SDL_SCANCODE_THOUSANDSSEPARATOR = 178;
pub const SDL_SCANCODE_DECIMALSEPARATOR = 179;
pub const SDL_SCANCODE_CURRENCYUNIT = 180;
pub const SDL_SCANCODE_CURRENCYSUBUNIT = 181;
pub const SDL_SCANCODE_KP_LEFTPAREN = 182;
pub const SDL_SCANCODE_KP_RIGHTPAREN = 183;
pub const SDL_SCANCODE_KP_LEFTBRACE = 184;
pub const SDL_SCANCODE_KP_RIGHTBRACE = 185;
pub const SDL_SCANCODE_KP_TAB = 186;
pub const SDL_SCANCODE_KP_BACKSPACE = 187;
pub const SDL_SCANCODE_KP_A = 188;
pub const SDL_SCANCODE_KP_B = 189;
pub const SDL_SCANCODE_KP_C = 190;
pub const SDL_SCANCODE_KP_D = 191;
pub const SDL_SCANCODE_KP_E = 192;
pub const SDL_SCANCODE_KP_F = 193;
pub const SDL_SCANCODE_KP_XOR = 194;
pub const SDL_SCANCODE_KP_POWER = 195;
pub const SDL_SCANCODE_KP_PERCENT = 196;
pub const SDL_SCANCODE_KP_LESS = 197;
pub const SDL_SCANCODE_KP_GREATER = 198;
pub const SDL_SCANCODE_KP_AMPERSAND = 199;
pub const SDL_SCANCODE_KP_DBLAMPERSAND = 200;
pub const SDL_SCANCODE_KP_VERTICALBAR = 201;
pub const SDL_SCANCODE_KP_DBLVERTICALBAR = 202;
pub const SDL_SCANCODE_KP_COLON = 203;
pub const SDL_SCANCODE_KP_HASH = 204;
pub const SDL_SCANCODE_KP_SPACE = 205;
pub const SDL_SCANCODE_KP_AT = 206;
pub const SDL_SCANCODE_KP_EXCLAM = 207;
pub const SDL_SCANCODE_KP_MEMSTORE = 208;
pub const SDL_SCANCODE_KP_MEMRECALL = 209;
pub const SDL_SCANCODE_KP_MEMCLEAR = 210;
pub const SDL_SCANCODE_KP_MEMADD = 211;
pub const SDL_SCANCODE_KP_MEMSUBTRACT = 212;
pub const SDL_SCANCODE_KP_MEMMULTIPLY = 213;
pub const SDL_SCANCODE_KP_MEMDIVIDE = 214;
pub const SDL_SCANCODE_KP_PLUSMINUS = 215;
pub const SDL_SCANCODE_KP_CLEAR = 216;
pub const SDL_SCANCODE_KP_CLEARENTRY = 217;
pub const SDL_SCANCODE_KP_BINARY = 218;
pub const SDL_SCANCODE_KP_OCTAL = 219;
pub const SDL_SCANCODE_KP_DECIMAL = 220;
pub const SDL_SCANCODE_KP_HEXADECIMAL = 221;
pub const SDL_SCANCODE_LCTRL = 224;
pub const SDL_SCANCODE_LSHIFT = 225;
pub const SDL_SCANCODE_LALT = 226;
pub const SDL_SCANCODE_LGUI = 227;
pub const SDL_SCANCODE_RCTRL = 228;
pub const SDL_SCANCODE_RSHIFT = 229;
pub const SDL_SCANCODE_RALT = 230;
pub const SDL_SCANCODE_RGUI = 231;
pub const SDL_SCANCODE_MODE = 257;
pub const SDL_SCANCODE_AUDIONEXT = 258;
pub const SDL_SCANCODE_AUDIOPREV = 259;
pub const SDL_SCANCODE_AUDIOSTOP = 260;
pub const SDL_SCANCODE_AUDIOPLAY = 261;
pub const SDL_SCANCODE_AUDIOMUTE = 262;
pub const SDL_SCANCODE_MEDIASELECT = 263;
pub const SDL_SCANCODE_WWW = 264;
pub const SDL_SCANCODE_MAIL = 265;
pub const SDL_SCANCODE_CALCULATOR = 266;
pub const SDL_SCANCODE_COMPUTER = 267;
pub const SDL_SCANCODE_AC_SEARCH = 268;
pub const SDL_SCANCODE_AC_HOME = 269;
pub const SDL_SCANCODE_AC_BACK = 270;
pub const SDL_SCANCODE_AC_FORWARD = 271;
pub const SDL_SCANCODE_AC_STOP = 272;
pub const SDL_SCANCODE_AC_REFRESH = 273;
pub const SDL_SCANCODE_AC_BOOKMARKS = 274;
pub const SDL_SCANCODE_BRIGHTNESSDOWN = 275;
pub const SDL_SCANCODE_BRIGHTNESSUP = 276;
pub const SDL_SCANCODE_DISPLAYSWITCH = 277;
pub const SDL_SCANCODE_KBDILLUMTOGGLE = 278;
pub const SDL_SCANCODE_KBDILLUMDOWN = 279;
pub const SDL_SCANCODE_KBDILLUMUP = 280;
pub const SDL_SCANCODE_EJECT = 281;
pub const SDL_SCANCODE_SLEEP = 282;
pub const SDL_SCANCODE_APP1 = 283;
pub const SDL_SCANCODE_APP2 = 284;
pub const SDL_SCANCODE_AUDIOREWIND = 285;
pub const SDL_SCANCODE_AUDIOFASTFORWARD = 286;
pub const SDL_NUM_SCANCODES = 512;
pub const SDL_Scancode = extern enum {
    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_SCANCODE_AUDIOREWIND = 285,
    SDL_SCANCODE_AUDIOFASTFORWARD = 286,
    SDL_NUM_SCANCODES = 512,
};

pub const struct_SDL_Keysym = extern struct {
    scancode: SDL_Scancode,
    sym: SDL_Keycode,
    mod: u16,
    unused: u32,
};
pub const SDL_Keysym = struct_SDL_Keysym;

pub extern fn SDL_GetKeyFromName(name: [*]const u8) SDL_Keycode;
pub extern fn SDL_GetKeyFromScancode(scancode: SDL_Scancode) SDL_Keycode;
pub extern fn SDL_GetKeyName(key: SDL_Keycode) ?[*]const u8;
pub extern fn SDL_GetKeyboardFocus() ?*SDL_Window;
pub extern fn SDL_GetKeyboardState(numkeys: ?[*]c_int) ?[*]const u8;
pub extern fn SDL_GetModState() SDL_Keymod;
pub extern fn SDL_GetScancodeFromKey(key: SDL_Keycode) SDL_Scancode;
pub extern fn SDL_GetScancodeFromName(name: [*]const u8) SDL_Scancode;
pub extern fn SDL_GetScancodeName(scancode: SDL_Scancode) ?[*]const u8;
pub extern fn SDL_HasScreenKeyboardSupport() SDL_bool;
pub extern fn SDL_IsScreenKeyboardShown(window: *SDL_Window) SDL_bool;
pub extern fn SDL_IsTextInputActive() SDL_bool;
pub extern fn SDL_SetModState(modstate: SDL_Keymod) void;
pub extern fn SDL_SetTextInputRect(rect: ?*SDL_Rect) void;
pub extern fn SDL_StartTextInput() void;
pub extern fn SDL_StopTextInput() void;
