[Scummvm-cvs-logs] SF.net SVN: scummvm:[33840] scummvm/branches/branch-0-12-0/backends/ platform/wince
knakos at users.sourceforge.net
knakos at users.sourceforge.net
Wed Aug 13 21:15:15 CEST 2008
Revision: 33840
http://scummvm.svn.sourceforge.net/scummvm/?rev=33840&view=rev
Author: knakos
Date: 2008-08-13 19:15:12 +0000 (Wed, 13 Aug 2008)
Log Message:
-----------
fix bug #1910057: FT multifunction (sync)
Modified Paths:
--------------
scummvm/branches/branch-0-12-0/backends/platform/wince/CEkeys/EventsBuffer.cpp
scummvm/branches/branch-0-12-0/backends/platform/wince/wince-sdl.cpp
Modified: scummvm/branches/branch-0-12-0/backends/platform/wince/CEkeys/EventsBuffer.cpp
===================================================================
--- scummvm/branches/branch-0-12-0/backends/platform/wince/CEkeys/EventsBuffer.cpp 2008-08-13 19:13:53 UTC (rev 33839)
+++ scummvm/branches/branch-0-12-0/backends/platform/wince/CEkeys/EventsBuffer.cpp 2008-08-13 19:15:12 UTC (rev 33840)
@@ -36,9 +36,8 @@
key->setKey(key->keycode());
ev.type = (pushed ? SDL_KEYDOWN : SDL_KEYUP);
- ev.key.keysym.mod = (SDLMod)key->flags();
+ ev.key.keysym.unicode = (SDLMod)key->flags(); // HACK: put the flags into the unused unicode field
ev.key.keysym.sym = (SDLKey)key->keycode();
- ev.key.keysym.unicode = key->keycode();
ev.key.keysym.mod = KMOD_RESERVED;
return (SDL_PushEvent(&ev) == 0);
}
Modified: scummvm/branches/branch-0-12-0/backends/platform/wince/wince-sdl.cpp
===================================================================
--- scummvm/branches/branch-0-12-0/backends/platform/wince/wince-sdl.cpp 2008-08-13 19:13:53 UTC (rev 33839)
+++ scummvm/branches/branch-0-12-0/backends/platform/wince/wince-sdl.cpp 2008-08-13 19:15:12 UTC (rev 33840)
@@ -2262,15 +2262,18 @@
_lastKeyPressed = 0;
event.type = Common::EVENT_PREDICTIVE_DIALOG;
return true;
- }
-
- event.type = Common::EVENT_KEYDOWN;
+ } event.type = Common::EVENT_KEYDOWN;
if (!_unfilteredkeys)
event.kbd.keycode = (Common::KeyCode)ev.key.keysym.sym;
else
event.kbd.keycode = (Common::KeyCode)mapKeyCE(ev.key.keysym.sym, ev.key.keysym.mod, ev.key.keysym.unicode, _unfilteredkeys);
event.kbd.ascii = mapKeyCE(ev.key.keysym.sym, ev.key.keysym.mod, ev.key.keysym.unicode, _unfilteredkeys);
+ if (ev.key.keysym.mod == KMOD_RESERVED && ev.key.keysym.unicode == KMOD_SHIFT) {
+ event.kbd.ascii ^= 0x20;
+ event.kbd.flags = Common::KBD_SHIFT;
+ }
+
return true;
case SDL_KEYUP:
@@ -2298,6 +2301,11 @@
event.kbd.keycode = (Common::KeyCode)mapKeyCE(ev.key.keysym.sym, ev.key.keysym.mod, ev.key.keysym.unicode, _unfilteredkeys);
event.kbd.ascii = mapKeyCE(ev.key.keysym.sym, ev.key.keysym.mod, ev.key.keysym.unicode, _unfilteredkeys);
+ if (ev.key.keysym.mod == KMOD_RESERVED && ev.key.keysym.unicode == KMOD_SHIFT) {
+ event.kbd.ascii ^= 0x20;
+ event.kbd.flags = Common::KBD_SHIFT;
+ }
+
return true;
case SDL_MOUSEMOTION:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list