From 9aad73be5ef35065b8a9b63958b39184083e0700 Mon Sep 17 00:00:00 2001 From: Tarek Soliman Date: Sun, 28 Aug 2011 19:39:18 -0500 Subject: MAEMO: enable virtual keyboard and add keymapping --- backends/events/maemosdl/maemosdl-events.cpp | 28 ++++++++++++++++++++++------ backends/platform/maemo/debian/rules | 1 + backends/platform/maemo/maemo.cpp | 4 ++++ configure | 1 + 4 files changed, 28 insertions(+), 6 deletions(-) diff --git a/backends/events/maemosdl/maemosdl-events.cpp b/backends/events/maemosdl/maemosdl-events.cpp index 6a62f53950..e111bf574b 100644 --- a/backends/events/maemosdl/maemosdl-events.cpp +++ b/backends/events/maemosdl/maemosdl-events.cpp @@ -52,8 +52,16 @@ bool MaemoSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { processMouseEvent(event, _km.x, _km.y); return true; } else if (ev.key.keysym.sym == SDLK_F8) { - // handled in keyup - return true; + if (ev.key.keysym.mod & KMOD_CTRL) { + event.type = Common::EVENT_KEYDOWN; + event.kbd.keycode = Common::KEYCODE_F7; + event.kbd.ascii = Common::ASCII_F7; + event.kbd.flags = 0; + return true; + } else { + // handled in keyup + return true; + } } break; } @@ -72,10 +80,18 @@ bool MaemoSdlEventSource::remapKey(SDL_Event &ev, Common::Event &event) { processMouseEvent(event, _km.x, _km.y); return true; } else if (ev.key.keysym.sym == SDLK_F8) { - _clickEnabled = !_clickEnabled; - ((SurfaceSdlGraphicsManager*) _graphicsManager)->displayMessageOnOSD( - _clickEnabled ? _("Clicking Enabled") : _("Clicking Disabled")); - return true; + if (ev.key.keysym.mod & KMOD_CTRL) { + event.type = Common::EVENT_KEYUP; + event.kbd.keycode = Common::KEYCODE_F7; + event.kbd.ascii = Common::ASCII_F7; + event.kbd.flags = 0; + return true; + } else { + _clickEnabled = !_clickEnabled; + ((SurfaceSdlGraphicsManager*) _graphicsManager)->displayMessageOnOSD( + _clickEnabled ? _("Clicking Enabled") : _("Clicking Disabled")); + return true; + } } break; } diff --git a/backends/platform/maemo/debian/rules b/backends/platform/maemo/debian/rules index 018f53bb11..7613df25b4 100755 --- a/backends/platform/maemo/debian/rules +++ b/backends/platform/maemo/debian/rules @@ -45,6 +45,7 @@ install: build install -m0644 -d debian/scummvm/opt/scummvm/share install -m0644 dists/pred.dic debian/scummvm/opt/scummvm/share install -m0644 gui/themes/scummclassic.zip gui/themes/scummmodern.zip debian/scummvm/opt/scummvm/share + install -m0644 backends/vkeybd/packs/vkeybd_default.zip debian/scummvm/opt/scummvm/share # for optified version we can also add engine datafiles install -m0644 dists/engine-data/drascula.dat dists/engine-data/hugo.dat dists/engine-data/kyra.dat dists/engine-data/lure.dat dists/engine-data/m4.dat dists/engine-data/mads.dat dists/engine-data/queen.tbl dists/engine-data/sky.cpt dists/engine-data/teenagent.dat dists/engine-data/toon.dat debian/scummvm/opt/scummvm/share diff --git a/backends/platform/maemo/maemo.cpp b/backends/platform/maemo/maemo.cpp index 8362c0785e..1fb7ad0691 100644 --- a/backends/platform/maemo/maemo.cpp +++ b/backends/platform/maemo/maemo.cpp @@ -23,11 +23,13 @@ #if defined(MAEMO) #include "common/scummsys.h" +#include "common/config-manager.h" #include "backends/platform/maemo/maemo.h" #include "backends/events/maemosdl/maemosdl-events.h" #include "common/textconsole.h" + #include #include @@ -41,6 +43,8 @@ void OSystem_SDL_Maemo::initBackend() { if (_eventSource == 0) _eventSource = new MaemoSdlEventSource(); + ConfMan.set("vkeybdpath", DATA_PATH); + // Call parent implementation of this method OSystem_POSIX::initBackend(); } diff --git a/configure b/configure index 60a9f90297..d23ee745c2 100755 --- a/configure +++ b/configure @@ -2241,6 +2241,7 @@ if test -n "$_host"; then LIBS="$LIBS -L/usr/lib" _backend="maemo" + _vkeybd=yes _build_hq_scalers=no _mt32emu=no _alsa=no -- cgit v1.2.3