New multitouch API for SDL 1.2
This commit is contained in:
@@ -1 +1 @@
|
||||
test32bpp
|
||||
testmultitouch
|
||||
@@ -28,7 +28,7 @@ RedefinedKeys="SPACE RETURN NO_REMAP NO_REMAP SPACE ESCAPE"
|
||||
AppTouchscreenKeyboardKeysAmount=0
|
||||
AppTouchscreenKeyboardKeysAmountAutoFire=0
|
||||
RedefinedKeysScreenKb="1 2 3 4 5 6 1 2 3 4"
|
||||
StartupMenuButtonTimeout=3000
|
||||
StartupMenuButtonTimeout=0
|
||||
HiddenMenuOptions='OptionalDownloadConfig'
|
||||
FirstStartMenuOptions=''
|
||||
MultiABI=n
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
|
||||
#include <android/log.h>
|
||||
#include "SDL.h"
|
||||
|
||||
@@ -8,16 +7,16 @@ int main(int argc, char* argv[])
|
||||
SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_JOYSTICK);
|
||||
SDL_Surface * screen = SDL_SetVideoMode(640, 480, 16, 0);
|
||||
|
||||
enum { MAX_POINTERS = 16, PTR_PRESSED = 4 };
|
||||
int touchPointers[MAX_POINTERS][5];
|
||||
int accel[5];
|
||||
enum { MAX_POINTERS = 16 };
|
||||
// some random colors
|
||||
int colors[MAX_POINTERS] = { 0xaaaaaa, 0xffffff, 0x888888, 0xcccccc, 0x666666, 0x999999, 0xdddddd, 0xeeeeee, 0xaaaaaa, 0xffffff, 0x888888, 0xcccccc, 0x666666, 0x999999, 0xdddddd, 0xeeeeee };
|
||||
struct TouchPointer_t { int x; int y; int pressure; int pressed; } touchPointers[MAX_POINTERS];
|
||||
int accel[3]; // Only first 2 coords are used
|
||||
int i;
|
||||
|
||||
memset(touchPointers, 0, sizeof(touchPointers));
|
||||
memset(accel, 0, sizeof(accel));
|
||||
SDL_Joystick * joysticks[MAX_POINTERS+1];
|
||||
for(i=0; i<MAX_POINTERS; i++)
|
||||
joysticks[i] = SDL_JoystickOpen(i);
|
||||
SDL_Joystick * joystick = SDL_JoystickOpen(i);
|
||||
|
||||
while(1)
|
||||
{
|
||||
@@ -26,20 +25,24 @@ int main(int argc, char* argv[])
|
||||
{
|
||||
if( evt.type == SDL_JOYAXISMOTION )
|
||||
{
|
||||
if( evt.jaxis.which == 0 ) // 0 = The accelerometer
|
||||
if(evt.jaxis.axis < 3)
|
||||
accel[evt.jaxis.axis] = evt.jaxis.value; // Those events are spammy, don't log them
|
||||
else
|
||||
{
|
||||
accel[evt.jaxis.axis] = evt.jaxis.value;
|
||||
continue;
|
||||
__android_log_print(ANDROID_LOG_INFO, "Multitouch", "SDL_JOYAXISMOTION %d value %06d", (int)evt.jaxis.axis, (int)evt.jaxis.value );
|
||||
touchPointers[evt.jaxis.axis-3].pressure = evt.jaxis.value;
|
||||
}
|
||||
int joyid = evt.jaxis.which - 1;
|
||||
touchPointers[joyid][evt.jaxis.axis] = evt.jaxis.value; // Axis 0 and 1 are coordinates, 2 and 3 are pressure and touch point radius
|
||||
}
|
||||
if( evt.type == SDL_JOYBUTTONDOWN || evt.type == SDL_JOYBUTTONUP )
|
||||
{
|
||||
if( evt.jbutton.which == 0 ) // 0 = The accelerometer
|
||||
continue;
|
||||
int joyid = evt.jbutton.which - 1;
|
||||
touchPointers[joyid][PTR_PRESSED] = (evt.jbutton.state == SDL_PRESSED);
|
||||
__android_log_print(ANDROID_LOG_INFO, "Multitouch", "SDL_JOYBUTTON %d value %d", (int)evt.jbutton.button, (int)evt.jbutton.state );
|
||||
touchPointers[evt.jbutton.button].pressed = (evt.jbutton.state == SDL_PRESSED);
|
||||
}
|
||||
if( evt.type == SDL_JOYBALLMOTION )
|
||||
{
|
||||
__android_log_print(ANDROID_LOG_INFO, "Multitouch", "SDL_JOYBALLMOTION %d %06d:%06d", (int)evt.jball.ball, (int)evt.jball.xrel, (int)evt.jball.yrel );
|
||||
touchPointers[evt.jball.ball].x = evt.jball.xrel;
|
||||
touchPointers[evt.jball.ball].y = evt.jball.yrel;
|
||||
}
|
||||
if(evt.type == SDL_KEYDOWN && evt.key.keysym.sym == SDLK_ESCAPE)
|
||||
return 0;
|
||||
@@ -48,24 +51,23 @@ int main(int argc, char* argv[])
|
||||
SDL_Rect r;
|
||||
for(i=0; i<MAX_POINTERS; i++)
|
||||
{
|
||||
if( !touchPointers[i][PTR_PRESSED] )
|
||||
if( !touchPointers[i].pressed )
|
||||
continue;
|
||||
r.x = touchPointers[i][0];
|
||||
r.y = touchPointers[i][1];
|
||||
r.w = 80 + touchPointers[i][2] / 10; // Pressure
|
||||
r.h = 80 + touchPointers[i][3] / 10; // Touch point size
|
||||
r.x = touchPointers[i].x;
|
||||
r.y = touchPointers[i].y;
|
||||
r.w = 50 + touchPointers[i].pressure / 5;
|
||||
r.h = 50 + touchPointers[i].pressure / 5;
|
||||
r.x -= r.w/2;
|
||||
r.y -= r.h/2;
|
||||
SDL_FillRect(screen, &r, 0xffffff);
|
||||
SDL_FillRect(screen, &r, colors[i]);
|
||||
}
|
||||
r.x = 320 + accel[0] / 100;
|
||||
r.y = 240 + accel[1] / 100;
|
||||
r.w = 10 + abs(accel[2]);
|
||||
r.w = 10;
|
||||
r.h = 10;
|
||||
r.x -= r.w/2;
|
||||
r.y -= r.h/2;
|
||||
__android_log_print(ANDROID_LOG_INFO, "Example", "Accelerometer %06d %06d %06d", accel[0], accel[1], accel[2]);
|
||||
SDL_FillRect(screen, &r, 0xaaaaaa);
|
||||
SDL_FillRect(screen, &r, 0xffffff);
|
||||
SDL_Flip(screen);
|
||||
}
|
||||
return 0;
|
||||
|
||||
1
project/jni/sdl-1.2/src/video/android/keymap.c
Symbolic link
1
project/jni/sdl-1.2/src/video/android/keymap.c
Symbolic link
@@ -0,0 +1 @@
|
||||
../../../../sdl-1.3/src/video/android/keymap.c
|
||||
@@ -437,14 +437,22 @@ JAVA_EXPORT_NAME(DemoGLSurfaceView_nativeMouse) ( JNIEnv* env, jobject thiz, j
|
||||
SDL_ANDROID_MainThreadPushMultitouchButton(pointerId, action == MOUSE_DOWN ? 1 : 0, x, y, force*radius / 16);
|
||||
#endif
|
||||
|
||||
// The old, bad, deprecated, but still used multitouch API
|
||||
if( action == MOUSE_DOWN )
|
||||
SDL_ANDROID_MainThreadPushJoystickButton(pointerId+1, 0, SDL_PRESSED);
|
||||
SDL_ANDROID_MainThreadPushJoystickAxis(pointerId+1, 0, x);
|
||||
SDL_ANDROID_MainThreadPushJoystickAxis(pointerId+1, 1, y);
|
||||
SDL_ANDROID_MainThreadPushJoystickAxis(pointerId+1, 2, force);
|
||||
SDL_ANDROID_MainThreadPushJoystickAxis(pointerId+1, 3, radius);
|
||||
if( action == MOUSE_DOWN )
|
||||
SDL_ANDROID_MainThreadPushJoystickButton(pointerId+1, 0, SDL_PRESSED);
|
||||
if( action == MOUSE_UP )
|
||||
SDL_ANDROID_MainThreadPushJoystickButton(pointerId+1, 0, SDL_RELEASED);
|
||||
// The new, good, clean multitouch API, which is using only the first joystick, and sending both X and Y coords simultaneously in one event
|
||||
if( action == MOUSE_DOWN )
|
||||
SDL_ANDROID_MainThreadPushJoystickButton(0, pointerId, SDL_PRESSED);
|
||||
SDL_ANDROID_MainThreadPushJoystickBall(0, pointerId, x, y);
|
||||
SDL_ANDROID_MainThreadPushJoystickAxis(0, pointerId+3, force + radius); // Radius is more sensitive usually
|
||||
if( action == MOUSE_UP )
|
||||
SDL_ANDROID_MainThreadPushJoystickButton(0, pointerId, SDL_RELEASED);
|
||||
}
|
||||
if( !isMouseUsed && !SDL_ANDROID_isTouchscreenKeyboardUsed )
|
||||
{
|
||||
@@ -807,7 +815,6 @@ JAVA_EXPORT_NAME(AccelerometerReader_nativeAccelerometer) ( JNIEnv* env, jobjec
|
||||
if(normal <= 0.0000001f)
|
||||
normal = 0.00001f;
|
||||
|
||||
|
||||
updateOrientation (accPosX/normal, accPosY/normal, 0.0f);
|
||||
}
|
||||
|
||||
@@ -1241,11 +1248,19 @@ const char *SDL_SYS_JoystickName(int index)
|
||||
*/
|
||||
int SDL_SYS_JoystickOpen(SDL_Joystick *joystick)
|
||||
{
|
||||
joystick->nbuttons = 0; // Ignored
|
||||
joystick->nbuttons = 0;
|
||||
joystick->nhats = 0;
|
||||
joystick->nballs = 0;
|
||||
if( joystick->index == 0 )
|
||||
{
|
||||
joystick->naxes = 3;
|
||||
if(isMultitouchUsed)
|
||||
{
|
||||
joystick->naxes = 3 + MAX_MULTITOUCH_POINTERS; // Accelerometer/orientation, plus touch pressure/size
|
||||
joystick->nbuttons = MAX_MULTITOUCH_POINTERS;
|
||||
joystick->nballs = MAX_MULTITOUCH_POINTERS;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
joystick->naxes = 4;
|
||||
@@ -1348,6 +1363,10 @@ extern void SDL_ANDROID_PumpEvents()
|
||||
if( ev.jbutton.which < MAX_MULTITOUCH_POINTERS+1 && SDL_ANDROID_CurrentJoysticks[ev.jbutton.which] )
|
||||
SDL_PrivateJoystickButton( SDL_ANDROID_CurrentJoysticks[ev.jbutton.which], ev.jbutton.button, ev.jbutton.state );
|
||||
break;
|
||||
case SDL_JOYBALLMOTION:
|
||||
if( ev.jball.which < MAX_MULTITOUCH_POINTERS+1 && SDL_ANDROID_CurrentJoysticks[ev.jbutton.which] )
|
||||
SDL_PrivateJoystickBall( SDL_ANDROID_CurrentJoysticks[ev.jball.which], ev.jball.ball, ev.jball.xrel, ev.jball.yrel );
|
||||
break;
|
||||
#if SDL_VERSION_ATLEAST(1,3,0)
|
||||
case SDL_FINGERMOTION:
|
||||
SDL_SendTouchMotion(0, ev.tfinger.fingerId, 0, (float)ev.tfinger.x / (float)window->w, (float)ev.tfinger.y / (float)window->h, ev.tfinger.pressure);
|
||||
@@ -1579,6 +1598,26 @@ extern void SDL_ANDROID_MainThreadPushJoystickButton(int joy, int button, int pr
|
||||
BufferedEventsEnd = nextEvent;
|
||||
SDL_mutexV(BufferedEventsMutex);
|
||||
};
|
||||
extern void SDL_ANDROID_MainThreadPushJoystickBall(int joy, int ball, int x, int y)
|
||||
{
|
||||
if( ! ( joy < MAX_MULTITOUCH_POINTERS+1 && SDL_ANDROID_CurrentJoysticks[joy] ) )
|
||||
return;
|
||||
|
||||
int nextEvent = getNextEventAndLock();
|
||||
if( nextEvent == -1 )
|
||||
return;
|
||||
|
||||
SDL_Event * ev = &BufferedEvents[BufferedEventsEnd];
|
||||
|
||||
ev->type = SDL_JOYBALLMOTION;
|
||||
ev->jball.which = joy;
|
||||
ev->jball.ball = ball;
|
||||
ev->jball.xrel = x;
|
||||
ev->jball.yrel = y;
|
||||
|
||||
BufferedEventsEnd = nextEvent;
|
||||
SDL_mutexV(BufferedEventsMutex);
|
||||
}
|
||||
extern void SDL_ANDROID_MainThreadPushMultitouchButton(int id, int pressed, int x, int y, int force)
|
||||
{
|
||||
#if SDL_VERSION_ATLEAST(1,3,0)
|
||||
@@ -1938,237 +1977,5 @@ int SDL_ANDROID_GetScreenKeyboardRedefinedByUser()
|
||||
JNIEXPORT void JNICALL
|
||||
JAVA_EXPORT_NAME(Settings_nativeInitKeymap) ( JNIEnv* env, jobject thiz )
|
||||
{
|
||||
int i;
|
||||
SDLKey * keymap = SDL_android_keymap;
|
||||
|
||||
for (i=0; i<SDL_arraysize(SDL_android_keymap); ++i)
|
||||
SDL_android_keymap[i] = SDL_KEY(UNKNOWN);
|
||||
|
||||
keymap[KEYCODE_UNKNOWN] = SDL_KEY(UNKNOWN);
|
||||
|
||||
keymap[KEYCODE_BACK] = SDL_KEY(SDL_KEY_VAL(SDL_ANDROID_KEYCODE_5));
|
||||
|
||||
keymap[KEYCODE_MENU] = SDL_KEY(SDL_KEY_VAL(SDL_ANDROID_KEYCODE_4));
|
||||
|
||||
keymap[KEYCODE_DPAD_CENTER] = SDL_KEY(SDL_KEY_VAL(SDL_ANDROID_KEYCODE_1));
|
||||
keymap[KEYCODE_SEARCH] = SDL_KEY(SDL_KEY_VAL(SDL_ANDROID_KEYCODE_7));
|
||||
|
||||
keymap[KEYCODE_VOLUME_UP] = SDL_KEY(SDL_KEY_VAL(SDL_ANDROID_KEYCODE_2));
|
||||
keymap[KEYCODE_VOLUME_DOWN] = SDL_KEY(SDL_KEY_VAL(SDL_ANDROID_KEYCODE_3));
|
||||
|
||||
keymap[KEYCODE_HOME] = SDL_KEY(HOME); // Cannot be used in application
|
||||
|
||||
// On some devices pressing Camera key will generate Camera keyevent, but releasing it will generate Focus keyevent.
|
||||
keymap[KEYCODE_CAMERA] = SDL_KEY(SDL_KEY_VAL(SDL_ANDROID_KEYCODE_6));
|
||||
keymap[KEYCODE_FOCUS] = SDL_KEY(SDL_KEY_VAL(SDL_ANDROID_KEYCODE_6));
|
||||
|
||||
keymap[KEYCODE_CALL] = SDL_KEY(TAB);
|
||||
|
||||
keymap[KEYCODE_0] = SDL_KEY(0);
|
||||
keymap[KEYCODE_1] = SDL_KEY(1);
|
||||
keymap[KEYCODE_2] = SDL_KEY(2);
|
||||
keymap[KEYCODE_3] = SDL_KEY(3);
|
||||
keymap[KEYCODE_4] = SDL_KEY(4);
|
||||
keymap[KEYCODE_5] = SDL_KEY(5);
|
||||
keymap[KEYCODE_6] = SDL_KEY(6);
|
||||
keymap[KEYCODE_7] = SDL_KEY(7);
|
||||
keymap[KEYCODE_8] = SDL_KEY(8);
|
||||
keymap[KEYCODE_9] = SDL_KEY(9);
|
||||
keymap[KEYCODE_STAR] = SDL_KEY(KP_DIVIDE);
|
||||
keymap[KEYCODE_POUND] = SDL_KEY(KP_MULTIPLY);
|
||||
|
||||
keymap[KEYCODE_DPAD_UP] = SDL_KEY(UP);
|
||||
keymap[KEYCODE_DPAD_DOWN] = SDL_KEY(DOWN);
|
||||
keymap[KEYCODE_DPAD_LEFT] = SDL_KEY(LEFT);
|
||||
keymap[KEYCODE_DPAD_RIGHT] = SDL_KEY(RIGHT);
|
||||
|
||||
keymap[KEYCODE_SOFT_LEFT] = SDL_KEY(KP_4);
|
||||
keymap[KEYCODE_SOFT_RIGHT] = SDL_KEY(KP_6);
|
||||
keymap[KEYCODE_ENTER] = SDL_KEY(RETURN); //SDL_KEY(KP_ENTER);
|
||||
|
||||
|
||||
keymap[KEYCODE_CLEAR] = SDL_KEY(BACKSPACE);
|
||||
keymap[KEYCODE_A] = SDL_KEY(A);
|
||||
keymap[KEYCODE_B] = SDL_KEY(B);
|
||||
keymap[KEYCODE_C] = SDL_KEY(C);
|
||||
keymap[KEYCODE_D] = SDL_KEY(D);
|
||||
keymap[KEYCODE_E] = SDL_KEY(E);
|
||||
keymap[KEYCODE_F] = SDL_KEY(F);
|
||||
keymap[KEYCODE_G] = SDL_KEY(G);
|
||||
keymap[KEYCODE_H] = SDL_KEY(H);
|
||||
keymap[KEYCODE_I] = SDL_KEY(I);
|
||||
keymap[KEYCODE_J] = SDL_KEY(J);
|
||||
keymap[KEYCODE_K] = SDL_KEY(K);
|
||||
keymap[KEYCODE_L] = SDL_KEY(L);
|
||||
keymap[KEYCODE_M] = SDL_KEY(M);
|
||||
keymap[KEYCODE_N] = SDL_KEY(N);
|
||||
keymap[KEYCODE_O] = SDL_KEY(O);
|
||||
keymap[KEYCODE_P] = SDL_KEY(P);
|
||||
keymap[KEYCODE_Q] = SDL_KEY(Q);
|
||||
keymap[KEYCODE_R] = SDL_KEY(R);
|
||||
keymap[KEYCODE_S] = SDL_KEY(S);
|
||||
keymap[KEYCODE_T] = SDL_KEY(T);
|
||||
keymap[KEYCODE_U] = SDL_KEY(U);
|
||||
keymap[KEYCODE_V] = SDL_KEY(V);
|
||||
keymap[KEYCODE_W] = SDL_KEY(W);
|
||||
keymap[KEYCODE_X] = SDL_KEY(X);
|
||||
keymap[KEYCODE_Y] = SDL_KEY(Y);
|
||||
keymap[KEYCODE_Z] = SDL_KEY(Z);
|
||||
keymap[KEYCODE_COMMA] = SDL_KEY(COMMA);
|
||||
keymap[KEYCODE_PERIOD] = SDL_KEY(PERIOD);
|
||||
keymap[KEYCODE_TAB] = SDL_KEY(TAB);
|
||||
keymap[KEYCODE_SPACE] = SDL_KEY(SPACE);
|
||||
keymap[KEYCODE_DEL] = SDL_KEY(DELETE);
|
||||
keymap[KEYCODE_GRAVE] = SDL_KEY(GRAVE);
|
||||
keymap[KEYCODE_MINUS] = SDL_KEY(KP_MINUS);
|
||||
keymap[KEYCODE_PLUS] = SDL_KEY(KP_PLUS);
|
||||
keymap[KEYCODE_EQUALS] = SDL_KEY(EQUALS);
|
||||
keymap[KEYCODE_LEFT_BRACKET] = SDL_KEY(LEFTBRACKET);
|
||||
keymap[KEYCODE_RIGHT_BRACKET] = SDL_KEY(RIGHTBRACKET);
|
||||
keymap[KEYCODE_BACKSLASH] = SDL_KEY(BACKSLASH);
|
||||
keymap[KEYCODE_SEMICOLON] = SDL_KEY(SEMICOLON);
|
||||
keymap[KEYCODE_APOSTROPHE] = SDL_KEY(APOSTROPHE);
|
||||
keymap[KEYCODE_SLASH] = SDL_KEY(SLASH);
|
||||
keymap[KEYCODE_AT] = SDL_KEY(KP_PERIOD);
|
||||
|
||||
keymap[KEYCODE_MEDIA_PLAY_PAUSE] = SDL_KEY(KP_2);
|
||||
keymap[KEYCODE_MEDIA_STOP] = SDL_KEY(HELP);
|
||||
keymap[KEYCODE_MEDIA_NEXT] = SDL_KEY(KP_8);
|
||||
keymap[KEYCODE_MEDIA_PREVIOUS] = SDL_KEY(KP_5);
|
||||
keymap[KEYCODE_MEDIA_REWIND] = SDL_KEY(KP_1);
|
||||
keymap[KEYCODE_MEDIA_FAST_FORWARD] = SDL_KEY(KP_3);
|
||||
keymap[KEYCODE_MUTE] = SDL_KEY(KP_0);
|
||||
|
||||
keymap[KEYCODE_SYM] = SDL_KEY(LGUI);
|
||||
keymap[KEYCODE_NUM] = SDL_KEY(NUMLOCKCLEAR);
|
||||
|
||||
keymap[KEYCODE_ALT_LEFT] = SDL_KEY(KP_7);
|
||||
keymap[KEYCODE_ALT_RIGHT] = SDL_KEY(KP_9);
|
||||
|
||||
keymap[KEYCODE_SHIFT_LEFT] = SDL_KEY(F1);
|
||||
keymap[KEYCODE_SHIFT_RIGHT] = SDL_KEY(F2);
|
||||
|
||||
keymap[KEYCODE_EXPLORER] = SDL_KEY(F3);
|
||||
keymap[KEYCODE_ENVELOPE] = SDL_KEY(F4);
|
||||
|
||||
keymap[KEYCODE_HEADSETHOOK] = SDL_KEY(F5);
|
||||
keymap[KEYCODE_NOTIFICATION] = SDL_KEY(F6);
|
||||
|
||||
// Cannot be received by application, OS internal
|
||||
keymap[KEYCODE_ENDCALL] = SDL_KEY(LSHIFT);
|
||||
keymap[KEYCODE_POWER] = SDL_KEY(RALT);
|
||||
|
||||
keymap[KEYCODE_PAGE_UP] = SDL_KEY(PAGEUP);
|
||||
keymap[KEYCODE_PAGE_DOWN] = SDL_KEY(PAGEDOWN);
|
||||
keymap[KEYCODE_PICTSYMBOLS] = SDL_KEY(LSHIFT);
|
||||
keymap[KEYCODE_SWITCH_CHARSET] = SDL_KEY(LSHIFT);
|
||||
keymap[KEYCODE_BUTTON_A] = SDL_KEY(A);
|
||||
keymap[KEYCODE_BUTTON_B] = SDL_KEY(B);
|
||||
keymap[KEYCODE_BUTTON_C] = SDL_KEY(C);
|
||||
keymap[KEYCODE_BUTTON_X] = SDL_KEY(X);
|
||||
keymap[KEYCODE_BUTTON_Y] = SDL_KEY(Y);
|
||||
keymap[KEYCODE_BUTTON_Z] = SDL_KEY(Z);
|
||||
keymap[KEYCODE_BUTTON_L1] = SDL_KEY(LSHIFT);
|
||||
keymap[KEYCODE_BUTTON_R1] = SDL_KEY(RSHIFT);
|
||||
keymap[KEYCODE_BUTTON_L2] = SDL_KEY(LCTRL);
|
||||
keymap[KEYCODE_BUTTON_R2] = SDL_KEY(RCTRL);
|
||||
keymap[KEYCODE_BUTTON_THUMBL] = SDL_KEY(LALT);
|
||||
keymap[KEYCODE_BUTTON_THUMBR] = SDL_KEY(RALT);
|
||||
keymap[KEYCODE_BUTTON_START] = SDL_KEY(RETURN);
|
||||
keymap[KEYCODE_BUTTON_SELECT] = SDL_KEY(ESCAPE);
|
||||
keymap[KEYCODE_BUTTON_MODE] = SDL_KEY(SPACE);
|
||||
keymap[KEYCODE_ESCAPE] = SDL_KEY(ESCAPE);
|
||||
keymap[KEYCODE_FORWARD_DEL] = SDL_KEY(DELETE);
|
||||
keymap[KEYCODE_CTRL_LEFT] = SDL_KEY(LEFT);
|
||||
keymap[KEYCODE_CTRL_RIGHT] = SDL_KEY(RIGHT);
|
||||
keymap[KEYCODE_CAPS_LOCK] = SDL_KEY(CAPSLOCK);
|
||||
keymap[KEYCODE_SCROLL_LOCK] = SDL_KEY(SCROLLLOCK);
|
||||
keymap[KEYCODE_META_LEFT] = SDL_KEY(LEFT);
|
||||
keymap[KEYCODE_META_RIGHT] = SDL_KEY(RIGHT);
|
||||
keymap[KEYCODE_FUNCTION] = SDL_KEY(RGUI);
|
||||
keymap[KEYCODE_SYSRQ] = SDL_KEY(SYSREQ);
|
||||
keymap[KEYCODE_BREAK] = SDL_KEY(PAUSE);
|
||||
keymap[KEYCODE_MOVE_HOME] = SDL_KEY(HOME);
|
||||
keymap[KEYCODE_MOVE_END] = SDL_KEY(END);
|
||||
keymap[KEYCODE_INSERT] = SDL_KEY(INSERT);
|
||||
keymap[KEYCODE_FORWARD] = SDL_KEY(RIGHT);
|
||||
keymap[KEYCODE_MEDIA_PLAY] = SDL_KEY(F1);
|
||||
keymap[KEYCODE_MEDIA_PAUSE] = SDL_KEY(F2);
|
||||
keymap[KEYCODE_MEDIA_CLOSE] = SDL_KEY(F3);
|
||||
keymap[KEYCODE_MEDIA_EJECT] = SDL_KEY(F4);
|
||||
keymap[KEYCODE_MEDIA_RECORD] = SDL_KEY(F5);
|
||||
keymap[KEYCODE_F1] = SDL_KEY(F1);
|
||||
keymap[KEYCODE_F2] = SDL_KEY(F2);
|
||||
keymap[KEYCODE_F3] = SDL_KEY(F3);
|
||||
keymap[KEYCODE_F4] = SDL_KEY(F4);
|
||||
keymap[KEYCODE_F5] = SDL_KEY(F5);
|
||||
keymap[KEYCODE_F6] = SDL_KEY(F6);
|
||||
keymap[KEYCODE_F7] = SDL_KEY(F7);
|
||||
keymap[KEYCODE_F8] = SDL_KEY(F8);
|
||||
keymap[KEYCODE_F9] = SDL_KEY(F9);
|
||||
keymap[KEYCODE_F10] = SDL_KEY(F10);
|
||||
keymap[KEYCODE_F11] = SDL_KEY(F11);
|
||||
keymap[KEYCODE_F12] = SDL_KEY(F12);
|
||||
keymap[KEYCODE_NUM_LOCK] = SDL_KEY(NUMLOCKCLEAR);
|
||||
keymap[KEYCODE_NUMPAD_0] = SDL_KEY(KP_0);
|
||||
keymap[KEYCODE_NUMPAD_1] = SDL_KEY(KP_1);
|
||||
keymap[KEYCODE_NUMPAD_2] = SDL_KEY(KP_2);
|
||||
keymap[KEYCODE_NUMPAD_3] = SDL_KEY(KP_3);
|
||||
keymap[KEYCODE_NUMPAD_4] = SDL_KEY(KP_4);
|
||||
keymap[KEYCODE_NUMPAD_5] = SDL_KEY(KP_5);
|
||||
keymap[KEYCODE_NUMPAD_6] = SDL_KEY(KP_6);
|
||||
keymap[KEYCODE_NUMPAD_7] = SDL_KEY(KP_7);
|
||||
keymap[KEYCODE_NUMPAD_8] = SDL_KEY(KP_8);
|
||||
keymap[KEYCODE_NUMPAD_9] = SDL_KEY(KP_9);
|
||||
keymap[KEYCODE_NUMPAD_DIVIDE] = SDL_KEY(KP_DIVIDE);
|
||||
keymap[KEYCODE_NUMPAD_MULTIPLY] = SDL_KEY(KP_MULTIPLY);
|
||||
keymap[KEYCODE_NUMPAD_SUBTRACT] = SDL_KEY(KP_MINUS);
|
||||
keymap[KEYCODE_NUMPAD_ADD] = SDL_KEY(KP_PLUS);
|
||||
keymap[KEYCODE_NUMPAD_DOT] = SDL_KEY(KP_PERIOD);
|
||||
keymap[KEYCODE_NUMPAD_COMMA] = SDL_KEY(KP_PERIOD);
|
||||
keymap[KEYCODE_NUMPAD_ENTER] = SDL_KEY(KP_ENTER);
|
||||
keymap[KEYCODE_NUMPAD_EQUALS] = SDL_KEY(KP_EQUALS);
|
||||
keymap[KEYCODE_NUMPAD_LEFT_PAREN] = SDL_KEY(KP_DIVIDE);
|
||||
keymap[KEYCODE_NUMPAD_RIGHT_PAREN] = SDL_KEY(KP_MULTIPLY);
|
||||
keymap[KEYCODE_VOLUME_MUTE] = SDL_KEY(F13);
|
||||
keymap[KEYCODE_INFO] = SDL_KEY(F14);
|
||||
keymap[KEYCODE_CHANNEL_UP] = SDL_KEY(UP);
|
||||
keymap[KEYCODE_CHANNEL_DOWN] = SDL_KEY(DOWN);
|
||||
keymap[KEYCODE_ZOOM_IN] = SDL_KEY(PAGEUP);
|
||||
keymap[KEYCODE_ZOOM_OUT] = SDL_KEY(PAGEDOWN);
|
||||
keymap[KEYCODE_TV] = SDL_KEY(F15);
|
||||
keymap[KEYCODE_WINDOW] = SDL_KEY(F1);
|
||||
keymap[KEYCODE_GUIDE] = SDL_KEY(F2);
|
||||
keymap[KEYCODE_DVR] = SDL_KEY(F3);
|
||||
keymap[KEYCODE_BOOKMARK] = SDL_KEY(F4);
|
||||
keymap[KEYCODE_CAPTIONS] = SDL_KEY(F5);
|
||||
keymap[KEYCODE_SETTINGS] = SDL_KEY(F6);
|
||||
keymap[KEYCODE_TV_POWER] = SDL_KEY(F7);
|
||||
keymap[KEYCODE_TV_INPUT] = SDL_KEY(F8);
|
||||
keymap[KEYCODE_STB_POWER] = SDL_KEY(F9);
|
||||
keymap[KEYCODE_STB_INPUT] = SDL_KEY(F10);
|
||||
keymap[KEYCODE_AVR_POWER] = SDL_KEY(F11);
|
||||
keymap[KEYCODE_AVR_INPUT] = SDL_KEY(F12);
|
||||
keymap[KEYCODE_PROG_RED] = SDL_KEY(F13);
|
||||
keymap[KEYCODE_PROG_GREEN] = SDL_KEY(F14);
|
||||
keymap[KEYCODE_PROG_YELLOW] = SDL_KEY(F15);
|
||||
keymap[KEYCODE_PROG_BLUE] = SDL_KEY(F1);
|
||||
keymap[KEYCODE_APP_SWITCH] = SDL_KEY(F2);
|
||||
keymap[KEYCODE_BUTTON_1] = SDL_KEY(A);
|
||||
keymap[KEYCODE_BUTTON_2] = SDL_KEY(B);
|
||||
keymap[KEYCODE_BUTTON_3] = SDL_KEY(C);
|
||||
keymap[KEYCODE_BUTTON_4] = SDL_KEY(D);
|
||||
keymap[KEYCODE_BUTTON_5] = SDL_KEY(E);
|
||||
keymap[KEYCODE_BUTTON_6] = SDL_KEY(F);
|
||||
keymap[KEYCODE_BUTTON_7] = SDL_KEY(G);
|
||||
keymap[KEYCODE_BUTTON_8] = SDL_KEY(H);
|
||||
keymap[KEYCODE_BUTTON_9] = SDL_KEY(I);
|
||||
keymap[KEYCODE_BUTTON_10] = SDL_KEY(J);
|
||||
keymap[KEYCODE_BUTTON_11] = SDL_KEY(K);
|
||||
keymap[KEYCODE_BUTTON_12] = SDL_KEY(L);
|
||||
keymap[KEYCODE_BUTTON_13] = SDL_KEY(M);
|
||||
keymap[KEYCODE_BUTTON_14] = SDL_KEY(N);
|
||||
keymap[KEYCODE_BUTTON_15] = SDL_KEY(O);
|
||||
keymap[KEYCODE_BUTTON_16] = SDL_KEY(P);
|
||||
|
||||
SDL_android_init_keymap(SDL_android_keymap);
|
||||
}
|
||||
|
||||
@@ -195,6 +195,8 @@ extern void SDL_ANDROID_MainThreadPushMultitouchButton(int id, int pressed, int
|
||||
extern void SDL_ANDROID_MainThreadPushMultitouchMotion(int id, int x, int y, int force);
|
||||
extern void SDL_ANDROID_MainThreadPushJoystickAxis(int joy, int axis, int value);
|
||||
extern void SDL_ANDROID_MainThreadPushJoystickButton(int joy, int button, int pressed);
|
||||
extern void SDL_ANDROID_MainThreadPushJoystickBall(int joy, int ball, int x, int y);
|
||||
extern void SDL_ANDROID_MainThreadPushText( int ascii, int unicode );
|
||||
extern void SDL_android_init_keymap(SDLKey *SDL_android_keymap);
|
||||
|
||||
#endif
|
||||
|
||||
242
project/jni/sdl-1.3/src/video/android/keymap.c
Normal file
242
project/jni/sdl-1.3/src/video/android/keymap.c
Normal file
@@ -0,0 +1,242 @@
|
||||
#include "SDL_config.h"
|
||||
|
||||
#include "SDL_version.h"
|
||||
#include "SDL_androidinput.h"
|
||||
#include "SDL_screenkeyboard.h"
|
||||
|
||||
void SDL_android_init_keymap(SDLKey *SDL_android_keymap)
|
||||
{
|
||||
int i;
|
||||
SDLKey * keymap = SDL_android_keymap;
|
||||
|
||||
for (i=0; i<SDL_arraysize(SDL_android_keymap); ++i)
|
||||
SDL_android_keymap[i] = SDL_KEY(UNKNOWN);
|
||||
|
||||
keymap[KEYCODE_UNKNOWN] = SDL_KEY(UNKNOWN);
|
||||
|
||||
keymap[KEYCODE_BACK] = SDL_KEY(SDL_KEY_VAL(SDL_ANDROID_KEYCODE_5));
|
||||
|
||||
keymap[KEYCODE_MENU] = SDL_KEY(SDL_KEY_VAL(SDL_ANDROID_KEYCODE_4));
|
||||
|
||||
keymap[KEYCODE_DPAD_CENTER] = SDL_KEY(SDL_KEY_VAL(SDL_ANDROID_KEYCODE_1));
|
||||
keymap[KEYCODE_SEARCH] = SDL_KEY(SDL_KEY_VAL(SDL_ANDROID_KEYCODE_7));
|
||||
|
||||
keymap[KEYCODE_VOLUME_UP] = SDL_KEY(SDL_KEY_VAL(SDL_ANDROID_KEYCODE_2));
|
||||
keymap[KEYCODE_VOLUME_DOWN] = SDL_KEY(SDL_KEY_VAL(SDL_ANDROID_KEYCODE_3));
|
||||
|
||||
keymap[KEYCODE_HOME] = SDL_KEY(HOME); // Cannot be used in application
|
||||
|
||||
// On some devices pressing Camera key will generate Camera keyevent, but releasing it will generate Focus keyevent.
|
||||
keymap[KEYCODE_CAMERA] = SDL_KEY(SDL_KEY_VAL(SDL_ANDROID_KEYCODE_6));
|
||||
keymap[KEYCODE_FOCUS] = SDL_KEY(SDL_KEY_VAL(SDL_ANDROID_KEYCODE_6));
|
||||
|
||||
keymap[KEYCODE_CALL] = SDL_KEY(TAB);
|
||||
|
||||
keymap[KEYCODE_0] = SDL_KEY(0);
|
||||
keymap[KEYCODE_1] = SDL_KEY(1);
|
||||
keymap[KEYCODE_2] = SDL_KEY(2);
|
||||
keymap[KEYCODE_3] = SDL_KEY(3);
|
||||
keymap[KEYCODE_4] = SDL_KEY(4);
|
||||
keymap[KEYCODE_5] = SDL_KEY(5);
|
||||
keymap[KEYCODE_6] = SDL_KEY(6);
|
||||
keymap[KEYCODE_7] = SDL_KEY(7);
|
||||
keymap[KEYCODE_8] = SDL_KEY(8);
|
||||
keymap[KEYCODE_9] = SDL_KEY(9);
|
||||
keymap[KEYCODE_STAR] = SDL_KEY(KP_DIVIDE);
|
||||
keymap[KEYCODE_POUND] = SDL_KEY(KP_MULTIPLY);
|
||||
|
||||
keymap[KEYCODE_DPAD_UP] = SDL_KEY(UP);
|
||||
keymap[KEYCODE_DPAD_DOWN] = SDL_KEY(DOWN);
|
||||
keymap[KEYCODE_DPAD_LEFT] = SDL_KEY(LEFT);
|
||||
keymap[KEYCODE_DPAD_RIGHT] = SDL_KEY(RIGHT);
|
||||
|
||||
keymap[KEYCODE_SOFT_LEFT] = SDL_KEY(KP_4);
|
||||
keymap[KEYCODE_SOFT_RIGHT] = SDL_KEY(KP_6);
|
||||
keymap[KEYCODE_ENTER] = SDL_KEY(RETURN); //SDL_KEY(KP_ENTER);
|
||||
|
||||
|
||||
keymap[KEYCODE_CLEAR] = SDL_KEY(BACKSPACE);
|
||||
keymap[KEYCODE_A] = SDL_KEY(A);
|
||||
keymap[KEYCODE_B] = SDL_KEY(B);
|
||||
keymap[KEYCODE_C] = SDL_KEY(C);
|
||||
keymap[KEYCODE_D] = SDL_KEY(D);
|
||||
keymap[KEYCODE_E] = SDL_KEY(E);
|
||||
keymap[KEYCODE_F] = SDL_KEY(F);
|
||||
keymap[KEYCODE_G] = SDL_KEY(G);
|
||||
keymap[KEYCODE_H] = SDL_KEY(H);
|
||||
keymap[KEYCODE_I] = SDL_KEY(I);
|
||||
keymap[KEYCODE_J] = SDL_KEY(J);
|
||||
keymap[KEYCODE_K] = SDL_KEY(K);
|
||||
keymap[KEYCODE_L] = SDL_KEY(L);
|
||||
keymap[KEYCODE_M] = SDL_KEY(M);
|
||||
keymap[KEYCODE_N] = SDL_KEY(N);
|
||||
keymap[KEYCODE_O] = SDL_KEY(O);
|
||||
keymap[KEYCODE_P] = SDL_KEY(P);
|
||||
keymap[KEYCODE_Q] = SDL_KEY(Q);
|
||||
keymap[KEYCODE_R] = SDL_KEY(R);
|
||||
keymap[KEYCODE_S] = SDL_KEY(S);
|
||||
keymap[KEYCODE_T] = SDL_KEY(T);
|
||||
keymap[KEYCODE_U] = SDL_KEY(U);
|
||||
keymap[KEYCODE_V] = SDL_KEY(V);
|
||||
keymap[KEYCODE_W] = SDL_KEY(W);
|
||||
keymap[KEYCODE_X] = SDL_KEY(X);
|
||||
keymap[KEYCODE_Y] = SDL_KEY(Y);
|
||||
keymap[KEYCODE_Z] = SDL_KEY(Z);
|
||||
keymap[KEYCODE_COMMA] = SDL_KEY(COMMA);
|
||||
keymap[KEYCODE_PERIOD] = SDL_KEY(PERIOD);
|
||||
keymap[KEYCODE_TAB] = SDL_KEY(TAB);
|
||||
keymap[KEYCODE_SPACE] = SDL_KEY(SPACE);
|
||||
keymap[KEYCODE_DEL] = SDL_KEY(DELETE);
|
||||
keymap[KEYCODE_GRAVE] = SDL_KEY(GRAVE);
|
||||
keymap[KEYCODE_MINUS] = SDL_KEY(KP_MINUS);
|
||||
keymap[KEYCODE_PLUS] = SDL_KEY(KP_PLUS);
|
||||
keymap[KEYCODE_EQUALS] = SDL_KEY(EQUALS);
|
||||
keymap[KEYCODE_LEFT_BRACKET] = SDL_KEY(LEFTBRACKET);
|
||||
keymap[KEYCODE_RIGHT_BRACKET] = SDL_KEY(RIGHTBRACKET);
|
||||
keymap[KEYCODE_BACKSLASH] = SDL_KEY(BACKSLASH);
|
||||
keymap[KEYCODE_SEMICOLON] = SDL_KEY(SEMICOLON);
|
||||
keymap[KEYCODE_APOSTROPHE] = SDL_KEY(APOSTROPHE);
|
||||
keymap[KEYCODE_SLASH] = SDL_KEY(SLASH);
|
||||
keymap[KEYCODE_AT] = SDL_KEY(KP_PERIOD);
|
||||
|
||||
keymap[KEYCODE_MEDIA_PLAY_PAUSE] = SDL_KEY(KP_2);
|
||||
keymap[KEYCODE_MEDIA_STOP] = SDL_KEY(HELP);
|
||||
keymap[KEYCODE_MEDIA_NEXT] = SDL_KEY(KP_8);
|
||||
keymap[KEYCODE_MEDIA_PREVIOUS] = SDL_KEY(KP_5);
|
||||
keymap[KEYCODE_MEDIA_REWIND] = SDL_KEY(KP_1);
|
||||
keymap[KEYCODE_MEDIA_FAST_FORWARD] = SDL_KEY(KP_3);
|
||||
keymap[KEYCODE_MUTE] = SDL_KEY(KP_0);
|
||||
|
||||
keymap[KEYCODE_SYM] = SDL_KEY(LGUI);
|
||||
keymap[KEYCODE_NUM] = SDL_KEY(NUMLOCKCLEAR);
|
||||
|
||||
keymap[KEYCODE_ALT_LEFT] = SDL_KEY(KP_7);
|
||||
keymap[KEYCODE_ALT_RIGHT] = SDL_KEY(KP_9);
|
||||
|
||||
keymap[KEYCODE_SHIFT_LEFT] = SDL_KEY(F1);
|
||||
keymap[KEYCODE_SHIFT_RIGHT] = SDL_KEY(F2);
|
||||
|
||||
keymap[KEYCODE_EXPLORER] = SDL_KEY(F3);
|
||||
keymap[KEYCODE_ENVELOPE] = SDL_KEY(F4);
|
||||
|
||||
keymap[KEYCODE_HEADSETHOOK] = SDL_KEY(F5);
|
||||
keymap[KEYCODE_NOTIFICATION] = SDL_KEY(F6);
|
||||
|
||||
// Cannot be received by application, OS internal
|
||||
keymap[KEYCODE_ENDCALL] = SDL_KEY(LSHIFT);
|
||||
keymap[KEYCODE_POWER] = SDL_KEY(RALT);
|
||||
|
||||
keymap[KEYCODE_PAGE_UP] = SDL_KEY(PAGEUP);
|
||||
keymap[KEYCODE_PAGE_DOWN] = SDL_KEY(PAGEDOWN);
|
||||
keymap[KEYCODE_PICTSYMBOLS] = SDL_KEY(LSHIFT);
|
||||
keymap[KEYCODE_SWITCH_CHARSET] = SDL_KEY(LSHIFT);
|
||||
keymap[KEYCODE_BUTTON_A] = SDL_KEY(A);
|
||||
keymap[KEYCODE_BUTTON_B] = SDL_KEY(B);
|
||||
keymap[KEYCODE_BUTTON_C] = SDL_KEY(C);
|
||||
keymap[KEYCODE_BUTTON_X] = SDL_KEY(X);
|
||||
keymap[KEYCODE_BUTTON_Y] = SDL_KEY(Y);
|
||||
keymap[KEYCODE_BUTTON_Z] = SDL_KEY(Z);
|
||||
keymap[KEYCODE_BUTTON_L1] = SDL_KEY(LSHIFT);
|
||||
keymap[KEYCODE_BUTTON_R1] = SDL_KEY(RSHIFT);
|
||||
keymap[KEYCODE_BUTTON_L2] = SDL_KEY(LCTRL);
|
||||
keymap[KEYCODE_BUTTON_R2] = SDL_KEY(RCTRL);
|
||||
keymap[KEYCODE_BUTTON_THUMBL] = SDL_KEY(LALT);
|
||||
keymap[KEYCODE_BUTTON_THUMBR] = SDL_KEY(RALT);
|
||||
keymap[KEYCODE_BUTTON_START] = SDL_KEY(RETURN);
|
||||
keymap[KEYCODE_BUTTON_SELECT] = SDL_KEY(ESCAPE);
|
||||
keymap[KEYCODE_BUTTON_MODE] = SDL_KEY(SPACE);
|
||||
keymap[KEYCODE_ESCAPE] = SDL_KEY(ESCAPE);
|
||||
keymap[KEYCODE_FORWARD_DEL] = SDL_KEY(DELETE);
|
||||
keymap[KEYCODE_CTRL_LEFT] = SDL_KEY(LEFT);
|
||||
keymap[KEYCODE_CTRL_RIGHT] = SDL_KEY(RIGHT);
|
||||
keymap[KEYCODE_CAPS_LOCK] = SDL_KEY(CAPSLOCK);
|
||||
keymap[KEYCODE_SCROLL_LOCK] = SDL_KEY(SCROLLLOCK);
|
||||
keymap[KEYCODE_META_LEFT] = SDL_KEY(LEFT);
|
||||
keymap[KEYCODE_META_RIGHT] = SDL_KEY(RIGHT);
|
||||
keymap[KEYCODE_FUNCTION] = SDL_KEY(RGUI);
|
||||
keymap[KEYCODE_SYSRQ] = SDL_KEY(SYSREQ);
|
||||
keymap[KEYCODE_BREAK] = SDL_KEY(PAUSE);
|
||||
keymap[KEYCODE_MOVE_HOME] = SDL_KEY(HOME);
|
||||
keymap[KEYCODE_MOVE_END] = SDL_KEY(END);
|
||||
keymap[KEYCODE_INSERT] = SDL_KEY(INSERT);
|
||||
keymap[KEYCODE_FORWARD] = SDL_KEY(RIGHT);
|
||||
keymap[KEYCODE_MEDIA_PLAY] = SDL_KEY(F1);
|
||||
keymap[KEYCODE_MEDIA_PAUSE] = SDL_KEY(F2);
|
||||
keymap[KEYCODE_MEDIA_CLOSE] = SDL_KEY(F3);
|
||||
keymap[KEYCODE_MEDIA_EJECT] = SDL_KEY(F4);
|
||||
keymap[KEYCODE_MEDIA_RECORD] = SDL_KEY(F5);
|
||||
keymap[KEYCODE_F1] = SDL_KEY(F1);
|
||||
keymap[KEYCODE_F2] = SDL_KEY(F2);
|
||||
keymap[KEYCODE_F3] = SDL_KEY(F3);
|
||||
keymap[KEYCODE_F4] = SDL_KEY(F4);
|
||||
keymap[KEYCODE_F5] = SDL_KEY(F5);
|
||||
keymap[KEYCODE_F6] = SDL_KEY(F6);
|
||||
keymap[KEYCODE_F7] = SDL_KEY(F7);
|
||||
keymap[KEYCODE_F8] = SDL_KEY(F8);
|
||||
keymap[KEYCODE_F9] = SDL_KEY(F9);
|
||||
keymap[KEYCODE_F10] = SDL_KEY(F10);
|
||||
keymap[KEYCODE_F11] = SDL_KEY(F11);
|
||||
keymap[KEYCODE_F12] = SDL_KEY(F12);
|
||||
keymap[KEYCODE_NUM_LOCK] = SDL_KEY(NUMLOCKCLEAR);
|
||||
keymap[KEYCODE_NUMPAD_0] = SDL_KEY(KP_0);
|
||||
keymap[KEYCODE_NUMPAD_1] = SDL_KEY(KP_1);
|
||||
keymap[KEYCODE_NUMPAD_2] = SDL_KEY(KP_2);
|
||||
keymap[KEYCODE_NUMPAD_3] = SDL_KEY(KP_3);
|
||||
keymap[KEYCODE_NUMPAD_4] = SDL_KEY(KP_4);
|
||||
keymap[KEYCODE_NUMPAD_5] = SDL_KEY(KP_5);
|
||||
keymap[KEYCODE_NUMPAD_6] = SDL_KEY(KP_6);
|
||||
keymap[KEYCODE_NUMPAD_7] = SDL_KEY(KP_7);
|
||||
keymap[KEYCODE_NUMPAD_8] = SDL_KEY(KP_8);
|
||||
keymap[KEYCODE_NUMPAD_9] = SDL_KEY(KP_9);
|
||||
keymap[KEYCODE_NUMPAD_DIVIDE] = SDL_KEY(KP_DIVIDE);
|
||||
keymap[KEYCODE_NUMPAD_MULTIPLY] = SDL_KEY(KP_MULTIPLY);
|
||||
keymap[KEYCODE_NUMPAD_SUBTRACT] = SDL_KEY(KP_MINUS);
|
||||
keymap[KEYCODE_NUMPAD_ADD] = SDL_KEY(KP_PLUS);
|
||||
keymap[KEYCODE_NUMPAD_DOT] = SDL_KEY(KP_PERIOD);
|
||||
keymap[KEYCODE_NUMPAD_COMMA] = SDL_KEY(KP_PERIOD);
|
||||
keymap[KEYCODE_NUMPAD_ENTER] = SDL_KEY(KP_ENTER);
|
||||
keymap[KEYCODE_NUMPAD_EQUALS] = SDL_KEY(KP_EQUALS);
|
||||
keymap[KEYCODE_NUMPAD_LEFT_PAREN] = SDL_KEY(KP_DIVIDE);
|
||||
keymap[KEYCODE_NUMPAD_RIGHT_PAREN] = SDL_KEY(KP_MULTIPLY);
|
||||
keymap[KEYCODE_VOLUME_MUTE] = SDL_KEY(F13);
|
||||
keymap[KEYCODE_INFO] = SDL_KEY(F14);
|
||||
keymap[KEYCODE_CHANNEL_UP] = SDL_KEY(UP);
|
||||
keymap[KEYCODE_CHANNEL_DOWN] = SDL_KEY(DOWN);
|
||||
keymap[KEYCODE_ZOOM_IN] = SDL_KEY(PAGEUP);
|
||||
keymap[KEYCODE_ZOOM_OUT] = SDL_KEY(PAGEDOWN);
|
||||
keymap[KEYCODE_TV] = SDL_KEY(F15);
|
||||
keymap[KEYCODE_WINDOW] = SDL_KEY(F1);
|
||||
keymap[KEYCODE_GUIDE] = SDL_KEY(F2);
|
||||
keymap[KEYCODE_DVR] = SDL_KEY(F3);
|
||||
keymap[KEYCODE_BOOKMARK] = SDL_KEY(F4);
|
||||
keymap[KEYCODE_CAPTIONS] = SDL_KEY(F5);
|
||||
keymap[KEYCODE_SETTINGS] = SDL_KEY(F6);
|
||||
keymap[KEYCODE_TV_POWER] = SDL_KEY(F7);
|
||||
keymap[KEYCODE_TV_INPUT] = SDL_KEY(F8);
|
||||
keymap[KEYCODE_STB_POWER] = SDL_KEY(F9);
|
||||
keymap[KEYCODE_STB_INPUT] = SDL_KEY(F10);
|
||||
keymap[KEYCODE_AVR_POWER] = SDL_KEY(F11);
|
||||
keymap[KEYCODE_AVR_INPUT] = SDL_KEY(F12);
|
||||
keymap[KEYCODE_PROG_RED] = SDL_KEY(F13);
|
||||
keymap[KEYCODE_PROG_GREEN] = SDL_KEY(F14);
|
||||
keymap[KEYCODE_PROG_YELLOW] = SDL_KEY(F15);
|
||||
keymap[KEYCODE_PROG_BLUE] = SDL_KEY(F1);
|
||||
keymap[KEYCODE_APP_SWITCH] = SDL_KEY(F2);
|
||||
keymap[KEYCODE_BUTTON_1] = SDL_KEY(A);
|
||||
keymap[KEYCODE_BUTTON_2] = SDL_KEY(B);
|
||||
keymap[KEYCODE_BUTTON_3] = SDL_KEY(C);
|
||||
keymap[KEYCODE_BUTTON_4] = SDL_KEY(D);
|
||||
keymap[KEYCODE_BUTTON_5] = SDL_KEY(E);
|
||||
keymap[KEYCODE_BUTTON_6] = SDL_KEY(F);
|
||||
keymap[KEYCODE_BUTTON_7] = SDL_KEY(G);
|
||||
keymap[KEYCODE_BUTTON_8] = SDL_KEY(H);
|
||||
keymap[KEYCODE_BUTTON_9] = SDL_KEY(I);
|
||||
keymap[KEYCODE_BUTTON_10] = SDL_KEY(J);
|
||||
keymap[KEYCODE_BUTTON_11] = SDL_KEY(K);
|
||||
keymap[KEYCODE_BUTTON_12] = SDL_KEY(L);
|
||||
keymap[KEYCODE_BUTTON_13] = SDL_KEY(M);
|
||||
keymap[KEYCODE_BUTTON_14] = SDL_KEY(N);
|
||||
keymap[KEYCODE_BUTTON_15] = SDL_KEY(O);
|
||||
keymap[KEYCODE_BUTTON_16] = SDL_KEY(P);
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user