MCPcopy Create free account
hub / github.com/ClassiCube/ClassiCube / MapNativeKey

Function MapNativeKey

src/Window_SDL3.c:156–224  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

154}
155
156static int MapNativeKey(SDL_Keycode k) {
157 if (k >= SDLK_0 && k <= SDLK_9) { return '0' + (k - SDLK_0); }
158 if (k >= SDLK_A && k <= SDLK_Z) { return 'A' + (k - SDLK_A); }
159 if (k >= SDLK_F1 && k <= SDLK_F12) { return CCKEY_F1 + (k - SDLK_F1); }
160 if (k >= SDLK_F13 && k <= SDLK_F24) { return CCKEY_F13 + (k - SDLK_F13); }
161 /* SDLK_KP_0 isn't before SDLK_KP_1 */
162 if (k >= SDLK_KP_1 && k <= SDLK_KP_9) { return CCKEY_KP1 + (k - SDLK_KP_1); }
163
164 switch (k) {
165 case SDLK_RETURN: return CCKEY_ENTER;
166 case SDLK_ESCAPE: return CCKEY_ESCAPE;
167 case SDLK_BACKSPACE: return CCKEY_BACKSPACE;
168 case SDLK_TAB: return CCKEY_TAB;
169 case SDLK_SPACE: return CCKEY_SPACE;
170 case SDLK_APOSTROPHE: return CCKEY_QUOTE;
171 case SDLK_EQUALS: return CCKEY_EQUALS;
172 case SDLK_COMMA: return CCKEY_COMMA;
173 case SDLK_MINUS: return CCKEY_MINUS;
174 case SDLK_PERIOD: return CCKEY_PERIOD;
175 case SDLK_SLASH: return CCKEY_SLASH;
176 case SDLK_SEMICOLON: return CCKEY_SEMICOLON;
177 case SDLK_LEFTBRACKET: return CCKEY_LBRACKET;
178 case SDLK_BACKSLASH: return CCKEY_BACKSLASH;
179 case SDLK_RIGHTBRACKET: return CCKEY_RBRACKET;
180 case SDLK_GRAVE: return CCKEY_TILDE;
181 case SDLK_CAPSLOCK: return CCKEY_CAPSLOCK;
182 case SDLK_PRINTSCREEN: return CCKEY_PRINTSCREEN;
183 case SDLK_SCROLLLOCK: return CCKEY_SCROLLLOCK;
184 case SDLK_PAUSE: return CCKEY_PAUSE;
185 case SDLK_INSERT: return CCKEY_INSERT;
186 case SDLK_HOME: return CCKEY_HOME;
187 case SDLK_PAGEUP: return CCKEY_PAGEUP;
188 case SDLK_DELETE: return CCKEY_DELETE;
189 case SDLK_END: return CCKEY_END;
190 case SDLK_PAGEDOWN: return CCKEY_PAGEDOWN;
191 case SDLK_RIGHT: return CCKEY_RIGHT;
192 case SDLK_LEFT: return CCKEY_LEFT;
193 case SDLK_DOWN: return CCKEY_DOWN;
194 case SDLK_UP: return CCKEY_UP;
195
196 case SDLK_NUMLOCKCLEAR: return CCKEY_NUMLOCK;
197 case SDLK_KP_DIVIDE: return CCKEY_KP_DIVIDE;
198 case SDLK_KP_MULTIPLY: return CCKEY_KP_MULTIPLY;
199 case SDLK_KP_MINUS: return CCKEY_KP_MINUS;
200 case SDLK_KP_PLUS: return CCKEY_KP_PLUS;
201 case SDLK_KP_ENTER: return CCKEY_KP_ENTER;
202 case SDLK_KP_0: return CCKEY_KP0;
203 case SDLK_KP_PERIOD: return CCKEY_KP_DECIMAL;
204
205 case SDLK_LCTRL: return CCKEY_LCTRL;
206 case SDLK_LSHIFT: return CCKEY_LSHIFT;
207 case SDLK_LALT: return CCKEY_LALT;
208 case SDLK_LGUI: return CCKEY_LWIN;
209 case SDLK_RCTRL: return CCKEY_RCTRL;
210 case SDLK_RSHIFT: return CCKEY_RSHIFT;
211 case SDLK_RALT: return CCKEY_RALT;
212 case SDLK_RGUI: return CCKEY_RWIN;
213

Callers 1

OnKeyEventFunction · 0.70

Calls

no outgoing calls

Tested by

no test coverage detected