diff options
author | Lars Persson | 2005-07-05 20:22:56 +0000 |
---|---|---|
committer | Lars Persson | 2005-07-05 20:22:56 +0000 |
commit | d4716a1fb525540f3395262d236df51ef70874f1 (patch) | |
tree | 7e5ddbbd1b7cfb28df2c25f041bf07d487bed662 /backends/wince | |
parent | 57858a8757a5b3d96958ec856862886184082652 (diff) | |
download | scummvm-rg350-d4716a1fb525540f3395262d236df51ef70874f1.tar.gz scummvm-rg350-d4716a1fb525540f3395262d236df51ef70874f1.tar.bz2 scummvm-rg350-d4716a1fb525540f3395262d236df51ef70874f1.zip |
* Start of generic key configuration support for ScummVM
* Moved KeyConfigDialog, key from WinCE to gui
* Updated wince code to inherit and use new GUI::Keys and launch new dialog
* New definition SMALL_SCREEN_DEVICE when keysdialog should be inittialized from options.cpp
* Added new function to SDL\Events that handles key remapping. LINUPY & QTOPIA remapping moved to that function. SymbianOs.cpp overrides this function to enable key remapping to events
* Compiled VC6++ project. This with warnings and errors, but NOT in the changed code. (SAGA,KYRA)
* Compiled using WCE tools 3 for X86 target and running Scummvm in emulator to test
* Compiled with UIQ target. The rest Symbian platforms might require further configuration to operate properly
* Actor.h in Saga now compiles for default VC6 setting.
* Aspect.cpp does not compile in VC6/WCE due to template problems with the kFastAndNiceAspectMode setting.
* Changed order of creation of gamedetector and mainsystem in Main.cpp
* If anything does not compile, or is totally out of order, please revert changes.
svn-id: r18498
Diffstat (limited to 'backends/wince')
-rw-r--r-- | backends/wince/CEActions.cpp | 2 | ||||
-rw-r--r-- | backends/wince/CEActions.h | 2 | ||||
-rw-r--r-- | backends/wince/CEActionsPocket.cpp | 31 | ||||
-rw-r--r-- | backends/wince/CEActionsPocket.h | 13 | ||||
-rw-r--r-- | backends/wince/CEActionsSmartphone.cpp | 32 | ||||
-rw-r--r-- | backends/wince/CEActionsSmartphone.h | 13 | ||||
-rw-r--r-- | backends/wince/CELauncherDialog.cpp | 4 | ||||
-rw-r--r-- | backends/wince/CEScaler.cpp | 2 | ||||
-rw-r--r-- | backends/wince/CEkeys/Key.cpp | 59 | ||||
-rw-r--r-- | backends/wince/CEkeys/Key.h | 48 | ||||
-rw-r--r-- | backends/wince/wince-sdl.cpp | 38 |
11 files changed, 70 insertions, 174 deletions
diff --git a/backends/wince/CEActions.cpp b/backends/wince/CEActions.cpp index 534683ea62..2e7d9fd4b8 100644 --- a/backends/wince/CEActions.cpp +++ b/backends/wince/CEActions.cpp @@ -53,7 +53,7 @@ void CEActions::init(GameDetector &detector) { //#endif } -void CEActions::initInstanceMain(OSystem_WINCE3 *mainSystem) { +void CEActions::initInstanceMain(OSystem *mainSystem) { _mainSystem = mainSystem; } diff --git a/backends/wince/CEActions.h b/backends/wince/CEActions.h index e146fb5ae9..fddd935ba6 100644 --- a/backends/wince/CEActions.h +++ b/backends/wince/CEActions.h @@ -41,7 +41,7 @@ class CEActions { public: static CEActions* Instance(); static void init(GameDetector &detector); - virtual void initInstanceMain(OSystem_WINCE3 *mainSystem); + virtual void initInstanceMain(OSystem *mainSystem); virtual void initInstanceGame(); bool initialized(); diff --git a/backends/wince/CEActionsPocket.cpp b/backends/wince/CEActionsPocket.cpp index 342a3baa28..6c55be3fa5 100644 --- a/backends/wince/CEActionsPocket.cpp +++ b/backends/wince/CEActionsPocket.cpp @@ -51,7 +51,7 @@ void CEActionsPocket::init(GameDetector &detector) { } -String CEActionsPocket::actionName(ActionType action) { +String CEActionsPocket::actionName(GUI::ActionType action) { return pocketActionNames[action]; } @@ -68,7 +68,7 @@ int CEActionsPocket::version() { } CEActionsPocket::CEActionsPocket(GameDetector &detector) : - CEActions(detector) +GUI::Actions(detector) { int i; @@ -83,9 +83,10 @@ CEActionsPocket::CEActionsPocket(GameDetector &detector) : } -void CEActionsPocket::initInstanceMain(OSystem_WINCE3 *mainSystem) { +void CEActionsPocket::initInstanceMain(OSystem *mainSystem) { // Nothing generic to do for Pocket PC - CEActions::initInstanceMain(mainSystem); + _CESystem = static_cast<OSystem_WINCE3*>(mainSystem); + GUI_Actions::initInstanceMain(mainSystem); } void CEActionsPocket::initInstanceGame() { @@ -97,7 +98,7 @@ void CEActionsPocket::initInstanceGame() { bool is_comi = (strncmp(_detector->_targetName.c_str(), "comi", 4) == 0); bool is_gob = (strncmp(_detector->_targetName.c_str(), "gob", 3) == 0); - CEActions::initInstanceGame(); + GUI_Actions::initInstanceGame(); // See if a right click mapping could be needed if (is_sword1 || is_sword2 || is_sky || is_queen || is_comi || is_gob || @@ -164,11 +165,11 @@ void CEActionsPocket::initInstanceGame() { CEActionsPocket::~CEActionsPocket() { } -bool CEActionsPocket::perform(ActionType action, bool pushed) { +bool CEActionsPocket::perform(GUI::ActionType action, bool pushed) { if (!pushed) { switch(action) { case POCKET_ACTION_RIGHTCLICK: - _mainSystem->add_right_click(false); + _CESystem->add_right_click(false); return true; case POCKET_ACTION_PAUSE: case POCKET_ACTION_SAVE: @@ -189,28 +190,28 @@ bool CEActionsPocket::perform(ActionType action, bool pushed) { EventsBuffer::simulateKey(&_key_action[action], true); return true; case POCKET_ACTION_KEYBOARD: - _mainSystem->swap_panel(); + _CESystem->swap_panel(); return true; case POCKET_ACTION_HIDE: - _mainSystem->swap_panel_visibility(); + _CESystem->swap_panel_visibility(); return true; case POCKET_ACTION_SOUND: - _mainSystem->swap_sound_master(); + _CESystem->swap_sound_master(); return true; case POCKET_ACTION_RIGHTCLICK: - _mainSystem->add_right_click(true); + _CESystem->add_right_click(true); return true; case POCKET_ACTION_CURSOR: - _mainSystem->swap_mouse_visibility(); + _CESystem->swap_mouse_visibility(); return true; case POCKET_ACTION_FREELOOK: - _mainSystem->swap_freeLook(); + _CESystem->swap_freeLook(); return true; case POCKET_ACTION_ZOOM_UP: - _mainSystem->swap_zoom_up(); + _CESystem->swap_zoom_up(); return true; case POCKET_ACTION_ZOOM_DOWN: - _mainSystem->swap_zoom_down(); + _CESystem->swap_zoom_down(); return true; case POCKET_ACTION_QUIT: GUI::MessageDialog alert("Do you want to quit ?", "Yes", "No"); diff --git a/backends/wince/CEActionsPocket.h b/backends/wince/CEActionsPocket.h index a473371a60..ce5ac1499a 100644 --- a/backends/wince/CEActionsPocket.h +++ b/backends/wince/CEActionsPocket.h @@ -29,9 +29,9 @@ #include "base/gameDetector.h" #include "wince-sdl.h" -#include "Key.h" +#include "gui/Key.h" -#include "CEActions.h" +#include "gui/Actions.h" #define POCKET_ACTION_VERSION 4 @@ -53,15 +53,15 @@ enum pocketActionType { POCKET_ACTION_LAST }; -class CEActionsPocket : public CEActions { +class CEActionsPocket : public GUI::Actions { public: // Actions - bool perform(ActionType action, bool pushed = true); - String actionName(ActionType action); + bool perform(GUI::ActionType action, bool pushed = true); + String actionName(GUI::ActionType action); int size(); static void init(GameDetector &detector); - void initInstanceMain(OSystem_WINCE3 *mainSystem); + void initInstanceMain(OSystem *mainSystem); void initInstanceGame(); // Action domain @@ -79,6 +79,7 @@ class CEActionsPocket : public CEActions { bool _right_click_needed; bool _hide_toolbar_needed; bool _zoom_needed; + OSystem_WINCE3 *_CESystem; }; #endif diff --git a/backends/wince/CEActionsSmartphone.cpp b/backends/wince/CEActionsSmartphone.cpp index b732360f28..c8938b8859 100644 --- a/backends/wince/CEActionsSmartphone.cpp +++ b/backends/wince/CEActionsSmartphone.cpp @@ -57,7 +57,7 @@ void CEActionsSmartphone::init(GameDetector &detector) { } -String CEActionsSmartphone::actionName(ActionType action) { +String CEActionsSmartphone::actionName(GUI::ActionType action) { return smartphoneActionNames[action]; } @@ -74,7 +74,7 @@ int CEActionsSmartphone::version() { } CEActionsSmartphone::CEActionsSmartphone(GameDetector &detector) : - CEActions(detector) +GUI::Actions(detector) { int i; @@ -85,9 +85,9 @@ CEActionsSmartphone::CEActionsSmartphone(GameDetector &detector) : } -void CEActionsSmartphone::initInstanceMain(OSystem_WINCE3 *mainSystem) { - CEActions::initInstanceMain(mainSystem); - +void CEActionsSmartphone::initInstanceMain(OSystem *mainSystem) { + _CESystem = static_cast<OSystem_WINCE3*>(mainSystem); + GUI_Actions::initInstanceMain(mainSystem); // Mouse Up _action_enabled[SMARTPHONE_ACTION_UP] = true; // Mouse Down @@ -108,7 +108,7 @@ void CEActionsSmartphone::initInstanceGame() { bool is_queen = (_detector->_targetName == "queen"); bool is_gob = (strncmp(_detector->_targetName.c_str(), "gob", 3) == 0); - CEActions::initInstanceGame(); + GUI_Actions::initInstanceGame(); // See if a right click mapping could be needed if (is_sky || _detector->_targetName == "samnmax" || is_gob) @@ -149,14 +149,14 @@ void CEActionsSmartphone::initInstanceGame() { CEActionsSmartphone::~CEActionsSmartphone() { } -bool CEActionsSmartphone::perform(ActionType action, bool pushed) { +bool CEActionsSmartphone::perform(GUI::ActionType action, bool pushed) { if (!pushed) { switch (action) { case SMARTPHONE_ACTION_RIGHTCLICK: - _mainSystem->add_right_click(false); + _CESystem->add_right_click(false); return true; case SMARTPHONE_ACTION_LEFTCLICK: - _mainSystem->add_left_click(false); + _CESystem->add_left_click(false); return true; case SMARTPHONE_ACTION_SAVE: case SMARTPHONE_ACTION_SKIP: @@ -174,25 +174,25 @@ bool CEActionsSmartphone::perform(ActionType action, bool pushed) { EventsBuffer::simulateKey(&_key_action[action], true); return true; case SMARTPHONE_ACTION_RIGHTCLICK: - _mainSystem->add_right_click(true); + _CESystem->add_right_click(true); return true; case SMARTPHONE_ACTION_LEFTCLICK: - _mainSystem->add_left_click(true); + _CESystem->add_left_click(true); return true; case SMARTPHONE_ACTION_UP: - _mainSystem->move_cursor_up(); + _CESystem->move_cursor_up(); return true; case SMARTPHONE_ACTION_DOWN: - _mainSystem->move_cursor_down(); + _CESystem->move_cursor_down(); return true; case SMARTPHONE_ACTION_LEFT: - _mainSystem->move_cursor_left(); + _CESystem->move_cursor_left(); return true; case SMARTPHONE_ACTION_RIGHT: - _mainSystem->move_cursor_right(); + _CESystem->move_cursor_right(); return true; case SMARTPHONE_ACTION_ZONE: - _mainSystem->switch_zone(); + _CESystem->switch_zone(); return true; } diff --git a/backends/wince/CEActionsSmartphone.h b/backends/wince/CEActionsSmartphone.h index 5a48b4c762..b532e2004c 100644 --- a/backends/wince/CEActionsSmartphone.h +++ b/backends/wince/CEActionsSmartphone.h @@ -31,9 +31,9 @@ #include "base/gameDetector.h" #include "wince-sdl.h" -#include "Key.h" +#include "gui/Key.h" -#include "CEActions.h" +#include "gui/Actions.h" #define SMARTPHONE_ACTION_VERSION 4 @@ -53,14 +53,14 @@ enum smartphoneActionType { }; -class CEActionsSmartphone : public CEActions { +class CEActionsSmartphone : public GUI::Actions { public: // Actions - bool perform(ActionType action, bool pushed = true); - String actionName(ActionType action); + bool perform(GUI::ActionType action, bool pushed = true); + String actionName(GUI::ActionType action); int size(); static void init(GameDetector &detector); - void initInstanceMain(OSystem_WINCE3 *mainSystem); + void initInstanceMain(OSystem *mainSystem); void initInstanceGame(); // Action domain @@ -71,6 +71,7 @@ class CEActionsSmartphone : public CEActions { private: CEActionsSmartphone(GameDetector &detector); bool _right_click_needed; + OSystem_WINCE3 *_CESystem; }; #endif diff --git a/backends/wince/CELauncherDialog.cpp b/backends/wince/CELauncherDialog.cpp index cf6d65c346..9de00a1231 100644 --- a/backends/wince/CELauncherDialog.cpp +++ b/backends/wince/CELauncherDialog.cpp @@ -43,7 +43,7 @@ public: : Dialog(10, 60, 300, 77) { char tempo[100]; - addButton((_w - kButtonWidth) / 2, 45, "OK", kCloseCmd, '\r'); // Close dialog - FIXME + addButton(this,(_w - kButtonWidth) / 2, 45, "OK", kCloseCmd, '\r'); // Close dialog - FIXME Common::String videoDriver("Using SDL driver "); SDL_VideoDriverName(tempo, sizeof(tempo)); @@ -61,7 +61,7 @@ public: CEConflictDialog::CEConflictDialog(const Common::String &name) : Dialog(10, 60, 300, 77) { - addButton((_w - kButtonWidth) / 2, 45, "OK", kCloseCmd, '\r'); // Close dialog - FIXME + addButton(this,(_w - kButtonWidth) / 2, 45, "OK", kCloseCmd, '\r'); // Close dialog - FIXME Common::String conflict("Too many matches for directory "); conflict += name; diff --git a/backends/wince/CEScaler.cpp b/backends/wince/CEScaler.cpp index e07c7f8ad2..394dbeb066 100644 --- a/backends/wince/CEScaler.cpp +++ b/backends/wince/CEScaler.cpp @@ -18,7 +18,7 @@ * $Header$ * */ - +#include "common/scaler/intern.h" #include "common/stdafx.h" #include "CEScaler.h" diff --git a/backends/wince/CEkeys/Key.cpp b/backends/wince/CEkeys/Key.cpp deleted file mode 100644 index 1cf9f0eaa2..0000000000 --- a/backends/wince/CEkeys/Key.cpp +++ /dev/null @@ -1,59 +0,0 @@ -/* ScummVM - Scumm Interpreter - * Copyright (C) 2001-2005 The ScummVM project - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * $Header$ - * - */ - -#include "common/stdafx.h" -#include "Key.h" - -namespace CEKEYS { - Key::Key() : - _ascii(0), _keycode(0), _flags(0) { - } - - Key::Key(int ascii, int keycode, int flags) : - _ascii(ascii), _keycode(keycode), _flags(flags) { - } - - int Key::ascii() { - return _ascii; - } - - int Key::keycode() { - return _keycode; - } - - int Key::flags() { - return _flags; - } - - - void Key::setAscii(int ascii) { - _ascii = ascii; - _keycode = ascii; // default - } - - void Key::setKeycode(int keycode) { - _keycode = keycode; - } - - void Key::setFlags(int flags) { - _flags = flags; - } -} diff --git a/backends/wince/CEkeys/Key.h b/backends/wince/CEkeys/Key.h deleted file mode 100644 index 0901f32444..0000000000 --- a/backends/wince/CEkeys/Key.h +++ /dev/null @@ -1,48 +0,0 @@ -/* ScummVM - Scumm Interpreter - * Copyright (C) 2001-2005 The ScummVM project - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * $Header$ - * - */ - -#ifndef CEKEYS_KEY -#define CEKEYS_KEY - -#include "common/stdafx.h" -#include "common/scummsys.h" -#include "common/system.h" - -namespace CEKEYS { - - class Key { - public: - Key(int ascii, int keycode = 0, int flags = 0); - Key(); - void setAscii(int ascii); - void setKeycode(int keycode); - void setFlags(int flags); - int ascii(); - int keycode(); - int flags(); - private: - int _ascii; - int _keycode; - int _flags; - }; -} - -#endif
\ No newline at end of file diff --git a/backends/wince/wince-sdl.cpp b/backends/wince/wince-sdl.cpp index 1562832847..39aeae10cd 100644 --- a/backends/wince/wince-sdl.cpp +++ b/backends/wince/wince-sdl.cpp @@ -34,11 +34,11 @@ #include "resource.h" -#include "CEActions.h" +#include "gui/Actions.h" #include "CEActionsPocket.h" #include "CEActionsSmartphone.h" #include "ItemAction.h" -#include "CEKeysDialog.h" +#include "gui/KeysDialog.h" #include "gui/message.h" @@ -142,7 +142,7 @@ int SDL_main(int argc, char **argv) { /* Avoid print problems - this file will be put in RAM anyway */ stdout_file = fopen("\\scummvm_stdout.txt", "w"); stderr_file = fopen("\\scummvm_stderr.txt", "w"); - CEActions::init(_gameDetector); + GUI::Actions::init(_gameDetector); __try { return scummvm_main(_gameDetector, argc, argv); @@ -222,8 +222,8 @@ OSystem_WINCE3::OSystem_WINCE3() : OSystem_SDL(), } create_toolbar(); // Initialize global key mapping for Smartphones - CEActions::Instance()->initInstanceMain(this); - CEActions::Instance()->loadMapping(); + GUI_Actions::Instance()->initInstanceMain(this); + GUI_Actions::Instance()->loadMapping(); if (_isSmartphone) { loadSmartphoneConfiguration(); @@ -641,15 +641,15 @@ bool OSystem_WINCE3::setSoundCallback(SoundProc proc, void *param) { void OSystem_WINCE3::check_mappings() { CEActionsPocket *instance; - if (!_gameDetector._targetName.size() || CEActions::Instance()->initialized()) + if (!_gameDetector._targetName.size() || GUI_Actions::Instance()->initialized()) return; - CEActions::Instance()->initInstanceGame(); - instance = (CEActionsPocket*)CEActions::Instance(); + GUI_Actions::Instance()->initInstanceGame(); + instance = (CEActionsPocket*)GUI_Actions::Instance(); // Some games need to map the right click button, signal it here if it wasn't done if (instance->needsRightClickMapping()) { - CEKeysDialog *keysDialog = new CEKeysDialog("Map right click action"); + GUI::KeysDialog *keysDialog = new GUI::KeysDialog("Map right click action"); while (!instance->getMapping(POCKET_ACTION_RIGHTCLICK)) { keysDialog->runModal(); if (!instance->getMapping(POCKET_ACTION_RIGHTCLICK)) { @@ -662,7 +662,7 @@ void OSystem_WINCE3::check_mappings() { // Map the "hide toolbar" action if needed if (instance->needsHideToolbarMapping()) { - CEKeysDialog *keysDialog = new CEKeysDialog("Map hide toolbar action"); + GUI::KeysDialog *keysDialog = new GUI::KeysDialog("Map hide toolbar action"); while (!instance->getMapping(POCKET_ACTION_HIDE)) { keysDialog->runModal(); if (!instance->getMapping(POCKET_ACTION_HIDE)) { @@ -675,17 +675,17 @@ void OSystem_WINCE3::check_mappings() { // Map the "zoom" actions if needed if (instance->needsZoomMapping()) { - CEKeysDialog *keysDialog = new CEKeysDialog("Map Zoom Up action (optional)"); + GUI::KeysDialog *keysDialog = new GUI::KeysDialog("Map Zoom Up action (optional)"); keysDialog->runModal(); delete keysDialog; - keysDialog = new CEKeysDialog("Map Zoom Down action (optional)"); + keysDialog = new GUI::KeysDialog("Map Zoom Down action (optional)"); keysDialog->runModal(); delete keysDialog; } // Extra warning for Zak Mc Kracken if (strncmp(_gameDetector._targetName.c_str(), "zak", 3) == 0 && - !CEActions::Instance()->getMapping(POCKET_ACTION_HIDE)) { + !GUI_Actions::Instance()->getMapping(POCKET_ACTION_HIDE)) { GUI::MessageDialog alert("Don't forget to map a key to 'Hide Toolbar' action to see the whole inventory"); alert.runModal(); } @@ -1389,7 +1389,7 @@ bool OSystem_WINCE3::saveScreenshot(const char *filename) { static int mapKeyCE(SDLKey key, SDLMod mod, Uint16 unicode) { - if (CEActions::Instance()->mappingActive()) + if (GUI::Actions::Instance()->mappingActive()) return key; if (key >= SDLK_F1 && key <= SDLK_F9) { @@ -1540,7 +1540,7 @@ bool OSystem_WINCE3::pollEvent(Event &event) { _keyRepeat = 0; } - if (!CEActions::Instance()->mappingActive() && CEActions::Instance()->performMapped(ev.key.keysym.sym, true)) + if (!GUI_Actions::Instance()->mappingActive() && GUI_Actions::Instance()->performMapped(ev.key.keysym.sym, true)) return true; } @@ -1548,7 +1548,7 @@ bool OSystem_WINCE3::pollEvent(Event &event) { event.kbd.keycode = ev.key.keysym.sym; event.kbd.ascii = mapKeyCE(ev.key.keysym.sym, ev.key.keysym.mod, ev.key.keysym.unicode); - if (CEActions::Instance()->mappingActive()) + if (GUI_Actions::Instance()->mappingActive()) event.kbd.flags = 0xFF; return true; @@ -1561,7 +1561,7 @@ bool OSystem_WINCE3::pollEvent(Event &event) { _lastKeyPressed = 0; } - if (!CEActions::Instance()->mappingActive() && CEActions::Instance()->performMapped(ev.key.keysym.sym, false)) + if (!GUI_Actions::Instance()->mappingActive() && GUI_Actions::Instance()->performMapped(ev.key.keysym.sym, false)) return true; } @@ -1569,7 +1569,7 @@ bool OSystem_WINCE3::pollEvent(Event &event) { event.kbd.keycode = ev.key.keysym.sym; event.kbd.ascii = mapKeyCE(ev.key.keysym.sym, ev.key.keysym.mod, ev.key.keysym.unicode); - if (CEActions::Instance()->mappingActive()) + if (GUI_Actions::Instance()->mappingActive()) event.kbd.flags = 0xFF; return true; @@ -1648,7 +1648,7 @@ bool OSystem_WINCE3::pollEvent(Event &event) { if (currentTime > _keyRepeatTime + _keyRepeatTrigger) { _keyRepeatTime = currentTime; _keyRepeat++; - CEActions::Instance()->performMapped(_lastKeyPressed, true); + GUI_Actions::Instance()->performMapped(_lastKeyPressed, true); } } } |