diff options
Diffstat (limited to 'engines/draci/mouse.cpp')
-rw-r--r-- | engines/draci/mouse.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/engines/draci/mouse.cpp b/engines/draci/mouse.cpp index f5eb2bbf4d..69943faa3c 100644 --- a/engines/draci/mouse.cpp +++ b/engines/draci/mouse.cpp @@ -34,6 +34,7 @@ Mouse::Mouse(DraciEngine *vm) { _y = 0; _lButton = false; _rButton = false; + _modifierState = 0; _cursorType = kNormalCursor; _vm = vm; } @@ -41,8 +42,13 @@ Mouse::Mouse(DraciEngine *vm) { void Mouse::handleEvent(Common::Event event) { switch (event.type) { case Common::EVENT_LBUTTONDOWN: - debugC(6, kDraciGeneralDebugLevel, "Left button down (x: %u y: %u)", _x, _y); - _lButton = true; + if (!(_modifierState & 3)) { + debugC(6, kDraciGeneralDebugLevel, "Left button down (x: %u y: %u)", _x, _y); + _lButton = true; + } else { // any Ctrl pressed + debugC(6, kDraciGeneralDebugLevel, "Ctrl-Left button down (x: %u y: %u)", _x, _y); + _rButton = true; + } break; case Common::EVENT_LBUTTONUP: |