使い易いように起動オプションも調整します。数字キーは[ALT]+[q]~[p]です。
[文字][F6]ローマ字入力
[MENU][MENU]メニュー
[←][ESC]戻る
[COPY][F12]終了
[Del][STOP]
[→][F1]
[↓][F2]
[←][F3]
[↑][F4]
[検索][F5]
// 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(); }