QUASI88 for IS11T その3

使い易いように起動オプションも調整します。数字キーは[ALT]+[q]~[p]です。

[文字][F6]ローマ字入力

[MENU][MENU]メニュー

[←][ESC]戻る

[COPY][F12]終了

[Del][STOP]

[→][F1]

[↓][F2]

[←][F3]

[↑][F4]

[検索][F5]

SDL_android_main.cpp

// Start up the SDL app
extern "C" void Java_org_libsdl_app_SDLActivity_nativeInit(JNIEnv* env, jclass cls, jobject obj)
{
    /* This interface could expand with ABI negotiation, calbacks, etc. */
    SDL_Android_Init(env, cls);

    /* Run the application code! */
    int status;
    char *argv[9];
    argv[0] = strdup("SDL_app");
    argv[1] = strdup("-utf8");
    argv[2] = strdup("-f6");
    argv[3] = strdup("ROMAJI");
    argv[4] = strdup("-snapdir");
    argv[5] = strdup("/sdcard/QUASI88");
    argv[6] = strdup("-statedir");
    argv[7] = strdup("/sdcard/QUASI88");
    argv[8] = NULL;
    status = SDL_main(8, argv);

    /* We exit here for consistency with other platforms. */
    exit(status);
}

カーソルキーにファンクションキーを割り当てます。

keyboard.c

int	cursor_key_assign[4] =		/*     0:なし 1:テンキー 2:任意 */
{
  KEY88_F4, KEY88_F2, KEY88_F3, KEY88_F1,
};

アプリケーション終了時に自動的にステートセーブする。

SDLActivity.java

    // C functions we call
    public static native void nativeStateSave();
    public static native void nativeInit();
    public static native void nativeQuit();
(省略)
    // Events
    protected void onPause() {
        //Log.v("SDL", "onPause()");
        super.onPause();
      	nativeStateSave();
    }

suspend.c

/************************************************************************/
/*									*/
/* サスペンド、レジューム処理						*/
/*									*/
/*									*/
/*									*/
/************************************************************************/
#include <jni.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
(省略)
void Java_org_libsdl_app_SDLActivity_nativeStateSave(JNIEnv* env, jclass cls, jobject obj)
{
	statesave();
}