diff options
author | Colin Snover | 2017-07-16 12:30:54 -0500 |
---|---|---|
committer | Colin Snover | 2017-07-16 14:26:30 -0500 |
commit | 63794983033189135746bfd2fc2bc0cbf4e474cb (patch) | |
tree | f9229facbbcca5ba61d76a2a6cb99f2da611f38c /backends/networking/curl/request.h | |
parent | 6c44b5762e6fa009c548f5dacdb422ccde958724 (diff) | |
download | scummvm-rg350-63794983033189135746bfd2fc2bc0cbf4e474cb.tar.gz scummvm-rg350-63794983033189135746bfd2fc2bc0cbf4e474cb.tar.bz2 scummvm-rg350-63794983033189135746bfd2fc2bc0cbf4e474cb.zip |
SCI: Fix kMenuSelect to understand control characters
In b4c0be8b42d63cbf3c808be1a94839483f674ce9 keyboard events were
adjusted to send control characters to game scripts, which matches
how keyboard input works in SSCI. Unfortunately this broke games
using kMenuSelect because that kernel code was not expecting to
receive control characters.
Here is an amended list of known types of keyboard shortcuts, for
future reference:
* All games with text inputs (Ctrl+C clears text boxes)
* Most games using MenuBar, like QFG1EGA (Ctrl+P pauses the
game, Tab or Ctrl+I show inventory)
* QFG1VGA (Ctrl+S shows stats)
* Torin (Ctrl+N, Ctrl+O, Ctrl+S, etc. activate menu commands)
* LSL1VGA & LSL3 (Ctrl+Alt+X to bypass age check)
* Most in-game debuggers (Alt+T for teleport)
The shortcut handling code is still not 100% accurate since there
are some edge cases that are not implemented (e.g. in DOS/SSCI,
Shift+Ctrl+<key> usually sends the same key information as
Ctrl+<key>, but not if <key> is Tab), but it should now be working
in a consistent and rational manner for end-users.
Diffstat (limited to 'backends/networking/curl/request.h')
0 files changed, 0 insertions, 0 deletions