From c4216219ec5accf831a02f51c37c73e5ad7f4b96 Mon Sep 17 00:00:00 2001 From: Heinrich Schuchardt Date: Tue, 29 Sep 2020 01:41:18 +0200 Subject: [PATCH] sandbox: add missing SDL key scan codes Add missing SDL key scan codes, e.g. * shift, ctrl, meta, alt * brace/bracket Signed-off-by: Heinrich Schuchardt Reviewed-by: Simon Glass --- arch/sandbox/cpu/sdl.c | 156 +++++++++++++++++++++++------------------ 1 file changed, 89 insertions(+), 67 deletions(-) diff --git a/arch/sandbox/cpu/sdl.c b/arch/sandbox/cpu/sdl.c index 6416cab96c..7dc3dab32e 100644 --- a/arch/sandbox/cpu/sdl.c +++ b/arch/sandbox/cpu/sdl.c @@ -172,33 +172,7 @@ int sandbox_sdl_sync(void *lcd_base) } static const unsigned short sdl_to_keycode[SDL_NUM_SCANCODES] = { - [SDL_SCANCODE_A] = KEY_A, - [SDL_SCANCODE_B] = KEY_B, - [SDL_SCANCODE_C] = KEY_C, - [SDL_SCANCODE_D] = KEY_D, - [SDL_SCANCODE_E] = KEY_E, - [SDL_SCANCODE_F] = KEY_F, - [SDL_SCANCODE_G] = KEY_G, - [SDL_SCANCODE_H] = KEY_H, - [SDL_SCANCODE_I] = KEY_I, - [SDL_SCANCODE_J] = KEY_J, - [SDL_SCANCODE_K] = KEY_K, - [SDL_SCANCODE_L] = KEY_L, - [SDL_SCANCODE_M] = KEY_M, - [SDL_SCANCODE_N] = KEY_N, - [SDL_SCANCODE_O] = KEY_O, - [SDL_SCANCODE_P] = KEY_P, - [SDL_SCANCODE_Q] = KEY_Q, - [SDL_SCANCODE_R] = KEY_R, - [SDL_SCANCODE_S] = KEY_S, - [SDL_SCANCODE_T] = KEY_T, - [SDL_SCANCODE_U] = KEY_U, - [SDL_SCANCODE_V] = KEY_V, - [SDL_SCANCODE_W] = KEY_W, - [SDL_SCANCODE_X] = KEY_X, - [SDL_SCANCODE_Y] = KEY_Y, - [SDL_SCANCODE_Z] = KEY_Z, - + [SDL_SCANCODE_ESCAPE] = KEY_ESC, [SDL_SCANCODE_1] = KEY_1, [SDL_SCANCODE_2] = KEY_2, [SDL_SCANCODE_3] = KEY_3, @@ -209,25 +183,53 @@ static const unsigned short sdl_to_keycode[SDL_NUM_SCANCODES] = { [SDL_SCANCODE_8] = KEY_8, [SDL_SCANCODE_9] = KEY_9, [SDL_SCANCODE_0] = KEY_0, - - [SDL_SCANCODE_RETURN] = KEY_ENTER, - [SDL_SCANCODE_ESCAPE] = KEY_ESC, - [SDL_SCANCODE_BACKSPACE] = KEY_BACKSPACE, - [SDL_SCANCODE_TAB] = KEY_TAB, - [SDL_SCANCODE_SPACE] = KEY_SPACE, - [SDL_SCANCODE_MINUS] = KEY_MINUS, [SDL_SCANCODE_EQUALS] = KEY_EQUAL, - [SDL_SCANCODE_BACKSLASH] = KEY_BACKSLASH, + [SDL_SCANCODE_BACKSPACE] = KEY_BACKSPACE, + [SDL_SCANCODE_TAB] = KEY_TAB, + [SDL_SCANCODE_Q] = KEY_Q, + [SDL_SCANCODE_W] = KEY_W, + [SDL_SCANCODE_E] = KEY_E, + [SDL_SCANCODE_R] = KEY_R, + [SDL_SCANCODE_T] = KEY_T, + [SDL_SCANCODE_Y] = KEY_Y, + [SDL_SCANCODE_U] = KEY_U, + [SDL_SCANCODE_I] = KEY_I, + [SDL_SCANCODE_O] = KEY_O, + [SDL_SCANCODE_P] = KEY_P, + [SDL_SCANCODE_LEFTBRACKET] = KEY_LEFTBRACE, + [SDL_SCANCODE_RIGHTBRACKET] = KEY_RIGHTBRACE, + [SDL_SCANCODE_RETURN] = KEY_ENTER, + [SDL_SCANCODE_LCTRL] = KEY_LEFTCTRL, + [SDL_SCANCODE_A] = KEY_A, + [SDL_SCANCODE_S] = KEY_S, + [SDL_SCANCODE_D] = KEY_D, + [SDL_SCANCODE_F] = KEY_F, + [SDL_SCANCODE_G] = KEY_G, + [SDL_SCANCODE_H] = KEY_H, + [SDL_SCANCODE_J] = KEY_J, + [SDL_SCANCODE_K] = KEY_K, + [SDL_SCANCODE_L] = KEY_L, [SDL_SCANCODE_SEMICOLON] = KEY_SEMICOLON, [SDL_SCANCODE_APOSTROPHE] = KEY_APOSTROPHE, [SDL_SCANCODE_GRAVE] = KEY_GRAVE, + [SDL_SCANCODE_LSHIFT] = KEY_LEFTSHIFT, + [SDL_SCANCODE_BACKSLASH] = KEY_BACKSLASH, + [SDL_SCANCODE_Z] = KEY_Z, + [SDL_SCANCODE_X] = KEY_X, + [SDL_SCANCODE_C] = KEY_C, + [SDL_SCANCODE_V] = KEY_V, + [SDL_SCANCODE_B] = KEY_B, + [SDL_SCANCODE_N] = KEY_N, + [SDL_SCANCODE_M] = KEY_M, [SDL_SCANCODE_COMMA] = KEY_COMMA, [SDL_SCANCODE_PERIOD] = KEY_DOT, [SDL_SCANCODE_SLASH] = KEY_SLASH, - + [SDL_SCANCODE_RSHIFT] = KEY_RIGHTSHIFT, + [SDL_SCANCODE_KP_MULTIPLY] = KEY_KPASTERISK, + [SDL_SCANCODE_LALT] = KEY_LEFTALT, + [SDL_SCANCODE_SPACE] = KEY_SPACE, [SDL_SCANCODE_CAPSLOCK] = KEY_CAPSLOCK, - [SDL_SCANCODE_F1] = KEY_F1, [SDL_SCANCODE_F2] = KEY_F2, [SDL_SCANCODE_F3] = KEY_F3, @@ -238,45 +240,65 @@ static const unsigned short sdl_to_keycode[SDL_NUM_SCANCODES] = { [SDL_SCANCODE_F8] = KEY_F8, [SDL_SCANCODE_F9] = KEY_F9, [SDL_SCANCODE_F10] = KEY_F10, - [SDL_SCANCODE_F11] = KEY_F11, - [SDL_SCANCODE_F12] = KEY_F12, - - [SDL_SCANCODE_PRINTSCREEN] = KEY_PRINT, - [SDL_SCANCODE_SCROLLLOCK] = KEY_SCROLLLOCK, - [SDL_SCANCODE_PAUSE] = KEY_PAUSE, - [SDL_SCANCODE_INSERT] = KEY_INSERT, - [SDL_SCANCODE_HOME] = KEY_HOME, - [SDL_SCANCODE_PAGEUP] = KEY_PAGEUP, - [SDL_SCANCODE_DELETE] = KEY_DELETE, - [SDL_SCANCODE_END] = KEY_END, - [SDL_SCANCODE_PAGEDOWN] = KEY_PAGEDOWN, - [SDL_SCANCODE_RIGHT] = KEY_RIGHT, - [SDL_SCANCODE_LEFT] = KEY_LEFT, - [SDL_SCANCODE_DOWN] = KEY_DOWN, - [SDL_SCANCODE_UP] = KEY_UP, - [SDL_SCANCODE_NUMLOCKCLEAR] = KEY_NUMLOCK, - [SDL_SCANCODE_KP_DIVIDE] = KEY_KPSLASH, - [SDL_SCANCODE_KP_MULTIPLY] = KEY_KPASTERISK, + [SDL_SCANCODE_SCROLLLOCK] = KEY_SCROLLLOCK, + [SDL_SCANCODE_KP_7] = KEY_KP7, + [SDL_SCANCODE_KP_8] = KEY_KP8, + [SDL_SCANCODE_KP_9] = KEY_KP9, [SDL_SCANCODE_KP_MINUS] = KEY_KPMINUS, + [SDL_SCANCODE_KP_4] = KEY_KP4, + [SDL_SCANCODE_KP_5] = KEY_KP5, + [SDL_SCANCODE_KP_6] = KEY_KP6, [SDL_SCANCODE_KP_PLUS] = KEY_KPPLUS, - [SDL_SCANCODE_KP_ENTER] = KEY_KPENTER, [SDL_SCANCODE_KP_1] = KEY_KP1, [SDL_SCANCODE_KP_2] = KEY_KP2, [SDL_SCANCODE_KP_3] = KEY_KP3, - [SDL_SCANCODE_KP_4] = KEY_KP4, - [SDL_SCANCODE_KP_5] = KEY_KP5, - [SDL_SCANCODE_KP_6] = KEY_KP6, - [SDL_SCANCODE_KP_7] = KEY_KP7, - [SDL_SCANCODE_KP_8] = KEY_KP8, - [SDL_SCANCODE_KP_9] = KEY_KP9, [SDL_SCANCODE_KP_0] = KEY_KP0, [SDL_SCANCODE_KP_PERIOD] = KEY_KPDOT, - - [SDL_SCANCODE_KP_EQUALS] = KEY_KPEQUAL, - [SDL_SCANCODE_KP_COMMA] = KEY_KPCOMMA, - + /* key 84 does not exist linux_input.h */ + [SDL_SCANCODE_LANG5] = KEY_ZENKAKUHANKAKU, + [SDL_SCANCODE_NONUSBACKSLASH] = KEY_102ND, + [SDL_SCANCODE_F11] = KEY_F11, + [SDL_SCANCODE_F12] = KEY_F12, + [SDL_SCANCODE_INTERNATIONAL1] = KEY_RO, + [SDL_SCANCODE_LANG3] = KEY_KATAKANA, + [SDL_SCANCODE_LANG4] = KEY_HIRAGANA, + [SDL_SCANCODE_INTERNATIONAL4] = KEY_HENKAN, + [SDL_SCANCODE_INTERNATIONAL2] = KEY_KATAKANAHIRAGANA, + [SDL_SCANCODE_INTERNATIONAL5] = KEY_MUHENKAN, + /* [SDL_SCANCODE_INTERNATIONAL5] -> [KEY_KPJPCOMMA] */ + [SDL_SCANCODE_KP_ENTER] = KEY_KPENTER, + [SDL_SCANCODE_RCTRL] = KEY_RIGHTCTRL, + [SDL_SCANCODE_KP_DIVIDE] = KEY_KPSLASH, [SDL_SCANCODE_SYSREQ] = KEY_SYSRQ, + [SDL_SCANCODE_RALT] = KEY_RIGHTALT, + /* KEY_LINEFEED */ + [SDL_SCANCODE_HOME] = KEY_HOME, + [SDL_SCANCODE_UP] = KEY_UP, + [SDL_SCANCODE_PAGEUP] = KEY_PAGEUP, + [SDL_SCANCODE_LEFT] = KEY_LEFT, + [SDL_SCANCODE_RIGHT] = KEY_RIGHT, + [SDL_SCANCODE_END] = KEY_END, + [SDL_SCANCODE_DOWN] = KEY_DOWN, + [SDL_SCANCODE_PAGEDOWN] = KEY_PAGEDOWN, + [SDL_SCANCODE_INSERT] = KEY_INSERT, + [SDL_SCANCODE_DELETE] = KEY_DELETE, + /* KEY_MACRO */ + [SDL_SCANCODE_MUTE] = KEY_MUTE, + [SDL_SCANCODE_VOLUMEDOWN] = KEY_VOLUMEDOWN, + [SDL_SCANCODE_VOLUMEUP] = KEY_VOLUMEUP, + [SDL_SCANCODE_POWER] = KEY_POWER, + [SDL_SCANCODE_KP_EQUALS] = KEY_KPEQUAL, + [SDL_SCANCODE_KP_PLUSMINUS] = KEY_KPPLUSMINUS, + [SDL_SCANCODE_PAUSE] = KEY_PAUSE, + /* KEY_SCALE */ + [SDL_SCANCODE_KP_COMMA] = KEY_KPCOMMA, + [SDL_SCANCODE_LANG1] = KEY_HANGUEL, + [SDL_SCANCODE_LANG2] = KEY_HANJA, + [SDL_SCANCODE_INTERNATIONAL3] = KEY_YEN, + [SDL_SCANCODE_LGUI] = KEY_LEFTMETA, + [SDL_SCANCODE_RGUI] = KEY_RIGHTMETA, + [SDL_SCANCODE_APPLICATION] = KEY_COMPOSE, }; int sandbox_sdl_scan_keys(int key[], int max_keys) -- 2.39.5