From 55f93678b8589b74922609d55774222ee7119f55 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Fri, 22 Jun 2007 17:51:51 +0000 Subject: Heavily modified/reduced version of patch #1741454 (EVENTS: ASCII enum) svn-id: r27612 --- backends/platform/sdl/events.cpp | 2 +- common/events.h | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/backends/platform/sdl/events.cpp b/backends/platform/sdl/events.cpp index f865282876..8738e63d95 100644 --- a/backends/platform/sdl/events.cpp +++ b/backends/platform/sdl/events.cpp @@ -52,7 +52,7 @@ static int mapKey(SDLKey key, SDLMod mod, Uint16 unicode) { if (key >= SDLK_F1 && key <= SDLK_F9) { - return key - SDLK_F1 + 315; + return key - SDLK_F1 + ASCII_F1; } else if (key >= SDLK_KP0 && key <= SDLK_KP9) { return key - SDLK_KP0 + '0'; } else if (key >= SDLK_UP && key <= SDLK_PAGEDOWN) { diff --git a/common/events.h b/common/events.h index 0330f4b417..253c9f053c 100644 --- a/common/events.h +++ b/common/events.h @@ -216,6 +216,25 @@ enum KeyCode { KEYCODE_UNDO = 322 // Atari keyboard has Undo }; +/** + * List of fake 'ascii' values used in keyboard events. + * The values here are based on what certain SCUMM games require + * in their scripts. + * @todo Get rid of this, and instead enforce that engines use the + * keycode instead to handle these. + */ +enum { + ASCII_F1 = 315, + ASCII_F2 = 316, + ASCII_F3 = 317, + ASCII_F4 = 318, + ASCII_F5 = 319, + ASCII_F6 = 320, + ASCII_F7 = 321, + ASCII_F8 = 322, + ASCII_F9 = 323 +}; + /** * Keyboard modifier flags, used for Event::kbd::flags. */ -- cgit v1.2.3