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.
This commit is contained in:
@@ -36,6 +36,7 @@
|
||||
#include "SDL_androidclipboard.h"
|
||||
#include "SDL_androidevents.h"
|
||||
#include "SDL_androidkeyboard.h"
|
||||
#include "SDL_androidtouch.h"
|
||||
#include "SDL_androidwindow.h"
|
||||
|
||||
#define ANDROID_VID_DRIVER_NAME "Android"
|
||||
@@ -165,6 +166,8 @@ Android_VideoInit(_THIS)
|
||||
|
||||
Android_InitKeyboard();
|
||||
|
||||
Android_InitTouch();
|
||||
|
||||
/* We're done! */
|
||||
return 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user