[Scummvm-git-logs] scummvm master -> 9fc24522d7bcfd4ad8c78ef6e34a4d69a2f55a87
bluegr
bluegr at gmail.com
Tue Jan 21 01:28:26 UTC 2020
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
9fc24522d7 BACKENDS: Add more keycodes
Commit: 9fc24522d7bcfd4ad8c78ef6e34a4d69a2f55a87
https://github.com/scummvm/scummvm/commit/9fc24522d7bcfd4ad8c78ef6e34a4d69a2f55a87
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2020-01-21T03:28:22+02:00
Commit Message:
BACKENDS: Add more keycodes
Changed paths:
backends/events/androidsdl/androidsdl-events.cpp
backends/events/sdl/sdl-events.cpp
backends/keymapper/hardware-input.cpp
backends/platform/android/events.h
backends/platform/ps2/ps2input.cpp
common/keyboard.h
engines/wintermute/base/base_keyboard_state.cpp
diff --git a/backends/events/androidsdl/androidsdl-events.cpp b/backends/events/androidsdl/androidsdl-events.cpp
index 0282b23..dcc1c14 100644
--- a/backends/events/androidsdl/androidsdl-events.cpp
+++ b/backends/events/androidsdl/androidsdl-events.cpp
@@ -86,7 +86,7 @@ int AndroidSdlEventSource::mapKey(SDLKey sdlKey, SDLMod mod, Uint16 unicode) {
return key;
} else if (key >= 'a' && key <= 'z' && (mod & KMOD_SHIFT)) {
return key & ~0x20;
- } else if (key >= Common::KEYCODE_NUMLOCK && key <= Common::KEYCODE_EURO) {
+ } else if (key >= Common::KEYCODE_NUMLOCK && key < Common::KEYCODE_LAST) {
return 0;
} else {
return key;
diff --git a/backends/events/sdl/sdl-events.cpp b/backends/events/sdl/sdl-events.cpp
index eba4434..e8ea55f 100644
--- a/backends/events/sdl/sdl-events.cpp
+++ b/backends/events/sdl/sdl-events.cpp
@@ -188,7 +188,7 @@ int SdlEventSource::mapKey(SDLKey sdlKey, SDLMod mod, Uint16 unicode) {
return unicode;
} else if (key >= 'a' && key <= 'z' && (mod & KMOD_SHIFT)) {
return key & ~0x20;
- } else if (key >= Common::KEYCODE_NUMLOCK && key <= Common::KEYCODE_EURO) {
+ } else if (key >= Common::KEYCODE_NUMLOCK && key < Common::KEYCODE_LAST) {
return 0;
} else {
return key;
@@ -444,11 +444,6 @@ Common::KeyCode SdlEventSource::SDLToOSystemKeycode(const SDLKey key) {
case SDLK_y: return Common::KEYCODE_y;
case SDLK_z: return Common::KEYCODE_z;
case SDLK_DELETE: return Common::KEYCODE_DELETE;
-#if SDL_VERSION_ATLEAST(2, 0, 0)
- case SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_GRAVE): return Common::KEYCODE_TILDE;
-#else
- case SDLK_WORLD_16: return Common::KEYCODE_TILDE;
-#endif
case SDLK_KP0: return Common::KEYCODE_KP0;
case SDLK_KP1: return Common::KEYCODE_KP1;
case SDLK_KP2: return Common::KEYCODE_KP2;
@@ -506,12 +501,51 @@ Common::KeyCode SdlEventSource::SDLToOSystemKeycode(const SDLKey key) {
case SDLK_HELP: return Common::KEYCODE_HELP;
case SDLK_PRINT: return Common::KEYCODE_PRINT;
case SDLK_SYSREQ: return Common::KEYCODE_SYSREQ;
-#if !SDL_VERSION_ATLEAST(2, 0, 0)
- case SDLK_BREAK: return Common::KEYCODE_BREAK;
-#endif
case SDLK_MENU: return Common::KEYCODE_MENU;
case SDLK_POWER: return Common::KEYCODE_POWER;
case SDLK_UNDO: return Common::KEYCODE_UNDO;
+#if SDL_VERSION_ATLEAST(2, 0, 0)
+ case SDLK_PERCENT: return Common::KEYCODE_PERCENT;
+ case SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_GRAVE): return Common::KEYCODE_TILDE;
+ case SDLK_F16: return Common::KEYCODE_F16;
+ case SDLK_F17: return Common::KEYCODE_F17;
+ case SDLK_F18: return Common::KEYCODE_F18;
+ case SDLK_SLEEP: return Common::KEYCODE_SLEEP;
+ case SDLK_MUTE: return Common::KEYCODE_MUTE;
+ case SDLK_VOLUMEUP: return Common::KEYCODE_VOLUMEUP;
+ case SDLK_VOLUMEDOWN: return Common::KEYCODE_VOLUMEDOWN;
+ case SDLK_EJECT: return Common::KEYCODE_EJECT;
+ case SDLK_WWW: return Common::KEYCODE_WWW;
+ case SDLK_MAIL: return Common::KEYCODE_MAIL;
+ case SDLK_CALCULATOR: return Common::KEYCODE_CALCULATOR;
+ case SDLK_CUT: return Common::KEYCODE_CUT;
+ case SDLK_COPY: return Common::KEYCODE_COPY;
+ case SDLK_PASTE: return Common::KEYCODE_PASTE;
+ case SDLK_SELECT: return Common::KEYCODE_SELECT;
+ case SDLK_CANCEL: return Common::KEYCODE_CANCEL;
+ case SDLK_AC_SEARCH: return Common::KEYCODE_AC_SEARCH;
+ case SDLK_AC_HOME: return Common::KEYCODE_AC_HOME;
+ case SDLK_AC_BACK: return Common::KEYCODE_AC_BACK;
+ case SDLK_AC_FORWARD: return Common::KEYCODE_AC_FORWARD;
+ case SDLK_AC_STOP: return Common::KEYCODE_AC_STOP;
+ case SDLK_AC_REFRESH: return Common::KEYCODE_AC_REFRESH;
+ case SDLK_AC_BOOKMARKS: return Common::KEYCODE_AC_BOOKMARKS;
+ case SDLK_AUDIONEXT: return Common::KEYCODE_AUDIONEXT;
+ case SDLK_AUDIOPREV: return Common::KEYCODE_AUDIOPREV;
+ case SDLK_AUDIOSTOP: return Common::KEYCODE_AUDIOSTOP;
+ case SDLK_AUDIOPLAY: return Common::KEYCODE_AUDIOPLAYPAUSE;
+ case SDLK_AUDIOMUTE: return Common::KEYCODE_AUDIOMUTE;
+#if SDL_VERSION_ATLEAST(2, 0, 6)
+ case SDLK_AUDIOREWIND: return Common::KEYCODE_AUDIOREWIND;
+ case SDLK_AUDIOFASTFORWARD: return Common::KEYCODE_AUDIOFASTFORWARD;
+#endif
+#else
+ case SDLK_WORLD_16: return Common::KEYCODE_TILDE;
+ case SDLK_BREAK: return Common::KEYCODE_BREAK;
+ case SDLK_LMETA: return Common::KEYCODE_LMETA;
+ case SDLK_RMETA: return Common::KEYCODE_RMETA;
+ case SDLK_EURO: return Common::KEYCODE_EURO;
+#endif
default: return Common::KEYCODE_INVALID;
}
}
diff --git a/backends/keymapper/hardware-input.cpp b/backends/keymapper/hardware-input.cpp
index d4b5ff5..9798b76 100644
--- a/backends/keymapper/hardware-input.cpp
+++ b/backends/keymapper/hardware-input.cpp
@@ -40,6 +40,7 @@ static const KeyTableEntry defaultKeys[] = {
{"QUOTEDBL", KEYCODE_QUOTEDBL, '"', "\"", false},
{"HASH", KEYCODE_HASH, '#', "#", false},
{"DOLLAR", KEYCODE_DOLLAR, '$', "$", false},
+ {"PERCENT", KEYCODE_PERCENT, '%', "%", false},
{"AMPERSAND", KEYCODE_AMPERSAND, '&', "&", false},
{"QUOTE", KEYCODE_QUOTE, '\'', "'", false},
{"LEFTPAREN", KEYCODE_LEFTPAREN, '(', "(", false},
@@ -148,6 +149,9 @@ static const KeyTableEntry defaultKeys[] = {
{"F13", KEYCODE_F13, 0, "F13", false},
{"F14", KEYCODE_F14, 0, "F14", false},
{"F15", KEYCODE_F15, 0, "F15", false},
+ {"F16", KEYCODE_F16, 0, "F16", false},
+ {"F17", KEYCODE_F17, 0, "F17", false},
+ {"F18", KEYCODE_F18, 0, "F18", false},
// Miscellaneous function keys
{"HELP", KEYCODE_HELP, 0, "Help", false},
@@ -161,6 +165,45 @@ static const KeyTableEntry defaultKeys[] = {
{"EURO", KEYCODE_EURO, 0, "Euro", false},
// Atari keyboard has Undo
{"UNDO", KEYCODE_UNDO, 0, "Undo", false},
+ {"SLEEP", KEYCODE_SLEEP, 0, "Sleep", false},
+ {"MUTE", KEYCODE_MUTE, 0, "Mute", false},
+ {"EJECT", KEYCODE_EJECT, 0, "Eject", false},
+ {"VOLUMEUP", KEYCODE_VOLUMEUP, 0, "Volume Up", false},
+ {"VOLUMEDOWN", KEYCODE_VOLUMEDOWN, 0, "Volume Down", false},
+ {"LEFTSOFT", KEYCODE_LEFTSOFT, 0, "Left Soft", false},
+ {"RIGHTSOFT", KEYCODE_RIGHTSOFT, 0, "Right Soft", false},
+ {"CALL", KEYCODE_CALL, 0, "Call", false},
+ {"HANGUP", KEYCODE_HANGUP, 0, "Hang up", false},
+ {"CAMERA", KEYCODE_CAMERA, 0, "Camera", false},
+ {"WWW", KEYCODE_WWW, 0, "WWW", false},
+ {"MAIL", KEYCODE_MAIL, 0, "Mail", false},
+ {"CALCULATOR", KEYCODE_CALCULATOR, 0, "Calculator", false},
+ {"CUT", KEYCODE_CUT, 0, "Cut", false},
+ {"COPY", KEYCODE_COPY, 0, "Copy", false},
+ {"PASTE", KEYCODE_PASTE, 0, "Paste", false},
+ {"SELECT", KEYCODE_SELECT, 0, "Select", false},
+ {"CANCEL", KEYCODE_CANCEL, 0, "Cancel", false},
+
+ // Action keys
+ {"AC_SEARCH", KEYCODE_AC_SEARCH, 0, "AC Search", false},
+ {"AC_HOME", KEYCODE_AC_HOME, 0, "AC Home", false},
+ {"AC_BACK", KEYCODE_AC_BACK, 0, "AC Back", false},
+ {"AC_FORWARD", KEYCODE_AC_FORWARD, 0, "AC Forward", false},
+ {"AC_STOP", KEYCODE_AC_STOP, 0, "AC Stop", false},
+ {"AC_REFRESH", KEYCODE_AC_REFRESH, 0, "AC Refresh", false},
+ {"AC_BOOKMARKS", KEYCODE_AC_BOOKMARKS, 0, "AC Bookmarks", false},
+
+ // Audio keys
+ {"AUDIONEXT", KEYCODE_AUDIONEXT, 0, "Audio Next", false},
+ {"AUDIOPREV", KEYCODE_AUDIOPREV, 0, "Audio Previous", false},
+ {"AUDIOSTOP", KEYCODE_AUDIOSTOP, 0, "Audio Stop", false},
+ {"AUDIOPLAY", KEYCODE_AUDIOPLAY, 0, "Audio Play", false},
+ {"AUDIOPAUSE", KEYCODE_AUDIOPAUSE, 0, "Audio Pause", false},
+ {"AUDIOPLAYPAUSE", KEYCODE_AUDIOPLAYPAUSE, 0, "Audio Play/Pause", false},
+ {"AUDIOMUTE", KEYCODE_AUDIOMUTE, 0, "Audio Mute", false},
+ {"AUDIOREWIND", KEYCODE_AUDIOREWIND, 0, "Audio Rewind", false},
+ {"AUDIOFASTFORWARD", KEYCODE_AUDIOFASTFORWARD, 0, "Audio Fast-Forward", false},
+
{0, KEYCODE_INVALID, 0, 0, false}
};
diff --git a/backends/platform/android/events.h b/backends/platform/android/events.h
index 4c114ce..826bc80 100644
--- a/backends/platform/android/events.h
+++ b/backends/platform/android/events.h
@@ -145,12 +145,12 @@ enum {
// map android key codes to our kbd codes
static const Common::KeyCode jkeymap[] = {
Common::KEYCODE_INVALID, // KEYCODE_UNKNOWN
- Common::KEYCODE_INVALID, // KEYCODE_SOFT_LEFT
- Common::KEYCODE_INVALID, // KEYCODE_SOFT_RIGHT
- Common::KEYCODE_INVALID, // KEYCODE_HOME
- Common::KEYCODE_INVALID, // KEYCODE_BACK
- Common::KEYCODE_INVALID, // KEYCODE_CALL
- Common::KEYCODE_INVALID, // KEYCODE_ENDCALL
+ Common::KEYCODE_LEFTSOFT, // KEYCODE_SOFT_LEFT
+ Common::KEYCODE_RIGHTSOFT, // KEYCODE_SOFT_RIGHT
+ Common::KEYCODE_AC_HOME, // KEYCODE_HOME
+ Common::KEYCODE_AC_BACK, // KEYCODE_BACK
+ Common::KEYCODE_CALL, // KEYCODE_CALL
+ Common::KEYCODE_HANGUP, // KEYCODE_ENDCALL
Common::KEYCODE_0, // KEYCODE_0
Common::KEYCODE_1, // KEYCODE_1
Common::KEYCODE_2, // KEYCODE_2
@@ -167,11 +167,11 @@ static const Common::KeyCode jkeymap[] = {
Common::KEYCODE_DOWN, // KEYCODE_DPAD_DOWN
Common::KEYCODE_LEFT, // KEYCODE_DPAD_LEFT
Common::KEYCODE_RIGHT, // KEYCODE_DPAD_RIGHT
- Common::KEYCODE_INVALID, // KEYCODE_DPAD_CENTER
- Common::KEYCODE_INVALID, // KEYCODE_VOLUME_UP
- Common::KEYCODE_INVALID, // KEYCODE_VOLUME_DOWN
- Common::KEYCODE_INVALID, // KEYCODE_POWER
- Common::KEYCODE_INVALID, // KEYCODE_CAMERA
+ Common::KEYCODE_SELECT, // KEYCODE_DPAD_CENTER
+ Common::KEYCODE_VOLUMEUP, // KEYCODE_VOLUME_UP
+ Common::KEYCODE_VOLUMEDOWN, // KEYCODE_VOLUME_DOWN
+ Common::KEYCODE_POWER, // KEYCODE_POWER
+ Common::KEYCODE_CAMERA, // KEYCODE_CAMERA
Common::KEYCODE_CLEAR, // KEYCODE_CLEAR
Common::KEYCODE_a, // KEYCODE_A
Common::KEYCODE_b, // KEYCODE_B
@@ -208,8 +208,8 @@ static const Common::KeyCode jkeymap[] = {
Common::KEYCODE_TAB, // KEYCODE_TAB
Common::KEYCODE_SPACE, // KEYCODE_SPACE
Common::KEYCODE_LCTRL, // KEYCODE_SYM
- Common::KEYCODE_INVALID, // KEYCODE_EXPLORER
- Common::KEYCODE_INVALID, // KEYCODE_ENVELOPE
+ Common::KEYCODE_WWW, // KEYCODE_EXPLORER
+ Common::KEYCODE_MAIL, // KEYCODE_ENVELOPE
Common::KEYCODE_RETURN, // KEYCODE_ENTER
Common::KEYCODE_BACKSPACE, // KEYCODE_DEL
Common::KEYCODE_BACKQUOTE, // KEYCODE_GRAVE
@@ -228,14 +228,14 @@ static const Common::KeyCode jkeymap[] = {
Common::KEYCODE_PLUS, // KEYCODE_PLUS
Common::KEYCODE_MENU, // KEYCODE_MENU
Common::KEYCODE_INVALID, // KEYCODE_NOTIFICATION
- Common::KEYCODE_INVALID, // KEYCODE_SEARCH
- Common::KEYCODE_INVALID, // KEYCODE_MEDIA_PLAY_PAUSE
- Common::KEYCODE_INVALID, // KEYCODE_MEDIA_STOP
- Common::KEYCODE_INVALID, // KEYCODE_MEDIA_NEXT
- Common::KEYCODE_INVALID, // KEYCODE_MEDIA_PREVIOUS
- Common::KEYCODE_INVALID, // KEYCODE_MEDIA_REWIND
- Common::KEYCODE_INVALID, // KEYCODE_MEDIA_FAST_FORWARD
- Common::KEYCODE_INVALID, // KEYCODE_MUTE
+ Common::KEYCODE_AC_SEARCH, // KEYCODE_SEARCH
+ Common::KEYCODE_AUDIOPLAYPAUSE, // KEYCODE_MEDIA_PLAY_PAUSE
+ Common::KEYCODE_AUDIOSTOP, // KEYCODE_MEDIA_STOP
+ Common::KEYCODE_AUDIONEXT, // KEYCODE_MEDIA_NEXT
+ Common::KEYCODE_AUDIOPREV, // KEYCODE_MEDIA_PREVIOUS
+ Common::KEYCODE_AUDIOREWIND, // KEYCODE_MEDIA_REWIND
+ Common::KEYCODE_AUDIOFASTFORWARD, // KEYCODE_MEDIA_FAST_FORWARD
+ Common::KEYCODE_MUTE, // KEYCODE_MUTE
Common::KEYCODE_PAGEUP, // KEYCODE_PAGE_UP
Common::KEYCODE_PAGEDOWN, // KEYCODE_PAGE_DOWN
Common::KEYCODE_INVALID, // KEYCODE_PICTSYMBOLS
@@ -269,11 +269,11 @@ static const Common::KeyCode jkeymap[] = {
Common::KEYCODE_HOME, // KEYCODE_MOVE_HOME
Common::KEYCODE_END, // KEYCODE_MOVE_END
Common::KEYCODE_INSERT, // KEYCODE_INSERT
- Common::KEYCODE_INVALID, // KEYCODE_FORWARD
- Common::KEYCODE_INVALID, // KEYCODE_MEDIA_PLAY
- Common::KEYCODE_INVALID, // KEYCODE_MEDIA_PAUSE
+ Common::KEYCODE_AC_FORWARD, // KEYCODE_FORWARD
+ Common::KEYCODE_AUDIOPLAY, // KEYCODE_MEDIA_PLAY
+ Common::KEYCODE_AUDIOPAUSE, // KEYCODE_MEDIA_PAUSE
Common::KEYCODE_INVALID, // KEYCODE_MEDIA_CLOSE
- Common::KEYCODE_INVALID, // KEYCODE_MEDIA_EJECT
+ Common::KEYCODE_EJECT, // KEYCODE_MEDIA_EJECT
Common::KEYCODE_INVALID, // KEYCODE_MEDIA_RECORD
Common::KEYCODE_F1, // KEYCODE_F1
Common::KEYCODE_F2, // KEYCODE_F2
@@ -318,7 +318,7 @@ static const Common::KeyCode jkeymap[] = {
Common::KEYCODE_INVALID, // KEYCODE_WINDOW
Common::KEYCODE_INVALID, // KEYCODE_GUIDE
Common::KEYCODE_INVALID, // KEYCODE_DVR
- Common::KEYCODE_INVALID, // KEYCODE_BOOKMARK
+ Common::KEYCODE_AC_BOOKMARKS, // KEYCODE_BOOKMARK
Common::KEYCODE_INVALID, // KEYCODE_CAPTIONS
Common::KEYCODE_INVALID, // KEYCODE_SETTINGS
Common::KEYCODE_INVALID, // KEYCODE_TV_POWER
@@ -354,7 +354,7 @@ static const Common::KeyCode jkeymap[] = {
Common::KEYCODE_INVALID, // KEYCODE_CONTACTS
Common::KEYCODE_INVALID, // KEYCODE_CALENDAR
Common::KEYCODE_INVALID, // KEYCODE_MUSIC
- Common::KEYCODE_INVALID, // KEYCODE_CALCULATOR
+ Common::KEYCODE_CALCULATOR, // KEYCODE_CALCULATOR
Common::KEYCODE_INVALID, // KEYCODE_ZENKAKU_HANKAKU
Common::KEYCODE_INVALID, // KEYCODE_EISU
Common::KEYCODE_INVALID, // KEYCODE_MUHENKAN
@@ -367,7 +367,7 @@ static const Common::KeyCode jkeymap[] = {
Common::KEYCODE_INVALID, // KEYCODE_BRIGHTNESS_DOWN
Common::KEYCODE_INVALID, // KEYCODE_BRIGHTNESS_UP
Common::KEYCODE_INVALID, // KEYCODE_MEDIA_AUDIO_TRACK
- Common::KEYCODE_INVALID, // KEYCODE_SLEEP
+ Common::KEYCODE_SLEEP, // KEYCODE_SLEEP
Common::KEYCODE_INVALID, // KEYCODE_WAKEUP
Common::KEYCODE_INVALID, // KEYCODE_PAIRING
Common::KEYCODE_INVALID, // KEYCODE_MEDIA_TOP_MENU
@@ -403,8 +403,27 @@ static const Common::KeyCode jkeymap[] = {
Common::KEYCODE_INVALID, // KEYCODE_TV_CONTENTS_MENU
Common::KEYCODE_INVALID, // KEYCODE_TV_MEDIA_CONTEXT_MENU
Common::KEYCODE_INVALID, // KEYCODE_TV_TIMER_PROGRAMMING
- Common::KEYCODE_HELP // KEYCODE_HELP
-
+ Common::KEYCODE_HELP, // KEYCODE_HELP
+ Common::KEYCODE_INVALID, // KEYCODE_NAVIGATE_PREVIOUS
+ Common::KEYCODE_INVALID, // KEYCODE_NAVIGATE_NEXT
+ Common::KEYCODE_INVALID, // KEYCODE_NAVIGATE_IN
+ Common::KEYCODE_INVALID, // KEYCODE_NAVIGATE_OUT
+ Common::KEYCODE_INVALID, // KEYCODE_STEM_PRIMARY
+ Common::KEYCODE_INVALID, // KEYCODE_STEM_1
+ Common::KEYCODE_INVALID, // KEYCODE_STEM_2
+ Common::KEYCODE_INVALID, // KEYCODE_STEM_3
+ Common::KEYCODE_INVALID, // KEYCODE_DPAD_UP_LEFT
+ Common::KEYCODE_INVALID, // KEYCODE_DPAD_DOWN_LEFT
+ Common::KEYCODE_INVALID, // KEYCODE_DPAD_UP_RIGHT
+ Common::KEYCODE_INVALID, // KEYCODE_DPAD_DOWN_RIGHT
+ Common::KEYCODE_INVALID, // KEYCODE_MEDIA_SKIP_FORWARD
+ Common::KEYCODE_INVALID, // KEYCODE_MEDIA_SKIP_BACKWARD
+ Common::KEYCODE_INVALID, // KEYCODE_MEDIA_STEP_FORWARD
+ Common::KEYCODE_INVALID, // KEYCODE_MEDIA_STEP_BACKWARD
+ Common::KEYCODE_INVALID, // KEYCODE_SOFT_SLEEP
+ Common::KEYCODE_CUT, // KEYCODE_CUT
+ Common::KEYCODE_COPY, // KEYCODE_COPY
+ Common::KEYCODE_PASTE // KEYCODE_PASTE
};
#endif
diff --git a/backends/platform/ps2/ps2input.cpp b/backends/platform/ps2/ps2input.cpp
index 636176e..f028be1 100644
--- a/backends/platform/ps2/ps2input.cpp
+++ b/backends/platform/ps2/ps2input.cpp
@@ -102,7 +102,7 @@ int Ps2Input::mapKey(int key, int mod) { // copied from sdl backend
return key;
} else if (key >= 'a' && key <= 'z' && mod & Common::KBD_SHIFT) {
return key & ~0x20;
- } else if (key >= Common::KEYCODE_NUMLOCK && key <= Common::KEYCODE_EURO) {
+ } else if (key >= Common::KEYCODE_NUMLOCK && key < Common::KEYCODE_LAST) {
return 0;
}
return key;
diff --git a/common/keyboard.h b/common/keyboard.h
index e6e1f59..ca26e6b 100644
--- a/common/keyboard.h
+++ b/common/keyboard.h
@@ -50,16 +50,17 @@ enum KeyCode {
KEYCODE_QUOTEDBL = 34, // "
KEYCODE_HASH = 35, // #
KEYCODE_DOLLAR = 36, // $
+ KEYCODE_PERCENT = 37, // %
KEYCODE_AMPERSAND = 38, // &
KEYCODE_QUOTE = 39, // '
- KEYCODE_LEFTPAREN = 40,
- KEYCODE_RIGHTPAREN = 41,
+ KEYCODE_LEFTPAREN = 40, // (
+ KEYCODE_RIGHTPAREN = 41, // )
KEYCODE_ASTERISK = 42, // *
- KEYCODE_PLUS = 43,
- KEYCODE_COMMA = 44,
- KEYCODE_MINUS = 45,
- KEYCODE_PERIOD = 46,
- KEYCODE_SLASH = 47,
+ KEYCODE_PLUS = 43, // +
+ KEYCODE_COMMA = 44, // ,
+ KEYCODE_MINUS = 45, // -
+ KEYCODE_PERIOD = 46, // .
+ KEYCODE_SLASH = 47, // /
KEYCODE_0 = 48,
KEYCODE_1 = 49,
KEYCODE_2 = 50,
@@ -70,20 +71,20 @@ enum KeyCode {
KEYCODE_7 = 55,
KEYCODE_8 = 56,
KEYCODE_9 = 57,
- KEYCODE_COLON = 58,
- KEYCODE_SEMICOLON = 59,
- KEYCODE_LESS = 60,
- KEYCODE_EQUALS = 61,
- KEYCODE_GREATER = 62,
- KEYCODE_QUESTION = 63,
- KEYCODE_AT = 64,
+ KEYCODE_COLON = 58, // :
+ KEYCODE_SEMICOLON = 59, // ;
+ KEYCODE_LESS = 60, // <
+ KEYCODE_EQUALS = 61, // =
+ KEYCODE_GREATER = 62, // >
+ KEYCODE_QUESTION = 63, // ?
+ KEYCODE_AT = 64, // @
- KEYCODE_LEFTBRACKET = 91,
- KEYCODE_BACKSLASH = 92,
- KEYCODE_RIGHTBRACKET= 93,
- KEYCODE_CARET = 94,
- KEYCODE_UNDERSCORE = 95,
- KEYCODE_BACKQUOTE = 96,
+ KEYCODE_LEFTBRACKET = 91, // [
+ KEYCODE_BACKSLASH = 92, // "\"
+ KEYCODE_RIGHTBRACKET= 93, // ]
+ KEYCODE_CARET = 94, // ^
+ KEYCODE_UNDERSCORE = 95, // _
+ KEYCODE_BACKQUOTE = 96, // `
KEYCODE_a = 97,
KEYCODE_b = 98,
KEYCODE_c = 99,
@@ -159,6 +160,9 @@ enum KeyCode {
KEYCODE_F13 = 294,
KEYCODE_F14 = 295,
KEYCODE_F15 = 296,
+ KEYCODE_F16 = 297,
+ KEYCODE_F17 = 298,
+ KEYCODE_F18 = 299,
// Key state modifier keys
KEYCODE_NUMLOCK = 300,
@@ -185,7 +189,47 @@ enum KeyCode {
KEYCODE_MENU = 319,
KEYCODE_POWER = 320, // Power Macintosh power key
KEYCODE_EURO = 321, // Some european keyboards
- KEYCODE_UNDO = 322 // Atari keyboard has Undo
+ KEYCODE_UNDO = 322, // Atari keyboard has Undo
+ KEYCODE_SLEEP = 323,
+ KEYCODE_MUTE = 324,
+ KEYCODE_EJECT = 325,
+ KEYCODE_VOLUMEUP = 326,
+ KEYCODE_VOLUMEDOWN = 327,
+ KEYCODE_LEFTSOFT = 328,
+ KEYCODE_RIGHTSOFT = 329,
+ KEYCODE_CALL = 330,
+ KEYCODE_HANGUP = 331,
+ KEYCODE_CAMERA = 332,
+ KEYCODE_WWW = 333,
+ KEYCODE_MAIL = 334,
+ KEYCODE_CALCULATOR = 335,
+ KEYCODE_CUT = 336,
+ KEYCODE_COPY = 337,
+ KEYCODE_PASTE = 338,
+ KEYCODE_SELECT = 339,
+ KEYCODE_CANCEL = 340,
+
+ // Action keys
+ KEYCODE_AC_SEARCH = 341,
+ KEYCODE_AC_HOME = 342,
+ KEYCODE_AC_BACK = 343,
+ KEYCODE_AC_FORWARD = 344,
+ KEYCODE_AC_STOP = 345,
+ KEYCODE_AC_REFRESH = 346,
+ KEYCODE_AC_BOOKMARKS = 347,
+
+ // Audio keys
+ KEYCODE_AUDIONEXT = 348,
+ KEYCODE_AUDIOPREV = 349,
+ KEYCODE_AUDIOSTOP = 350,
+ KEYCODE_AUDIOPLAY = 351,
+ KEYCODE_AUDIOPAUSE = 352,
+ KEYCODE_AUDIOPLAYPAUSE = 353,
+ KEYCODE_AUDIOMUTE = 354,
+ KEYCODE_AUDIOREWIND = 355,
+ KEYCODE_AUDIOFASTFORWARD = 356,
+
+ KEYCODE_LAST
};
/**
diff --git a/engines/wintermute/base/base_keyboard_state.cpp b/engines/wintermute/base/base_keyboard_state.cpp
index 502577c..4e87011 100644
--- a/engines/wintermute/base/base_keyboard_state.cpp
+++ b/engines/wintermute/base/base_keyboard_state.cpp
@@ -33,8 +33,6 @@
#include "common/system.h"
#include "common/keyboard.h"
-#define KEYSTATES_ARRAY_SIZE (Common::KEYCODE_UNDO + 1) // Hardcoded size for the common/keyboard.h enum
-
namespace Wintermute {
IMPLEMENT_PERSISTENT(BaseKeyboardState, false)
@@ -248,8 +246,8 @@ void BaseKeyboardState::init() {
_currentAlt = false;
_currentControl = false;
- _keyStates = new uint8[KEYSTATES_ARRAY_SIZE];
- for (int i = 0; i < KEYSTATES_ARRAY_SIZE; i++) {
+ _keyStates = new uint8[Common::KEYCODE_LAST];
+ for (int i = 0; i < Common::KEYCODE_LAST; i++) {
_keyStates[i] = false;
}
More information about the Scummvm-git-logs
mailing list