From e91bdf026270c10d9d423c5ab38cff175c70140b Mon Sep 17 00:00:00 2001 From: Martin Kiewitz Date: Wed, 3 Feb 2016 20:44:24 +0100 Subject: SCI: Remove hardcoded value in getScummVMEvent() --- engines/sci/event.cpp | 7 ++++--- engines/sci/event.h | 11 +++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) (limited to 'engines') diff --git a/engines/sci/event.cpp b/engines/sci/event.cpp index 752dbc8fc5..f8285c26f2 100644 --- a/engines/sci/event.cpp +++ b/engines/sci/event.cpp @@ -277,9 +277,10 @@ SciEvent EventManager::getScummVMEvent() { } else if ((scummVMKeycode >= Common::KEYCODE_F1) && scummVMKeycode <= Common::KEYCODE_F10) { // SCI_K_F1 == 59 << 8 // SCI_K_SHIFT_F1 == 84 << 8 - input.character = SCI_KEY_F1 + ((scummVMKeycode - Common::KEYCODE_F1)<<8); - if (scummVMKeyFlags & Common::KBD_SHIFT) - input.character = input.character + 0x1900; + if (!(scummVMKeyFlags & Common::KBD_SHIFT)) + input.character = SCI_KEY_F1 + ((scummVMKeycode - Common::KEYCODE_F1)<<8); + else + input.character = SCI_KEY_SHIFT_F1 + ((scummVMKeycode - Common::KEYCODE_F1)<<8); } else { // Special keys that need conversion for (int i = 0; i < ARRAYSIZE(keyMappings); i++) { diff --git a/engines/sci/event.h b/engines/sci/event.h index 6d4f0652df..dc3f81d05e 100644 --- a/engines/sci/event.h +++ b/engines/sci/event.h @@ -91,6 +91,17 @@ struct SciEvent { #define SCI_KEY_F9 (67<<8) #define SCI_KEY_F10 (68<<8) +#define SCI_KEY_SHIFT_F1 (84<<8) +#define SCI_KEY_SHIFT_F2 (85<<8) +#define SCI_KEY_SHIFT_F3 (86<<8) +#define SCI_KEY_SHIFT_F4 (87<<8) +#define SCI_KEY_SHIFT_F5 (88<<8) +#define SCI_KEY_SHIFT_F6 (89<<8) +#define SCI_KEY_SHIFT_F7 (90<<8) +#define SCI_KEY_SHIFT_F8 (91<<8) +#define SCI_KEY_SHIFT_F9 (92<<8) +#define SCI_KEY_SHIFT_F10 (93<<8) + /*Values for buckybits */ #define SCI_KEYMOD_RSHIFT (1<<0) #define SCI_KEYMOD_LSHIFT (1<<1) -- cgit v1.2.3