sdl3_sys/generated/keycode.rs
1//! Defines constants which identify keyboard keys and modifiers.
2//!
3//! Please refer to the Best Keyboard Practices document for details on what
4//! this information means and how best to use it.
5//!
6//! <https://wiki.libsdl.org/SDL3/BestKeyboardPractices>
7
8use super::stdinc::*;
9
10use super::scancode::*;
11
12/// The SDL virtual key representation.
13///
14/// Values of this type are used to represent keyboard keys using the current
15/// layout of the keyboard. These values include Unicode values representing
16/// the unmodified character that would be generated by pressing the key, or an
17/// `SDLK_*` constant for those keys that do not generate characters.
18///
19/// A special exception is the number keys at the top of the keyboard which map
20/// by default to SDLK_0...SDLK_9 on AZERTY layouts.
21///
22/// Keys with the `SDLK_EXTENDED_MASK` bit set do not map to a scancode or
23/// Unicode code point.
24///
25/// Many common keycodes are listed below, but this list is not exhaustive.
26///
27/// ## Availability
28/// This datatype is available since SDL 3.2.0.
29///
30/// ## See also
31/// - [`SDL_HINT_KEYCODE_OPTIONS`]
32///
33/// ## Known values (`sdl3-sys`)
34/// | Associated constant | Global constant | Description |
35/// | ------------------- | --------------- | ----------- |
36/// | [`EXTENDED_MASK`](SDL_Keycode::EXTENDED_MASK) | [`SDLK_EXTENDED_MASK`] | |
37/// | [`SCANCODE_MASK`](SDL_Keycode::SCANCODE_MASK) | [`SDLK_SCANCODE_MASK`] | |
38/// | [`UNKNOWN`](SDL_Keycode::UNKNOWN) | [`SDLK_UNKNOWN`] | 0 |
39/// | [`RETURN`](SDL_Keycode::RETURN) | [`SDLK_RETURN`] | '\r' |
40/// | [`ESCAPE`](SDL_Keycode::ESCAPE) | [`SDLK_ESCAPE`] | '\x1B' |
41/// | [`BACKSPACE`](SDL_Keycode::BACKSPACE) | [`SDLK_BACKSPACE`] | '\b' |
42/// | [`TAB`](SDL_Keycode::TAB) | [`SDLK_TAB`] | '\t' |
43/// | [`SPACE`](SDL_Keycode::SPACE) | [`SDLK_SPACE`] | ' ' |
44/// | [`EXCLAIM`](SDL_Keycode::EXCLAIM) | [`SDLK_EXCLAIM`] | '!' |
45/// | [`DBLAPOSTROPHE`](SDL_Keycode::DBLAPOSTROPHE) | [`SDLK_DBLAPOSTROPHE`] | '"' |
46/// | [`HASH`](SDL_Keycode::HASH) | [`SDLK_HASH`] | '#' |
47/// | [`DOLLAR`](SDL_Keycode::DOLLAR) | [`SDLK_DOLLAR`] | '$' |
48/// | [`PERCENT`](SDL_Keycode::PERCENT) | [`SDLK_PERCENT`] | '%' |
49/// | [`AMPERSAND`](SDL_Keycode::AMPERSAND) | [`SDLK_AMPERSAND`] | '&' |
50/// | [`APOSTROPHE`](SDL_Keycode::APOSTROPHE) | [`SDLK_APOSTROPHE`] | '\'' |
51/// | [`LEFTPAREN`](SDL_Keycode::LEFTPAREN) | [`SDLK_LEFTPAREN`] | '(' |
52/// | [`RIGHTPAREN`](SDL_Keycode::RIGHTPAREN) | [`SDLK_RIGHTPAREN`] | ')' |
53/// | [`ASTERISK`](SDL_Keycode::ASTERISK) | [`SDLK_ASTERISK`] | '*' |
54/// | [`PLUS`](SDL_Keycode::PLUS) | [`SDLK_PLUS`] | '+' |
55/// | [`COMMA`](SDL_Keycode::COMMA) | [`SDLK_COMMA`] | ',' |
56/// | [`MINUS`](SDL_Keycode::MINUS) | [`SDLK_MINUS`] | '-' |
57/// | [`PERIOD`](SDL_Keycode::PERIOD) | [`SDLK_PERIOD`] | '.' |
58/// | [`SLASH`](SDL_Keycode::SLASH) | [`SDLK_SLASH`] | '/' |
59/// | [`_0`](SDL_Keycode::_0) | [`SDLK_0`] | '0' |
60/// | [`_1`](SDL_Keycode::_1) | [`SDLK_1`] | '1' |
61/// | [`_2`](SDL_Keycode::_2) | [`SDLK_2`] | '2' |
62/// | [`_3`](SDL_Keycode::_3) | [`SDLK_3`] | '3' |
63/// | [`_4`](SDL_Keycode::_4) | [`SDLK_4`] | '4' |
64/// | [`_5`](SDL_Keycode::_5) | [`SDLK_5`] | '5' |
65/// | [`_6`](SDL_Keycode::_6) | [`SDLK_6`] | '6' |
66/// | [`_7`](SDL_Keycode::_7) | [`SDLK_7`] | '7' |
67/// | [`_8`](SDL_Keycode::_8) | [`SDLK_8`] | '8' |
68/// | [`_9`](SDL_Keycode::_9) | [`SDLK_9`] | '9' |
69/// | [`COLON`](SDL_Keycode::COLON) | [`SDLK_COLON`] | ':' |
70/// | [`SEMICOLON`](SDL_Keycode::SEMICOLON) | [`SDLK_SEMICOLON`] | ';' |
71/// | [`LESS`](SDL_Keycode::LESS) | [`SDLK_LESS`] | '<' |
72/// | [`EQUALS`](SDL_Keycode::EQUALS) | [`SDLK_EQUALS`] | '=' |
73/// | [`GREATER`](SDL_Keycode::GREATER) | [`SDLK_GREATER`] | '>' |
74/// | [`QUESTION`](SDL_Keycode::QUESTION) | [`SDLK_QUESTION`] | '?' |
75/// | [`AT`](SDL_Keycode::AT) | [`SDLK_AT`] | '@' |
76/// | [`LEFTBRACKET`](SDL_Keycode::LEFTBRACKET) | [`SDLK_LEFTBRACKET`] | '[' |
77/// | [`BACKSLASH`](SDL_Keycode::BACKSLASH) | [`SDLK_BACKSLASH`] | '\\' |
78/// | [`RIGHTBRACKET`](SDL_Keycode::RIGHTBRACKET) | [`SDLK_RIGHTBRACKET`] | ']' |
79/// | [`CARET`](SDL_Keycode::CARET) | [`SDLK_CARET`] | '^' |
80/// | [`UNDERSCORE`](SDL_Keycode::UNDERSCORE) | [`SDLK_UNDERSCORE`] | '_' |
81/// | [`GRAVE`](SDL_Keycode::GRAVE) | [`SDLK_GRAVE`] | '`' |
82/// | [`A`](SDL_Keycode::A) | [`SDLK_A`] | 'a' |
83/// | [`B`](SDL_Keycode::B) | [`SDLK_B`] | 'b' |
84/// | [`C`](SDL_Keycode::C) | [`SDLK_C`] | 'c' |
85/// | [`D`](SDL_Keycode::D) | [`SDLK_D`] | 'd' |
86/// | [`E`](SDL_Keycode::E) | [`SDLK_E`] | 'e' |
87/// | [`F`](SDL_Keycode::F) | [`SDLK_F`] | 'f' |
88/// | [`G`](SDL_Keycode::G) | [`SDLK_G`] | 'g' |
89/// | [`H`](SDL_Keycode::H) | [`SDLK_H`] | 'h' |
90/// | [`I`](SDL_Keycode::I) | [`SDLK_I`] | 'i' |
91/// | [`J`](SDL_Keycode::J) | [`SDLK_J`] | 'j' |
92/// | [`K`](SDL_Keycode::K) | [`SDLK_K`] | 'k' |
93/// | [`L`](SDL_Keycode::L) | [`SDLK_L`] | 'l' |
94/// | [`M`](SDL_Keycode::M) | [`SDLK_M`] | 'm' |
95/// | [`N`](SDL_Keycode::N) | [`SDLK_N`] | 'n' |
96/// | [`O`](SDL_Keycode::O) | [`SDLK_O`] | 'o' |
97/// | [`P`](SDL_Keycode::P) | [`SDLK_P`] | 'p' |
98/// | [`Q`](SDL_Keycode::Q) | [`SDLK_Q`] | 'q' |
99/// | [`R`](SDL_Keycode::R) | [`SDLK_R`] | 'r' |
100/// | [`S`](SDL_Keycode::S) | [`SDLK_S`] | 's' |
101/// | [`T`](SDL_Keycode::T) | [`SDLK_T`] | 't' |
102/// | [`U`](SDL_Keycode::U) | [`SDLK_U`] | 'u' |
103/// | [`V`](SDL_Keycode::V) | [`SDLK_V`] | 'v' |
104/// | [`W`](SDL_Keycode::W) | [`SDLK_W`] | 'w' |
105/// | [`X`](SDL_Keycode::X) | [`SDLK_X`] | 'x' |
106/// | [`Y`](SDL_Keycode::Y) | [`SDLK_Y`] | 'y' |
107/// | [`Z`](SDL_Keycode::Z) | [`SDLK_Z`] | 'z' |
108/// | [`LEFTBRACE`](SDL_Keycode::LEFTBRACE) | [`SDLK_LEFTBRACE`] | '{' |
109/// | [`PIPE`](SDL_Keycode::PIPE) | [`SDLK_PIPE`] | '|' |
110/// | [`RIGHTBRACE`](SDL_Keycode::RIGHTBRACE) | [`SDLK_RIGHTBRACE`] | '}' |
111/// | [`TILDE`](SDL_Keycode::TILDE) | [`SDLK_TILDE`] | '~' |
112/// | [`DELETE`](SDL_Keycode::DELETE) | [`SDLK_DELETE`] | '\x7F' |
113/// | [`PLUSMINUS`](SDL_Keycode::PLUSMINUS) | [`SDLK_PLUSMINUS`] | '\xB1' |
114/// | [`CAPSLOCK`](SDL_Keycode::CAPSLOCK) | [`SDLK_CAPSLOCK`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CAPSLOCK`]) |
115/// | [`F1`](SDL_Keycode::F1) | [`SDLK_F1`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F1`]) |
116/// | [`F2`](SDL_Keycode::F2) | [`SDLK_F2`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F2`]) |
117/// | [`F3`](SDL_Keycode::F3) | [`SDLK_F3`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F3`]) |
118/// | [`F4`](SDL_Keycode::F4) | [`SDLK_F4`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F4`]) |
119/// | [`F5`](SDL_Keycode::F5) | [`SDLK_F5`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F5`]) |
120/// | [`F6`](SDL_Keycode::F6) | [`SDLK_F6`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F6`]) |
121/// | [`F7`](SDL_Keycode::F7) | [`SDLK_F7`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F7`]) |
122/// | [`F8`](SDL_Keycode::F8) | [`SDLK_F8`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F8`]) |
123/// | [`F9`](SDL_Keycode::F9) | [`SDLK_F9`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F9`]) |
124/// | [`F10`](SDL_Keycode::F10) | [`SDLK_F10`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F10`]) |
125/// | [`F11`](SDL_Keycode::F11) | [`SDLK_F11`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F11`]) |
126/// | [`F12`](SDL_Keycode::F12) | [`SDLK_F12`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F12`]) |
127/// | [`PRINTSCREEN`](SDL_Keycode::PRINTSCREEN) | [`SDLK_PRINTSCREEN`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_PRINTSCREEN`]) |
128/// | [`SCROLLLOCK`](SDL_Keycode::SCROLLLOCK) | [`SDLK_SCROLLLOCK`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SCROLLLOCK`]) |
129/// | [`PAUSE`](SDL_Keycode::PAUSE) | [`SDLK_PAUSE`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_PAUSE`]) |
130/// | [`INSERT`](SDL_Keycode::INSERT) | [`SDLK_INSERT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_INSERT`]) |
131/// | [`HOME`](SDL_Keycode::HOME) | [`SDLK_HOME`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_HOME`]) |
132/// | [`PAGEUP`](SDL_Keycode::PAGEUP) | [`SDLK_PAGEUP`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_PAGEUP`]) |
133/// | [`END`](SDL_Keycode::END) | [`SDLK_END`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_END`]) |
134/// | [`PAGEDOWN`](SDL_Keycode::PAGEDOWN) | [`SDLK_PAGEDOWN`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_PAGEDOWN`]) |
135/// | [`RIGHT`](SDL_Keycode::RIGHT) | [`SDLK_RIGHT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_RIGHT`]) |
136/// | [`LEFT`](SDL_Keycode::LEFT) | [`SDLK_LEFT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_LEFT`]) |
137/// | [`DOWN`](SDL_Keycode::DOWN) | [`SDLK_DOWN`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_DOWN`]) |
138/// | [`UP`](SDL_Keycode::UP) | [`SDLK_UP`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_UP`]) |
139/// | [`NUMLOCKCLEAR`](SDL_Keycode::NUMLOCKCLEAR) | [`SDLK_NUMLOCKCLEAR`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_NUMLOCKCLEAR`]) |
140/// | [`KP_DIVIDE`](SDL_Keycode::KP_DIVIDE) | [`SDLK_KP_DIVIDE`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_DIVIDE`]) |
141/// | [`KP_MULTIPLY`](SDL_Keycode::KP_MULTIPLY) | [`SDLK_KP_MULTIPLY`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MULTIPLY`]) |
142/// | [`KP_MINUS`](SDL_Keycode::KP_MINUS) | [`SDLK_KP_MINUS`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MINUS`]) |
143/// | [`KP_PLUS`](SDL_Keycode::KP_PLUS) | [`SDLK_KP_PLUS`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_PLUS`]) |
144/// | [`KP_ENTER`](SDL_Keycode::KP_ENTER) | [`SDLK_KP_ENTER`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_ENTER`]) |
145/// | [`KP_1`](SDL_Keycode::KP_1) | [`SDLK_KP_1`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_1`]) |
146/// | [`KP_2`](SDL_Keycode::KP_2) | [`SDLK_KP_2`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_2`]) |
147/// | [`KP_3`](SDL_Keycode::KP_3) | [`SDLK_KP_3`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_3`]) |
148/// | [`KP_4`](SDL_Keycode::KP_4) | [`SDLK_KP_4`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_4`]) |
149/// | [`KP_5`](SDL_Keycode::KP_5) | [`SDLK_KP_5`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_5`]) |
150/// | [`KP_6`](SDL_Keycode::KP_6) | [`SDLK_KP_6`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_6`]) |
151/// | [`KP_7`](SDL_Keycode::KP_7) | [`SDLK_KP_7`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_7`]) |
152/// | [`KP_8`](SDL_Keycode::KP_8) | [`SDLK_KP_8`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_8`]) |
153/// | [`KP_9`](SDL_Keycode::KP_9) | [`SDLK_KP_9`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_9`]) |
154/// | [`KP_0`](SDL_Keycode::KP_0) | [`SDLK_KP_0`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_0`]) |
155/// | [`KP_PERIOD`](SDL_Keycode::KP_PERIOD) | [`SDLK_KP_PERIOD`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_PERIOD`]) |
156/// | [`APPLICATION`](SDL_Keycode::APPLICATION) | [`SDLK_APPLICATION`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_APPLICATION`]) |
157/// | [`POWER`](SDL_Keycode::POWER) | [`SDLK_POWER`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_POWER`]) |
158/// | [`KP_EQUALS`](SDL_Keycode::KP_EQUALS) | [`SDLK_KP_EQUALS`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_EQUALS`]) |
159/// | [`F13`](SDL_Keycode::F13) | [`SDLK_F13`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F13`]) |
160/// | [`F14`](SDL_Keycode::F14) | [`SDLK_F14`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F14`]) |
161/// | [`F15`](SDL_Keycode::F15) | [`SDLK_F15`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F15`]) |
162/// | [`F16`](SDL_Keycode::F16) | [`SDLK_F16`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F16`]) |
163/// | [`F17`](SDL_Keycode::F17) | [`SDLK_F17`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F17`]) |
164/// | [`F18`](SDL_Keycode::F18) | [`SDLK_F18`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F18`]) |
165/// | [`F19`](SDL_Keycode::F19) | [`SDLK_F19`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F19`]) |
166/// | [`F20`](SDL_Keycode::F20) | [`SDLK_F20`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F20`]) |
167/// | [`F21`](SDL_Keycode::F21) | [`SDLK_F21`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F21`]) |
168/// | [`F22`](SDL_Keycode::F22) | [`SDLK_F22`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F22`]) |
169/// | [`F23`](SDL_Keycode::F23) | [`SDLK_F23`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F23`]) |
170/// | [`F24`](SDL_Keycode::F24) | [`SDLK_F24`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F24`]) |
171/// | [`EXECUTE`](SDL_Keycode::EXECUTE) | [`SDLK_EXECUTE`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_EXECUTE`]) |
172/// | [`HELP`](SDL_Keycode::HELP) | [`SDLK_HELP`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_HELP`]) |
173/// | [`MENU`](SDL_Keycode::MENU) | [`SDLK_MENU`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MENU`]) |
174/// | [`SELECT`](SDL_Keycode::SELECT) | [`SDLK_SELECT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SELECT`]) |
175/// | [`STOP`](SDL_Keycode::STOP) | [`SDLK_STOP`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_STOP`]) |
176/// | [`AGAIN`](SDL_Keycode::AGAIN) | [`SDLK_AGAIN`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AGAIN`]) |
177/// | [`UNDO`](SDL_Keycode::UNDO) | [`SDLK_UNDO`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_UNDO`]) |
178/// | [`CUT`](SDL_Keycode::CUT) | [`SDLK_CUT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CUT`]) |
179/// | [`COPY`](SDL_Keycode::COPY) | [`SDLK_COPY`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_COPY`]) |
180/// | [`PASTE`](SDL_Keycode::PASTE) | [`SDLK_PASTE`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_PASTE`]) |
181/// | [`FIND`](SDL_Keycode::FIND) | [`SDLK_FIND`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_FIND`]) |
182/// | [`MUTE`](SDL_Keycode::MUTE) | [`SDLK_MUTE`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MUTE`]) |
183/// | [`VOLUMEUP`](SDL_Keycode::VOLUMEUP) | [`SDLK_VOLUMEUP`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_VOLUMEUP`]) |
184/// | [`VOLUMEDOWN`](SDL_Keycode::VOLUMEDOWN) | [`SDLK_VOLUMEDOWN`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_VOLUMEDOWN`]) |
185/// | [`KP_COMMA`](SDL_Keycode::KP_COMMA) | [`SDLK_KP_COMMA`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_COMMA`]) |
186/// | [`KP_EQUALSAS400`](SDL_Keycode::KP_EQUALSAS400) | [`SDLK_KP_EQUALSAS400`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_EQUALSAS400`]) |
187/// | [`ALTERASE`](SDL_Keycode::ALTERASE) | [`SDLK_ALTERASE`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_ALTERASE`]) |
188/// | [`SYSREQ`](SDL_Keycode::SYSREQ) | [`SDLK_SYSREQ`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SYSREQ`]) |
189/// | [`CANCEL`](SDL_Keycode::CANCEL) | [`SDLK_CANCEL`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CANCEL`]) |
190/// | [`CLEAR`](SDL_Keycode::CLEAR) | [`SDLK_CLEAR`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CLEAR`]) |
191/// | [`PRIOR`](SDL_Keycode::PRIOR) | [`SDLK_PRIOR`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_PRIOR`]) |
192/// | [`RETURN2`](SDL_Keycode::RETURN2) | [`SDLK_RETURN2`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_RETURN2`]) |
193/// | [`SEPARATOR`](SDL_Keycode::SEPARATOR) | [`SDLK_SEPARATOR`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SEPARATOR`]) |
194/// | [`OUT`](SDL_Keycode::OUT) | [`SDLK_OUT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_OUT`]) |
195/// | [`OPER`](SDL_Keycode::OPER) | [`SDLK_OPER`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_OPER`]) |
196/// | [`CLEARAGAIN`](SDL_Keycode::CLEARAGAIN) | [`SDLK_CLEARAGAIN`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CLEARAGAIN`]) |
197/// | [`CRSEL`](SDL_Keycode::CRSEL) | [`SDLK_CRSEL`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CRSEL`]) |
198/// | [`EXSEL`](SDL_Keycode::EXSEL) | [`SDLK_EXSEL`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_EXSEL`]) |
199/// | [`KP_00`](SDL_Keycode::KP_00) | [`SDLK_KP_00`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_00`]) |
200/// | [`KP_000`](SDL_Keycode::KP_000) | [`SDLK_KP_000`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_000`]) |
201/// | [`THOUSANDSSEPARATOR`](SDL_Keycode::THOUSANDSSEPARATOR) | [`SDLK_THOUSANDSSEPARATOR`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_THOUSANDSSEPARATOR`]) |
202/// | [`DECIMALSEPARATOR`](SDL_Keycode::DECIMALSEPARATOR) | [`SDLK_DECIMALSEPARATOR`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_DECIMALSEPARATOR`]) |
203/// | [`CURRENCYUNIT`](SDL_Keycode::CURRENCYUNIT) | [`SDLK_CURRENCYUNIT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CURRENCYUNIT`]) |
204/// | [`CURRENCYSUBUNIT`](SDL_Keycode::CURRENCYSUBUNIT) | [`SDLK_CURRENCYSUBUNIT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CURRENCYSUBUNIT`]) |
205/// | [`KP_LEFTPAREN`](SDL_Keycode::KP_LEFTPAREN) | [`SDLK_KP_LEFTPAREN`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_LEFTPAREN`]) |
206/// | [`KP_RIGHTPAREN`](SDL_Keycode::KP_RIGHTPAREN) | [`SDLK_KP_RIGHTPAREN`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_RIGHTPAREN`]) |
207/// | [`KP_LEFTBRACE`](SDL_Keycode::KP_LEFTBRACE) | [`SDLK_KP_LEFTBRACE`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_LEFTBRACE`]) |
208/// | [`KP_RIGHTBRACE`](SDL_Keycode::KP_RIGHTBRACE) | [`SDLK_KP_RIGHTBRACE`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_RIGHTBRACE`]) |
209/// | [`KP_TAB`](SDL_Keycode::KP_TAB) | [`SDLK_KP_TAB`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_TAB`]) |
210/// | [`KP_BACKSPACE`](SDL_Keycode::KP_BACKSPACE) | [`SDLK_KP_BACKSPACE`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_BACKSPACE`]) |
211/// | [`KP_A`](SDL_Keycode::KP_A) | [`SDLK_KP_A`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_A`]) |
212/// | [`KP_B`](SDL_Keycode::KP_B) | [`SDLK_KP_B`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_B`]) |
213/// | [`KP_C`](SDL_Keycode::KP_C) | [`SDLK_KP_C`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_C`]) |
214/// | [`KP_D`](SDL_Keycode::KP_D) | [`SDLK_KP_D`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_D`]) |
215/// | [`KP_E`](SDL_Keycode::KP_E) | [`SDLK_KP_E`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_E`]) |
216/// | [`KP_F`](SDL_Keycode::KP_F) | [`SDLK_KP_F`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_F`]) |
217/// | [`KP_XOR`](SDL_Keycode::KP_XOR) | [`SDLK_KP_XOR`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_XOR`]) |
218/// | [`KP_POWER`](SDL_Keycode::KP_POWER) | [`SDLK_KP_POWER`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_POWER`]) |
219/// | [`KP_PERCENT`](SDL_Keycode::KP_PERCENT) | [`SDLK_KP_PERCENT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_PERCENT`]) |
220/// | [`KP_LESS`](SDL_Keycode::KP_LESS) | [`SDLK_KP_LESS`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_LESS`]) |
221/// | [`KP_GREATER`](SDL_Keycode::KP_GREATER) | [`SDLK_KP_GREATER`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_GREATER`]) |
222/// | [`KP_AMPERSAND`](SDL_Keycode::KP_AMPERSAND) | [`SDLK_KP_AMPERSAND`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_AMPERSAND`]) |
223/// | [`KP_DBLAMPERSAND`](SDL_Keycode::KP_DBLAMPERSAND) | [`SDLK_KP_DBLAMPERSAND`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_DBLAMPERSAND`]) |
224/// | [`KP_VERTICALBAR`](SDL_Keycode::KP_VERTICALBAR) | [`SDLK_KP_VERTICALBAR`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_VERTICALBAR`]) |
225/// | [`KP_DBLVERTICALBAR`](SDL_Keycode::KP_DBLVERTICALBAR) | [`SDLK_KP_DBLVERTICALBAR`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_DBLVERTICALBAR`]) |
226/// | [`KP_COLON`](SDL_Keycode::KP_COLON) | [`SDLK_KP_COLON`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_COLON`]) |
227/// | [`KP_HASH`](SDL_Keycode::KP_HASH) | [`SDLK_KP_HASH`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_HASH`]) |
228/// | [`KP_SPACE`](SDL_Keycode::KP_SPACE) | [`SDLK_KP_SPACE`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_SPACE`]) |
229/// | [`KP_AT`](SDL_Keycode::KP_AT) | [`SDLK_KP_AT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_AT`]) |
230/// | [`KP_EXCLAM`](SDL_Keycode::KP_EXCLAM) | [`SDLK_KP_EXCLAM`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_EXCLAM`]) |
231/// | [`KP_MEMSTORE`](SDL_Keycode::KP_MEMSTORE) | [`SDLK_KP_MEMSTORE`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMSTORE`]) |
232/// | [`KP_MEMRECALL`](SDL_Keycode::KP_MEMRECALL) | [`SDLK_KP_MEMRECALL`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMRECALL`]) |
233/// | [`KP_MEMCLEAR`](SDL_Keycode::KP_MEMCLEAR) | [`SDLK_KP_MEMCLEAR`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMCLEAR`]) |
234/// | [`KP_MEMADD`](SDL_Keycode::KP_MEMADD) | [`SDLK_KP_MEMADD`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMADD`]) |
235/// | [`KP_MEMSUBTRACT`](SDL_Keycode::KP_MEMSUBTRACT) | [`SDLK_KP_MEMSUBTRACT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMSUBTRACT`]) |
236/// | [`KP_MEMMULTIPLY`](SDL_Keycode::KP_MEMMULTIPLY) | [`SDLK_KP_MEMMULTIPLY`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMMULTIPLY`]) |
237/// | [`KP_MEMDIVIDE`](SDL_Keycode::KP_MEMDIVIDE) | [`SDLK_KP_MEMDIVIDE`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMDIVIDE`]) |
238/// | [`KP_PLUSMINUS`](SDL_Keycode::KP_PLUSMINUS) | [`SDLK_KP_PLUSMINUS`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_PLUSMINUS`]) |
239/// | [`KP_CLEAR`](SDL_Keycode::KP_CLEAR) | [`SDLK_KP_CLEAR`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_CLEAR`]) |
240/// | [`KP_CLEARENTRY`](SDL_Keycode::KP_CLEARENTRY) | [`SDLK_KP_CLEARENTRY`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_CLEARENTRY`]) |
241/// | [`KP_BINARY`](SDL_Keycode::KP_BINARY) | [`SDLK_KP_BINARY`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_BINARY`]) |
242/// | [`KP_OCTAL`](SDL_Keycode::KP_OCTAL) | [`SDLK_KP_OCTAL`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_OCTAL`]) |
243/// | [`KP_DECIMAL`](SDL_Keycode::KP_DECIMAL) | [`SDLK_KP_DECIMAL`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_DECIMAL`]) |
244/// | [`KP_HEXADECIMAL`](SDL_Keycode::KP_HEXADECIMAL) | [`SDLK_KP_HEXADECIMAL`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_HEXADECIMAL`]) |
245/// | [`LCTRL`](SDL_Keycode::LCTRL) | [`SDLK_LCTRL`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_LCTRL`]) |
246/// | [`LSHIFT`](SDL_Keycode::LSHIFT) | [`SDLK_LSHIFT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_LSHIFT`]) |
247/// | [`LALT`](SDL_Keycode::LALT) | [`SDLK_LALT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_LALT`]) |
248/// | [`LGUI`](SDL_Keycode::LGUI) | [`SDLK_LGUI`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_LGUI`]) |
249/// | [`RCTRL`](SDL_Keycode::RCTRL) | [`SDLK_RCTRL`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_RCTRL`]) |
250/// | [`RSHIFT`](SDL_Keycode::RSHIFT) | [`SDLK_RSHIFT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_RSHIFT`]) |
251/// | [`RALT`](SDL_Keycode::RALT) | [`SDLK_RALT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_RALT`]) |
252/// | [`RGUI`](SDL_Keycode::RGUI) | [`SDLK_RGUI`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_RGUI`]) |
253/// | [`MODE`](SDL_Keycode::MODE) | [`SDLK_MODE`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MODE`]) |
254/// | [`SLEEP`](SDL_Keycode::SLEEP) | [`SDLK_SLEEP`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SLEEP`]) |
255/// | [`WAKE`](SDL_Keycode::WAKE) | [`SDLK_WAKE`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_WAKE`]) |
256/// | [`CHANNEL_INCREMENT`](SDL_Keycode::CHANNEL_INCREMENT) | [`SDLK_CHANNEL_INCREMENT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CHANNEL_INCREMENT`]) |
257/// | [`CHANNEL_DECREMENT`](SDL_Keycode::CHANNEL_DECREMENT) | [`SDLK_CHANNEL_DECREMENT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CHANNEL_DECREMENT`]) |
258/// | [`MEDIA_PLAY`](SDL_Keycode::MEDIA_PLAY) | [`SDLK_MEDIA_PLAY`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_PLAY`]) |
259/// | [`MEDIA_PAUSE`](SDL_Keycode::MEDIA_PAUSE) | [`SDLK_MEDIA_PAUSE`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_PAUSE`]) |
260/// | [`MEDIA_RECORD`](SDL_Keycode::MEDIA_RECORD) | [`SDLK_MEDIA_RECORD`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_RECORD`]) |
261/// | [`MEDIA_FAST_FORWARD`](SDL_Keycode::MEDIA_FAST_FORWARD) | [`SDLK_MEDIA_FAST_FORWARD`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_FAST_FORWARD`]) |
262/// | [`MEDIA_REWIND`](SDL_Keycode::MEDIA_REWIND) | [`SDLK_MEDIA_REWIND`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_REWIND`]) |
263/// | [`MEDIA_NEXT_TRACK`](SDL_Keycode::MEDIA_NEXT_TRACK) | [`SDLK_MEDIA_NEXT_TRACK`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_NEXT_TRACK`]) |
264/// | [`MEDIA_PREVIOUS_TRACK`](SDL_Keycode::MEDIA_PREVIOUS_TRACK) | [`SDLK_MEDIA_PREVIOUS_TRACK`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_PREVIOUS_TRACK`]) |
265/// | [`MEDIA_STOP`](SDL_Keycode::MEDIA_STOP) | [`SDLK_MEDIA_STOP`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_STOP`]) |
266/// | [`MEDIA_EJECT`](SDL_Keycode::MEDIA_EJECT) | [`SDLK_MEDIA_EJECT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_EJECT`]) |
267/// | [`MEDIA_PLAY_PAUSE`](SDL_Keycode::MEDIA_PLAY_PAUSE) | [`SDLK_MEDIA_PLAY_PAUSE`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_PLAY_PAUSE`]) |
268/// | [`MEDIA_SELECT`](SDL_Keycode::MEDIA_SELECT) | [`SDLK_MEDIA_SELECT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_SELECT`]) |
269/// | [`AC_NEW`](SDL_Keycode::AC_NEW) | [`SDLK_AC_NEW`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_NEW`]) |
270/// | [`AC_OPEN`](SDL_Keycode::AC_OPEN) | [`SDLK_AC_OPEN`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_OPEN`]) |
271/// | [`AC_CLOSE`](SDL_Keycode::AC_CLOSE) | [`SDLK_AC_CLOSE`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_CLOSE`]) |
272/// | [`AC_EXIT`](SDL_Keycode::AC_EXIT) | [`SDLK_AC_EXIT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_EXIT`]) |
273/// | [`AC_SAVE`](SDL_Keycode::AC_SAVE) | [`SDLK_AC_SAVE`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_SAVE`]) |
274/// | [`AC_PRINT`](SDL_Keycode::AC_PRINT) | [`SDLK_AC_PRINT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_PRINT`]) |
275/// | [`AC_PROPERTIES`](SDL_Keycode::AC_PROPERTIES) | [`SDLK_AC_PROPERTIES`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_PROPERTIES`]) |
276/// | [`AC_SEARCH`](SDL_Keycode::AC_SEARCH) | [`SDLK_AC_SEARCH`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_SEARCH`]) |
277/// | [`AC_HOME`](SDL_Keycode::AC_HOME) | [`SDLK_AC_HOME`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_HOME`]) |
278/// | [`AC_BACK`](SDL_Keycode::AC_BACK) | [`SDLK_AC_BACK`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_BACK`]) |
279/// | [`AC_FORWARD`](SDL_Keycode::AC_FORWARD) | [`SDLK_AC_FORWARD`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_FORWARD`]) |
280/// | [`AC_STOP`](SDL_Keycode::AC_STOP) | [`SDLK_AC_STOP`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_STOP`]) |
281/// | [`AC_REFRESH`](SDL_Keycode::AC_REFRESH) | [`SDLK_AC_REFRESH`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_REFRESH`]) |
282/// | [`AC_BOOKMARKS`](SDL_Keycode::AC_BOOKMARKS) | [`SDLK_AC_BOOKMARKS`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_BOOKMARKS`]) |
283/// | [`SOFTLEFT`](SDL_Keycode::SOFTLEFT) | [`SDLK_SOFTLEFT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SOFTLEFT`]) |
284/// | [`SOFTRIGHT`](SDL_Keycode::SOFTRIGHT) | [`SDLK_SOFTRIGHT`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SOFTRIGHT`]) |
285/// | [`CALL`](SDL_Keycode::CALL) | [`SDLK_CALL`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CALL`]) |
286/// | [`ENDCALL`](SDL_Keycode::ENDCALL) | [`SDLK_ENDCALL`] | SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_ENDCALL`]) |
287/// | [`LEFT_TAB`](SDL_Keycode::LEFT_TAB) | [`SDLK_LEFT_TAB`] | Extended key Left Tab |
288/// | [`LEVEL5_SHIFT`](SDL_Keycode::LEVEL5_SHIFT) | [`SDLK_LEVEL5_SHIFT`] | Extended key Level 5 Shift |
289/// | [`MULTI_KEY_COMPOSE`](SDL_Keycode::MULTI_KEY_COMPOSE) | [`SDLK_MULTI_KEY_COMPOSE`] | Extended key Multi-key Compose |
290/// | [`LMETA`](SDL_Keycode::LMETA) | [`SDLK_LMETA`] | Extended key Left Meta |
291/// | [`RMETA`](SDL_Keycode::RMETA) | [`SDLK_RMETA`] | Extended key Right Meta |
292/// | [`LHYPER`](SDL_Keycode::LHYPER) | [`SDLK_LHYPER`] | Extended key Left Hyper |
293/// | [`RHYPER`](SDL_Keycode::RHYPER) | [`SDLK_RHYPER`] | Extended key Right Hyper |
294#[repr(transparent)]
295#[derive(Clone, Copy, Default, PartialEq, Eq, PartialOrd, Ord, Hash)]
296pub struct SDL_Keycode(pub Uint32);
297
298impl ::core::cmp::PartialEq<Uint32> for SDL_Keycode {
299 #[inline(always)]
300 fn eq(&self, other: &Uint32) -> bool {
301 &self.0 == other
302 }
303}
304
305impl ::core::cmp::PartialEq<SDL_Keycode> for Uint32 {
306 #[inline(always)]
307 fn eq(&self, other: &SDL_Keycode) -> bool {
308 self == &other.0
309 }
310}
311
312impl From<SDL_Keycode> for Uint32 {
313 #[inline(always)]
314 fn from(value: SDL_Keycode) -> Self {
315 value.0
316 }
317}
318
319#[cfg(feature = "debug-impls")]
320impl ::core::fmt::Debug for SDL_Keycode {
321 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
322 #[allow(unreachable_patterns)]
323 f.write_str(match *self {
324 Self::EXTENDED_MASK => "SDLK_EXTENDED_MASK",
325 Self::SCANCODE_MASK => "SDLK_SCANCODE_MASK",
326 Self::UNKNOWN => "SDLK_UNKNOWN",
327 Self::RETURN => "SDLK_RETURN",
328 Self::ESCAPE => "SDLK_ESCAPE",
329 Self::BACKSPACE => "SDLK_BACKSPACE",
330 Self::TAB => "SDLK_TAB",
331 Self::SPACE => "SDLK_SPACE",
332 Self::EXCLAIM => "SDLK_EXCLAIM",
333 Self::DBLAPOSTROPHE => "SDLK_DBLAPOSTROPHE",
334 Self::HASH => "SDLK_HASH",
335 Self::DOLLAR => "SDLK_DOLLAR",
336 Self::PERCENT => "SDLK_PERCENT",
337 Self::AMPERSAND => "SDLK_AMPERSAND",
338 Self::APOSTROPHE => "SDLK_APOSTROPHE",
339 Self::LEFTPAREN => "SDLK_LEFTPAREN",
340 Self::RIGHTPAREN => "SDLK_RIGHTPAREN",
341 Self::ASTERISK => "SDLK_ASTERISK",
342 Self::PLUS => "SDLK_PLUS",
343 Self::COMMA => "SDLK_COMMA",
344 Self::MINUS => "SDLK_MINUS",
345 Self::PERIOD => "SDLK_PERIOD",
346 Self::SLASH => "SDLK_SLASH",
347 Self::_0 => "SDLK_0",
348 Self::_1 => "SDLK_1",
349 Self::_2 => "SDLK_2",
350 Self::_3 => "SDLK_3",
351 Self::_4 => "SDLK_4",
352 Self::_5 => "SDLK_5",
353 Self::_6 => "SDLK_6",
354 Self::_7 => "SDLK_7",
355 Self::_8 => "SDLK_8",
356 Self::_9 => "SDLK_9",
357 Self::COLON => "SDLK_COLON",
358 Self::SEMICOLON => "SDLK_SEMICOLON",
359 Self::LESS => "SDLK_LESS",
360 Self::EQUALS => "SDLK_EQUALS",
361 Self::GREATER => "SDLK_GREATER",
362 Self::QUESTION => "SDLK_QUESTION",
363 Self::AT => "SDLK_AT",
364 Self::LEFTBRACKET => "SDLK_LEFTBRACKET",
365 Self::BACKSLASH => "SDLK_BACKSLASH",
366 Self::RIGHTBRACKET => "SDLK_RIGHTBRACKET",
367 Self::CARET => "SDLK_CARET",
368 Self::UNDERSCORE => "SDLK_UNDERSCORE",
369 Self::GRAVE => "SDLK_GRAVE",
370 Self::A => "SDLK_A",
371 Self::B => "SDLK_B",
372 Self::C => "SDLK_C",
373 Self::D => "SDLK_D",
374 Self::E => "SDLK_E",
375 Self::F => "SDLK_F",
376 Self::G => "SDLK_G",
377 Self::H => "SDLK_H",
378 Self::I => "SDLK_I",
379 Self::J => "SDLK_J",
380 Self::K => "SDLK_K",
381 Self::L => "SDLK_L",
382 Self::M => "SDLK_M",
383 Self::N => "SDLK_N",
384 Self::O => "SDLK_O",
385 Self::P => "SDLK_P",
386 Self::Q => "SDLK_Q",
387 Self::R => "SDLK_R",
388 Self::S => "SDLK_S",
389 Self::T => "SDLK_T",
390 Self::U => "SDLK_U",
391 Self::V => "SDLK_V",
392 Self::W => "SDLK_W",
393 Self::X => "SDLK_X",
394 Self::Y => "SDLK_Y",
395 Self::Z => "SDLK_Z",
396 Self::LEFTBRACE => "SDLK_LEFTBRACE",
397 Self::PIPE => "SDLK_PIPE",
398 Self::RIGHTBRACE => "SDLK_RIGHTBRACE",
399 Self::TILDE => "SDLK_TILDE",
400 Self::DELETE => "SDLK_DELETE",
401 Self::PLUSMINUS => "SDLK_PLUSMINUS",
402 Self::CAPSLOCK => "SDLK_CAPSLOCK",
403 Self::F1 => "SDLK_F1",
404 Self::F2 => "SDLK_F2",
405 Self::F3 => "SDLK_F3",
406 Self::F4 => "SDLK_F4",
407 Self::F5 => "SDLK_F5",
408 Self::F6 => "SDLK_F6",
409 Self::F7 => "SDLK_F7",
410 Self::F8 => "SDLK_F8",
411 Self::F9 => "SDLK_F9",
412 Self::F10 => "SDLK_F10",
413 Self::F11 => "SDLK_F11",
414 Self::F12 => "SDLK_F12",
415 Self::PRINTSCREEN => "SDLK_PRINTSCREEN",
416 Self::SCROLLLOCK => "SDLK_SCROLLLOCK",
417 Self::PAUSE => "SDLK_PAUSE",
418 Self::INSERT => "SDLK_INSERT",
419 Self::HOME => "SDLK_HOME",
420 Self::PAGEUP => "SDLK_PAGEUP",
421 Self::END => "SDLK_END",
422 Self::PAGEDOWN => "SDLK_PAGEDOWN",
423 Self::RIGHT => "SDLK_RIGHT",
424 Self::LEFT => "SDLK_LEFT",
425 Self::DOWN => "SDLK_DOWN",
426 Self::UP => "SDLK_UP",
427 Self::NUMLOCKCLEAR => "SDLK_NUMLOCKCLEAR",
428 Self::KP_DIVIDE => "SDLK_KP_DIVIDE",
429 Self::KP_MULTIPLY => "SDLK_KP_MULTIPLY",
430 Self::KP_MINUS => "SDLK_KP_MINUS",
431 Self::KP_PLUS => "SDLK_KP_PLUS",
432 Self::KP_ENTER => "SDLK_KP_ENTER",
433 Self::KP_1 => "SDLK_KP_1",
434 Self::KP_2 => "SDLK_KP_2",
435 Self::KP_3 => "SDLK_KP_3",
436 Self::KP_4 => "SDLK_KP_4",
437 Self::KP_5 => "SDLK_KP_5",
438 Self::KP_6 => "SDLK_KP_6",
439 Self::KP_7 => "SDLK_KP_7",
440 Self::KP_8 => "SDLK_KP_8",
441 Self::KP_9 => "SDLK_KP_9",
442 Self::KP_0 => "SDLK_KP_0",
443 Self::KP_PERIOD => "SDLK_KP_PERIOD",
444 Self::APPLICATION => "SDLK_APPLICATION",
445 Self::POWER => "SDLK_POWER",
446 Self::KP_EQUALS => "SDLK_KP_EQUALS",
447 Self::F13 => "SDLK_F13",
448 Self::F14 => "SDLK_F14",
449 Self::F15 => "SDLK_F15",
450 Self::F16 => "SDLK_F16",
451 Self::F17 => "SDLK_F17",
452 Self::F18 => "SDLK_F18",
453 Self::F19 => "SDLK_F19",
454 Self::F20 => "SDLK_F20",
455 Self::F21 => "SDLK_F21",
456 Self::F22 => "SDLK_F22",
457 Self::F23 => "SDLK_F23",
458 Self::F24 => "SDLK_F24",
459 Self::EXECUTE => "SDLK_EXECUTE",
460 Self::HELP => "SDLK_HELP",
461 Self::MENU => "SDLK_MENU",
462 Self::SELECT => "SDLK_SELECT",
463 Self::STOP => "SDLK_STOP",
464 Self::AGAIN => "SDLK_AGAIN",
465 Self::UNDO => "SDLK_UNDO",
466 Self::CUT => "SDLK_CUT",
467 Self::COPY => "SDLK_COPY",
468 Self::PASTE => "SDLK_PASTE",
469 Self::FIND => "SDLK_FIND",
470 Self::MUTE => "SDLK_MUTE",
471 Self::VOLUMEUP => "SDLK_VOLUMEUP",
472 Self::VOLUMEDOWN => "SDLK_VOLUMEDOWN",
473 Self::KP_COMMA => "SDLK_KP_COMMA",
474 Self::KP_EQUALSAS400 => "SDLK_KP_EQUALSAS400",
475 Self::ALTERASE => "SDLK_ALTERASE",
476 Self::SYSREQ => "SDLK_SYSREQ",
477 Self::CANCEL => "SDLK_CANCEL",
478 Self::CLEAR => "SDLK_CLEAR",
479 Self::PRIOR => "SDLK_PRIOR",
480 Self::RETURN2 => "SDLK_RETURN2",
481 Self::SEPARATOR => "SDLK_SEPARATOR",
482 Self::OUT => "SDLK_OUT",
483 Self::OPER => "SDLK_OPER",
484 Self::CLEARAGAIN => "SDLK_CLEARAGAIN",
485 Self::CRSEL => "SDLK_CRSEL",
486 Self::EXSEL => "SDLK_EXSEL",
487 Self::KP_00 => "SDLK_KP_00",
488 Self::KP_000 => "SDLK_KP_000",
489 Self::THOUSANDSSEPARATOR => "SDLK_THOUSANDSSEPARATOR",
490 Self::DECIMALSEPARATOR => "SDLK_DECIMALSEPARATOR",
491 Self::CURRENCYUNIT => "SDLK_CURRENCYUNIT",
492 Self::CURRENCYSUBUNIT => "SDLK_CURRENCYSUBUNIT",
493 Self::KP_LEFTPAREN => "SDLK_KP_LEFTPAREN",
494 Self::KP_RIGHTPAREN => "SDLK_KP_RIGHTPAREN",
495 Self::KP_LEFTBRACE => "SDLK_KP_LEFTBRACE",
496 Self::KP_RIGHTBRACE => "SDLK_KP_RIGHTBRACE",
497 Self::KP_TAB => "SDLK_KP_TAB",
498 Self::KP_BACKSPACE => "SDLK_KP_BACKSPACE",
499 Self::KP_A => "SDLK_KP_A",
500 Self::KP_B => "SDLK_KP_B",
501 Self::KP_C => "SDLK_KP_C",
502 Self::KP_D => "SDLK_KP_D",
503 Self::KP_E => "SDLK_KP_E",
504 Self::KP_F => "SDLK_KP_F",
505 Self::KP_XOR => "SDLK_KP_XOR",
506 Self::KP_POWER => "SDLK_KP_POWER",
507 Self::KP_PERCENT => "SDLK_KP_PERCENT",
508 Self::KP_LESS => "SDLK_KP_LESS",
509 Self::KP_GREATER => "SDLK_KP_GREATER",
510 Self::KP_AMPERSAND => "SDLK_KP_AMPERSAND",
511 Self::KP_DBLAMPERSAND => "SDLK_KP_DBLAMPERSAND",
512 Self::KP_VERTICALBAR => "SDLK_KP_VERTICALBAR",
513 Self::KP_DBLVERTICALBAR => "SDLK_KP_DBLVERTICALBAR",
514 Self::KP_COLON => "SDLK_KP_COLON",
515 Self::KP_HASH => "SDLK_KP_HASH",
516 Self::KP_SPACE => "SDLK_KP_SPACE",
517 Self::KP_AT => "SDLK_KP_AT",
518 Self::KP_EXCLAM => "SDLK_KP_EXCLAM",
519 Self::KP_MEMSTORE => "SDLK_KP_MEMSTORE",
520 Self::KP_MEMRECALL => "SDLK_KP_MEMRECALL",
521 Self::KP_MEMCLEAR => "SDLK_KP_MEMCLEAR",
522 Self::KP_MEMADD => "SDLK_KP_MEMADD",
523 Self::KP_MEMSUBTRACT => "SDLK_KP_MEMSUBTRACT",
524 Self::KP_MEMMULTIPLY => "SDLK_KP_MEMMULTIPLY",
525 Self::KP_MEMDIVIDE => "SDLK_KP_MEMDIVIDE",
526 Self::KP_PLUSMINUS => "SDLK_KP_PLUSMINUS",
527 Self::KP_CLEAR => "SDLK_KP_CLEAR",
528 Self::KP_CLEARENTRY => "SDLK_KP_CLEARENTRY",
529 Self::KP_BINARY => "SDLK_KP_BINARY",
530 Self::KP_OCTAL => "SDLK_KP_OCTAL",
531 Self::KP_DECIMAL => "SDLK_KP_DECIMAL",
532 Self::KP_HEXADECIMAL => "SDLK_KP_HEXADECIMAL",
533 Self::LCTRL => "SDLK_LCTRL",
534 Self::LSHIFT => "SDLK_LSHIFT",
535 Self::LALT => "SDLK_LALT",
536 Self::LGUI => "SDLK_LGUI",
537 Self::RCTRL => "SDLK_RCTRL",
538 Self::RSHIFT => "SDLK_RSHIFT",
539 Self::RALT => "SDLK_RALT",
540 Self::RGUI => "SDLK_RGUI",
541 Self::MODE => "SDLK_MODE",
542 Self::SLEEP => "SDLK_SLEEP",
543 Self::WAKE => "SDLK_WAKE",
544 Self::CHANNEL_INCREMENT => "SDLK_CHANNEL_INCREMENT",
545 Self::CHANNEL_DECREMENT => "SDLK_CHANNEL_DECREMENT",
546 Self::MEDIA_PLAY => "SDLK_MEDIA_PLAY",
547 Self::MEDIA_PAUSE => "SDLK_MEDIA_PAUSE",
548 Self::MEDIA_RECORD => "SDLK_MEDIA_RECORD",
549 Self::MEDIA_FAST_FORWARD => "SDLK_MEDIA_FAST_FORWARD",
550 Self::MEDIA_REWIND => "SDLK_MEDIA_REWIND",
551 Self::MEDIA_NEXT_TRACK => "SDLK_MEDIA_NEXT_TRACK",
552 Self::MEDIA_PREVIOUS_TRACK => "SDLK_MEDIA_PREVIOUS_TRACK",
553 Self::MEDIA_STOP => "SDLK_MEDIA_STOP",
554 Self::MEDIA_EJECT => "SDLK_MEDIA_EJECT",
555 Self::MEDIA_PLAY_PAUSE => "SDLK_MEDIA_PLAY_PAUSE",
556 Self::MEDIA_SELECT => "SDLK_MEDIA_SELECT",
557 Self::AC_NEW => "SDLK_AC_NEW",
558 Self::AC_OPEN => "SDLK_AC_OPEN",
559 Self::AC_CLOSE => "SDLK_AC_CLOSE",
560 Self::AC_EXIT => "SDLK_AC_EXIT",
561 Self::AC_SAVE => "SDLK_AC_SAVE",
562 Self::AC_PRINT => "SDLK_AC_PRINT",
563 Self::AC_PROPERTIES => "SDLK_AC_PROPERTIES",
564 Self::AC_SEARCH => "SDLK_AC_SEARCH",
565 Self::AC_HOME => "SDLK_AC_HOME",
566 Self::AC_BACK => "SDLK_AC_BACK",
567 Self::AC_FORWARD => "SDLK_AC_FORWARD",
568 Self::AC_STOP => "SDLK_AC_STOP",
569 Self::AC_REFRESH => "SDLK_AC_REFRESH",
570 Self::AC_BOOKMARKS => "SDLK_AC_BOOKMARKS",
571 Self::SOFTLEFT => "SDLK_SOFTLEFT",
572 Self::SOFTRIGHT => "SDLK_SOFTRIGHT",
573 Self::CALL => "SDLK_CALL",
574 Self::ENDCALL => "SDLK_ENDCALL",
575 Self::LEFT_TAB => "SDLK_LEFT_TAB",
576 Self::LEVEL5_SHIFT => "SDLK_LEVEL5_SHIFT",
577 Self::MULTI_KEY_COMPOSE => "SDLK_MULTI_KEY_COMPOSE",
578 Self::LMETA => "SDLK_LMETA",
579 Self::RMETA => "SDLK_RMETA",
580 Self::LHYPER => "SDLK_LHYPER",
581 Self::RHYPER => "SDLK_RHYPER",
582
583 _ => return write!(f, "SDL_Keycode({})", self.0),
584 })
585 }
586}
587
588impl SDL_Keycode {
589 pub const EXTENDED_MASK: Self = Self((536870912_u32 as Uint32));
590 pub const SCANCODE_MASK: Self = Self((1073741824_u32 as Uint32));
591 /// 0
592 pub const UNKNOWN: Self = Self((0x00000000 as Uint32));
593 /// '\r'
594 pub const RETURN: Self = Self((0x0000000d as Uint32));
595 /// '\x1B'
596 pub const ESCAPE: Self = Self((0x0000001b as Uint32));
597 /// '\b'
598 pub const BACKSPACE: Self = Self((0x00000008 as Uint32));
599 /// '\t'
600 pub const TAB: Self = Self((0x00000009 as Uint32));
601 /// ' '
602 pub const SPACE: Self = Self((0x00000020 as Uint32));
603 /// '!'
604 pub const EXCLAIM: Self = Self((0x00000021 as Uint32));
605 /// '"'
606 pub const DBLAPOSTROPHE: Self = Self((0x00000022 as Uint32));
607 /// '#'
608 pub const HASH: Self = Self((0x00000023 as Uint32));
609 /// '$'
610 pub const DOLLAR: Self = Self((0x00000024 as Uint32));
611 /// '%'
612 pub const PERCENT: Self = Self((0x00000025 as Uint32));
613 /// '&'
614 pub const AMPERSAND: Self = Self((0x00000026 as Uint32));
615 /// '\''
616 pub const APOSTROPHE: Self = Self((0x00000027 as Uint32));
617 /// '('
618 pub const LEFTPAREN: Self = Self((0x00000028 as Uint32));
619 /// ')'
620 pub const RIGHTPAREN: Self = Self((0x00000029 as Uint32));
621 /// '*'
622 pub const ASTERISK: Self = Self((0x0000002a as Uint32));
623 /// '+'
624 pub const PLUS: Self = Self((0x0000002b as Uint32));
625 /// ','
626 pub const COMMA: Self = Self((0x0000002c as Uint32));
627 /// '-'
628 pub const MINUS: Self = Self((0x0000002d as Uint32));
629 /// '.'
630 pub const PERIOD: Self = Self((0x0000002e as Uint32));
631 /// '/'
632 pub const SLASH: Self = Self((0x0000002f as Uint32));
633 /// '0'
634 pub const _0: Self = Self((0x00000030 as Uint32));
635 /// '1'
636 pub const _1: Self = Self((0x00000031 as Uint32));
637 /// '2'
638 pub const _2: Self = Self((0x00000032 as Uint32));
639 /// '3'
640 pub const _3: Self = Self((0x00000033 as Uint32));
641 /// '4'
642 pub const _4: Self = Self((0x00000034 as Uint32));
643 /// '5'
644 pub const _5: Self = Self((0x00000035 as Uint32));
645 /// '6'
646 pub const _6: Self = Self((0x00000036 as Uint32));
647 /// '7'
648 pub const _7: Self = Self((0x00000037 as Uint32));
649 /// '8'
650 pub const _8: Self = Self((0x00000038 as Uint32));
651 /// '9'
652 pub const _9: Self = Self((0x00000039 as Uint32));
653 /// ':'
654 pub const COLON: Self = Self((0x0000003a as Uint32));
655 /// ';'
656 pub const SEMICOLON: Self = Self((0x0000003b as Uint32));
657 /// '<'
658 pub const LESS: Self = Self((0x0000003c as Uint32));
659 /// '='
660 pub const EQUALS: Self = Self((0x0000003d as Uint32));
661 /// '>'
662 pub const GREATER: Self = Self((0x0000003e as Uint32));
663 /// '?'
664 pub const QUESTION: Self = Self((0x0000003f as Uint32));
665 /// '@'
666 pub const AT: Self = Self((0x00000040 as Uint32));
667 /// '['
668 pub const LEFTBRACKET: Self = Self((0x0000005b as Uint32));
669 /// '\\'
670 pub const BACKSLASH: Self = Self((0x0000005c as Uint32));
671 /// ']'
672 pub const RIGHTBRACKET: Self = Self((0x0000005d as Uint32));
673 /// '^'
674 pub const CARET: Self = Self((0x0000005e as Uint32));
675 /// '_'
676 pub const UNDERSCORE: Self = Self((0x0000005f as Uint32));
677 /// '`'
678 pub const GRAVE: Self = Self((0x00000060 as Uint32));
679 /// 'a'
680 pub const A: Self = Self((0x00000061 as Uint32));
681 /// 'b'
682 pub const B: Self = Self((0x00000062 as Uint32));
683 /// 'c'
684 pub const C: Self = Self((0x00000063 as Uint32));
685 /// 'd'
686 pub const D: Self = Self((0x00000064 as Uint32));
687 /// 'e'
688 pub const E: Self = Self((0x00000065 as Uint32));
689 /// 'f'
690 pub const F: Self = Self((0x00000066 as Uint32));
691 /// 'g'
692 pub const G: Self = Self((0x00000067 as Uint32));
693 /// 'h'
694 pub const H: Self = Self((0x00000068 as Uint32));
695 /// 'i'
696 pub const I: Self = Self((0x00000069 as Uint32));
697 /// 'j'
698 pub const J: Self = Self((0x0000006a as Uint32));
699 /// 'k'
700 pub const K: Self = Self((0x0000006b as Uint32));
701 /// 'l'
702 pub const L: Self = Self((0x0000006c as Uint32));
703 /// 'm'
704 pub const M: Self = Self((0x0000006d as Uint32));
705 /// 'n'
706 pub const N: Self = Self((0x0000006e as Uint32));
707 /// 'o'
708 pub const O: Self = Self((0x0000006f as Uint32));
709 /// 'p'
710 pub const P: Self = Self((0x00000070 as Uint32));
711 /// 'q'
712 pub const Q: Self = Self((0x00000071 as Uint32));
713 /// 'r'
714 pub const R: Self = Self((0x00000072 as Uint32));
715 /// 's'
716 pub const S: Self = Self((0x00000073 as Uint32));
717 /// 't'
718 pub const T: Self = Self((0x00000074 as Uint32));
719 /// 'u'
720 pub const U: Self = Self((0x00000075 as Uint32));
721 /// 'v'
722 pub const V: Self = Self((0x00000076 as Uint32));
723 /// 'w'
724 pub const W: Self = Self((0x00000077 as Uint32));
725 /// 'x'
726 pub const X: Self = Self((0x00000078 as Uint32));
727 /// 'y'
728 pub const Y: Self = Self((0x00000079 as Uint32));
729 /// 'z'
730 pub const Z: Self = Self((0x0000007a as Uint32));
731 /// '{'
732 pub const LEFTBRACE: Self = Self((0x0000007b as Uint32));
733 /// '|'
734 pub const PIPE: Self = Self((0x0000007c as Uint32));
735 /// '}'
736 pub const RIGHTBRACE: Self = Self((0x0000007d as Uint32));
737 /// '~'
738 pub const TILDE: Self = Self((0x0000007e as Uint32));
739 /// '\x7F'
740 pub const DELETE: Self = Self((0x0000007f as Uint32));
741 /// '\xB1'
742 pub const PLUSMINUS: Self = Self((0x000000b1 as Uint32));
743 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CAPSLOCK`])
744 pub const CAPSLOCK: Self = Self((0x40000039 as Uint32));
745 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F1`])
746 pub const F1: Self = Self((0x4000003a as Uint32));
747 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F2`])
748 pub const F2: Self = Self((0x4000003b as Uint32));
749 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F3`])
750 pub const F3: Self = Self((0x4000003c as Uint32));
751 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F4`])
752 pub const F4: Self = Self((0x4000003d as Uint32));
753 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F5`])
754 pub const F5: Self = Self((0x4000003e as Uint32));
755 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F6`])
756 pub const F6: Self = Self((0x4000003f as Uint32));
757 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F7`])
758 pub const F7: Self = Self((0x40000040 as Uint32));
759 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F8`])
760 pub const F8: Self = Self((0x40000041 as Uint32));
761 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F9`])
762 pub const F9: Self = Self((0x40000042 as Uint32));
763 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F10`])
764 pub const F10: Self = Self((0x40000043 as Uint32));
765 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F11`])
766 pub const F11: Self = Self((0x40000044 as Uint32));
767 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F12`])
768 pub const F12: Self = Self((0x40000045 as Uint32));
769 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_PRINTSCREEN`])
770 pub const PRINTSCREEN: Self = Self((0x40000046 as Uint32));
771 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SCROLLLOCK`])
772 pub const SCROLLLOCK: Self = Self((0x40000047 as Uint32));
773 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_PAUSE`])
774 pub const PAUSE: Self = Self((0x40000048 as Uint32));
775 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_INSERT`])
776 pub const INSERT: Self = Self((0x40000049 as Uint32));
777 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_HOME`])
778 pub const HOME: Self = Self((0x4000004a as Uint32));
779 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_PAGEUP`])
780 pub const PAGEUP: Self = Self((0x4000004b as Uint32));
781 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_END`])
782 pub const END: Self = Self((0x4000004d as Uint32));
783 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_PAGEDOWN`])
784 pub const PAGEDOWN: Self = Self((0x4000004e as Uint32));
785 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_RIGHT`])
786 pub const RIGHT: Self = Self((0x4000004f as Uint32));
787 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_LEFT`])
788 pub const LEFT: Self = Self((0x40000050 as Uint32));
789 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_DOWN`])
790 pub const DOWN: Self = Self((0x40000051 as Uint32));
791 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_UP`])
792 pub const UP: Self = Self((0x40000052 as Uint32));
793 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_NUMLOCKCLEAR`])
794 pub const NUMLOCKCLEAR: Self = Self((0x40000053 as Uint32));
795 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_DIVIDE`])
796 pub const KP_DIVIDE: Self = Self((0x40000054 as Uint32));
797 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MULTIPLY`])
798 pub const KP_MULTIPLY: Self = Self((0x40000055 as Uint32));
799 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MINUS`])
800 pub const KP_MINUS: Self = Self((0x40000056 as Uint32));
801 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_PLUS`])
802 pub const KP_PLUS: Self = Self((0x40000057 as Uint32));
803 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_ENTER`])
804 pub const KP_ENTER: Self = Self((0x40000058 as Uint32));
805 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_1`])
806 pub const KP_1: Self = Self((0x40000059 as Uint32));
807 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_2`])
808 pub const KP_2: Self = Self((0x4000005a as Uint32));
809 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_3`])
810 pub const KP_3: Self = Self((0x4000005b as Uint32));
811 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_4`])
812 pub const KP_4: Self = Self((0x4000005c as Uint32));
813 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_5`])
814 pub const KP_5: Self = Self((0x4000005d as Uint32));
815 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_6`])
816 pub const KP_6: Self = Self((0x4000005e as Uint32));
817 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_7`])
818 pub const KP_7: Self = Self((0x4000005f as Uint32));
819 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_8`])
820 pub const KP_8: Self = Self((0x40000060 as Uint32));
821 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_9`])
822 pub const KP_9: Self = Self((0x40000061 as Uint32));
823 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_0`])
824 pub const KP_0: Self = Self((0x40000062 as Uint32));
825 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_PERIOD`])
826 pub const KP_PERIOD: Self = Self((0x40000063 as Uint32));
827 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_APPLICATION`])
828 pub const APPLICATION: Self = Self((0x40000065 as Uint32));
829 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_POWER`])
830 pub const POWER: Self = Self((0x40000066 as Uint32));
831 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_EQUALS`])
832 pub const KP_EQUALS: Self = Self((0x40000067 as Uint32));
833 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F13`])
834 pub const F13: Self = Self((0x40000068 as Uint32));
835 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F14`])
836 pub const F14: Self = Self((0x40000069 as Uint32));
837 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F15`])
838 pub const F15: Self = Self((0x4000006a as Uint32));
839 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F16`])
840 pub const F16: Self = Self((0x4000006b as Uint32));
841 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F17`])
842 pub const F17: Self = Self((0x4000006c as Uint32));
843 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F18`])
844 pub const F18: Self = Self((0x4000006d as Uint32));
845 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F19`])
846 pub const F19: Self = Self((0x4000006e as Uint32));
847 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F20`])
848 pub const F20: Self = Self((0x4000006f as Uint32));
849 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F21`])
850 pub const F21: Self = Self((0x40000070 as Uint32));
851 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F22`])
852 pub const F22: Self = Self((0x40000071 as Uint32));
853 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F23`])
854 pub const F23: Self = Self((0x40000072 as Uint32));
855 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F24`])
856 pub const F24: Self = Self((0x40000073 as Uint32));
857 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_EXECUTE`])
858 pub const EXECUTE: Self = Self((0x40000074 as Uint32));
859 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_HELP`])
860 pub const HELP: Self = Self((0x40000075 as Uint32));
861 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MENU`])
862 pub const MENU: Self = Self((0x40000076 as Uint32));
863 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SELECT`])
864 pub const SELECT: Self = Self((0x40000077 as Uint32));
865 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_STOP`])
866 pub const STOP: Self = Self((0x40000078 as Uint32));
867 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AGAIN`])
868 pub const AGAIN: Self = Self((0x40000079 as Uint32));
869 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_UNDO`])
870 pub const UNDO: Self = Self((0x4000007a as Uint32));
871 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CUT`])
872 pub const CUT: Self = Self((0x4000007b as Uint32));
873 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_COPY`])
874 pub const COPY: Self = Self((0x4000007c as Uint32));
875 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_PASTE`])
876 pub const PASTE: Self = Self((0x4000007d as Uint32));
877 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_FIND`])
878 pub const FIND: Self = Self((0x4000007e as Uint32));
879 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MUTE`])
880 pub const MUTE: Self = Self((0x4000007f as Uint32));
881 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_VOLUMEUP`])
882 pub const VOLUMEUP: Self = Self((0x40000080 as Uint32));
883 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_VOLUMEDOWN`])
884 pub const VOLUMEDOWN: Self = Self((0x40000081 as Uint32));
885 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_COMMA`])
886 pub const KP_COMMA: Self = Self((0x40000085 as Uint32));
887 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_EQUALSAS400`])
888 pub const KP_EQUALSAS400: Self = Self((0x40000086 as Uint32));
889 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_ALTERASE`])
890 pub const ALTERASE: Self = Self((0x40000099 as Uint32));
891 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SYSREQ`])
892 pub const SYSREQ: Self = Self((0x4000009a as Uint32));
893 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CANCEL`])
894 pub const CANCEL: Self = Self((0x4000009b as Uint32));
895 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CLEAR`])
896 pub const CLEAR: Self = Self((0x4000009c as Uint32));
897 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_PRIOR`])
898 pub const PRIOR: Self = Self((0x4000009d as Uint32));
899 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_RETURN2`])
900 pub const RETURN2: Self = Self((0x4000009e as Uint32));
901 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SEPARATOR`])
902 pub const SEPARATOR: Self = Self((0x4000009f as Uint32));
903 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_OUT`])
904 pub const OUT: Self = Self((0x400000a0 as Uint32));
905 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_OPER`])
906 pub const OPER: Self = Self((0x400000a1 as Uint32));
907 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CLEARAGAIN`])
908 pub const CLEARAGAIN: Self = Self((0x400000a2 as Uint32));
909 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CRSEL`])
910 pub const CRSEL: Self = Self((0x400000a3 as Uint32));
911 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_EXSEL`])
912 pub const EXSEL: Self = Self((0x400000a4 as Uint32));
913 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_00`])
914 pub const KP_00: Self = Self((0x400000b0 as Uint32));
915 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_000`])
916 pub const KP_000: Self = Self((0x400000b1 as Uint32));
917 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_THOUSANDSSEPARATOR`])
918 pub const THOUSANDSSEPARATOR: Self = Self((0x400000b2 as Uint32));
919 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_DECIMALSEPARATOR`])
920 pub const DECIMALSEPARATOR: Self = Self((0x400000b3 as Uint32));
921 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CURRENCYUNIT`])
922 pub const CURRENCYUNIT: Self = Self((0x400000b4 as Uint32));
923 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CURRENCYSUBUNIT`])
924 pub const CURRENCYSUBUNIT: Self = Self((0x400000b5 as Uint32));
925 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_LEFTPAREN`])
926 pub const KP_LEFTPAREN: Self = Self((0x400000b6 as Uint32));
927 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_RIGHTPAREN`])
928 pub const KP_RIGHTPAREN: Self = Self((0x400000b7 as Uint32));
929 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_LEFTBRACE`])
930 pub const KP_LEFTBRACE: Self = Self((0x400000b8 as Uint32));
931 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_RIGHTBRACE`])
932 pub const KP_RIGHTBRACE: Self = Self((0x400000b9 as Uint32));
933 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_TAB`])
934 pub const KP_TAB: Self = Self((0x400000ba as Uint32));
935 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_BACKSPACE`])
936 pub const KP_BACKSPACE: Self = Self((0x400000bb as Uint32));
937 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_A`])
938 pub const KP_A: Self = Self((0x400000bc as Uint32));
939 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_B`])
940 pub const KP_B: Self = Self((0x400000bd as Uint32));
941 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_C`])
942 pub const KP_C: Self = Self((0x400000be as Uint32));
943 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_D`])
944 pub const KP_D: Self = Self((0x400000bf as Uint32));
945 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_E`])
946 pub const KP_E: Self = Self((0x400000c0 as Uint32));
947 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_F`])
948 pub const KP_F: Self = Self((0x400000c1 as Uint32));
949 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_XOR`])
950 pub const KP_XOR: Self = Self((0x400000c2 as Uint32));
951 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_POWER`])
952 pub const KP_POWER: Self = Self((0x400000c3 as Uint32));
953 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_PERCENT`])
954 pub const KP_PERCENT: Self = Self((0x400000c4 as Uint32));
955 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_LESS`])
956 pub const KP_LESS: Self = Self((0x400000c5 as Uint32));
957 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_GREATER`])
958 pub const KP_GREATER: Self = Self((0x400000c6 as Uint32));
959 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_AMPERSAND`])
960 pub const KP_AMPERSAND: Self = Self((0x400000c7 as Uint32));
961 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_DBLAMPERSAND`])
962 pub const KP_DBLAMPERSAND: Self = Self((0x400000c8 as Uint32));
963 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_VERTICALBAR`])
964 pub const KP_VERTICALBAR: Self = Self((0x400000c9 as Uint32));
965 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_DBLVERTICALBAR`])
966 pub const KP_DBLVERTICALBAR: Self = Self((0x400000ca as Uint32));
967 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_COLON`])
968 pub const KP_COLON: Self = Self((0x400000cb as Uint32));
969 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_HASH`])
970 pub const KP_HASH: Self = Self((0x400000cc as Uint32));
971 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_SPACE`])
972 pub const KP_SPACE: Self = Self((0x400000cd as Uint32));
973 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_AT`])
974 pub const KP_AT: Self = Self((0x400000ce as Uint32));
975 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_EXCLAM`])
976 pub const KP_EXCLAM: Self = Self((0x400000cf as Uint32));
977 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMSTORE`])
978 pub const KP_MEMSTORE: Self = Self((0x400000d0 as Uint32));
979 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMRECALL`])
980 pub const KP_MEMRECALL: Self = Self((0x400000d1 as Uint32));
981 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMCLEAR`])
982 pub const KP_MEMCLEAR: Self = Self((0x400000d2 as Uint32));
983 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMADD`])
984 pub const KP_MEMADD: Self = Self((0x400000d3 as Uint32));
985 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMSUBTRACT`])
986 pub const KP_MEMSUBTRACT: Self = Self((0x400000d4 as Uint32));
987 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMMULTIPLY`])
988 pub const KP_MEMMULTIPLY: Self = Self((0x400000d5 as Uint32));
989 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMDIVIDE`])
990 pub const KP_MEMDIVIDE: Self = Self((0x400000d6 as Uint32));
991 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_PLUSMINUS`])
992 pub const KP_PLUSMINUS: Self = Self((0x400000d7 as Uint32));
993 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_CLEAR`])
994 pub const KP_CLEAR: Self = Self((0x400000d8 as Uint32));
995 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_CLEARENTRY`])
996 pub const KP_CLEARENTRY: Self = Self((0x400000d9 as Uint32));
997 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_BINARY`])
998 pub const KP_BINARY: Self = Self((0x400000da as Uint32));
999 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_OCTAL`])
1000 pub const KP_OCTAL: Self = Self((0x400000db as Uint32));
1001 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_DECIMAL`])
1002 pub const KP_DECIMAL: Self = Self((0x400000dc as Uint32));
1003 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_HEXADECIMAL`])
1004 pub const KP_HEXADECIMAL: Self = Self((0x400000dd as Uint32));
1005 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_LCTRL`])
1006 pub const LCTRL: Self = Self((0x400000e0 as Uint32));
1007 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_LSHIFT`])
1008 pub const LSHIFT: Self = Self((0x400000e1 as Uint32));
1009 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_LALT`])
1010 pub const LALT: Self = Self((0x400000e2 as Uint32));
1011 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_LGUI`])
1012 pub const LGUI: Self = Self((0x400000e3 as Uint32));
1013 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_RCTRL`])
1014 pub const RCTRL: Self = Self((0x400000e4 as Uint32));
1015 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_RSHIFT`])
1016 pub const RSHIFT: Self = Self((0x400000e5 as Uint32));
1017 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_RALT`])
1018 pub const RALT: Self = Self((0x400000e6 as Uint32));
1019 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_RGUI`])
1020 pub const RGUI: Self = Self((0x400000e7 as Uint32));
1021 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MODE`])
1022 pub const MODE: Self = Self((0x40000101 as Uint32));
1023 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SLEEP`])
1024 pub const SLEEP: Self = Self((0x40000102 as Uint32));
1025 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_WAKE`])
1026 pub const WAKE: Self = Self((0x40000103 as Uint32));
1027 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CHANNEL_INCREMENT`])
1028 pub const CHANNEL_INCREMENT: Self = Self((0x40000104 as Uint32));
1029 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CHANNEL_DECREMENT`])
1030 pub const CHANNEL_DECREMENT: Self = Self((0x40000105 as Uint32));
1031 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_PLAY`])
1032 pub const MEDIA_PLAY: Self = Self((0x40000106 as Uint32));
1033 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_PAUSE`])
1034 pub const MEDIA_PAUSE: Self = Self((0x40000107 as Uint32));
1035 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_RECORD`])
1036 pub const MEDIA_RECORD: Self = Self((0x40000108 as Uint32));
1037 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_FAST_FORWARD`])
1038 pub const MEDIA_FAST_FORWARD: Self = Self((0x40000109 as Uint32));
1039 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_REWIND`])
1040 pub const MEDIA_REWIND: Self = Self((0x4000010a as Uint32));
1041 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_NEXT_TRACK`])
1042 pub const MEDIA_NEXT_TRACK: Self = Self((0x4000010b as Uint32));
1043 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_PREVIOUS_TRACK`])
1044 pub const MEDIA_PREVIOUS_TRACK: Self = Self((0x4000010c as Uint32));
1045 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_STOP`])
1046 pub const MEDIA_STOP: Self = Self((0x4000010d as Uint32));
1047 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_EJECT`])
1048 pub const MEDIA_EJECT: Self = Self((0x4000010e as Uint32));
1049 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_PLAY_PAUSE`])
1050 pub const MEDIA_PLAY_PAUSE: Self = Self((0x4000010f as Uint32));
1051 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_SELECT`])
1052 pub const MEDIA_SELECT: Self = Self((0x40000110 as Uint32));
1053 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_NEW`])
1054 pub const AC_NEW: Self = Self((0x40000111 as Uint32));
1055 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_OPEN`])
1056 pub const AC_OPEN: Self = Self((0x40000112 as Uint32));
1057 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_CLOSE`])
1058 pub const AC_CLOSE: Self = Self((0x40000113 as Uint32));
1059 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_EXIT`])
1060 pub const AC_EXIT: Self = Self((0x40000114 as Uint32));
1061 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_SAVE`])
1062 pub const AC_SAVE: Self = Self((0x40000115 as Uint32));
1063 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_PRINT`])
1064 pub const AC_PRINT: Self = Self((0x40000116 as Uint32));
1065 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_PROPERTIES`])
1066 pub const AC_PROPERTIES: Self = Self((0x40000117 as Uint32));
1067 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_SEARCH`])
1068 pub const AC_SEARCH: Self = Self((0x40000118 as Uint32));
1069 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_HOME`])
1070 pub const AC_HOME: Self = Self((0x40000119 as Uint32));
1071 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_BACK`])
1072 pub const AC_BACK: Self = Self((0x4000011a as Uint32));
1073 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_FORWARD`])
1074 pub const AC_FORWARD: Self = Self((0x4000011b as Uint32));
1075 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_STOP`])
1076 pub const AC_STOP: Self = Self((0x4000011c as Uint32));
1077 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_REFRESH`])
1078 pub const AC_REFRESH: Self = Self((0x4000011d as Uint32));
1079 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_BOOKMARKS`])
1080 pub const AC_BOOKMARKS: Self = Self((0x4000011e as Uint32));
1081 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SOFTLEFT`])
1082 pub const SOFTLEFT: Self = Self((0x4000011f as Uint32));
1083 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SOFTRIGHT`])
1084 pub const SOFTRIGHT: Self = Self((0x40000120 as Uint32));
1085 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CALL`])
1086 pub const CALL: Self = Self((0x40000121 as Uint32));
1087 /// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_ENDCALL`])
1088 pub const ENDCALL: Self = Self((0x40000122 as Uint32));
1089 /// Extended key Left Tab
1090 pub const LEFT_TAB: Self = Self((0x20000001 as Uint32));
1091 /// Extended key Level 5 Shift
1092 pub const LEVEL5_SHIFT: Self = Self((0x20000002 as Uint32));
1093 /// Extended key Multi-key Compose
1094 pub const MULTI_KEY_COMPOSE: Self = Self((0x20000003 as Uint32));
1095 /// Extended key Left Meta
1096 pub const LMETA: Self = Self((0x20000004 as Uint32));
1097 /// Extended key Right Meta
1098 pub const RMETA: Self = Self((0x20000005 as Uint32));
1099 /// Extended key Left Hyper
1100 pub const LHYPER: Self = Self((0x20000006 as Uint32));
1101 /// Extended key Right Hyper
1102 pub const RHYPER: Self = Self((0x20000007 as Uint32));
1103}
1104
1105pub const SDLK_EXTENDED_MASK: SDL_Keycode = SDL_Keycode::EXTENDED_MASK;
1106pub const SDLK_SCANCODE_MASK: SDL_Keycode = SDL_Keycode::SCANCODE_MASK;
1107/// 0
1108pub const SDLK_UNKNOWN: SDL_Keycode = SDL_Keycode::UNKNOWN;
1109/// '\r'
1110pub const SDLK_RETURN: SDL_Keycode = SDL_Keycode::RETURN;
1111/// '\x1B'
1112pub const SDLK_ESCAPE: SDL_Keycode = SDL_Keycode::ESCAPE;
1113/// '\b'
1114pub const SDLK_BACKSPACE: SDL_Keycode = SDL_Keycode::BACKSPACE;
1115/// '\t'
1116pub const SDLK_TAB: SDL_Keycode = SDL_Keycode::TAB;
1117/// ' '
1118pub const SDLK_SPACE: SDL_Keycode = SDL_Keycode::SPACE;
1119/// '!'
1120pub const SDLK_EXCLAIM: SDL_Keycode = SDL_Keycode::EXCLAIM;
1121/// '"'
1122pub const SDLK_DBLAPOSTROPHE: SDL_Keycode = SDL_Keycode::DBLAPOSTROPHE;
1123/// '#'
1124pub const SDLK_HASH: SDL_Keycode = SDL_Keycode::HASH;
1125/// '$'
1126pub const SDLK_DOLLAR: SDL_Keycode = SDL_Keycode::DOLLAR;
1127/// '%'
1128pub const SDLK_PERCENT: SDL_Keycode = SDL_Keycode::PERCENT;
1129/// '&'
1130pub const SDLK_AMPERSAND: SDL_Keycode = SDL_Keycode::AMPERSAND;
1131/// '\''
1132pub const SDLK_APOSTROPHE: SDL_Keycode = SDL_Keycode::APOSTROPHE;
1133/// '('
1134pub const SDLK_LEFTPAREN: SDL_Keycode = SDL_Keycode::LEFTPAREN;
1135/// ')'
1136pub const SDLK_RIGHTPAREN: SDL_Keycode = SDL_Keycode::RIGHTPAREN;
1137/// '*'
1138pub const SDLK_ASTERISK: SDL_Keycode = SDL_Keycode::ASTERISK;
1139/// '+'
1140pub const SDLK_PLUS: SDL_Keycode = SDL_Keycode::PLUS;
1141/// ','
1142pub const SDLK_COMMA: SDL_Keycode = SDL_Keycode::COMMA;
1143/// '-'
1144pub const SDLK_MINUS: SDL_Keycode = SDL_Keycode::MINUS;
1145/// '.'
1146pub const SDLK_PERIOD: SDL_Keycode = SDL_Keycode::PERIOD;
1147/// '/'
1148pub const SDLK_SLASH: SDL_Keycode = SDL_Keycode::SLASH;
1149/// '0'
1150pub const SDLK_0: SDL_Keycode = SDL_Keycode::_0;
1151/// '1'
1152pub const SDLK_1: SDL_Keycode = SDL_Keycode::_1;
1153/// '2'
1154pub const SDLK_2: SDL_Keycode = SDL_Keycode::_2;
1155/// '3'
1156pub const SDLK_3: SDL_Keycode = SDL_Keycode::_3;
1157/// '4'
1158pub const SDLK_4: SDL_Keycode = SDL_Keycode::_4;
1159/// '5'
1160pub const SDLK_5: SDL_Keycode = SDL_Keycode::_5;
1161/// '6'
1162pub const SDLK_6: SDL_Keycode = SDL_Keycode::_6;
1163/// '7'
1164pub const SDLK_7: SDL_Keycode = SDL_Keycode::_7;
1165/// '8'
1166pub const SDLK_8: SDL_Keycode = SDL_Keycode::_8;
1167/// '9'
1168pub const SDLK_9: SDL_Keycode = SDL_Keycode::_9;
1169/// ':'
1170pub const SDLK_COLON: SDL_Keycode = SDL_Keycode::COLON;
1171/// ';'
1172pub const SDLK_SEMICOLON: SDL_Keycode = SDL_Keycode::SEMICOLON;
1173/// '<'
1174pub const SDLK_LESS: SDL_Keycode = SDL_Keycode::LESS;
1175/// '='
1176pub const SDLK_EQUALS: SDL_Keycode = SDL_Keycode::EQUALS;
1177/// '>'
1178pub const SDLK_GREATER: SDL_Keycode = SDL_Keycode::GREATER;
1179/// '?'
1180pub const SDLK_QUESTION: SDL_Keycode = SDL_Keycode::QUESTION;
1181/// '@'
1182pub const SDLK_AT: SDL_Keycode = SDL_Keycode::AT;
1183/// '['
1184pub const SDLK_LEFTBRACKET: SDL_Keycode = SDL_Keycode::LEFTBRACKET;
1185/// '\\'
1186pub const SDLK_BACKSLASH: SDL_Keycode = SDL_Keycode::BACKSLASH;
1187/// ']'
1188pub const SDLK_RIGHTBRACKET: SDL_Keycode = SDL_Keycode::RIGHTBRACKET;
1189/// '^'
1190pub const SDLK_CARET: SDL_Keycode = SDL_Keycode::CARET;
1191/// '_'
1192pub const SDLK_UNDERSCORE: SDL_Keycode = SDL_Keycode::UNDERSCORE;
1193/// '`'
1194pub const SDLK_GRAVE: SDL_Keycode = SDL_Keycode::GRAVE;
1195/// 'a'
1196pub const SDLK_A: SDL_Keycode = SDL_Keycode::A;
1197/// 'b'
1198pub const SDLK_B: SDL_Keycode = SDL_Keycode::B;
1199/// 'c'
1200pub const SDLK_C: SDL_Keycode = SDL_Keycode::C;
1201/// 'd'
1202pub const SDLK_D: SDL_Keycode = SDL_Keycode::D;
1203/// 'e'
1204pub const SDLK_E: SDL_Keycode = SDL_Keycode::E;
1205/// 'f'
1206pub const SDLK_F: SDL_Keycode = SDL_Keycode::F;
1207/// 'g'
1208pub const SDLK_G: SDL_Keycode = SDL_Keycode::G;
1209/// 'h'
1210pub const SDLK_H: SDL_Keycode = SDL_Keycode::H;
1211/// 'i'
1212pub const SDLK_I: SDL_Keycode = SDL_Keycode::I;
1213/// 'j'
1214pub const SDLK_J: SDL_Keycode = SDL_Keycode::J;
1215/// 'k'
1216pub const SDLK_K: SDL_Keycode = SDL_Keycode::K;
1217/// 'l'
1218pub const SDLK_L: SDL_Keycode = SDL_Keycode::L;
1219/// 'm'
1220pub const SDLK_M: SDL_Keycode = SDL_Keycode::M;
1221/// 'n'
1222pub const SDLK_N: SDL_Keycode = SDL_Keycode::N;
1223/// 'o'
1224pub const SDLK_O: SDL_Keycode = SDL_Keycode::O;
1225/// 'p'
1226pub const SDLK_P: SDL_Keycode = SDL_Keycode::P;
1227/// 'q'
1228pub const SDLK_Q: SDL_Keycode = SDL_Keycode::Q;
1229/// 'r'
1230pub const SDLK_R: SDL_Keycode = SDL_Keycode::R;
1231/// 's'
1232pub const SDLK_S: SDL_Keycode = SDL_Keycode::S;
1233/// 't'
1234pub const SDLK_T: SDL_Keycode = SDL_Keycode::T;
1235/// 'u'
1236pub const SDLK_U: SDL_Keycode = SDL_Keycode::U;
1237/// 'v'
1238pub const SDLK_V: SDL_Keycode = SDL_Keycode::V;
1239/// 'w'
1240pub const SDLK_W: SDL_Keycode = SDL_Keycode::W;
1241/// 'x'
1242pub const SDLK_X: SDL_Keycode = SDL_Keycode::X;
1243/// 'y'
1244pub const SDLK_Y: SDL_Keycode = SDL_Keycode::Y;
1245/// 'z'
1246pub const SDLK_Z: SDL_Keycode = SDL_Keycode::Z;
1247/// '{'
1248pub const SDLK_LEFTBRACE: SDL_Keycode = SDL_Keycode::LEFTBRACE;
1249/// '|'
1250pub const SDLK_PIPE: SDL_Keycode = SDL_Keycode::PIPE;
1251/// '}'
1252pub const SDLK_RIGHTBRACE: SDL_Keycode = SDL_Keycode::RIGHTBRACE;
1253/// '~'
1254pub const SDLK_TILDE: SDL_Keycode = SDL_Keycode::TILDE;
1255/// '\x7F'
1256pub const SDLK_DELETE: SDL_Keycode = SDL_Keycode::DELETE;
1257/// '\xB1'
1258pub const SDLK_PLUSMINUS: SDL_Keycode = SDL_Keycode::PLUSMINUS;
1259/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CAPSLOCK`])
1260pub const SDLK_CAPSLOCK: SDL_Keycode = SDL_Keycode::CAPSLOCK;
1261/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F1`])
1262pub const SDLK_F1: SDL_Keycode = SDL_Keycode::F1;
1263/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F2`])
1264pub const SDLK_F2: SDL_Keycode = SDL_Keycode::F2;
1265/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F3`])
1266pub const SDLK_F3: SDL_Keycode = SDL_Keycode::F3;
1267/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F4`])
1268pub const SDLK_F4: SDL_Keycode = SDL_Keycode::F4;
1269/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F5`])
1270pub const SDLK_F5: SDL_Keycode = SDL_Keycode::F5;
1271/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F6`])
1272pub const SDLK_F6: SDL_Keycode = SDL_Keycode::F6;
1273/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F7`])
1274pub const SDLK_F7: SDL_Keycode = SDL_Keycode::F7;
1275/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F8`])
1276pub const SDLK_F8: SDL_Keycode = SDL_Keycode::F8;
1277/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F9`])
1278pub const SDLK_F9: SDL_Keycode = SDL_Keycode::F9;
1279/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F10`])
1280pub const SDLK_F10: SDL_Keycode = SDL_Keycode::F10;
1281/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F11`])
1282pub const SDLK_F11: SDL_Keycode = SDL_Keycode::F11;
1283/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F12`])
1284pub const SDLK_F12: SDL_Keycode = SDL_Keycode::F12;
1285/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_PRINTSCREEN`])
1286pub const SDLK_PRINTSCREEN: SDL_Keycode = SDL_Keycode::PRINTSCREEN;
1287/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SCROLLLOCK`])
1288pub const SDLK_SCROLLLOCK: SDL_Keycode = SDL_Keycode::SCROLLLOCK;
1289/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_PAUSE`])
1290pub const SDLK_PAUSE: SDL_Keycode = SDL_Keycode::PAUSE;
1291/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_INSERT`])
1292pub const SDLK_INSERT: SDL_Keycode = SDL_Keycode::INSERT;
1293/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_HOME`])
1294pub const SDLK_HOME: SDL_Keycode = SDL_Keycode::HOME;
1295/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_PAGEUP`])
1296pub const SDLK_PAGEUP: SDL_Keycode = SDL_Keycode::PAGEUP;
1297/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_END`])
1298pub const SDLK_END: SDL_Keycode = SDL_Keycode::END;
1299/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_PAGEDOWN`])
1300pub const SDLK_PAGEDOWN: SDL_Keycode = SDL_Keycode::PAGEDOWN;
1301/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_RIGHT`])
1302pub const SDLK_RIGHT: SDL_Keycode = SDL_Keycode::RIGHT;
1303/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_LEFT`])
1304pub const SDLK_LEFT: SDL_Keycode = SDL_Keycode::LEFT;
1305/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_DOWN`])
1306pub const SDLK_DOWN: SDL_Keycode = SDL_Keycode::DOWN;
1307/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_UP`])
1308pub const SDLK_UP: SDL_Keycode = SDL_Keycode::UP;
1309/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_NUMLOCKCLEAR`])
1310pub const SDLK_NUMLOCKCLEAR: SDL_Keycode = SDL_Keycode::NUMLOCKCLEAR;
1311/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_DIVIDE`])
1312pub const SDLK_KP_DIVIDE: SDL_Keycode = SDL_Keycode::KP_DIVIDE;
1313/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MULTIPLY`])
1314pub const SDLK_KP_MULTIPLY: SDL_Keycode = SDL_Keycode::KP_MULTIPLY;
1315/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MINUS`])
1316pub const SDLK_KP_MINUS: SDL_Keycode = SDL_Keycode::KP_MINUS;
1317/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_PLUS`])
1318pub const SDLK_KP_PLUS: SDL_Keycode = SDL_Keycode::KP_PLUS;
1319/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_ENTER`])
1320pub const SDLK_KP_ENTER: SDL_Keycode = SDL_Keycode::KP_ENTER;
1321/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_1`])
1322pub const SDLK_KP_1: SDL_Keycode = SDL_Keycode::KP_1;
1323/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_2`])
1324pub const SDLK_KP_2: SDL_Keycode = SDL_Keycode::KP_2;
1325/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_3`])
1326pub const SDLK_KP_3: SDL_Keycode = SDL_Keycode::KP_3;
1327/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_4`])
1328pub const SDLK_KP_4: SDL_Keycode = SDL_Keycode::KP_4;
1329/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_5`])
1330pub const SDLK_KP_5: SDL_Keycode = SDL_Keycode::KP_5;
1331/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_6`])
1332pub const SDLK_KP_6: SDL_Keycode = SDL_Keycode::KP_6;
1333/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_7`])
1334pub const SDLK_KP_7: SDL_Keycode = SDL_Keycode::KP_7;
1335/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_8`])
1336pub const SDLK_KP_8: SDL_Keycode = SDL_Keycode::KP_8;
1337/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_9`])
1338pub const SDLK_KP_9: SDL_Keycode = SDL_Keycode::KP_9;
1339/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_0`])
1340pub const SDLK_KP_0: SDL_Keycode = SDL_Keycode::KP_0;
1341/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_PERIOD`])
1342pub const SDLK_KP_PERIOD: SDL_Keycode = SDL_Keycode::KP_PERIOD;
1343/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_APPLICATION`])
1344pub const SDLK_APPLICATION: SDL_Keycode = SDL_Keycode::APPLICATION;
1345/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_POWER`])
1346pub const SDLK_POWER: SDL_Keycode = SDL_Keycode::POWER;
1347/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_EQUALS`])
1348pub const SDLK_KP_EQUALS: SDL_Keycode = SDL_Keycode::KP_EQUALS;
1349/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F13`])
1350pub const SDLK_F13: SDL_Keycode = SDL_Keycode::F13;
1351/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F14`])
1352pub const SDLK_F14: SDL_Keycode = SDL_Keycode::F14;
1353/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F15`])
1354pub const SDLK_F15: SDL_Keycode = SDL_Keycode::F15;
1355/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F16`])
1356pub const SDLK_F16: SDL_Keycode = SDL_Keycode::F16;
1357/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F17`])
1358pub const SDLK_F17: SDL_Keycode = SDL_Keycode::F17;
1359/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F18`])
1360pub const SDLK_F18: SDL_Keycode = SDL_Keycode::F18;
1361/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F19`])
1362pub const SDLK_F19: SDL_Keycode = SDL_Keycode::F19;
1363/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F20`])
1364pub const SDLK_F20: SDL_Keycode = SDL_Keycode::F20;
1365/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F21`])
1366pub const SDLK_F21: SDL_Keycode = SDL_Keycode::F21;
1367/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F22`])
1368pub const SDLK_F22: SDL_Keycode = SDL_Keycode::F22;
1369/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F23`])
1370pub const SDLK_F23: SDL_Keycode = SDL_Keycode::F23;
1371/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_F24`])
1372pub const SDLK_F24: SDL_Keycode = SDL_Keycode::F24;
1373/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_EXECUTE`])
1374pub const SDLK_EXECUTE: SDL_Keycode = SDL_Keycode::EXECUTE;
1375/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_HELP`])
1376pub const SDLK_HELP: SDL_Keycode = SDL_Keycode::HELP;
1377/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MENU`])
1378pub const SDLK_MENU: SDL_Keycode = SDL_Keycode::MENU;
1379/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SELECT`])
1380pub const SDLK_SELECT: SDL_Keycode = SDL_Keycode::SELECT;
1381/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_STOP`])
1382pub const SDLK_STOP: SDL_Keycode = SDL_Keycode::STOP;
1383/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AGAIN`])
1384pub const SDLK_AGAIN: SDL_Keycode = SDL_Keycode::AGAIN;
1385/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_UNDO`])
1386pub const SDLK_UNDO: SDL_Keycode = SDL_Keycode::UNDO;
1387/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CUT`])
1388pub const SDLK_CUT: SDL_Keycode = SDL_Keycode::CUT;
1389/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_COPY`])
1390pub const SDLK_COPY: SDL_Keycode = SDL_Keycode::COPY;
1391/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_PASTE`])
1392pub const SDLK_PASTE: SDL_Keycode = SDL_Keycode::PASTE;
1393/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_FIND`])
1394pub const SDLK_FIND: SDL_Keycode = SDL_Keycode::FIND;
1395/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MUTE`])
1396pub const SDLK_MUTE: SDL_Keycode = SDL_Keycode::MUTE;
1397/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_VOLUMEUP`])
1398pub const SDLK_VOLUMEUP: SDL_Keycode = SDL_Keycode::VOLUMEUP;
1399/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_VOLUMEDOWN`])
1400pub const SDLK_VOLUMEDOWN: SDL_Keycode = SDL_Keycode::VOLUMEDOWN;
1401/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_COMMA`])
1402pub const SDLK_KP_COMMA: SDL_Keycode = SDL_Keycode::KP_COMMA;
1403/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_EQUALSAS400`])
1404pub const SDLK_KP_EQUALSAS400: SDL_Keycode = SDL_Keycode::KP_EQUALSAS400;
1405/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_ALTERASE`])
1406pub const SDLK_ALTERASE: SDL_Keycode = SDL_Keycode::ALTERASE;
1407/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SYSREQ`])
1408pub const SDLK_SYSREQ: SDL_Keycode = SDL_Keycode::SYSREQ;
1409/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CANCEL`])
1410pub const SDLK_CANCEL: SDL_Keycode = SDL_Keycode::CANCEL;
1411/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CLEAR`])
1412pub const SDLK_CLEAR: SDL_Keycode = SDL_Keycode::CLEAR;
1413/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_PRIOR`])
1414pub const SDLK_PRIOR: SDL_Keycode = SDL_Keycode::PRIOR;
1415/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_RETURN2`])
1416pub const SDLK_RETURN2: SDL_Keycode = SDL_Keycode::RETURN2;
1417/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SEPARATOR`])
1418pub const SDLK_SEPARATOR: SDL_Keycode = SDL_Keycode::SEPARATOR;
1419/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_OUT`])
1420pub const SDLK_OUT: SDL_Keycode = SDL_Keycode::OUT;
1421/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_OPER`])
1422pub const SDLK_OPER: SDL_Keycode = SDL_Keycode::OPER;
1423/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CLEARAGAIN`])
1424pub const SDLK_CLEARAGAIN: SDL_Keycode = SDL_Keycode::CLEARAGAIN;
1425/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CRSEL`])
1426pub const SDLK_CRSEL: SDL_Keycode = SDL_Keycode::CRSEL;
1427/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_EXSEL`])
1428pub const SDLK_EXSEL: SDL_Keycode = SDL_Keycode::EXSEL;
1429/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_00`])
1430pub const SDLK_KP_00: SDL_Keycode = SDL_Keycode::KP_00;
1431/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_000`])
1432pub const SDLK_KP_000: SDL_Keycode = SDL_Keycode::KP_000;
1433/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_THOUSANDSSEPARATOR`])
1434pub const SDLK_THOUSANDSSEPARATOR: SDL_Keycode = SDL_Keycode::THOUSANDSSEPARATOR;
1435/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_DECIMALSEPARATOR`])
1436pub const SDLK_DECIMALSEPARATOR: SDL_Keycode = SDL_Keycode::DECIMALSEPARATOR;
1437/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CURRENCYUNIT`])
1438pub const SDLK_CURRENCYUNIT: SDL_Keycode = SDL_Keycode::CURRENCYUNIT;
1439/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CURRENCYSUBUNIT`])
1440pub const SDLK_CURRENCYSUBUNIT: SDL_Keycode = SDL_Keycode::CURRENCYSUBUNIT;
1441/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_LEFTPAREN`])
1442pub const SDLK_KP_LEFTPAREN: SDL_Keycode = SDL_Keycode::KP_LEFTPAREN;
1443/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_RIGHTPAREN`])
1444pub const SDLK_KP_RIGHTPAREN: SDL_Keycode = SDL_Keycode::KP_RIGHTPAREN;
1445/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_LEFTBRACE`])
1446pub const SDLK_KP_LEFTBRACE: SDL_Keycode = SDL_Keycode::KP_LEFTBRACE;
1447/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_RIGHTBRACE`])
1448pub const SDLK_KP_RIGHTBRACE: SDL_Keycode = SDL_Keycode::KP_RIGHTBRACE;
1449/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_TAB`])
1450pub const SDLK_KP_TAB: SDL_Keycode = SDL_Keycode::KP_TAB;
1451/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_BACKSPACE`])
1452pub const SDLK_KP_BACKSPACE: SDL_Keycode = SDL_Keycode::KP_BACKSPACE;
1453/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_A`])
1454pub const SDLK_KP_A: SDL_Keycode = SDL_Keycode::KP_A;
1455/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_B`])
1456pub const SDLK_KP_B: SDL_Keycode = SDL_Keycode::KP_B;
1457/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_C`])
1458pub const SDLK_KP_C: SDL_Keycode = SDL_Keycode::KP_C;
1459/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_D`])
1460pub const SDLK_KP_D: SDL_Keycode = SDL_Keycode::KP_D;
1461/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_E`])
1462pub const SDLK_KP_E: SDL_Keycode = SDL_Keycode::KP_E;
1463/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_F`])
1464pub const SDLK_KP_F: SDL_Keycode = SDL_Keycode::KP_F;
1465/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_XOR`])
1466pub const SDLK_KP_XOR: SDL_Keycode = SDL_Keycode::KP_XOR;
1467/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_POWER`])
1468pub const SDLK_KP_POWER: SDL_Keycode = SDL_Keycode::KP_POWER;
1469/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_PERCENT`])
1470pub const SDLK_KP_PERCENT: SDL_Keycode = SDL_Keycode::KP_PERCENT;
1471/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_LESS`])
1472pub const SDLK_KP_LESS: SDL_Keycode = SDL_Keycode::KP_LESS;
1473/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_GREATER`])
1474pub const SDLK_KP_GREATER: SDL_Keycode = SDL_Keycode::KP_GREATER;
1475/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_AMPERSAND`])
1476pub const SDLK_KP_AMPERSAND: SDL_Keycode = SDL_Keycode::KP_AMPERSAND;
1477/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_DBLAMPERSAND`])
1478pub const SDLK_KP_DBLAMPERSAND: SDL_Keycode = SDL_Keycode::KP_DBLAMPERSAND;
1479/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_VERTICALBAR`])
1480pub const SDLK_KP_VERTICALBAR: SDL_Keycode = SDL_Keycode::KP_VERTICALBAR;
1481/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_DBLVERTICALBAR`])
1482pub const SDLK_KP_DBLVERTICALBAR: SDL_Keycode = SDL_Keycode::KP_DBLVERTICALBAR;
1483/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_COLON`])
1484pub const SDLK_KP_COLON: SDL_Keycode = SDL_Keycode::KP_COLON;
1485/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_HASH`])
1486pub const SDLK_KP_HASH: SDL_Keycode = SDL_Keycode::KP_HASH;
1487/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_SPACE`])
1488pub const SDLK_KP_SPACE: SDL_Keycode = SDL_Keycode::KP_SPACE;
1489/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_AT`])
1490pub const SDLK_KP_AT: SDL_Keycode = SDL_Keycode::KP_AT;
1491/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_EXCLAM`])
1492pub const SDLK_KP_EXCLAM: SDL_Keycode = SDL_Keycode::KP_EXCLAM;
1493/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMSTORE`])
1494pub const SDLK_KP_MEMSTORE: SDL_Keycode = SDL_Keycode::KP_MEMSTORE;
1495/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMRECALL`])
1496pub const SDLK_KP_MEMRECALL: SDL_Keycode = SDL_Keycode::KP_MEMRECALL;
1497/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMCLEAR`])
1498pub const SDLK_KP_MEMCLEAR: SDL_Keycode = SDL_Keycode::KP_MEMCLEAR;
1499/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMADD`])
1500pub const SDLK_KP_MEMADD: SDL_Keycode = SDL_Keycode::KP_MEMADD;
1501/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMSUBTRACT`])
1502pub const SDLK_KP_MEMSUBTRACT: SDL_Keycode = SDL_Keycode::KP_MEMSUBTRACT;
1503/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMMULTIPLY`])
1504pub const SDLK_KP_MEMMULTIPLY: SDL_Keycode = SDL_Keycode::KP_MEMMULTIPLY;
1505/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_MEMDIVIDE`])
1506pub const SDLK_KP_MEMDIVIDE: SDL_Keycode = SDL_Keycode::KP_MEMDIVIDE;
1507/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_PLUSMINUS`])
1508pub const SDLK_KP_PLUSMINUS: SDL_Keycode = SDL_Keycode::KP_PLUSMINUS;
1509/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_CLEAR`])
1510pub const SDLK_KP_CLEAR: SDL_Keycode = SDL_Keycode::KP_CLEAR;
1511/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_CLEARENTRY`])
1512pub const SDLK_KP_CLEARENTRY: SDL_Keycode = SDL_Keycode::KP_CLEARENTRY;
1513/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_BINARY`])
1514pub const SDLK_KP_BINARY: SDL_Keycode = SDL_Keycode::KP_BINARY;
1515/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_OCTAL`])
1516pub const SDLK_KP_OCTAL: SDL_Keycode = SDL_Keycode::KP_OCTAL;
1517/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_DECIMAL`])
1518pub const SDLK_KP_DECIMAL: SDL_Keycode = SDL_Keycode::KP_DECIMAL;
1519/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_KP_HEXADECIMAL`])
1520pub const SDLK_KP_HEXADECIMAL: SDL_Keycode = SDL_Keycode::KP_HEXADECIMAL;
1521/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_LCTRL`])
1522pub const SDLK_LCTRL: SDL_Keycode = SDL_Keycode::LCTRL;
1523/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_LSHIFT`])
1524pub const SDLK_LSHIFT: SDL_Keycode = SDL_Keycode::LSHIFT;
1525/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_LALT`])
1526pub const SDLK_LALT: SDL_Keycode = SDL_Keycode::LALT;
1527/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_LGUI`])
1528pub const SDLK_LGUI: SDL_Keycode = SDL_Keycode::LGUI;
1529/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_RCTRL`])
1530pub const SDLK_RCTRL: SDL_Keycode = SDL_Keycode::RCTRL;
1531/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_RSHIFT`])
1532pub const SDLK_RSHIFT: SDL_Keycode = SDL_Keycode::RSHIFT;
1533/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_RALT`])
1534pub const SDLK_RALT: SDL_Keycode = SDL_Keycode::RALT;
1535/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_RGUI`])
1536pub const SDLK_RGUI: SDL_Keycode = SDL_Keycode::RGUI;
1537/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MODE`])
1538pub const SDLK_MODE: SDL_Keycode = SDL_Keycode::MODE;
1539/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SLEEP`])
1540pub const SDLK_SLEEP: SDL_Keycode = SDL_Keycode::SLEEP;
1541/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_WAKE`])
1542pub const SDLK_WAKE: SDL_Keycode = SDL_Keycode::WAKE;
1543/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CHANNEL_INCREMENT`])
1544pub const SDLK_CHANNEL_INCREMENT: SDL_Keycode = SDL_Keycode::CHANNEL_INCREMENT;
1545/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CHANNEL_DECREMENT`])
1546pub const SDLK_CHANNEL_DECREMENT: SDL_Keycode = SDL_Keycode::CHANNEL_DECREMENT;
1547/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_PLAY`])
1548pub const SDLK_MEDIA_PLAY: SDL_Keycode = SDL_Keycode::MEDIA_PLAY;
1549/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_PAUSE`])
1550pub const SDLK_MEDIA_PAUSE: SDL_Keycode = SDL_Keycode::MEDIA_PAUSE;
1551/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_RECORD`])
1552pub const SDLK_MEDIA_RECORD: SDL_Keycode = SDL_Keycode::MEDIA_RECORD;
1553/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_FAST_FORWARD`])
1554pub const SDLK_MEDIA_FAST_FORWARD: SDL_Keycode = SDL_Keycode::MEDIA_FAST_FORWARD;
1555/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_REWIND`])
1556pub const SDLK_MEDIA_REWIND: SDL_Keycode = SDL_Keycode::MEDIA_REWIND;
1557/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_NEXT_TRACK`])
1558pub const SDLK_MEDIA_NEXT_TRACK: SDL_Keycode = SDL_Keycode::MEDIA_NEXT_TRACK;
1559/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_PREVIOUS_TRACK`])
1560pub const SDLK_MEDIA_PREVIOUS_TRACK: SDL_Keycode = SDL_Keycode::MEDIA_PREVIOUS_TRACK;
1561/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_STOP`])
1562pub const SDLK_MEDIA_STOP: SDL_Keycode = SDL_Keycode::MEDIA_STOP;
1563/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_EJECT`])
1564pub const SDLK_MEDIA_EJECT: SDL_Keycode = SDL_Keycode::MEDIA_EJECT;
1565/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_PLAY_PAUSE`])
1566pub const SDLK_MEDIA_PLAY_PAUSE: SDL_Keycode = SDL_Keycode::MEDIA_PLAY_PAUSE;
1567/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_MEDIA_SELECT`])
1568pub const SDLK_MEDIA_SELECT: SDL_Keycode = SDL_Keycode::MEDIA_SELECT;
1569/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_NEW`])
1570pub const SDLK_AC_NEW: SDL_Keycode = SDL_Keycode::AC_NEW;
1571/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_OPEN`])
1572pub const SDLK_AC_OPEN: SDL_Keycode = SDL_Keycode::AC_OPEN;
1573/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_CLOSE`])
1574pub const SDLK_AC_CLOSE: SDL_Keycode = SDL_Keycode::AC_CLOSE;
1575/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_EXIT`])
1576pub const SDLK_AC_EXIT: SDL_Keycode = SDL_Keycode::AC_EXIT;
1577/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_SAVE`])
1578pub const SDLK_AC_SAVE: SDL_Keycode = SDL_Keycode::AC_SAVE;
1579/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_PRINT`])
1580pub const SDLK_AC_PRINT: SDL_Keycode = SDL_Keycode::AC_PRINT;
1581/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_PROPERTIES`])
1582pub const SDLK_AC_PROPERTIES: SDL_Keycode = SDL_Keycode::AC_PROPERTIES;
1583/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_SEARCH`])
1584pub const SDLK_AC_SEARCH: SDL_Keycode = SDL_Keycode::AC_SEARCH;
1585/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_HOME`])
1586pub const SDLK_AC_HOME: SDL_Keycode = SDL_Keycode::AC_HOME;
1587/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_BACK`])
1588pub const SDLK_AC_BACK: SDL_Keycode = SDL_Keycode::AC_BACK;
1589/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_FORWARD`])
1590pub const SDLK_AC_FORWARD: SDL_Keycode = SDL_Keycode::AC_FORWARD;
1591/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_STOP`])
1592pub const SDLK_AC_STOP: SDL_Keycode = SDL_Keycode::AC_STOP;
1593/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_REFRESH`])
1594pub const SDLK_AC_REFRESH: SDL_Keycode = SDL_Keycode::AC_REFRESH;
1595/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_AC_BOOKMARKS`])
1596pub const SDLK_AC_BOOKMARKS: SDL_Keycode = SDL_Keycode::AC_BOOKMARKS;
1597/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SOFTLEFT`])
1598pub const SDLK_SOFTLEFT: SDL_Keycode = SDL_Keycode::SOFTLEFT;
1599/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_SOFTRIGHT`])
1600pub const SDLK_SOFTRIGHT: SDL_Keycode = SDL_Keycode::SOFTRIGHT;
1601/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_CALL`])
1602pub const SDLK_CALL: SDL_Keycode = SDL_Keycode::CALL;
1603/// SDL_SCANCODE_TO_KEYCODE([`SDL_SCANCODE_ENDCALL`])
1604pub const SDLK_ENDCALL: SDL_Keycode = SDL_Keycode::ENDCALL;
1605/// Extended key Left Tab
1606pub const SDLK_LEFT_TAB: SDL_Keycode = SDL_Keycode::LEFT_TAB;
1607/// Extended key Level 5 Shift
1608pub const SDLK_LEVEL5_SHIFT: SDL_Keycode = SDL_Keycode::LEVEL5_SHIFT;
1609/// Extended key Multi-key Compose
1610pub const SDLK_MULTI_KEY_COMPOSE: SDL_Keycode = SDL_Keycode::MULTI_KEY_COMPOSE;
1611/// Extended key Left Meta
1612pub const SDLK_LMETA: SDL_Keycode = SDL_Keycode::LMETA;
1613/// Extended key Right Meta
1614pub const SDLK_RMETA: SDL_Keycode = SDL_Keycode::RMETA;
1615/// Extended key Left Hyper
1616pub const SDLK_LHYPER: SDL_Keycode = SDL_Keycode::LHYPER;
1617/// Extended key Right Hyper
1618pub const SDLK_RHYPER: SDL_Keycode = SDL_Keycode::RHYPER;
1619
1620#[cfg(feature = "metadata")]
1621impl sdl3_sys::metadata::GroupMetadata for SDL_Keycode {
1622 const GROUP_METADATA: &'static sdl3_sys::metadata::Group =
1623 &crate::metadata::keycode::METADATA_SDL_Keycode;
1624}
1625
1626#[inline(always)]
1627pub const fn SDL_SCANCODE_TO_KEYCODE(X: SDL_Scancode) -> Uint32 {
1628 ((X.0 as Uint32) | SDLK_SCANCODE_MASK.0)
1629}
1630
1631/// Valid key modifiers (possibly OR'd together).
1632///
1633/// ## Availability
1634/// This datatype is available since SDL 3.2.0.
1635///
1636/// ## Known values (`sdl3-sys`)
1637/// | Associated constant | Global constant | Description |
1638/// | ------------------- | --------------- | ----------- |
1639/// | [`NONE`](SDL_Keymod::NONE) | [`SDL_KMOD_NONE`] | no modifier is applicable. |
1640/// | [`LSHIFT`](SDL_Keymod::LSHIFT) | [`SDL_KMOD_LSHIFT`] | the left Shift key is down. |
1641/// | [`RSHIFT`](SDL_Keymod::RSHIFT) | [`SDL_KMOD_RSHIFT`] | the right Shift key is down. |
1642/// | [`LEVEL5`](SDL_Keymod::LEVEL5) | [`SDL_KMOD_LEVEL5`] | the Level 5 Shift key is down. |
1643/// | [`LCTRL`](SDL_Keymod::LCTRL) | [`SDL_KMOD_LCTRL`] | the left Ctrl (Control) key is down. |
1644/// | [`RCTRL`](SDL_Keymod::RCTRL) | [`SDL_KMOD_RCTRL`] | the right Ctrl (Control) key is down. |
1645/// | [`LALT`](SDL_Keymod::LALT) | [`SDL_KMOD_LALT`] | the left Alt key is down. |
1646/// | [`RALT`](SDL_Keymod::RALT) | [`SDL_KMOD_RALT`] | the right Alt key is down. |
1647/// | [`LGUI`](SDL_Keymod::LGUI) | [`SDL_KMOD_LGUI`] | the left GUI key (often the Windows key) is down. |
1648/// | [`RGUI`](SDL_Keymod::RGUI) | [`SDL_KMOD_RGUI`] | the right GUI key (often the Windows key) is down. |
1649/// | [`NUM`](SDL_Keymod::NUM) | [`SDL_KMOD_NUM`] | the Num Lock key (may be located on an extended keypad) is down. |
1650/// | [`CAPS`](SDL_Keymod::CAPS) | [`SDL_KMOD_CAPS`] | the Caps Lock key is down. |
1651/// | [`MODE`](SDL_Keymod::MODE) | [`SDL_KMOD_MODE`] | the !AltGr key is down. |
1652/// | [`SCROLL`](SDL_Keymod::SCROLL) | [`SDL_KMOD_SCROLL`] | the Scroll Lock key is down. |
1653/// | [`CTRL`](SDL_Keymod::CTRL) | [`SDL_KMOD_CTRL`] | Any Ctrl key is down. |
1654/// | [`SHIFT`](SDL_Keymod::SHIFT) | [`SDL_KMOD_SHIFT`] | Any Shift key is down. |
1655/// | [`ALT`](SDL_Keymod::ALT) | [`SDL_KMOD_ALT`] | Any Alt key is down. |
1656/// | [`GUI`](SDL_Keymod::GUI) | [`SDL_KMOD_GUI`] | Any GUI key is down. |
1657#[repr(transparent)]
1658#[derive(Clone, Copy, Default, PartialEq, Eq, Hash)]
1659pub struct SDL_Keymod(pub Uint16);
1660
1661impl ::core::cmp::PartialEq<Uint16> for SDL_Keymod {
1662 #[inline(always)]
1663 fn eq(&self, other: &Uint16) -> bool {
1664 &self.0 == other
1665 }
1666}
1667
1668impl ::core::cmp::PartialEq<SDL_Keymod> for Uint16 {
1669 #[inline(always)]
1670 fn eq(&self, other: &SDL_Keymod) -> bool {
1671 self == &other.0
1672 }
1673}
1674
1675impl From<SDL_Keymod> for Uint16 {
1676 #[inline(always)]
1677 fn from(value: SDL_Keymod) -> Self {
1678 value.0
1679 }
1680}
1681
1682#[cfg(feature = "debug-impls")]
1683impl ::core::fmt::Debug for SDL_Keymod {
1684 fn fmt(&self, f: &mut ::core::fmt::Formatter<'_>) -> ::core::fmt::Result {
1685 let mut first = true;
1686 let all_bits = 0;
1687 write!(f, "SDL_Keymod(")?;
1688 let all_bits = all_bits | Self::NONE.0;
1689 if (Self::NONE != 0 || self.0 == 0) && *self & Self::NONE == Self::NONE {
1690 if !first {
1691 write!(f, " | ")?;
1692 }
1693 first = false;
1694 write!(f, "NONE")?;
1695 }
1696 let all_bits = all_bits | Self::LSHIFT.0;
1697 if (Self::LSHIFT != 0 || self.0 == 0) && *self & Self::LSHIFT == Self::LSHIFT {
1698 if !first {
1699 write!(f, " | ")?;
1700 }
1701 first = false;
1702 write!(f, "LSHIFT")?;
1703 }
1704 let all_bits = all_bits | Self::RSHIFT.0;
1705 if (Self::RSHIFT != 0 || self.0 == 0) && *self & Self::RSHIFT == Self::RSHIFT {
1706 if !first {
1707 write!(f, " | ")?;
1708 }
1709 first = false;
1710 write!(f, "RSHIFT")?;
1711 }
1712 let all_bits = all_bits | Self::LEVEL5.0;
1713 if (Self::LEVEL5 != 0 || self.0 == 0) && *self & Self::LEVEL5 == Self::LEVEL5 {
1714 if !first {
1715 write!(f, " | ")?;
1716 }
1717 first = false;
1718 write!(f, "LEVEL5")?;
1719 }
1720 let all_bits = all_bits | Self::LCTRL.0;
1721 if (Self::LCTRL != 0 || self.0 == 0) && *self & Self::LCTRL == Self::LCTRL {
1722 if !first {
1723 write!(f, " | ")?;
1724 }
1725 first = false;
1726 write!(f, "LCTRL")?;
1727 }
1728 let all_bits = all_bits | Self::RCTRL.0;
1729 if (Self::RCTRL != 0 || self.0 == 0) && *self & Self::RCTRL == Self::RCTRL {
1730 if !first {
1731 write!(f, " | ")?;
1732 }
1733 first = false;
1734 write!(f, "RCTRL")?;
1735 }
1736 let all_bits = all_bits | Self::LALT.0;
1737 if (Self::LALT != 0 || self.0 == 0) && *self & Self::LALT == Self::LALT {
1738 if !first {
1739 write!(f, " | ")?;
1740 }
1741 first = false;
1742 write!(f, "LALT")?;
1743 }
1744 let all_bits = all_bits | Self::RALT.0;
1745 if (Self::RALT != 0 || self.0 == 0) && *self & Self::RALT == Self::RALT {
1746 if !first {
1747 write!(f, " | ")?;
1748 }
1749 first = false;
1750 write!(f, "RALT")?;
1751 }
1752 let all_bits = all_bits | Self::LGUI.0;
1753 if (Self::LGUI != 0 || self.0 == 0) && *self & Self::LGUI == Self::LGUI {
1754 if !first {
1755 write!(f, " | ")?;
1756 }
1757 first = false;
1758 write!(f, "LGUI")?;
1759 }
1760 let all_bits = all_bits | Self::RGUI.0;
1761 if (Self::RGUI != 0 || self.0 == 0) && *self & Self::RGUI == Self::RGUI {
1762 if !first {
1763 write!(f, " | ")?;
1764 }
1765 first = false;
1766 write!(f, "RGUI")?;
1767 }
1768 let all_bits = all_bits | Self::NUM.0;
1769 if (Self::NUM != 0 || self.0 == 0) && *self & Self::NUM == Self::NUM {
1770 if !first {
1771 write!(f, " | ")?;
1772 }
1773 first = false;
1774 write!(f, "NUM")?;
1775 }
1776 let all_bits = all_bits | Self::CAPS.0;
1777 if (Self::CAPS != 0 || self.0 == 0) && *self & Self::CAPS == Self::CAPS {
1778 if !first {
1779 write!(f, " | ")?;
1780 }
1781 first = false;
1782 write!(f, "CAPS")?;
1783 }
1784 let all_bits = all_bits | Self::MODE.0;
1785 if (Self::MODE != 0 || self.0 == 0) && *self & Self::MODE == Self::MODE {
1786 if !first {
1787 write!(f, " | ")?;
1788 }
1789 first = false;
1790 write!(f, "MODE")?;
1791 }
1792 let all_bits = all_bits | Self::SCROLL.0;
1793 if (Self::SCROLL != 0 || self.0 == 0) && *self & Self::SCROLL == Self::SCROLL {
1794 if !first {
1795 write!(f, " | ")?;
1796 }
1797 first = false;
1798 write!(f, "SCROLL")?;
1799 }
1800 let all_bits = all_bits | Self::CTRL.0;
1801 if (Self::CTRL != 0 || self.0 == 0) && *self & Self::CTRL == Self::CTRL {
1802 if !first {
1803 write!(f, " | ")?;
1804 }
1805 first = false;
1806 write!(f, "CTRL")?;
1807 }
1808 let all_bits = all_bits | Self::SHIFT.0;
1809 if (Self::SHIFT != 0 || self.0 == 0) && *self & Self::SHIFT == Self::SHIFT {
1810 if !first {
1811 write!(f, " | ")?;
1812 }
1813 first = false;
1814 write!(f, "SHIFT")?;
1815 }
1816 let all_bits = all_bits | Self::ALT.0;
1817 if (Self::ALT != 0 || self.0 == 0) && *self & Self::ALT == Self::ALT {
1818 if !first {
1819 write!(f, " | ")?;
1820 }
1821 first = false;
1822 write!(f, "ALT")?;
1823 }
1824 let all_bits = all_bits | Self::GUI.0;
1825 if (Self::GUI != 0 || self.0 == 0) && *self & Self::GUI == Self::GUI {
1826 if !first {
1827 write!(f, " | ")?;
1828 }
1829 first = false;
1830 write!(f, "GUI")?;
1831 }
1832
1833 if self.0 & !all_bits != 0 {
1834 if !first {
1835 write!(f, " | ")?;
1836 }
1837 write!(f, "{:#x}", self.0)?;
1838 } else if first {
1839 write!(f, "0")?;
1840 }
1841 write!(f, ")")
1842 }
1843}
1844
1845impl ::core::ops::BitAnd for SDL_Keymod {
1846 type Output = Self;
1847
1848 #[inline(always)]
1849 fn bitand(self, rhs: Self) -> Self::Output {
1850 Self(self.0 & rhs.0)
1851 }
1852}
1853
1854impl ::core::ops::BitAndAssign for SDL_Keymod {
1855 #[inline(always)]
1856 fn bitand_assign(&mut self, rhs: Self) {
1857 self.0 &= rhs.0;
1858 }
1859}
1860
1861impl ::core::ops::BitOr for SDL_Keymod {
1862 type Output = Self;
1863
1864 #[inline(always)]
1865 fn bitor(self, rhs: Self) -> Self::Output {
1866 Self(self.0 | rhs.0)
1867 }
1868}
1869
1870impl ::core::ops::BitOrAssign for SDL_Keymod {
1871 #[inline(always)]
1872 fn bitor_assign(&mut self, rhs: Self) {
1873 self.0 |= rhs.0;
1874 }
1875}
1876
1877impl ::core::ops::BitXor for SDL_Keymod {
1878 type Output = Self;
1879
1880 #[inline(always)]
1881 fn bitxor(self, rhs: Self) -> Self::Output {
1882 Self(self.0 ^ rhs.0)
1883 }
1884}
1885
1886impl ::core::ops::BitXorAssign for SDL_Keymod {
1887 #[inline(always)]
1888 fn bitxor_assign(&mut self, rhs: Self) {
1889 self.0 ^= rhs.0;
1890 }
1891}
1892
1893impl ::core::ops::Not for SDL_Keymod {
1894 type Output = Self;
1895
1896 #[inline(always)]
1897 fn not(self) -> Self::Output {
1898 Self(!self.0)
1899 }
1900}
1901
1902impl SDL_Keymod {
1903 /// no modifier is applicable.
1904 pub const NONE: Self = Self((0x0000 as Uint16));
1905 /// the left Shift key is down.
1906 pub const LSHIFT: Self = Self((0x0001 as Uint16));
1907 /// the right Shift key is down.
1908 pub const RSHIFT: Self = Self((0x0002 as Uint16));
1909 /// the Level 5 Shift key is down.
1910 pub const LEVEL5: Self = Self((0x0004 as Uint16));
1911 /// the left Ctrl (Control) key is down.
1912 pub const LCTRL: Self = Self((0x0040 as Uint16));
1913 /// the right Ctrl (Control) key is down.
1914 pub const RCTRL: Self = Self((0x0080 as Uint16));
1915 /// the left Alt key is down.
1916 pub const LALT: Self = Self((0x0100 as Uint16));
1917 /// the right Alt key is down.
1918 pub const RALT: Self = Self((0x0200 as Uint16));
1919 /// the left GUI key (often the Windows key) is down.
1920 pub const LGUI: Self = Self((0x0400 as Uint16));
1921 /// the right GUI key (often the Windows key) is down.
1922 pub const RGUI: Self = Self((0x0800 as Uint16));
1923 /// the Num Lock key (may be located on an extended keypad) is down.
1924 pub const NUM: Self = Self((0x1000 as Uint16));
1925 /// the Caps Lock key is down.
1926 pub const CAPS: Self = Self((0x2000 as Uint16));
1927 /// the !AltGr key is down.
1928 pub const MODE: Self = Self((0x4000 as Uint16));
1929 /// the Scroll Lock key is down.
1930 pub const SCROLL: Self = Self((0x8000 as Uint16));
1931 /// Any Ctrl key is down.
1932 pub const CTRL: Self = Self((SDL_KMOD_LCTRL.0 | SDL_KMOD_RCTRL.0));
1933 /// Any Shift key is down.
1934 pub const SHIFT: Self = Self((SDL_KMOD_LSHIFT.0 | SDL_KMOD_RSHIFT.0));
1935 /// Any Alt key is down.
1936 pub const ALT: Self = Self((SDL_KMOD_LALT.0 | SDL_KMOD_RALT.0));
1937 /// Any GUI key is down.
1938 pub const GUI: Self = Self((SDL_KMOD_LGUI.0 | SDL_KMOD_RGUI.0));
1939}
1940
1941/// no modifier is applicable.
1942pub const SDL_KMOD_NONE: SDL_Keymod = SDL_Keymod::NONE;
1943/// the left Shift key is down.
1944pub const SDL_KMOD_LSHIFT: SDL_Keymod = SDL_Keymod::LSHIFT;
1945/// the right Shift key is down.
1946pub const SDL_KMOD_RSHIFT: SDL_Keymod = SDL_Keymod::RSHIFT;
1947/// the Level 5 Shift key is down.
1948pub const SDL_KMOD_LEVEL5: SDL_Keymod = SDL_Keymod::LEVEL5;
1949/// the left Ctrl (Control) key is down.
1950pub const SDL_KMOD_LCTRL: SDL_Keymod = SDL_Keymod::LCTRL;
1951/// the right Ctrl (Control) key is down.
1952pub const SDL_KMOD_RCTRL: SDL_Keymod = SDL_Keymod::RCTRL;
1953/// the left Alt key is down.
1954pub const SDL_KMOD_LALT: SDL_Keymod = SDL_Keymod::LALT;
1955/// the right Alt key is down.
1956pub const SDL_KMOD_RALT: SDL_Keymod = SDL_Keymod::RALT;
1957/// the left GUI key (often the Windows key) is down.
1958pub const SDL_KMOD_LGUI: SDL_Keymod = SDL_Keymod::LGUI;
1959/// the right GUI key (often the Windows key) is down.
1960pub const SDL_KMOD_RGUI: SDL_Keymod = SDL_Keymod::RGUI;
1961/// the Num Lock key (may be located on an extended keypad) is down.
1962pub const SDL_KMOD_NUM: SDL_Keymod = SDL_Keymod::NUM;
1963/// the Caps Lock key is down.
1964pub const SDL_KMOD_CAPS: SDL_Keymod = SDL_Keymod::CAPS;
1965/// the !AltGr key is down.
1966pub const SDL_KMOD_MODE: SDL_Keymod = SDL_Keymod::MODE;
1967/// the Scroll Lock key is down.
1968pub const SDL_KMOD_SCROLL: SDL_Keymod = SDL_Keymod::SCROLL;
1969/// Any Ctrl key is down.
1970pub const SDL_KMOD_CTRL: SDL_Keymod = SDL_Keymod::CTRL;
1971/// Any Shift key is down.
1972pub const SDL_KMOD_SHIFT: SDL_Keymod = SDL_Keymod::SHIFT;
1973/// Any Alt key is down.
1974pub const SDL_KMOD_ALT: SDL_Keymod = SDL_Keymod::ALT;
1975/// Any GUI key is down.
1976pub const SDL_KMOD_GUI: SDL_Keymod = SDL_Keymod::GUI;
1977
1978#[cfg(feature = "metadata")]
1979impl sdl3_sys::metadata::GroupMetadata for SDL_Keymod {
1980 const GROUP_METADATA: &'static sdl3_sys::metadata::Group =
1981 &crate::metadata::keycode::METADATA_SDL_Keymod;
1982}
1983
1984#[cfg(doc)]
1985use crate::everything::*;