SDL/android-project
Sam Lantinga 5697089d98 Fixed bug 2156 - Android: Accelerometer values fed to joystick driver are inverted for the X axis and wrong for Z
Denis Bernard

Background information: http://developer.android.com/reference/android/hardware/SensorEvent.html#values

Steps to reproduce: compile testjoystick.c as an android app (change screen size according to your device). While running the app, also run:

adb logcat -c; adb logcat -s 'SDL:*' 'SDL/APP:*'

When tilting the device left/right, the joystick moves in the opposite direction of what one would expect. Or at least, the behaviour is not consistent with the Y axis.

Also when the device sits on a table (obviously not moving), the Z axis value oscillates between -32000 and +32000 (by overflow):

I/SDL/APP ( 1994): Joystick 0 axis 2 value: 32511
I/SDL/APP ( 1994): Joystick 0 axis 2 value: 32575
I/SDL/APP ( 1994): Joystick 0 axis 2 value: 32383
I/SDL/APP ( 1994): Joystick 0 axis 2 value: -32386
I/SDL/APP ( 1994): Joystick 0 axis 2 value: -32450
I/SDL/APP ( 1994): Joystick 0 axis 2 value: -32578

This is caused by the accelerometer yielding a constant value around 9.81 for Z and feeding something like 0.9 to 1.1 to the joystick driver, resulting in the overflow.

Proposed fix in SDLActivity.java (swap X and subtract G from Z reading)
2013-10-20 23:52:02 -07:00
..
jni Fixed bug 2146 - Enable static linking of libSDL on Android 2013-10-10 21:51:39 -07:00
res Fixes #2022, do not resume on Android when surfaceChanged 2013-08-12 11:13:50 -03:00
src/org/libsdl/app Fixed bug 2156 - Android: Accelerometer values fed to joystick driver are inverted for the X axis and wrong for Z 2013-10-20 23:52:02 -07:00
AndroidManifest.xml Fixes #2022, do not resume on Android when surfaceChanged 2013-08-12 11:13:50 -03:00
ant.properties Fixes #2022, do not resume on Android when surfaceChanged 2013-08-12 11:13:50 -03:00
build.properties Fixes #2022, do not resume on Android when surfaceChanged 2013-08-12 11:13:50 -03:00
build.xml Fixes #2022, do not resume on Android when surfaceChanged 2013-08-12 11:13:50 -03:00
default.properties Fixes #2022, do not resume on Android when surfaceChanged 2013-08-12 11:13:50 -03:00
proguard-project.txt Fixes #2022, do not resume on Android when surfaceChanged 2013-08-12 11:13:50 -03:00
project.properties Fixes #2022, do not resume on Android when surfaceChanged 2013-08-12 11:13:50 -03:00