diff --git a/project/java/Settings.java b/project/java/Settings.java index a53597e78..07a1ddf37 100644 --- a/project/java/Settings.java +++ b/project/java/Settings.java @@ -456,7 +456,7 @@ class Settings nativeSetTrackballUsed(); if( Globals.AppUsesMouse ) nativeSetMouseUsed(); - if( Globals.AppUsesJoystick ) + if( Globals.AppUsesJoystick && (Globals.UseAccelerometerAsArrowKeys || Globals.UseTouchscreenKeyboard) ) nativeSetJoystickUsed(); if( Globals.AppUsesMultitouch ) nativeSetMultitouchUsed(); diff --git a/project/jni/sdl-1.3/src/video/android/SDL_androidinput.c b/project/jni/sdl-1.3/src/video/android/SDL_androidinput.c index d2b6444a4..689878375 100644 --- a/project/jni/sdl-1.3/src/video/android/SDL_androidinput.c +++ b/project/jni/sdl-1.3/src/video/android/SDL_androidinput.c @@ -661,7 +661,12 @@ void SDL_ANDROID_processAndroidTrackballDampening() int SDL_SYS_JoystickInit(void) { - SDL_numjoysticks = MAX_MULTITOUCH_POINTERS+1; + SDL_numjoysticks = 0; + if( SDL_ANDROID_isJoystickUsed ) + SDL_numjoysticks = 1; + if( isMultitouchUsed ) + SDL_numjoysticks = MAX_MULTITOUCH_POINTERS+1; + return(SDL_numjoysticks); }