%ifndef SDL2_KEYS_INC %define SDL2_KEYS_INC ;=========================== SDL Scancodes ======================== ; coppied almost verbatim from SDL_scancode.h just changed equal ; signs to equ directive, retained comments SDL_SCANCODE_UNKNOWN equ 0 SDL_SCANCODE_A equ 4 SDL_SCANCODE_B equ 5 SDL_SCANCODE_C equ 6 SDL_SCANCODE_D equ 7 SDL_SCANCODE_E equ 8 SDL_SCANCODE_F equ 9 SDL_SCANCODE_G equ 10 SDL_SCANCODE_H equ 11 SDL_SCANCODE_I equ 12 SDL_SCANCODE_J equ 13 SDL_SCANCODE_K equ 14 SDL_SCANCODE_L equ 15 SDL_SCANCODE_M equ 16 SDL_SCANCODE_N equ 17 SDL_SCANCODE_O equ 18 SDL_SCANCODE_P equ 19 SDL_SCANCODE_Q equ 20 SDL_SCANCODE_R equ 21 SDL_SCANCODE_S equ 22 SDL_SCANCODE_T equ 23 SDL_SCANCODE_U equ 24 SDL_SCANCODE_V equ 25 SDL_SCANCODE_W equ 26 SDL_SCANCODE_X equ 27 SDL_SCANCODE_Y equ 28 SDL_SCANCODE_Z equ 29 SDL_SCANCODE_1 equ 30 SDL_SCANCODE_2 equ 31 SDL_SCANCODE_3 equ 32 SDL_SCANCODE_4 equ 33 SDL_SCANCODE_5 equ 34 SDL_SCANCODE_6 equ 35 SDL_SCANCODE_7 equ 36 SDL_SCANCODE_8 equ 37 SDL_SCANCODE_9 equ 38 SDL_SCANCODE_0 equ 39 SDL_SCANCODE_RETURN equ 40 SDL_SCANCODE_ESCAPE equ 41 SDL_SCANCODE_BACKSPACE equ 42 SDL_SCANCODE_TAB equ 43 SDL_SCANCODE_SPACE equ 44 SDL_SCANCODE_MINUS equ 45 SDL_SCANCODE_EQUALS equ 46 SDL_SCANCODE_LEFTBRACKET equ 47 SDL_SCANCODE_RIGHTBRACKET equ 48 SDL_SCANCODE_BACKSLASH equ 49 ;/**< 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 equ 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 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 equ 51 SDL_SCANCODE_APOSTROPHE equ 52 SDL_SCANCODE_GRAVE equ 53 ;/**< 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 equ 54 SDL_SCANCODE_PERIOD equ 55 SDL_SCANCODE_SLASH equ 56 SDL_SCANCODE_CAPSLOCK equ 57 SDL_SCANCODE_F1 equ 58 SDL_SCANCODE_F2 equ 59 SDL_SCANCODE_F3 equ 60 SDL_SCANCODE_F4 equ 61 SDL_SCANCODE_F5 equ 62 SDL_SCANCODE_F6 equ 63 SDL_SCANCODE_F7 equ 64 SDL_SCANCODE_F8 equ 65 SDL_SCANCODE_F9 equ 66 SDL_SCANCODE_F10 equ 67 SDL_SCANCODE_F11 equ 68 SDL_SCANCODE_F12 equ 69 SDL_SCANCODE_PRINTSCREEN equ 70 SDL_SCANCODE_SCROLLLOCK equ 71 SDL_SCANCODE_PAUSE equ 72 SDL_SCANCODE_INSERT equ 73 ;/**< insert on PC help on some Mac keyboards (but ; does send code 73 not 117) ;*/ SDL_SCANCODE_HOME equ 74 SDL_SCANCODE_PAGEUP equ 75 SDL_SCANCODE_DELETE equ 76 SDL_SCANCODE_END equ 77 SDL_SCANCODE_PAGEDOWN equ 78 SDL_SCANCODE_RIGHT equ 79 SDL_SCANCODE_LEFT equ 80 SDL_SCANCODE_DOWN equ 81 SDL_SCANCODE_UP equ 82 SDL_SCANCODE_NUMLOCKCLEAR equ 83 ;/**< num lock on PC clear on Mac keyboards ;*/ SDL_SCANCODE_KP_DIVIDE equ 84 SDL_SCANCODE_KP_MULTIPLY equ 85 SDL_SCANCODE_KP_MINUS equ 86 SDL_SCANCODE_KP_PLUS equ 87 SDL_SCANCODE_KP_ENTER equ 88 SDL_SCANCODE_KP_1 equ 89 SDL_SCANCODE_KP_2 equ 90 SDL_SCANCODE_KP_3 equ 91 SDL_SCANCODE_KP_4 equ 92 SDL_SCANCODE_KP_5 equ 93 SDL_SCANCODE_KP_6 equ 94 SDL_SCANCODE_KP_7 equ 95 SDL_SCANCODE_KP_8 equ 96 SDL_SCANCODE_KP_9 equ 97 SDL_SCANCODE_KP_0 equ 98 SDL_SCANCODE_KP_PERIOD equ 99 SDL_SCANCODE_NONUSBACKSLASH equ 100 ;/**< 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 equ 101 ;/**< windows contextual menu compose ;*/ SDL_SCANCODE_POWER equ 102 ;/**< 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 equ 103 SDL_SCANCODE_F13 equ 104 SDL_SCANCODE_F14 equ 105 SDL_SCANCODE_F15 equ 106 SDL_SCANCODE_F16 equ 107 SDL_SCANCODE_F17 equ 108 SDL_SCANCODE_F18 equ 109 SDL_SCANCODE_F19 equ 110 SDL_SCANCODE_F20 equ 111 SDL_SCANCODE_F21 equ 112 SDL_SCANCODE_F22 equ 113 SDL_SCANCODE_F23 equ 114 SDL_SCANCODE_F24 equ 115 SDL_SCANCODE_EXECUTE equ 116 SDL_SCANCODE_HELP equ 117 ;/**< AL Integrated Help Center ;*/ SDL_SCANCODE_MENU equ 118 ;/**< Menu (show menu) ;*/ SDL_SCANCODE_SELECT equ 119 SDL_SCANCODE_STOP equ 120 ;/**< AC Stop ;*/ SDL_SCANCODE_AGAIN equ 121 ;/**< AC Redo/Repeat ;*/ SDL_SCANCODE_UNDO equ 122 ;/**< AC Undo ;*/ SDL_SCANCODE_CUT equ 123 ;/**< AC Cut ;*/ SDL_SCANCODE_COPY equ 124 ;/**< AC Copy ;*/ SDL_SCANCODE_PASTE equ 125 ;/**< AC Paste ;*/ SDL_SCANCODE_FIND equ 126 ;/**< AC Find ;*/ SDL_SCANCODE_MUTE equ 127 SDL_SCANCODE_VOLUMEUP equ 128 SDL_SCANCODE_VOLUMEDOWN equ 129 ;/* not sure whether there's a reason to enable these ;*/ ;/* SDL_SCANCODE_LOCKINGCAPSLOCK equ 130 ;*/ ;/* SDL_SCANCODE_LOCKINGNUMLOCK equ 131 ;*/ ;/* SDL_SCANCODE_LOCKINGSCROLLLOCK equ 132 ;*/ SDL_SCANCODE_KP_COMMA equ 133 SDL_SCANCODE_KP_EQUALSAS400 equ 134 SDL_SCANCODE_INTERNATIONAL1 equ 135 ;/**< used on Asian keyboards see ; footnotes in USB doc ;*/ SDL_SCANCODE_INTERNATIONAL2 equ 136 SDL_SCANCODE_INTERNATIONAL3 equ 137 ;/**< Yen ;*/ SDL_SCANCODE_INTERNATIONAL4 equ 138 SDL_SCANCODE_INTERNATIONAL5 equ 139 SDL_SCANCODE_INTERNATIONAL6 equ 140 SDL_SCANCODE_INTERNATIONAL7 equ 141 SDL_SCANCODE_INTERNATIONAL8 equ 142 SDL_SCANCODE_INTERNATIONAL9 equ 143 SDL_SCANCODE_LANG1 equ 144 ;/**< Hangul/English toggle ;*/ SDL_SCANCODE_LANG2 equ 145 ;/**< Hanja conversion ;*/ SDL_SCANCODE_LANG3 equ 146 ;/**< Katakana ;*/ SDL_SCANCODE_LANG4 equ 147 ;/**< Hiragana ;*/ SDL_SCANCODE_LANG5 equ 148 ;/**< Zenkaku/Hankaku ;*/ SDL_SCANCODE_LANG6 equ 149 ;/**< reserved ;*/ SDL_SCANCODE_LANG7 equ 150 ;/**< reserved ;*/ SDL_SCANCODE_LANG8 equ 151 ;/**< reserved ;*/ SDL_SCANCODE_LANG9 equ 152 ;/**< reserved ;*/ SDL_SCANCODE_ALTERASE equ 153 ;/**< Erase-Eaze ;*/ SDL_SCANCODE_SYSREQ equ 154 SDL_SCANCODE_CANCEL equ 155 ;/**< AC Cancel ;*/ SDL_SCANCODE_CLEAR equ 156 SDL_SCANCODE_PRIOR equ 157 SDL_SCANCODE_RETURN2 equ 158 SDL_SCANCODE_SEPARATOR equ 159 SDL_SCANCODE_OUT equ 160 SDL_SCANCODE_OPER equ 161 SDL_SCANCODE_CLEARAGAIN equ 162 SDL_SCANCODE_CRSEL equ 163 SDL_SCANCODE_EXSEL equ 164 SDL_SCANCODE_KP_00 equ 176 SDL_SCANCODE_KP_000 equ 177 SDL_SCANCODE_THOUSANDSSEPARATOR equ 178 SDL_SCANCODE_DECIMALSEPARATOR equ 179 SDL_SCANCODE_CURRENCYUNIT equ 180 SDL_SCANCODE_CURRENCYSUBUNIT equ 181 SDL_SCANCODE_KP_LEFTPAREN equ 182 SDL_SCANCODE_KP_RIGHTPAREN equ 183 SDL_SCANCODE_KP_LEFTBRACE equ 184 SDL_SCANCODE_KP_RIGHTBRACE equ 185 SDL_SCANCODE_KP_TAB equ 186 SDL_SCANCODE_KP_BACKSPACE equ 187 SDL_SCANCODE_KP_A equ 188 SDL_SCANCODE_KP_B equ 189 SDL_SCANCODE_KP_C equ 190 SDL_SCANCODE_KP_D equ 191 SDL_SCANCODE_KP_E equ 192 SDL_SCANCODE_KP_F equ 193 SDL_SCANCODE_KP_XOR equ 194 SDL_SCANCODE_KP_POWER equ 195 SDL_SCANCODE_KP_PERCENT equ 196 SDL_SCANCODE_KP_LESS equ 197 SDL_SCANCODE_KP_GREATER equ 198 SDL_SCANCODE_KP_AMPERSAND equ 199 SDL_SCANCODE_KP_DBLAMPERSAND equ 200 SDL_SCANCODE_KP_VERTICALBAR equ 201 SDL_SCANCODE_KP_DBLVERTICALBAR equ 202 SDL_SCANCODE_KP_COLON equ 203 SDL_SCANCODE_KP_HASH equ 204 SDL_SCANCODE_KP_SPACE equ 205 SDL_SCANCODE_KP_AT equ 206 SDL_SCANCODE_KP_EXCLAM equ 207 SDL_SCANCODE_KP_MEMSTORE equ 208 SDL_SCANCODE_KP_MEMRECALL equ 209 SDL_SCANCODE_KP_MEMCLEAR equ 210 SDL_SCANCODE_KP_MEMADD equ 211 SDL_SCANCODE_KP_MEMSUBTRACT equ 212 SDL_SCANCODE_KP_MEMMULTIPLY equ 213 SDL_SCANCODE_KP_MEMDIVIDE equ 214 SDL_SCANCODE_KP_PLUSMINUS equ 215 SDL_SCANCODE_KP_CLEAR equ 216 SDL_SCANCODE_KP_CLEARENTRY equ 217 SDL_SCANCODE_KP_BINARY equ 218 SDL_SCANCODE_KP_OCTAL equ 219 SDL_SCANCODE_KP_DECIMAL equ 220 SDL_SCANCODE_KP_HEXADECIMAL equ 221 SDL_SCANCODE_LCTRL equ 224 SDL_SCANCODE_LSHIFT equ 225 SDL_SCANCODE_LALT equ 226 ;/**< alt option ;*/ SDL_SCANCODE_LGUI equ 227 ;/**< windows command (apple) meta ;*/ SDL_SCANCODE_RCTRL equ 228 SDL_SCANCODE_RSHIFT equ 229 SDL_SCANCODE_RALT equ 230 ;/**< alt gr option ;*/ SDL_SCANCODE_RGUI equ 231 ;/**< windows command (apple) meta ;*/ SDL_SCANCODE_MODE equ 257 ;/**< 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 ;*/ ;/* @} ;*/;/* Usage page 0x07 ;*/ ;/** ;* \name Usage page 0x0C ;* ;* These values are mapped from usage page 0x0C (USB consumer page). ;* See https://usb.org/sites/default/files/hut1_2.pdf ;* ;* There are way more keys in the spec than we can represent in the ;* current scancode range so pick the ones that commonly come up in ;* real world usage. ;*/ ;/* @{ ;*/ SDL_SCANCODE_AUDIONEXT equ 258 SDL_SCANCODE_AUDIOPREV equ 259 SDL_SCANCODE_AUDIOSTOP equ 260 SDL_SCANCODE_AUDIOPLAY equ 261 SDL_SCANCODE_AUDIOMUTE equ 262 SDL_SCANCODE_MEDIASELECT equ 263 SDL_SCANCODE_WWW equ 264 ;/**< AL Internet Browser ;*/ SDL_SCANCODE_MAIL equ 265 SDL_SCANCODE_CALCULATOR equ 266 ;/**< AL Calculator ;*/ SDL_SCANCODE_COMPUTER equ 267 SDL_SCANCODE_AC_SEARCH equ 268 ;/**< AC Search ;*/ SDL_SCANCODE_AC_HOME equ 269 ;/**< AC Home ;*/ SDL_SCANCODE_AC_BACK equ 270 ;/**< AC Back ;*/ SDL_SCANCODE_AC_FORWARD equ 271 ;/**< AC Forward ;*/ SDL_SCANCODE_AC_STOP equ 272 ;/**< AC Stop ;*/ SDL_SCANCODE_AC_REFRESH equ 273 ;/**< AC Refresh ;*/ SDL_SCANCODE_AC_BOOKMARKS equ 274 ;/**< AC Bookmarks ;*/ ;/* @} ;*/;/* Usage page 0x0C ;*/ ;/** ;* \name Walther keys ;* ;* These are values that Christian Walther added (for mac keyboard?). ;*/ ;/* @{ ;*/ SDL_SCANCODE_BRIGHTNESSDOWN equ 275 SDL_SCANCODE_BRIGHTNESSUP equ 276 SDL_SCANCODE_DISPLAYSWITCH equ 277 ;/**< display mirroring/dual display ; switch video mode switch ;*/ SDL_SCANCODE_KBDILLUMTOGGLE equ 278 SDL_SCANCODE_KBDILLUMDOWN equ 279 SDL_SCANCODE_KBDILLUMUP equ 280 SDL_SCANCODE_EJECT equ 281 SDL_SCANCODE_SLEEP equ 282 ;/**< SC System Sleep ;*/ SDL_SCANCODE_APP1 equ 283 SDL_SCANCODE_APP2 equ 284 ;/* @} ;*/;/* Walther keys ;*/ ;/** ;* \name Usage page 0x0C (additional media keys) ;* ;* These values are mapped from usage page 0x0C (USB consumer page). ;*/ ;/* @{ ;*/ SDL_SCANCODE_AUDIOREWIND equ 285 SDL_SCANCODE_AUDIOFASTFORWARD equ 286 ;/* @} ;*/;/* Usage page 0x0C (additional media keys) ;*/ ;/** ;* \name Mobile keys ;* ;* These are values that are often used on mobile phones. ;*/ ;/* @{ ;*/ SDL_SCANCODE_SOFTLEFT equ 287 ;/**< Usually situated below the display on phones and ; used as a multi-function feature key for selecting ; a software defined function shown on the bottom left ; of the display. ;*/ SDL_SCANCODE_SOFTRIGHT equ 288 ;/**< Usually situated below the display on phones and ; used as a multi-function feature key for selecting ; a software defined function shown on the bottom right ; of the display. ;*/ SDL_SCANCODE_CALL equ 289 ;/**< Used for accepting phone calls. ;*/ SDL_SCANCODE_ENDCALL equ 290 ;/**< Used for rejecting phone calls. ;*/ ;/* @} ;*/;/* Mobile keys ;*/ ;/* Add any other keys here. ;*/ SDL_NUM_SCANCODES equ 512 ;/**< not a key just marks the number of scancodes ;for array bounds ;*/ ; ======================================================== %endif .