aboutsummaryrefslogtreecommitdiff
path: root/engines/glk/events.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/glk/events.cpp')
-rw-r--r--engines/glk/events.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/engines/glk/events.cpp b/engines/glk/events.cpp
index efcf2c5bc6..ba132b5fbe 100644
--- a/engines/glk/events.cpp
+++ b/engines/glk/events.cpp
@@ -184,12 +184,20 @@ void Events::pollEvents() {
g_system->getEventManager()->pollEvent(event);
switch (event.type) {
- case Common::EVENT_KEYDOWN:
- if (!isModifierKey(event.kbd.keycode)) {
+ case Common::EVENT_KEYDOWN: {
+ // Check for debugger
+ Debugger *dbg = g_vm->_debugger;
+ if (dbg && event.kbd.keycode == Common::KEYCODE_d && (event.kbd.flags & Common::KBD_CTRL)) {
+ // Attach to the debugger
+ dbg->attach();
+ dbg->onFrame();
+ } else if (!isModifierKey(event.kbd.keycode)) {
+ // Handle all other keypresses
setCursor(CURSOR_NONE);
handleKeyDown(event.kbd);
}
return;
+ }
case Common::EVENT_LBUTTONDOWN:
case Common::EVENT_RBUTTONDOWN: