diff options
Diffstat (limited to 'engines/titanic/input_translator.cpp')
-rw-r--r-- | engines/titanic/input_translator.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/engines/titanic/input_translator.cpp b/engines/titanic/input_translator.cpp index bd805258d5..c5640a48bc 100644 --- a/engines/titanic/input_translator.cpp +++ b/engines/titanic/input_translator.cpp @@ -86,13 +86,15 @@ void CInputTranslator::mouseWheel(bool wheelUp, const Point &pt) { } void CInputTranslator::keyDown(const Common::KeyState &keyState) { - if (isSpecialKey(keyState.keycode)) { - CVirtualKeyCharMsg msg(keyState); - _inputHandler->handleMessage(msg); - } - if (keyState.ascii > 0 && keyState.ascii <= 127) { CKeyCharMsg msg(keyState.ascii); + if (_inputHandler->handleMessage(msg)) + return; + } + + if (isSpecialKey(keyState.keycode)) { + CVirtualKeyCharMsg msg(keyState); + msg._keyState.ascii = 0; _inputHandler->handleMessage(msg); } } |