使い易いようにキーボード入力の調整をします。
SDL_androidkeyboard.c
if (scancode == SDL_SCANCODE_UNKNOWN) { __android_log_print(ANDROID_LOG_INFO, "SDL", "Unknown keycode %d", keycode); if (keycode==356) scancode = SDL_SCANCODE_AC_HOME; else if (keycode==351) scancode = SDL_SCANCODE_TAB; else scancode = SDL_SCANCODE_SLASH; }
event.c
static int now_alt = 0; /*---------------------------------------------------------------------- * SDLK_xxx → KEY88_xxx 変換テーブル (デフォルト) *----------------------------------------------------------------------*/ static const int keysym2key88_default[ SDLK_LAST ] = { 0, /* SDLK_UNKNOWN = 0, */ 0, 0, 0, 0, 0, 0, 0, KEY88_INS_DEL, /* SDLK_BACKSPACE = 8, */ // KEY88_TAB, /* SDLK_TAB = 9, */ KEY88_F12, (省略) // KEY88_SLASH, /* SDLK_SLASH = 47, */ KEY88_F6, /* SDLK_F6 = 287, */ (省略) // KEY88_KP_MULTIPLY, /* SDLK_KP_MULTIPLY = 268, */ KEY88_F5, // KEY88_KP_SUB, /* SDLK_KP_MINUS = 269, */ KEY88_STOP, // KEY88_KP_ADD, /* SDLK_KP_PLUS = 270, */ KEY88_ESC, (省略) const T_REMAPPING remapping_x11_106[] = { #ifdef _IS01 { 1, SDLK_v, KEY88_v, }, { 2, 1073742049, KEY88_SHIFTL, }, { 2, 1073741903, KEY88_RIGHT, }, { 2, 1073741905, KEY88_DOWN, }, { 2, 1073741904, KEY88_LEFT, }, { 2, 1073741906, KEY88_UP, }, { 2, 1073741942, KEY88_SYS_MENU, }, #else { 1, SDLK_LSUPER, KEY88_KANA, }, { 1, SDLK_RALT, KEY88_ZENKAKU, }, /*{ 1, SDLK_RCTRL, KEY88_UNDERSCORE, },*/ { 1, SDLK_MENU, KEY88_SYS_MENU, }, { 2, 49, KEY88_ZENKAKU, }, /* 半角全角 */ { 2, 133, KEY88_YEN, }, /* \ | */ { 2, 123, KEY88_UNDERSCORE, }, /* \ _ ロ */ { 2, 131, KEY88_KETTEI, }, { 2, 129, KEY88_HENKAN, }, { 2, 120, KEY88_KANA, }, /* カタひら */ #endif { 0, 0, 0, }, }; (省略) case SDL_KEYDOWN: /*------------------------------------------*/ case SDL_KEYUP: keysym = E.key.keysym.sym; #ifdef _IS01 if (keysym==SDLK_LALT) now_alt++; if (now_alt) { if (keysym==SDLK_q) keysym=SDLK_1; if (keysym==SDLK_w) keysym=SDLK_2; if (keysym==SDLK_e) keysym=SDLK_3; if (keysym==SDLK_r) keysym=SDLK_4; if (keysym==SDLK_t) keysym=SDLK_5; if (keysym==SDLK_y) keysym=SDLK_6; if (keysym==SDLK_u) keysym=SDLK_7; if (keysym==SDLK_i) keysym=SDLK_8; if (keysym==SDLK_o) keysym=SDLK_9; if (keysym==SDLK_p) keysym=SDLK_0; if (now_alt > 1) now_alt=0; } #endif