|
04afd61c
|
2013-11-11T11:12:43
|
|
[Android] Try to improve handling of some dpad+gamepad+keyboard corner cases
|
|
6dbed827
|
2013-11-11T10:59:15
|
|
[Android] Fixes Bug 2031 - Backspace Not Sending Events From On-Screen Keyboard
Thanks Joe LeVeque!
|
|
d37bad52
|
2013-11-11T10:49:48
|
|
[Android] Improve handling of keyboard, dpad and gamepad events
Thanks Dimitris Zenios for the report!
|
|
45a88b6a
|
2013-11-11T10:15:35
|
|
[Android] Fixes bug 2217, better joystick axes handling on Android.
|
|
842a9898
|
2013-11-10T17:50:40
|
|
Fixed joystick crash on Android if joystick subsystem not initialized.
|
|
305f64ba
|
2013-11-10T17:44:51
|
|
Replaced search loop with indexOf() in Java file.
|
|
bbf0f62b
|
2013-11-10T17:42:01
|
|
Replaced implicit boxing with explicit boxing in Java file.
|
|
2d671781
|
2013-11-10T17:40:26
|
|
Renamed a class in Java file for consistency.
|
|
802f83ff
|
2013-11-10T17:38:03
|
|
Removed not needed imports from Java file.
|
|
d6c1e381
|
2013-11-10T17:35:07
|
|
Added missing @Override annotations in Java file.
|
|
26ce68e8
|
2013-11-10T15:04:58
|
|
Changed motion listener implementation not to inherit from Activity class.
|
|
fda8d934
|
2013-11-10T14:58:48
|
|
Moved two function calls so they are only called if needed.
If the MotionEvent is not from joystick the return values are not needed.
|
|
22770a8f
|
2013-11-06T11:23:24
|
|
[Android] Fixes Bug 2041 - can't get SDL_QUIT event...
Thanks to Denis Bernard!
Also, changed the Android manifest so the app doesn't quit with orientation
changes, and made testgles.c exit properly on Android.
|
|
0b7c69fe
|
2013-11-05T20:07:39
|
|
Adds Joystick support for Android
This bumps the build SDK level to 12 (up from 10). Runtime requirements remain
the same (at API level < 12 joystick support is disabled).
Also enables building SDL for armv7 and x86.
|
|
5697089d
|
2013-10-20T23:52:02
|
|
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)
|
|
7ae171d1
|
2013-10-17T23:44:30
|
|
Fixed bug 2155 - automatically remap accelerometer coordinates according to screen orientation on Android
Denis Bernard
Background information: http://android-developers.blogspot.fr/2010/09/one-screen-turn-deserves-another.html and http://developer.android.com/reference/android/hardware/SensorEvent.html
Right now, the Android accelerometer event handler feeds raw accelerometer data to the SDL Joystick driver. The result is that for landscape-only applications, the axis need to be swapped if running on a portrait device (like a phone), and vice-versa: running a portrait only app on a landscape device like a tablet.
The purpose of this patch is to perform coordinate remapping of the accelerometer data before feeding it to the SDL joystick driver so that the X axis of the joystick is always aligned with the X axis of the display, same for the Y axis.
This has been tested on applications that support screen orientation changes as well as applications with fixed screen orientations, both on phones and tablets.
|
|
4349cb57
|
2013-10-10T21:51:39
|
|
Fixed bug 2146 - Enable static linking of libSDL on Android
Denis Bernard
This patch to Android.mk adds support for static linking of libSDL for Android applications. A patched readme with static build instructions is also provided.
It does not break existing build environments setup according to the README-android.txt since the static library version will not be built in not required.
The static build uses the Android NDK module system (see docs/IMPORT-MODULE.html in the NDK folder and step 5 in the instructions below).
Instructions:
1. Copy the android-project directory wherever you want to keep your projects
and rename it to the name of your project.
2. Create a symlink to SDL/src/main/android/SDL_android_main.c as
<project>/jni/src/SDL_android_main.c
3. Rename <project>/jni/src/Android_static.mk to <project>/jni/src/Android.mk
(overwrite the existing one)
4. Edit <project>/jni/src/Android.mk to include your source files
5. create and export an environment variable named NDK_MODULE_PATH that points
to the parent directory of this SDL directory. e.g.:
export NDK_MODULE_PATH="$PWD"/..
6. Edit <project>/src/org/libsdl/app/SDLActivity.java and remove the call to
System.loadLibrary("SDL2") line 42.
7. Run 'ndk-build' (a script provided by the NDK). This compiles the C source
Although this requires an environment variable to be setup, it can be added once and for all to the main Android.mk of the project.
|
|
0db36f51
|
2013-10-05T17:08:19
|
|
Added detection of touch devices before first touch events happen on Android.
On Android available touch devices are now added with video initialization (like
the keyboard). This fixes SDL_GetNumTouchDevices() returning 0 before any touch
events happened although there is a touch screen available. The adding of touch
devices after a touch event was received is still active to allow connecting
devices later (if this is possible) and to provide a fallback if the new init
did not work somehow. For the implementation JNI was used and API level 9 is
required. There seems to be nothing in the Android NDK's input header (input.h)
to implement everything on C side without communication with Java side.
|
|
cc122ce5
|
2013-08-22T10:22:22
|
|
Fixes #2036 and #2038, bypass camera zoom and shutter keypresses on Android.
|
|
0eeb76d8
|
2013-08-19T16:29:46
|
|
Fixes bug #2037, common EGL code for Android and X11
|
|
dad42067
|
2013-08-12T11:13:50
|
|
Fixes #2022, do not resume on Android when surfaceChanged
If the app is in landscape mode and the user presses the power button, a pause
is followed immediately by a surfaceChanged event because the lock screen
is shown in portrait mode. This triggers a "false" resume.
So, we just pause and resume following the onWindowFocusChanged events.
Also, wait for SDL_APP_WILLENTERBACKGROUND and SDL_APP_DIDENTERBACKGROUND before
blocking the event pump.
|