diff options
-rw-r--r-- | backends/events/androidsdl/androidsdl-events.cpp | 14 | ||||
-rw-r--r-- | backends/platform/androidsdl/androidsdl-sdl.cpp | 14 | ||||
-rw-r--r-- | backends/platform/androidsdl/androidsdl-sdl.h | 1 |
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(); |