Fixed bug 1368 - Enabling joystick subsystem cause an infinite loop
morgan.devel@gmail.com 2012-01-13 00:32:23 PST The android version of SDL_SYS_JoystickUpdate doesn't check if there is actually new data and always generate the SDL_JOYAXISMOTION event. Consequently, doing a while(SDL_PollEvent()) will result in an endless loop. The attached patch fix this issue. It also scale the incoming values properly in the Sint16 range. The scale from [-gravity;+gravity] is done directly in the java part because one may want to map the sensor values with a non-linear method for example.
This commit is contained in:
parent
3fe05cfb55
commit
40c6294290
4 changed files with 26 additions and 13 deletions
|
@ -565,9 +565,9 @@ class SDLSurface extends SurfaceView implements SurfaceHolder.Callback,
|
|||
|
||||
public void onSensorChanged(SensorEvent event) {
|
||||
if (event.sensor.getType() == Sensor.TYPE_ACCELEROMETER) {
|
||||
SDLActivity.onNativeAccel(event.values[0],
|
||||
event.values[1],
|
||||
event.values[2]);
|
||||
SDLActivity.onNativeAccel(event.values[0] / SensorManager.GRAVITY_EARTH,
|
||||
event.values[1] / SensorManager.GRAVITY_EARTH,
|
||||
event.values[2] / SensorManager.GRAVITY_EARTH);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue