diff options
Diffstat (limited to 'Source/3rdParty/SDL2/src/video/qnx/keyboard.c')
-rw-r--r-- | Source/3rdParty/SDL2/src/video/qnx/keyboard.c | 133 |
1 files changed, 0 insertions, 133 deletions
diff --git a/Source/3rdParty/SDL2/src/video/qnx/keyboard.c b/Source/3rdParty/SDL2/src/video/qnx/keyboard.c deleted file mode 100644 index 86c6395..0000000 --- a/Source/3rdParty/SDL2/src/video/qnx/keyboard.c +++ /dev/null @@ -1,133 +0,0 @@ -/* - Simple DirectMedia Layer - Copyright (C) 2017 BlackBerry Limited - - This software is provided 'as-is', without any express or implied - warranty. In no event will the authors be held liable for any damages - arising from the use of this software. - - Permission is granted to anyone to use this software for any purpose, - including commercial applications, and to alter it and redistribute it - freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - 3. This notice may not be removed or altered from any source distribution. -*/ - -#include "../../SDL_internal.h" -#include "../../events/SDL_keyboard_c.h" -#include "SDL_scancode.h" -#include "SDL_events.h" -#include "sdl_qnx.h" -#include <sys/keycodes.h> - -/** - * A map thta translates Screen key names to SDL scan codes. - * This map is incomplete, but should include most major keys. - */ -static int key_to_sdl[] = { - [KEYCODE_SPACE] = SDL_SCANCODE_SPACE, - [KEYCODE_APOSTROPHE] = SDL_SCANCODE_APOSTROPHE, - [KEYCODE_COMMA] = SDL_SCANCODE_COMMA, - [KEYCODE_MINUS] = SDL_SCANCODE_MINUS, - [KEYCODE_PERIOD] = SDL_SCANCODE_PERIOD, - [KEYCODE_SLASH] = SDL_SCANCODE_SLASH, - [KEYCODE_ZERO] = SDL_SCANCODE_0, - [KEYCODE_ONE] = SDL_SCANCODE_1, - [KEYCODE_TWO] = SDL_SCANCODE_2, - [KEYCODE_THREE] = SDL_SCANCODE_3, - [KEYCODE_FOUR] = SDL_SCANCODE_4, - [KEYCODE_FIVE] = SDL_SCANCODE_5, - [KEYCODE_SIX] = SDL_SCANCODE_6, - [KEYCODE_SEVEN] = SDL_SCANCODE_7, - [KEYCODE_EIGHT] = SDL_SCANCODE_8, - [KEYCODE_NINE] = SDL_SCANCODE_9, - [KEYCODE_SEMICOLON] = SDL_SCANCODE_SEMICOLON, - [KEYCODE_EQUAL] = SDL_SCANCODE_EQUALS, - [KEYCODE_LEFT_BRACKET] = SDL_SCANCODE_LEFTBRACKET, - [KEYCODE_BACK_SLASH] = SDL_SCANCODE_BACKSLASH, - [KEYCODE_RIGHT_BRACKET] = SDL_SCANCODE_RIGHTBRACKET, - [KEYCODE_GRAVE] = SDL_SCANCODE_GRAVE, - [KEYCODE_A] = SDL_SCANCODE_A, - [KEYCODE_B] = SDL_SCANCODE_B, - [KEYCODE_C] = SDL_SCANCODE_C, - [KEYCODE_D] = SDL_SCANCODE_D, - [KEYCODE_E] = SDL_SCANCODE_E, - [KEYCODE_F] = SDL_SCANCODE_F, - [KEYCODE_G] = SDL_SCANCODE_G, - [KEYCODE_H] = SDL_SCANCODE_H, - [KEYCODE_I] = SDL_SCANCODE_I, - [KEYCODE_J] = SDL_SCANCODE_J, - [KEYCODE_K] = SDL_SCANCODE_K, - [KEYCODE_L] = SDL_SCANCODE_L, - [KEYCODE_M] = SDL_SCANCODE_M, - [KEYCODE_N] = SDL_SCANCODE_N, - [KEYCODE_O] = SDL_SCANCODE_O, - [KEYCODE_P] = SDL_SCANCODE_P, - [KEYCODE_Q] = SDL_SCANCODE_Q, - [KEYCODE_R] = SDL_SCANCODE_R, - [KEYCODE_S] = SDL_SCANCODE_S, - [KEYCODE_T] = SDL_SCANCODE_T, - [KEYCODE_U] = SDL_SCANCODE_U, - [KEYCODE_V] = SDL_SCANCODE_V, - [KEYCODE_W] = SDL_SCANCODE_W, - [KEYCODE_X] = SDL_SCANCODE_X, - [KEYCODE_Y] = SDL_SCANCODE_Y, - [KEYCODE_Z] = SDL_SCANCODE_Z, - [KEYCODE_UP] = SDL_SCANCODE_UP, - [KEYCODE_DOWN] = SDL_SCANCODE_DOWN, - [KEYCODE_LEFT] = SDL_SCANCODE_LEFT, - [KEYCODE_PG_UP] = SDL_SCANCODE_PAGEUP, - [KEYCODE_PG_DOWN] = SDL_SCANCODE_PAGEDOWN, - [KEYCODE_RIGHT] = SDL_SCANCODE_RIGHT, - [KEYCODE_RETURN] = SDL_SCANCODE_RETURN, - [KEYCODE_TAB] = SDL_SCANCODE_TAB, - [KEYCODE_ESCAPE] = SDL_SCANCODE_ESCAPE, -}; - -/** - * Called from the event dispatcher when a keyboard event is encountered. - * Translates the event such that it can be handled by SDL. - * @param event Screen keyboard event - */ -void -handleKeyboardEvent(screen_event_t event) -{ - int val; - SDL_Scancode scancode; - - // Get the key value. - if (screen_get_event_property_iv(event, SCREEN_PROPERTY_SYM, &val) < 0) { - return; - } - - // Skip unrecognized keys. - if ((val < 0) || (val >= SDL_TABLESIZE(key_to_sdl))) { - return; - } - - // Translate to an SDL scan code. - scancode = key_to_sdl[val]; - if (scancode == 0) { - return; - } - - // Get event flags (key state). - if (screen_get_event_property_iv(event, SCREEN_PROPERTY_FLAGS, &val) < 0) { - return; - } - - // Propagate the event to SDL. - // FIXME: - // Need to handle more key states (such as key combinations). - if (val & KEY_DOWN) { - SDL_SendKeyboardKey(SDL_PRESSED, scancode); - } else { - SDL_SendKeyboardKey(SDL_RELEASED, scancode); - } -} |