aboutsummaryrefslogtreecommitdiff
path: root/queen/input.cpp
diff options
context:
space:
mode:
authorGregory Montoir2003-12-26 12:58:27 +0000
committerGregory Montoir2003-12-26 12:58:27 +0000
commitffbfe8922a3cfa2d2750fca3a2cb2d953fd1e4ca (patch)
treee75942537560cbf1939534597c120258ceba69cb /queen/input.cpp
parenta45e92efed3715b3bb0b1191b718207b191ab1ae (diff)
downloadscummvm-rg350-ffbfe8922a3cfa2d2750fca3a2cb2d953fd1e4ca.tar.gz
scummvm-rg350-ffbfe8922a3cfa2d2750fca3a2cb2d953fd1e4ca.tar.bz2
scummvm-rg350-ffbfe8922a3cfa2d2750fca3a2cb2d953fd1e4ca.zip
new debugging code, using Common::Debugger
svn-id: r11940
Diffstat (limited to 'queen/input.cpp')
-rw-r--r--queen/input.cpp52
1 files changed, 12 insertions, 40 deletions
diff --git a/queen/input.cpp b/queen/input.cpp
index d8b35e37af..cf964dd3ad 100644
--- a/queen/input.cpp
+++ b/queen/input.cpp
@@ -36,7 +36,7 @@ const char* Input::_commandKeys[LANGUAGE_COUNT] = {
Input::Input(Language language, OSystem *system) :
_system(system), _fastMode(false), _keyVerb(VERB_NONE),
_cutawayRunning(false), _cutawayQuit(false), _talkQuit(false),
- _quickSave(false), _quickLoad(false),
+ _quickSave(false), _quickLoad(false), _debugger(false),
_inKey(0), _mouse_x(0), _mouse_y(0), _mouseButton(0) {
switch (language) {
@@ -83,7 +83,17 @@ void Input::delay(uint amount) {
event.kbd.keycode,
isprint(event.kbd.keycode) ? event.kbd.keycode : '.');
- _inKey = event.kbd.keycode;
+ if (event.kbd.flags == OSystem::KBD_CTRL) {
+ if (event.kbd.keycode == 'd') {
+ _debugger = true;
+ }
+ else if (event.kbd.keycode == 'f') {
+ _fastMode = !_fastMode;
+ }
+ }
+ else {
+ _inKey = event.kbd.keycode;
+ }
break;
case OSystem::EVENT_MOUSEMOVE:
@@ -219,43 +229,5 @@ int Input::checkKeys() {
}
-bool Input::waitForNumber(int &i, keyPressedCallback callback, void *refCon) {
-
- i = 0;
- int key = 0;
- do {
- delay(DELAY_SHORT);
- key = _inKey;
- _inKey = 0;
- if (key >= '0' && key <= '9') {
- i = i * 10 + key - '0';
- (*callback)(refCon, key);
- }
- else if (key == KEY_BACKSPACE) {
- i /= 10;
- (*callback)(refCon, -1);
- }
- } while (key != KEY_ESCAPE && key != KEY_RETURN);
- return key != KEY_ESCAPE;
-}
-
-
-bool Input::waitForCharacter(char &c) {
-
- int key = 0;
- do {
- delay(DELAY_SHORT);
- if (_inKey >= 'a' && _inKey <= 'z' || _inKey == KEY_ESCAPE) {
- key = _inKey;
- if (_inKey != KEY_ESCAPE) {
- c = (char)_inKey;
- }
- }
- _inKey = 0;
- } while (key == 0);
- return key != KEY_ESCAPE;
-}
-
-
} // End of namespace Queen