[Scummvm-cvs-logs] SF.net SVN: scummvm: [25147] scummvm/trunk/backends/platform/PalmOS/Src
chrilith at users.sourceforge.net
chrilith at users.sourceforge.net
Sun Jan 21 15:15:36 CET 2007
Revision: 25147
http://scummvm.svn.sourceforge.net/scummvm/?rev=25147&view=rev
Author: chrilith
Date: 2007-01-21 06:15:35 -0800 (Sun, 21 Jan 2007)
Log Message:
-----------
Cleanup event code
Added key up for mouse buttons so that we can control Gobliiins and Touche properly
Modified Paths:
--------------
scummvm/trunk/backends/platform/PalmOS/Src/base_event.cpp
scummvm/trunk/backends/platform/PalmOS/Src/be_base.cpp
scummvm/trunk/backends/platform/PalmOS/Src/be_base.h
scummvm/trunk/backends/platform/PalmOS/Src/be_os5.cpp
scummvm/trunk/backends/platform/PalmOS/Src/be_zodiac.cpp
scummvm/trunk/backends/platform/PalmOS/Src/os5_event.cpp
scummvm/trunk/backends/platform/PalmOS/Src/zodiac_event.cpp
Modified: scummvm/trunk/backends/platform/PalmOS/Src/base_event.cpp
===================================================================
--- scummvm/trunk/backends/platform/PalmOS/Src/base_event.cpp 2007-01-21 11:05:22 UTC (rev 25146)
+++ scummvm/trunk/backends/platform/PalmOS/Src/base_event.cpp 2007-01-21 14:15:35 UTC (rev 25147)
@@ -106,7 +106,9 @@
if (getMillis() >= (_keyMouseRepeat + _keyMouseDelay)) {
_keyMouseRepeat = getMillis();
- if (gVars->arrowKeys) {
+ if (gVars->arrowKeys) {
+ event.kbd.keycode = 0;
+
if (keyCurrentState & _keyMouse.bitUp)
event.kbd.keycode = 273;
else if (keyCurrentState & _keyMouse.bitDown)
@@ -115,12 +117,13 @@
event.kbd.keycode = 276;
else if (keyCurrentState & _keyMouse.bitRight)
event.kbd.keycode = 275;
- else if (keyCurrentState & _keyMouse.bitButLeft)
- event.kbd.keycode = chrLineFeed;
- event.type = EVENT_KEYDOWN;
- event.kbd.ascii = event.kbd.keycode;
- event.kbd.flags = 0;
+ if (event.kbd.keycode) {
+ event.type = EVENT_KEYDOWN;
+ event.kbd.ascii = event.kbd.keycode;
+ event.kbd.flags = 0;
+ return true;
+ }
} else {
Int8 sx = 0;
@@ -139,28 +142,13 @@
if (sx || sy) {
simulate_mouse(event, sx, sy, &x, &y);
event.type = EVENT_MOUSEMOVE;
- _lastKey = kKeyMouseMove;
+ event.mouse.x = x;
+ event.mouse.y = y;
+ warpMouse(x, y);
- } else {
- x = _mouseCurState.x;
- y = _mouseCurState.y;
-
- if (keyCurrentState & _keyMouse.bitButLeft) {
- event.type = EVENT_LBUTTONDOWN;
- _lastKey = kKeyMouseLButton;
-
- } else if (_lastKey == kKeyMouseLButton) {
- event.type = EVENT_LBUTTONUP;
- _lastKey = kKeyNone;
- }
+ return true;
}
-
- event.mouse.x = x;
- event.mouse.y = y;
- warpMouse(x, y);
- // updateCD();
}
- return true;
}
}
@@ -168,7 +156,6 @@
switch (ev.data.keyDown.chr) {
// ESC key
case vchrLaunch:
- _lastKey = kKeyNone;
event.type = EVENT_KEYDOWN;
event.kbd.keycode = 27;
event.kbd.ascii = 27;
@@ -177,7 +164,6 @@
// F5 = menu
case vchrMenu:
- _lastKey = kKeyNone;
event.type = EVENT_KEYDOWN;
event.kbd.keycode = 319;
event.kbd.ascii = 319;
@@ -192,14 +178,12 @@
// case vchrBrightness: // volume control on Zodiac, let other backends disable it
case vchrContrast:
// do nothing
- _lastKey = kKeyNone;
return true;
}
}
if (check_event(event, &ev))
return true;
- _lastKey = kKeyNone;
// prevent crash when alarm is raised
handled = ((ev.eType == keyDownEvent) &&
@@ -219,10 +203,9 @@
if (y > _screenHeight || y < 0 || x > _screenWidth || x < 0)
return false;
- if (_lastEvent != penMoveEvent && (abs(y - event.mouse.y) <= 2 || abs(x - event.mouse.x) <= 2)) // move only if
+ if (abs(y - event.mouse.y) <= 2 || abs(x - event.mouse.x) <= 2)
return false;
- _lastEvent = penMoveEvent;
event.type = EVENT_MOUSEMOVE;
event.mouse.x = x;
event.mouse.y = y;
@@ -244,11 +227,10 @@
event.kbd.ascii = num;
event.kbd.flags = 0;
- _lastEvent = keyDownEvent;
+ _wasKey = true;
return true;
}
- _lastEvent = penDownEvent;
if (y > _screenHeight || y < 0 || x > _screenWidth || x < 0)
return false;
@@ -329,7 +311,7 @@
}
// other keys
- _lastEvent = keyDownEvent;
+ _wasKey = true;
event.type = EVENT_KEYDOWN;
event.kbd.keycode = key;
event.kbd.ascii = key;
@@ -337,9 +319,9 @@
return true;
default:
- if (_lastEvent == keyDownEvent) {
+ if (_wasKey) {
event.type = EVENT_KEYUP;
- _lastEvent = nilEvent;
+ _wasKey = false;
return true;
}
return false;
Modified: scummvm/trunk/backends/platform/PalmOS/Src/be_base.cpp
===================================================================
--- scummvm/trunk/backends/platform/PalmOS/Src/be_base.cpp 2007-01-21 11:05:22 UTC (rev 25146)
+++ scummvm/trunk/backends/platform/PalmOS/Src/be_base.cpp 2007-01-21 14:15:35 UTC (rev 25147)
@@ -51,8 +51,7 @@
_screenP = NULL;
_screenPitch = gVars->screenPitch;
- _lastEvent = nilEvent;
- _lastKey = kKeyNone;
+ _wasKey = false;
_lastKeyModifier = kModifierNone;
_lastKeyRepeat = 100;
_useNumPad = false;
@@ -89,13 +88,11 @@
_keyMouse.bitUp = keyBitPageUp;
_keyMouse.bitDown = keyBitPageDown;
- _keyMouse.bitLeft = keyBitHard1;
- _keyMouse.bitRight = keyBitHard2;
- _keyMouse.bitButLeft= keyBitHard3;
- _keyMouse.hasMore = false;
+ _keyMouse.bitLeft = keyBitHard2;
+ _keyMouse.bitRight = keyBitHard3;
int_initBackend();
- _keyMouseMask = (_keyMouse.bitUp | _keyMouse.bitDown | _keyMouse.bitLeft | _keyMouse.bitRight | _keyMouse.bitButLeft);
+ _keyMouseMask = (_keyMouse.bitUp | _keyMouse.bitDown | _keyMouse.bitLeft | _keyMouse.bitRight);
// Create the savefile manager, if none exists yet (we check for this to
// allow subclasses to provide their own).
Modified: scummvm/trunk/backends/platform/PalmOS/Src/be_base.h
===================================================================
--- scummvm/trunk/backends/platform/PalmOS/Src/be_base.h 2007-01-21 11:05:22 UTC (rev 25146)
+++ scummvm/trunk/backends/platform/PalmOS/Src/be_base.h 2007-01-21 14:15:35 UTC (rev 25147)
@@ -110,14 +110,6 @@
virtual void draw_osd(UInt16 id, Int32 x, Int32 y, Boolean show, UInt8 color = 0);
enum {
- kKeyNone = 0,
- kKeyMouseMove = 1 << 0,
- kKeyMouseLButton = 1 << 1,
-
- kKeyCalc = 1 << 30,
- kKeyAny = 1 << 31
- };
- enum {
MAX_MOUSE_W = 80,
MAX_MOUSE_H = 80
};
@@ -159,8 +151,6 @@
UInt32 bitDown;
UInt32 bitLeft;
UInt32 bitRight;
- UInt32 bitButLeft;
- Boolean hasMore;
} _keyMouse;
bool _mouseVisible;
@@ -173,8 +163,7 @@
byte *_mouseDataP, *_mouseBackupP;
- eventsEnum _lastEvent;
- WChar _lastKey;
+ eventsEnum _wasKey;
UInt8 _lastKeyModifier;
UInt32 _lastKeyRepeat;
Boolean _useNumPad, _showBatLow;
Modified: scummvm/trunk/backends/platform/PalmOS/Src/be_os5.cpp
===================================================================
--- scummvm/trunk/backends/platform/PalmOS/Src/be_os5.cpp 2007-01-21 11:05:22 UTC (rev 25146)
+++ scummvm/trunk/backends/platform/PalmOS/Src/be_os5.cpp 2007-01-21 14:15:35 UTC (rev 25147)
@@ -83,16 +83,12 @@
_keyMouse.bitDown = keyBitPageDown;
_keyMouse.bitLeft = keyBitNavLeft;
_keyMouse.bitRight = keyBitNavRight;
- _keyMouse.bitButLeft= keyBitNavSelect;
- _keyMouse.hasMore = true;
} else if (OPTIONS_TST(kOpt5WayNavigatorV2)) {
_keyMouse.bitUp = keyBitRockerUp|keyBitPageUp;
_keyMouse.bitDown = keyBitRockerDown|keyBitPageDown;
_keyMouse.bitLeft = keyBitRockerLeft;
_keyMouse.bitRight = keyBitRockerRight;
- _keyMouse.bitButLeft= keyBitRockerCenter;
- _keyMouse.hasMore = true;
}
}
Modified: scummvm/trunk/backends/platform/PalmOS/Src/be_zodiac.cpp
===================================================================
--- scummvm/trunk/backends/platform/PalmOS/Src/be_zodiac.cpp 2007-01-21 11:05:22 UTC (rev 25146)
+++ scummvm/trunk/backends/platform/PalmOS/Src/be_zodiac.cpp 2007-01-21 14:15:35 UTC (rev 25147)
@@ -33,12 +33,10 @@
}
void OSystem_PalmZodiac::int_initBackend() {
- _keyMouse.bitUp = keyBitRockerUp;
- _keyMouse.bitDown = keyBitRockerDown;
- _keyMouse.bitLeft = keyBitRockerLeft;
- _keyMouse.bitRight = keyBitRockerRight;
- _keyMouse.bitButLeft= keyBitRockerCenter;
- _keyMouse.hasMore = true;
+ _keyMouse.bitUp = keyBitRockerUp;
+ _keyMouse.bitDown = keyBitRockerDown;
+ _keyMouse.bitLeft = keyBitRockerLeft;
+ _keyMouse.bitRight = keyBitRockerRight;
}
void OSystem_PalmZodiac::calc_rect(Boolean fullscreen) {
Modified: scummvm/trunk/backends/platform/PalmOS/Src/os5_event.cpp
===================================================================
--- scummvm/trunk/backends/platform/PalmOS/Src/os5_event.cpp 2007-01-21 11:05:22 UTC (rev 25146)
+++ scummvm/trunk/backends/platform/PalmOS/Src/os5_event.cpp 2007-01-21 14:15:35 UTC (rev 25147)
@@ -38,40 +38,48 @@
}
bool OSystem_PalmOS5::check_event(Event &event, EventPtr ev) {
- if (ev->eType == keyDownEvent) {
+ if (ev->eType == keyUpEvent) {
switch (ev->data.keyDown.chr) {
+ case vchrHard3:
+ event.type = EVENT_LBUTTONUP;
+ event.mouse.x = _mouseCurState.x;
+ event.mouse.y = _mouseCurState.y;
+ return true;
+
case vchrHard4:
- _lastKey = kKeyNone;
- event.type = EVENT_RBUTTONDOWN;
+ event.type = EVENT_RBUTTONUP;
event.mouse.x = _mouseCurState.x;
event.mouse.y = _mouseCurState.y;
return true;
}
-
- if (_keyMouse.hasMore) {
- switch (ev->data.keyDown.chr) {
- // hot swap gfx
-// case 0x1B04:
- case vchrHard1:
- printf("swap\n");
- if (OPTIONS_TST(kOptCollapsible))
- hotswap_gfx_mode(_mode == GFX_WIDE ? GFX_NORMAL: GFX_WIDE);
- return false; // not a key
-// case 0x1B05:
- case vchrHard2:
- setFeatureState(kFeatureAspectRatioCorrection, 0);
+ } else if (ev->eType == keyDownEvent) {
+ switch (ev->data.keyDown.chr) {
+
+ // hot swap gfx
+// case 0x1B04:
+ case vchrHard1:
+ printf("swap\n");
+ if (OPTIONS_TST(kOptCollapsible))
+ hotswap_gfx_mode(_mode == GFX_WIDE ? GFX_NORMAL: GFX_WIDE);
return false; // not a key
-
- // F5 = menu
- case vchrHard3:
- _lastKey = kKeyNone;
- event.type = EVENT_KEYDOWN;
- event.kbd.keycode = 319;
- event.kbd.ascii = 319;
- event.kbd.flags = 0;
- return true;
- }
+
+// case 0x1B05:
+ case vchrHard2:
+ setFeatureState(kFeatureAspectRatioCorrection, 0);
+ return false; // not a key
+
+ case vchrHard3:
+ event.type = EVENT_RBUTTONDOWN;
+ event.mouse.x = _mouseCurState.x;
+ event.mouse.y = _mouseCurState.y;
+ return true;
+
+ case vchrHard4:
+ event.type = EVENT_RBUTTONDOWN;
+ event.mouse.x = _mouseCurState.x;
+ event.mouse.y = _mouseCurState.y;
+ return true;
}
}
Modified: scummvm/trunk/backends/platform/PalmOS/Src/zodiac_event.cpp
===================================================================
--- scummvm/trunk/backends/platform/PalmOS/Src/zodiac_event.cpp 2007-01-21 11:05:22 UTC (rev 25146)
+++ scummvm/trunk/backends/platform/PalmOS/Src/zodiac_event.cpp 2007-01-21 14:15:35 UTC (rev 25147)
@@ -25,11 +25,25 @@
#include "be_zodiac.h"
bool OSystem_PalmZodiac::check_event(Event &event, EventPtr ev) {
- if (ev->eType == keyDownEvent) {
+ if (ev->eType == keyUpEvent) {
switch (ev->data.keyDown.chr) {
+ case vchrActionLeft:
+ event.type = EVENT_LBUTTONUP;
+ event.mouse.x = _mouseCurState.x;
+ event.mouse.y = _mouseCurState.y;
+ return true;
+
+ case vchrActionRight:
+ event.type = EVENT_RBUTTONUP;
+ event.mouse.x = _mouseCurState.x;
+ event.mouse.y = _mouseCurState.y;
+ return true;
+ }
+
+ } else if (ev->eType == keyDownEvent) {
+ switch (ev->data.keyDown.chr) {
// F5 = menu
case vchrThumbWheelBack:
- _lastKey = kKeyNone;
event.type = EVENT_KEYDOWN;
event.kbd.keycode = 319;
event.kbd.ascii = 319;
@@ -45,14 +59,12 @@
return false; // not a key
case vchrActionLeft:
- _lastKey = kKeyMouseLButton;
event.type = EVENT_LBUTTONDOWN;
event.mouse.x = _mouseCurState.x;
event.mouse.y = _mouseCurState.y;
return true;
case vchrActionRight:
- _lastKey = kKeyNone;
event.type = EVENT_RBUTTONDOWN;
event.mouse.x = _mouseCurState.x;
event.mouse.y = _mouseCurState.y;
@@ -81,16 +93,6 @@
break;
}
- } else if (_overlayVisible) {
- switch (_lastKey) {
- case kKeyMouseLButton:
- _lastKey = kKeyNone;
- event.type = EVENT_LBUTTONUP;
- event.mouse.x = _mouseCurState.x;
- event.mouse.y = _mouseCurState.y;
- return true;
-
- }
}
return false;
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