aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--backends/events/androidsdl/androidsdl-events.cpp14
-rw-r--r--backends/platform/androidsdl/androidsdl-sdl.cpp14
-rw-r--r--backends/platform/androidsdl/androidsdl-sdl.h1
3 files changed, 18 insertions, 11 deletions
diff --git a/backends/events/androidsdl/androidsdl-events.cpp b/backends/events/androidsdl/androidsdl-events.cpp
index 0adcff817e..41080198ce 100644
--- a/backends/events/androidsdl/androidsdl-events.cpp
+++ b/backends/events/androidsdl/androidsdl-events.cpp
@@ -26,7 +26,6 @@
#include "backends/events/androidsdl/androidsdl-events.h"
#include "backends/platform/androidsdl/androidsdl-sdl.h"
-#include <SDL_screenkeyboard.h>
bool AndroidSdlEventSource::handleMouseButtonDown(SDL_Event &ev, Common::Event &event) {
if (ev.button.button == SDL_BUTTON_LEFT)
@@ -43,16 +42,9 @@ bool AndroidSdlEventSource::handleMouseButtonDown(SDL_Event &ev, Common::Event &
else if (ev.button.button == SDL_BUTTON_MIDDLE) {
event.type = Common::EVENT_MBUTTONDOWN;
- static int show_onscreen = 0;
- if (show_onscreen == 0) {
- SDL_ANDROID_SetScreenKeyboardShown(0);
- show_onscreen++;
- } else if (show_onscreen==1) {
- SDL_ANDROID_SetScreenKeyboardShown(1);
- show_onscreen++;
- }
- if (show_onscreen == 2)
- show_onscreen = 0;
+ static bool show_onscreen = g_system->getFeatureState(OSystem::kFeatureOnScreenControl);
+ show_onscreen = !show_onscreen;
+ g_system->setFeatureState(OSystem::kFeatureOnScreenControl, show_onscreen);
}
#endif
else
diff --git a/backends/platform/androidsdl/androidsdl-sdl.cpp b/backends/platform/androidsdl/androidsdl-sdl.cpp
index 1492214b58..8f85527a9d 100644
--- a/backends/platform/androidsdl/androidsdl-sdl.cpp
+++ b/backends/platform/androidsdl/androidsdl-sdl.cpp
@@ -97,3 +97,17 @@ void OSystem_ANDROIDSDL::setFeatureState(Feature f, bool enable) {
OSystem_POSIX::setFeatureState(f, enable);
}
+
+bool OSystem_ANDROIDSDL::getFeatureState(Feature f) {
+ switch (f) {
+ case kFeatureTouchpadMode:
+ return ConfMan.getBool("touchpad_mouse_mode");
+ break;
+ case kFeatureOnScreenControl:
+ return ConfMan.getBool("onscreen_control");
+ break;
+ default:
+ return OSystem_POSIX::getFeatureState(f);
+ break;
+ }
+}
diff --git a/backends/platform/androidsdl/androidsdl-sdl.h b/backends/platform/androidsdl/androidsdl-sdl.h
index 7bc91247bc..36925ec275 100644
--- a/backends/platform/androidsdl/androidsdl-sdl.h
+++ b/backends/platform/androidsdl/androidsdl-sdl.h
@@ -29,6 +29,7 @@ class OSystem_ANDROIDSDL : public OSystem_POSIX {
public:
virtual void initBackend();
virtual void setFeatureState(Feature f, bool enable);
+ virtual bool getFeatureState(Feature f);
void touchpadMode(bool enable);
void switchToDirectMouseMode();
void switchToRelativeMouseMode();