aboutsummaryrefslogtreecommitdiff
path: root/sdl2/keyboard.ha
diff options
context:
space:
mode:
Diffstat (limited to 'sdl2/keyboard.ha')
-rw-r--r--sdl2/keyboard.ha657
1 files changed, 0 insertions, 657 deletions
diff --git a/sdl2/keyboard.ha b/sdl2/keyboard.ha
deleted file mode 100644
index 02cedae..0000000
--- a/sdl2/keyboard.ha
+++ /dev/null
@@ -1,657 +0,0 @@
-use types::c;
-
-export type SDL_Scancode = enum uint {
- UNKNOWN = 0,
-
- // Usage page 0x07
- // These values are from usage page 0x07 (USB keyboard page).
-
- A = 4,
- B = 5,
- C = 6,
- D = 7,
- E = 8,
- F = 9,
- G = 10,
- H = 11,
- I = 12,
- J = 13,
- K = 14,
- L = 15,
- M = 16,
- N = 17,
- O = 18,
- P = 19,
- Q = 20,
- R = 21,
- S = 22,
- T = 23,
- U = 24,
- V = 25,
- W = 26,
- X = 27,
- Y = 28,
- Z = 29,
-
- ONE = 30,
- TWO = 31,
- THREE = 32,
- FOUR = 33,
- FIVE = 34,
- SIX = 35,
- SEVEN = 36,
- EIGHT = 37,
- NINE = 38,
- ZERO = 39,
-
- RETURN = 40,
- ESCAPE = 41,
- BACKSPACE = 42,
- TAB = 43,
- SPACE = 44,
-
- MINUS = 45,
- EQUALS = 46,
- LEFTBRACKET = 47,
- RIGHTBRACKET = 48,
- // 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.
- BACKSLASH = 49,
- NONUSHASH = 50,
- // 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 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.
- SEMICOLON = 51,
- APOSTROPHE = 52,
- // 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.
- GRAVE = 53,
- COMMA = 54,
- PERIOD = 55,
- SLASH = 56,
-
- CAPSLOCK = 57,
-
- F1 = 58,
- F2 = 59,
- F3 = 60,
- F4 = 61,
- F5 = 62,
- F6 = 63,
- F7 = 64,
- F8 = 65,
- F9 = 66,
- F10 = 67,
- F11 = 68,
- F12 = 69,
-
- PRINTSCREEN = 70,
- SCROLLLOCK = 71,
- PAUSE = 72,
- // insert on PC, help on some Mac keyboards (but does send code 73,
- // not 117)
- INSERT = 73,
- HOME = 74,
- PAGEUP = 75,
- DELETE = 76,
- END = 77,
- PAGEDOWN = 78,
- RIGHT = 79,
- LEFT = 80,
- DOWN = 81,
- UP = 82,
-
- NUMLOCKCLEAR = 83, // num lock on PC, clear on Mac keyboards
- KP_DIVIDE = 84,
- KP_MULTIPLY = 85,
- KP_MINUS = 86,
- KP_PLUS = 87,
- KP_ENTER = 88,
- KP_1 = 89,
- KP_2 = 90,
- KP_3 = 91,
- KP_4 = 92,
- KP_5 = 93,
- KP_6 = 94,
- KP_7 = 95,
- KP_8 = 96,
- KP_9 = 97,
- KP_0 = 98,
- KP_PERIOD = 99,
-
- // 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. */
- NONUSBACKSLASH = 100,
- APPLICATION = 101, // windows contextual menu, compose
- // The USB document says this is a status flag, not a physical key - but
- // some Mac keyboards do have a power key.
- POWER = 102,
- KP_EQUALS = 103,
- F13 = 104,
- F14 = 105,
- F15 = 106,
- F16 = 107,
- F17 = 108,
- F18 = 109,
- F19 = 110,
- F20 = 111,
- F21 = 112,
- F22 = 113,
- F23 = 114,
- F24 = 115,
- EXECUTE = 116,
- HELP = 117,
- MENU = 118,
- SELECT = 119,
- STOP = 120,
- AGAIN = 121, // redo
- UNDO = 122,
- CUT = 123,
- COPY = 124,
- PASTE = 125,
- FIND = 126,
- MUTE = 127,
- VOLUMEUP = 128,
- VOLUMEDOWN = 129,
-// not sure whether there's a reason to enable these
-// LOCKINGCAPSLOCK = 130,
-// LOCKINGNUMLOCK = 131,
-// LOCKINGSCROLLLOCK = 132,
- KP_COMMA = 133,
- KP_EQUALSAS400 = 134,
-
- // used on Asian keyboards, see footnotes in USB doc
- INTERNATIONAL1 = 135,
- INTERNATIONAL2 = 136,
- INTERNATIONAL3 = 137, // Yen
- INTERNATIONAL4 = 138,
- INTERNATIONAL5 = 139,
- INTERNATIONAL6 = 140,
- INTERNATIONAL7 = 141,
- INTERNATIONAL8 = 142,
- INTERNATIONAL9 = 143,
- LANG1 = 144, // Hangul/English toggle
- LANG2 = 145, // Hanja conversion
- LANG3 = 146, // Katakana
- LANG4 = 147, // Hiragana
- LANG5 = 148, // Zenkaku/Hankaku
- LANG6 = 149, // reserved
- LANG7 = 150, // reserved
- LANG8 = 151, // reserved
- LANG9 = 152, // reserved
-
- ALTERASE = 153, // Erase-Eaze
- SYSREQ = 154,
- CANCEL = 155,
- CLEAR = 156,
- PRIOR = 157,
- RETURN2 = 158,
- SEPARATOR = 159,
- OUT = 160,
- OPER = 161,
- CLEARAGAIN = 162,
- CRSEL = 163,
- EXSEL = 164,
-
- KP_00 = 176,
- KP_000 = 177,
- THOUSANDSSEPARATOR = 178,
- DECIMALSEPARATOR = 179,
- CURRENCYUNIT = 180,
- CURRENCYSUBUNIT = 181,
- KP_LEFTPAREN = 182,
- KP_RIGHTPAREN = 183,
- KP_LEFTBRACE = 184,
- KP_RIGHTBRACE = 185,
- KP_TAB = 186,
- KP_BACKSPACE = 187,
- KP_A = 188,
- KP_B = 189,
- KP_C = 190,
- KP_D = 191,
- KP_E = 192,
- KP_F = 193,
- KP_XOR = 194,
- KP_POWER = 195,
- KP_PERCENT = 196,
- KP_LESS = 197,
- KP_GREATER = 198,
- KP_AMPERSAND = 199,
- KP_DBLAMPERSAND = 200,
- KP_VERTICALBAR = 201,
- KP_DBLVERTICALBAR = 202,
- KP_COLON = 203,
- KP_HASH = 204,
- KP_SPACE = 205,
- KP_AT = 206,
- KP_EXCLAM = 207,
- KP_MEMSTORE = 208,
- KP_MEMRECALL = 209,
- KP_MEMCLEAR = 210,
- KP_MEMADD = 211,
- KP_MEMSUBTRACT = 212,
- KP_MEMMULTIPLY = 213,
- KP_MEMDIVIDE = 214,
- KP_PLUSMINUS = 215,
- KP_CLEAR = 216,
- KP_CLEARENTRY = 217,
- KP_BINARY = 218,
- KP_OCTAL = 219,
- KP_DECIMAL = 220,
- KP_HEXADECIMAL = 221,
-
- LCTRL = 224,
- LSHIFT = 225,
- LALT = 226, // alt, option
- LGUI = 227, // windows, command (apple), meta
- RCTRL = 228,
- RSHIFT = 229,
- RALT = 230, // alt gr, option
- RGUI = 231, // windows, command (apple), meta
-
- // 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
- MODE = 257,
-
- // Usage page 0x0C
- // These values are mapped from usage page 0x0C (USB consumer page).
-
- AUDIONEXT = 258,
- AUDIOPREV = 259,
- AUDIOSTOP = 260,
- AUDIOPLAY = 261,
- AUDIOMUTE = 262,
- MEDIASELECT = 263,
- WWW = 264,
- MAIL = 265,
- CALCULATOR = 266,
- COMPUTER = 267,
- AC_SEARCH = 268,
- AC_HOME = 269,
- AC_BACK = 270,
- AC_FORWARD = 271,
- AC_STOP = 272,
- AC_REFRESH = 273,
- AC_BOOKMARKS = 274,
-
- // Walther keys
- // These are values that Christian Walther added (for mac keyboard?).
-
- BRIGHTNESSDOWN = 275,
- BRIGHTNESSUP = 276,
- // display mirroring/dual display switch, video mode switch
- DISPLAYSWITCH = 277,
- KBDILLUMTOGGLE = 278,
- KBDILLUMDOWN = 279,
- KBDILLUMUP = 280,
- EJECT = 281,
- SLEEP = 282,
-
- APP1 = 283,
- APP2 = 284,
-
- // Usage page 0x0C (additional media keys)
- // These values are mapped from usage page 0x0C (USB consumer page).
-
- AUDIOREWIND = 285,
- AUDIOFASTFORWARD = 286,
-
- // Add any other keys here.
-
- // not a key, just marks the number of scancodes for array bounds
- NUM_SCANCODES = 512,
-};
-
-export type SDL_Keycode = enum uint {
- UNKNOWN = 0,
-
- RETURN = '\r',
- ESCAPE = '\x1B',
- BACKSPACE = '\b',
- TAB = '\t',
- SPACE = ' ',
- EXCLAIM = '!',
- QUOTEDBL = '"',
- HASH = '#',
- PERCENT = '%',
- DOLLAR = '$',
- AMPERSAND = '&',
- QUOTE = '\'',
- LEFTPAREN = '(',
- RIGHTPAREN = ')',
- ASTERISK = '*',
- PLUS = '+',
- COMMA = ',',
- MINUS = '-',
- PERIOD = '.',
- SLASH = '/',
- ZERO = '0',
- ONE = '1',
- TWO = '2',
- THREE = '3',
- FOUR = '4',
- FIVE = '5',
- SIX = '6',
- SEVEN = '7',
- EIGHT = '8',
- NINE = '9',
- COLON = ':',
- SEMICOLON = ';',
- LESS = '<',
- EQUALS = '=',
- GREATER = '>',
- QUESTION = '?',
- AT = '@',
-
- // Skip uppercase letters
-
- LEFTBRACKET = '[',
- BACKSLASH = '\\',
- RIGHTBRACKET = ']',
- CARET = '^',
- UNDERSCORE = '_',
- BACKQUOTE = '`',
- a = 'a',
- b = 'b',
- c = 'c',
- d = 'd',
- e = 'e',
- f = 'f',
- g = 'g',
- h = 'h',
- i = 'i',
- j = 'j',
- k = 'k',
- l = 'l',
- m = 'm',
- n = 'n',
- o = 'o',
- p = 'p',
- q = 'q',
- r = 'r',
- s = 's',
- t = 't',
- u = 'u',
- v = 'v',
- w = 'w',
- x = 'x',
- y = 'y',
- z = 'z',
-
- CAPSLOCK = SDL_Scancode::CAPSLOCK | 1: SDL_Scancode << 30: SDL_Scancode,
-
- F1 = SDL_Scancode::F1 | 1: SDL_Scancode << 30,
- F2 = SDL_Scancode::F2 | 1: SDL_Scancode << 30,
- F3 = SDL_Scancode::F3 | 1: SDL_Scancode << 30,
- F4 = SDL_Scancode::F4 | 1: SDL_Scancode << 30,
- F5 = SDL_Scancode::F5 | 1: SDL_Scancode << 30,
- F6 = SDL_Scancode::F6 | 1: SDL_Scancode << 30,
- F7 = SDL_Scancode::F7 | 1: SDL_Scancode << 30,
- F8 = SDL_Scancode::F8 | 1: SDL_Scancode << 30,
- F9 = SDL_Scancode::F9 | 1: SDL_Scancode << 30,
- F10 = SDL_Scancode::F10 | 1: SDL_Scancode << 30,
- F11 = SDL_Scancode::F11 | 1: SDL_Scancode << 30,
- F12 = SDL_Scancode::F12 | 1: SDL_Scancode << 30,
-
- PRINTSCREEN = SDL_Scancode::PRINTSCREEN | 1: SDL_Scancode << 30,
- SCROLLLOCK = SDL_Scancode::SCROLLLOCK | 1: SDL_Scancode << 30,
- PAUSE = SDL_Scancode::PAUSE | 1: SDL_Scancode << 30,
- INSERT = SDL_Scancode::INSERT | 1: SDL_Scancode << 30,
- HOME = SDL_Scancode::HOME | 1: SDL_Scancode << 30,
- PAGEUP = SDL_Scancode::PAGEUP | 1: SDL_Scancode << 30,
- DELETE = '\x7F',
- END = SDL_Scancode::END | 1: SDL_Scancode << 30,
- PAGEDOWN = SDL_Scancode::PAGEDOWN | 1: SDL_Scancode << 30,
- RIGHT = SDL_Scancode::RIGHT | 1: SDL_Scancode << 30,
- LEFT = SDL_Scancode::LEFT | 1: SDL_Scancode << 30,
- DOWN = SDL_Scancode::DOWN | 1: SDL_Scancode << 30,
- UP = SDL_Scancode::UP | 1: SDL_Scancode << 30,
-
- NUMLOCKCLEAR = SDL_Scancode::NUMLOCKCLEAR | 1: SDL_Scancode << 30,
- KP_DIVIDE = SDL_Scancode::KP_DIVIDE | 1: SDL_Scancode << 30,
- KP_MULTIPLY = SDL_Scancode::KP_MULTIPLY | 1: SDL_Scancode << 30,
- KP_MINUS = SDL_Scancode::KP_MINUS | 1: SDL_Scancode << 30,
- KP_PLUS = SDL_Scancode::KP_PLUS | 1: SDL_Scancode << 30,
- KP_ENTER = SDL_Scancode::KP_ENTER | 1: SDL_Scancode << 30,
- KP_1 = SDL_Scancode::KP_1 | 1: SDL_Scancode << 30,
- KP_2 = SDL_Scancode::KP_2 | 1: SDL_Scancode << 30,
- KP_3 = SDL_Scancode::KP_3 | 1: SDL_Scancode << 30,
- KP_4 = SDL_Scancode::KP_4 | 1: SDL_Scancode << 30,
- KP_5 = SDL_Scancode::KP_5 | 1: SDL_Scancode << 30,
- KP_6 = SDL_Scancode::KP_6 | 1: SDL_Scancode << 30,
- KP_7 = SDL_Scancode::KP_7 | 1: SDL_Scancode << 30,
- KP_8 = SDL_Scancode::KP_8 | 1: SDL_Scancode << 30,
- KP_9 = SDL_Scancode::KP_9 | 1: SDL_Scancode << 30,
- KP_0 = SDL_Scancode::KP_0 | 1: SDL_Scancode << 30,
- KP_PERIOD = SDL_Scancode::KP_PERIOD | 1: SDL_Scancode << 30,
-
- APPLICATION = SDL_Scancode::APPLICATION | 1: SDL_Scancode << 30,
- POWER = SDL_Scancode::POWER | 1: SDL_Scancode << 30,
- KP_EQUALS = SDL_Scancode::KP_EQUALS | 1: SDL_Scancode << 30,
- F13 = SDL_Scancode::F13 | 1: SDL_Scancode << 30,
- F14 = SDL_Scancode::F14 | 1: SDL_Scancode << 30,
- F15 = SDL_Scancode::F15 | 1: SDL_Scancode << 30,
- F16 = SDL_Scancode::F16 | 1: SDL_Scancode << 30,
- F17 = SDL_Scancode::F17 | 1: SDL_Scancode << 30,
- F18 = SDL_Scancode::F18 | 1: SDL_Scancode << 30,
- F19 = SDL_Scancode::F19 | 1: SDL_Scancode << 30,
- F20 = SDL_Scancode::F20 | 1: SDL_Scancode << 30,
- F21 = SDL_Scancode::F21 | 1: SDL_Scancode << 30,
- F22 = SDL_Scancode::F22 | 1: SDL_Scancode << 30,
- F23 = SDL_Scancode::F23 | 1: SDL_Scancode << 30,
- F24 = SDL_Scancode::F24 | 1: SDL_Scancode << 30,
- EXECUTE = SDL_Scancode::EXECUTE | 1: SDL_Scancode << 30,
- HELP = SDL_Scancode::HELP | 1: SDL_Scancode << 30,
- MENU = SDL_Scancode::MENU | 1: SDL_Scancode << 30,
- SELECT = SDL_Scancode::SELECT | 1: SDL_Scancode << 30,
- STOP = SDL_Scancode::STOP | 1: SDL_Scancode << 30,
- AGAIN = SDL_Scancode::AGAIN | 1: SDL_Scancode << 30,
- UNDO = SDL_Scancode::UNDO | 1: SDL_Scancode << 30,
- CUT = SDL_Scancode::CUT | 1: SDL_Scancode << 30,
- COPY = SDL_Scancode::COPY | 1: SDL_Scancode << 30,
- PASTE = SDL_Scancode::PASTE | 1: SDL_Scancode << 30,
- FIND = SDL_Scancode::FIND | 1: SDL_Scancode << 30,
- MUTE = SDL_Scancode::MUTE | 1: SDL_Scancode << 30,
- VOLUMEUP = SDL_Scancode::VOLUMEUP | 1: SDL_Scancode << 30,
- VOLUMEDOWN = SDL_Scancode::VOLUMEDOWN | 1: SDL_Scancode << 30,
- KP_COMMA = SDL_Scancode::KP_COMMA | 1: SDL_Scancode << 30,
- KP_EQUALSAS400 = SDL_Scancode::KP_EQUALSAS400 | 1: SDL_Scancode << 30,
-
- ALTERASE = SDL_Scancode::ALTERASE | 1: SDL_Scancode << 30,
- SYSREQ = SDL_Scancode::SYSREQ | 1: SDL_Scancode << 30,
- CANCEL = SDL_Scancode::CANCEL | 1: SDL_Scancode << 30,
- CLEAR = SDL_Scancode::CLEAR | 1: SDL_Scancode << 30,
- PRIOR = SDL_Scancode::PRIOR | 1: SDL_Scancode << 30,
- RETURN2 = SDL_Scancode::RETURN2 | 1: SDL_Scancode << 30,
- SEPARATOR = SDL_Scancode::SEPARATOR | 1: SDL_Scancode << 30,
- OUT = SDL_Scancode::OUT | 1: SDL_Scancode << 30,
- OPER = SDL_Scancode::OPER | 1: SDL_Scancode << 30,
- CLEARAGAIN = SDL_Scancode::CLEARAGAIN | 1: SDL_Scancode << 30,
- CRSEL = SDL_Scancode::CRSEL | 1: SDL_Scancode << 30,
- EXSEL = SDL_Scancode::EXSEL | 1: SDL_Scancode << 30,
-
- KP_00 = SDL_Scancode::KP_00 | 1: SDL_Scancode << 30,
- KP_000 = SDL_Scancode::KP_000 | 1: SDL_Scancode << 30,
- THOUSANDSSEPARATOR = SDL_Scancode::THOUSANDSSEPARATOR | 1: SDL_Scancode << 30,
- DECIMALSEPARATOR = SDL_Scancode::DECIMALSEPARATOR | 1: SDL_Scancode << 30,
- CURRENCYUNIT = SDL_Scancode::CURRENCYUNIT | 1: SDL_Scancode << 30,
- CURRENCYSUBUNIT = SDL_Scancode::CURRENCYSUBUNIT | 1: SDL_Scancode << 30,
- KP_LEFTPAREN = SDL_Scancode::KP_LEFTPAREN | 1: SDL_Scancode << 30,
- KP_RIGHTPAREN = SDL_Scancode::KP_RIGHTPAREN | 1: SDL_Scancode << 30,
- KP_LEFTBRACE = SDL_Scancode::KP_LEFTBRACE | 1: SDL_Scancode << 30,
- KP_RIGHTBRACE = SDL_Scancode::KP_RIGHTBRACE | 1: SDL_Scancode << 30,
- KP_TAB = SDL_Scancode::KP_TAB | 1: SDL_Scancode << 30,
- KP_BACKSPACE = SDL_Scancode::KP_BACKSPACE | 1: SDL_Scancode << 30,
- KP_A = SDL_Scancode::KP_A | 1: SDL_Scancode << 30,
- KP_B = SDL_Scancode::KP_B | 1: SDL_Scancode << 30,
- KP_C = SDL_Scancode::KP_C | 1: SDL_Scancode << 30,
- KP_D = SDL_Scancode::KP_D | 1: SDL_Scancode << 30,
- KP_E = SDL_Scancode::KP_E | 1: SDL_Scancode << 30,
- KP_F = SDL_Scancode::KP_F | 1: SDL_Scancode << 30,
- KP_XOR = SDL_Scancode::KP_XOR | 1: SDL_Scancode << 30,
- KP_POWER = SDL_Scancode::KP_POWER | 1: SDL_Scancode << 30,
- KP_PERCENT = SDL_Scancode::KP_PERCENT | 1: SDL_Scancode << 30,
- KP_LESS = SDL_Scancode::KP_LESS | 1: SDL_Scancode << 30,
- KP_GREATER = SDL_Scancode::KP_GREATER | 1: SDL_Scancode << 30,
- KP_AMPERSAND = SDL_Scancode::KP_AMPERSAND | 1: SDL_Scancode << 30,
- KP_DBLAMPERSAND = SDL_Scancode::KP_DBLAMPERSAND | 1: SDL_Scancode << 30,
- KP_VERTICALBAR = SDL_Scancode::KP_VERTICALBAR | 1: SDL_Scancode << 30,
- KP_DBLVERTICALBAR = SDL_Scancode::KP_DBLVERTICALBAR | 1: SDL_Scancode << 30,
- KP_COLON = SDL_Scancode::KP_COLON | 1: SDL_Scancode << 30,
- KP_HASH = SDL_Scancode::KP_HASH | 1: SDL_Scancode << 30,
- KP_SPACE = SDL_Scancode::KP_SPACE | 1: SDL_Scancode << 30,
- KP_AT = SDL_Scancode::KP_AT | 1: SDL_Scancode << 30,
- KP_EXCLAM = SDL_Scancode::KP_EXCLAM | 1: SDL_Scancode << 30,
- KP_MEMSTORE = SDL_Scancode::KP_MEMSTORE | 1: SDL_Scancode << 30,
- KP_MEMRECALL = SDL_Scancode::KP_MEMRECALL | 1: SDL_Scancode << 30,
- KP_MEMCLEAR = SDL_Scancode::KP_MEMCLEAR | 1: SDL_Scancode << 30,
- KP_MEMADD = SDL_Scancode::KP_MEMADD | 1: SDL_Scancode << 30,
- KP_MEMSUBTRACT = SDL_Scancode::KP_MEMSUBTRACT | 1: SDL_Scancode << 30,
- KP_MEMMULTIPLY = SDL_Scancode::KP_MEMMULTIPLY | 1: SDL_Scancode << 30,
- KP_MEMDIVIDE = SDL_Scancode::KP_MEMDIVIDE | 1: SDL_Scancode << 30,
- KP_PLUSMINUS = SDL_Scancode::KP_PLUSMINUS | 1: SDL_Scancode << 30,
- KP_CLEAR = SDL_Scancode::KP_CLEAR | 1: SDL_Scancode << 30,
- KP_CLEARENTRY = SDL_Scancode::KP_CLEARENTRY | 1: SDL_Scancode << 30,
- KP_BINARY = SDL_Scancode::KP_BINARY | 1: SDL_Scancode << 30,
- KP_OCTAL = SDL_Scancode::KP_OCTAL | 1: SDL_Scancode << 30,
- KP_DECIMAL = SDL_Scancode::KP_DECIMAL | 1: SDL_Scancode << 30,
- KP_HEXADECIMAL = SDL_Scancode::KP_HEXADECIMAL | 1: SDL_Scancode << 30,
-
- LCTRL = SDL_Scancode::LCTRL | 1: SDL_Scancode << 30,
- LSHIFT = SDL_Scancode::LSHIFT | 1: SDL_Scancode << 30,
- LALT = SDL_Scancode::LALT | 1: SDL_Scancode << 30,
- LGUI = SDL_Scancode::LGUI | 1: SDL_Scancode << 30,
- RCTRL = SDL_Scancode::RCTRL | 1: SDL_Scancode << 30,
- RSHIFT = SDL_Scancode::RSHIFT | 1: SDL_Scancode << 30,
- RALT = SDL_Scancode::RALT | 1: SDL_Scancode << 30,
- RGUI = SDL_Scancode::RGUI | 1: SDL_Scancode << 30,
-
- MODE = SDL_Scancode::MODE | 1: SDL_Scancode << 30,
-
- AUDIONEXT = SDL_Scancode::AUDIONEXT | 1: SDL_Scancode << 30,
- AUDIOPREV = SDL_Scancode::AUDIOPREV | 1: SDL_Scancode << 30,
- AUDIOSTOP = SDL_Scancode::AUDIOSTOP | 1: SDL_Scancode << 30,
- AUDIOPLAY = SDL_Scancode::AUDIOPLAY | 1: SDL_Scancode << 30,
- AUDIOMUTE = SDL_Scancode::AUDIOMUTE | 1: SDL_Scancode << 30,
- MEDIASELECT = SDL_Scancode::MEDIASELECT | 1: SDL_Scancode << 30,
- WWW = SDL_Scancode::WWW | 1: SDL_Scancode << 30,
- MAIL = SDL_Scancode::MAIL | 1: SDL_Scancode << 30,
- CALCULATOR = SDL_Scancode::CALCULATOR | 1: SDL_Scancode << 30,
- COMPUTER = SDL_Scancode::COMPUTER | 1: SDL_Scancode << 30,
- AC_SEARCH = SDL_Scancode::AC_SEARCH | 1: SDL_Scancode << 30,
- AC_HOME = SDL_Scancode::AC_HOME | 1: SDL_Scancode << 30,
- AC_BACK = SDL_Scancode::AC_BACK | 1: SDL_Scancode << 30,
- AC_FORWARD = SDL_Scancode::AC_FORWARD | 1: SDL_Scancode << 30,
- AC_STOP = SDL_Scancode::AC_STOP | 1: SDL_Scancode << 30,
- AC_REFRESH = SDL_Scancode::AC_REFRESH | 1: SDL_Scancode << 30,
- AC_BOOKMARKS = SDL_Scancode::AC_BOOKMARKS | 1: SDL_Scancode << 30,
-
- BRIGHTNESSDOWN = SDL_Scancode::BRIGHTNESSDOWN | 1: SDL_Scancode << 30,
- BRIGHTNESSUP = SDL_Scancode::BRIGHTNESSUP | 1: SDL_Scancode << 30,
- DISPLAYSWITCH = SDL_Scancode::DISPLAYSWITCH | 1: SDL_Scancode << 30,
- KBDILLUMTOGGLE = SDL_Scancode::KBDILLUMTOGGLE | 1: SDL_Scancode << 30,
- KBDILLUMDOWN = SDL_Scancode::KBDILLUMDOWN | 1: SDL_Scancode << 30,
- KBDILLUMUP = SDL_Scancode::KBDILLUMUP | 1: SDL_Scancode << 30,
- EJECT = SDL_Scancode::EJECT | 1: SDL_Scancode << 30,
- SLEEP = SDL_Scancode::SLEEP | 1: SDL_Scancode << 30,
- APP1 = SDL_Scancode::APP1 | 1: SDL_Scancode << 30,
- APP2 = SDL_Scancode::APP2 | 1: SDL_Scancode << 30,
-
- AUDIOREWIND = SDL_Scancode::AUDIOREWIND | 1: SDL_Scancode << 30,
- AUDIOFASTFORWARD = SDL_Scancode::AUDIOFASTFORWARD | 1: SDL_Scancode << 30
-};
-
-export type SDL_Keymod = enum u16 {
- NONE = 0x0000,
- LSHIFT = 0x0001,
- RSHIFT = 0x0002,
- LCTRL = 0x0040,
- RCTRL = 0x0080,
- LALT = 0x0100,
- RALT = 0x0200,
- LGUI = 0x0400,
- RGUI = 0x0800,
- NUM = 0x1000,
- CAPS = 0x2000,
- MODE = 0x4000,
- SCROLL = 0x8000,
-
- CTRL = LCTRL | RCTRL,
- SHIFT = LSHIFT | RSHIFT,
- ALT = LALT | RALT,
- GUI = LGUI | RGUI,
-
- RESERVED = SCROLL,
-};
-
-export type SDL_Keysym = struct {
- scancode: SDL_Scancode,
- sym: SDL_Keycode,
- mod: SDL_Keymod,
- unused: u32,
-};
-
-@symbol("SDL_GetKeyFromName") fn _SDL_GetKeyFromName(name: *const c::char) SDL_Keycode;
-
-export fn SDL_GetKeyFromName(name: str) (SDL_Keycode | error) = {
- const name = c::fromstr(name)!;
- defer free(name);
- const sym = _SDL_GetKeyFromName(name);
- if (sym == SDL_Keycode::UNKNOWN) {
- return c::tostr(SDL_GetError()): error;
- };
- return sym;
-};
-
-@symbol("SDL_GetKeyboardState") fn _SDL_GetKeyboardState(numkeys: *int) *[*]bool;
-
-export fn SDL_GetKeyboardState() []bool = {
- let numkeys: int = 0;
- let arr = _SDL_GetKeyboardState(&numkeys);
- let arr = arr[..numkeys];
- return arr;
-};
-
-export @symbol("SDL_StartTextInput") fn SDL_StartTextInput(win: *SDL_Window) bool;
-export @symbol("SDL_StopTextInput") fn SDL_StopTextInput(win: *SDL_Window) bool;