diff options
author | Strangerke | 2013-10-07 02:52:41 +0200 |
---|---|---|
committer | Strangerke | 2013-10-07 02:52:41 +0200 |
commit | 8430288fef4f831f51261b32e4ad1640006fad72 (patch) | |
tree | f3125baefcfef29c3457bf689a6d0aa0ac6a8efd /engines/avalanche | |
parent | a30cc19ca84562d79fa20343c5e8f01ef3355b0b (diff) | |
download | scummvm-rg350-8430288fef4f831f51261b32e4ad1640006fad72.tar.gz scummvm-rg350-8430288fef4f831f51261b32e4ad1640006fad72.tar.bz2 scummvm-rg350-8430288fef4f831f51261b32e4ad1640006fad72.zip |
AVALANCHE: Hook some more function keys
Diffstat (limited to 'engines/avalanche')
-rw-r--r-- | engines/avalanche/parser.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/engines/avalanche/parser.cpp b/engines/avalanche/parser.cpp index bfce8805d1..e3383c7785 100644 --- a/engines/avalanche/parser.cpp +++ b/engines/avalanche/parser.cpp @@ -411,6 +411,26 @@ void Parser::handleReturn() { void Parser::handleFunctionKey(const Common::Event &event) { switch (event.kbd.keycode) { + case Common::KEYCODE_F1: + _vm->callVerb(kVerbCodeHelp); + break; + case Common::KEYCODE_F2: + if (event.kbd.flags & Common::KBD_CTRL) { + clearWords(); + _vm->callVerb(kVerbCodeSave); + } else + _vm->_sound->toggleSound(); + break; + case Common::KEYCODE_F3: + if (event.kbd.flags & Common::KBD_CTRL) { + clearWords(); + _vm->callVerb(kVerbCodeLoad); + } else if (_inputText.size() < _inputTextBackup.size()) { + _inputText = _inputText + &(_inputTextBackup.c_str()[_inputText.size()]); + _inputTextPos = _inputText.size(); + plotText(); + } + break; case Common::KEYCODE_F5: { _person = kPeoplePardon; _thing = kPardon; @@ -422,6 +442,14 @@ void Parser::handleFunctionKey(const Common::Event &event) { case Common::KEYCODE_F7: _vm->callVerb(kVerbCodeOpen); break; + case Common::KEYCODE_F11: + clearWords(); + _vm->callVerb(kVerbCodeSave); + break; + case Common::KEYCODE_F12: + clearWords(); + _vm->callVerb(kVerbCodeLoad); + break; default: break; } |