Fixed trackball mouse

This commit is contained in:
pelya
2010-11-26 22:57:42 +02:00
parent 143d8f3da6
commit 3259404912

View File

@@ -317,25 +317,6 @@ JAVA_EXPORT_NAME(DemoGLSurfaceView_nativeKey) ( JNIEnv* env, jobject thiz, jint
return;
}
if( moveMouseWithArrowKeys && (
key == KEYCODE_DPAD_UP || key == KEYCODE_DPAD_DOWN ||
key == KEYCODE_DPAD_LEFT || key == KEYCODE_DPAD_RIGHT) )
{
if( clickDoesNotMoveMouseX < 0 )
SDL_GetMouseState( &clickDoesNotMoveMouseX, &clickDoesNotMoveMouseY );
if( key == KEYCODE_DPAD_LEFT || key == KEYCODE_DPAD_RIGHT )
clickDoesNotMoveMouseXspeed += key == KEYCODE_DPAD_LEFT ? -1 : 1;
else
clickDoesNotMoveMouseXspeed = 0;
if( key == KEYCODE_DPAD_UP || key == KEYCODE_DPAD_DOWN )
clickDoesNotMoveMouseYspeed += key == KEYCODE_DPAD_UP ? -1 : 1;
clickDoesNotMoveMouseX += clickDoesNotMoveMouseXspeed;
clickDoesNotMoveMouseY += clickDoesNotMoveMouseYspeed;
SDL_ANDROID_MainThreadPushMouseMotion(clickDoesNotMoveMouseX, clickDoesNotMoveMouseY);
return;
}
SDL_ANDROID_MainThreadPushKeyboardKey( action ? SDL_PRESSED : SDL_RELEASED, TranslateKey(key) );
}
@@ -1058,7 +1039,7 @@ extern void SDL_ANDROID_MainThreadPushMouseButton(int pressed, int button)
SDL_mutexV(BufferedEventsMutex);
};
extern void SDL_ANDROID_MainThreadPushKeyboardKey(int pressed, SDL_scancode scancode)
extern void SDL_ANDROID_MainThreadPushKeyboardKey(int pressed, SDL_scancode key)
{
int nextEvent = getNextEvent();
if( nextEvent == -1 )
@@ -1066,14 +1047,38 @@ extern void SDL_ANDROID_MainThreadPushKeyboardKey(int pressed, SDL_scancode scan
SDL_Event * ev = &BufferedEvents[BufferedEventsEnd];
if( moveMouseWithArrowKeys && (
key == SDL_KEY(UP) || key == SDL_KEY(DOWN) ||
key == SDL_KEY(LEFT) || key == SDL_KEY(RIGHT) ) )
{
if( clickDoesNotMoveMouseX < 0 )
SDL_GetMouseState( &clickDoesNotMoveMouseX, &clickDoesNotMoveMouseY );
if( key == SDL_KEY(LEFT) || key == SDL_KEY(RIGHT) )
clickDoesNotMoveMouseXspeed += key == SDL_KEY(LEFT) ? -1 : 1;
else
clickDoesNotMoveMouseXspeed = 0;
if( key == SDL_KEY(UP) || key == SDL_KEY(DOWN) )
clickDoesNotMoveMouseYspeed += key == SDL_KEY(UP) ? -1 : 1;
clickDoesNotMoveMouseX += clickDoesNotMoveMouseXspeed;
clickDoesNotMoveMouseY += clickDoesNotMoveMouseYspeed;
SDL_mutexV(BufferedEventsMutex);
SDL_ANDROID_MainThreadPushMouseMotion(clickDoesNotMoveMouseX, clickDoesNotMoveMouseY);
return;
}
ev->type = SDL_KEYDOWN;
ev->key.state = pressed;
ev->key.keysym.scancode = scancode;
ev->key.keysym.sym = scancode;
ev->key.keysym.scancode = key;
ev->key.keysym.sym = key;
ev->key.keysym.mod = KMOD_NONE;
ev->key.keysym.unicode = 0;
if ( SDL_TranslateUNICODE )
ev->key.keysym.unicode = scancode;
ev->key.keysym.unicode = key;
BufferedEventsEnd = nextEvent;
SDL_mutexV(BufferedEventsMutex);