aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/event.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/sci/event.cpp b/engines/sci/event.cpp
index 9c3de07366..715156eee9 100644
--- a/engines/sci/event.cpp
+++ b/engines/sci/event.cpp
@@ -364,6 +364,14 @@ sciEvent SciEvent::get(unsigned int mask) {
if (event.type == SCI_EVENT_KEYBOARD) {
// Do we still have to translate the key?
+ // When Ctrl AND Alt are pressed together with a regular key, Linux will give us control-key, Windows will give
+ // us the actual key. My opinion is that windows is right, because under DOS the keys worked the same, anyway
+ // we support the other case as well
+ if (event.modifiers & SCI_KEYMOD_ALT) {
+ if (event.character < 26)
+ event.character += 96;
+ }
+
if (getSciVersion() <= SCI_VERSION_1_MIDDLE) {
// TODO: find out if altify is also not needed for sci1late+, couldnt find any game that uses those keys
// Scancodify if appropriate