QUASI88 for IS11T その2

使い易いようにキーボード入力の調整をします。

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