BACKENDS: Add more keycodes

This commit is contained in:
Cameron Cawley 2020-01-20 21:50:30 +00:00 committed by Filippos Karapetis
parent 2c68278397
commit 9fc24522d7
7 changed files with 204 additions and 66 deletions

View file

@ -86,7 +86,7 @@ int AndroidSdlEventSource::mapKey(SDLKey sdlKey, SDLMod mod, Uint16 unicode) {
return key; return key;
} else if (key >= 'a' && key <= 'z' && (mod & KMOD_SHIFT)) { } else if (key >= 'a' && key <= 'z' && (mod & KMOD_SHIFT)) {
return key & ~0x20; 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 0;
} else { } else {
return key; return key;

View file

@ -188,7 +188,7 @@ int SdlEventSource::mapKey(SDLKey sdlKey, SDLMod mod, Uint16 unicode) {
return unicode; return unicode;
} else if (key >= 'a' && key <= 'z' && (mod & KMOD_SHIFT)) { } else if (key >= 'a' && key <= 'z' && (mod & KMOD_SHIFT)) {
return key & ~0x20; 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 0;
} else { } else {
return key; return key;
@ -444,11 +444,6 @@ Common::KeyCode SdlEventSource::SDLToOSystemKeycode(const SDLKey key) {
case SDLK_y: return Common::KEYCODE_y; case SDLK_y: return Common::KEYCODE_y;
case SDLK_z: return Common::KEYCODE_z; case SDLK_z: return Common::KEYCODE_z;
case SDLK_DELETE: return Common::KEYCODE_DELETE; 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_KP0: return Common::KEYCODE_KP0;
case SDLK_KP1: return Common::KEYCODE_KP1; case SDLK_KP1: return Common::KEYCODE_KP1;
case SDLK_KP2: return Common::KEYCODE_KP2; 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_HELP: return Common::KEYCODE_HELP;
case SDLK_PRINT: return Common::KEYCODE_PRINT; case SDLK_PRINT: return Common::KEYCODE_PRINT;
case SDLK_SYSREQ: return Common::KEYCODE_SYSREQ; 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_MENU: return Common::KEYCODE_MENU;
case SDLK_POWER: return Common::KEYCODE_POWER; case SDLK_POWER: return Common::KEYCODE_POWER;
case SDLK_UNDO: return Common::KEYCODE_UNDO; 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; default: return Common::KEYCODE_INVALID;
} }
} }

View file

@ -40,6 +40,7 @@ static const KeyTableEntry defaultKeys[] = {
{"QUOTEDBL", KEYCODE_QUOTEDBL, '"', "\"", false}, {"QUOTEDBL", KEYCODE_QUOTEDBL, '"', "\"", false},
{"HASH", KEYCODE_HASH, '#', "#", false}, {"HASH", KEYCODE_HASH, '#', "#", false},
{"DOLLAR", KEYCODE_DOLLAR, '$', "$", false}, {"DOLLAR", KEYCODE_DOLLAR, '$', "$", false},
{"PERCENT", KEYCODE_PERCENT, '%', "%", false},
{"AMPERSAND", KEYCODE_AMPERSAND, '&', "&", false}, {"AMPERSAND", KEYCODE_AMPERSAND, '&', "&", false},
{"QUOTE", KEYCODE_QUOTE, '\'', "'", false}, {"QUOTE", KEYCODE_QUOTE, '\'', "'", false},
{"LEFTPAREN", KEYCODE_LEFTPAREN, '(', "(", false}, {"LEFTPAREN", KEYCODE_LEFTPAREN, '(', "(", false},
@ -148,6 +149,9 @@ static const KeyTableEntry defaultKeys[] = {
{"F13", KEYCODE_F13, 0, "F13", false}, {"F13", KEYCODE_F13, 0, "F13", false},
{"F14", KEYCODE_F14, 0, "F14", false}, {"F14", KEYCODE_F14, 0, "F14", false},
{"F15", KEYCODE_F15, 0, "F15", 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 // Miscellaneous function keys
{"HELP", KEYCODE_HELP, 0, "Help", false}, {"HELP", KEYCODE_HELP, 0, "Help", false},
@ -161,6 +165,45 @@ static const KeyTableEntry defaultKeys[] = {
{"EURO", KEYCODE_EURO, 0, "Euro", false}, {"EURO", KEYCODE_EURO, 0, "Euro", false},
// Atari keyboard has Undo // Atari keyboard has Undo
{"UNDO", KEYCODE_UNDO, 0, "Undo", false}, {"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} {0, KEYCODE_INVALID, 0, 0, false}
}; };

View file

@ -145,12 +145,12 @@ enum {
// map android key codes to our kbd codes // map android key codes to our kbd codes
static const Common::KeyCode jkeymap[] = { static const Common::KeyCode jkeymap[] = {
Common::KEYCODE_INVALID, // KEYCODE_UNKNOWN Common::KEYCODE_INVALID, // KEYCODE_UNKNOWN
Common::KEYCODE_INVALID, // KEYCODE_SOFT_LEFT Common::KEYCODE_LEFTSOFT, // KEYCODE_SOFT_LEFT
Common::KEYCODE_INVALID, // KEYCODE_SOFT_RIGHT Common::KEYCODE_RIGHTSOFT, // KEYCODE_SOFT_RIGHT
Common::KEYCODE_INVALID, // KEYCODE_HOME Common::KEYCODE_AC_HOME, // KEYCODE_HOME
Common::KEYCODE_INVALID, // KEYCODE_BACK Common::KEYCODE_AC_BACK, // KEYCODE_BACK
Common::KEYCODE_INVALID, // KEYCODE_CALL Common::KEYCODE_CALL, // KEYCODE_CALL
Common::KEYCODE_INVALID, // KEYCODE_ENDCALL Common::KEYCODE_HANGUP, // KEYCODE_ENDCALL
Common::KEYCODE_0, // KEYCODE_0 Common::KEYCODE_0, // KEYCODE_0
Common::KEYCODE_1, // KEYCODE_1 Common::KEYCODE_1, // KEYCODE_1
Common::KEYCODE_2, // KEYCODE_2 Common::KEYCODE_2, // KEYCODE_2
@ -167,11 +167,11 @@ static const Common::KeyCode jkeymap[] = {
Common::KEYCODE_DOWN, // KEYCODE_DPAD_DOWN Common::KEYCODE_DOWN, // KEYCODE_DPAD_DOWN
Common::KEYCODE_LEFT, // KEYCODE_DPAD_LEFT Common::KEYCODE_LEFT, // KEYCODE_DPAD_LEFT
Common::KEYCODE_RIGHT, // KEYCODE_DPAD_RIGHT Common::KEYCODE_RIGHT, // KEYCODE_DPAD_RIGHT
Common::KEYCODE_INVALID, // KEYCODE_DPAD_CENTER Common::KEYCODE_SELECT, // KEYCODE_DPAD_CENTER
Common::KEYCODE_INVALID, // KEYCODE_VOLUME_UP Common::KEYCODE_VOLUMEUP, // KEYCODE_VOLUME_UP
Common::KEYCODE_INVALID, // KEYCODE_VOLUME_DOWN Common::KEYCODE_VOLUMEDOWN, // KEYCODE_VOLUME_DOWN
Common::KEYCODE_INVALID, // KEYCODE_POWER Common::KEYCODE_POWER, // KEYCODE_POWER
Common::KEYCODE_INVALID, // KEYCODE_CAMERA Common::KEYCODE_CAMERA, // KEYCODE_CAMERA
Common::KEYCODE_CLEAR, // KEYCODE_CLEAR Common::KEYCODE_CLEAR, // KEYCODE_CLEAR
Common::KEYCODE_a, // KEYCODE_A Common::KEYCODE_a, // KEYCODE_A
Common::KEYCODE_b, // KEYCODE_B Common::KEYCODE_b, // KEYCODE_B
@ -208,8 +208,8 @@ static const Common::KeyCode jkeymap[] = {
Common::KEYCODE_TAB, // KEYCODE_TAB Common::KEYCODE_TAB, // KEYCODE_TAB
Common::KEYCODE_SPACE, // KEYCODE_SPACE Common::KEYCODE_SPACE, // KEYCODE_SPACE
Common::KEYCODE_LCTRL, // KEYCODE_SYM Common::KEYCODE_LCTRL, // KEYCODE_SYM
Common::KEYCODE_INVALID, // KEYCODE_EXPLORER Common::KEYCODE_WWW, // KEYCODE_EXPLORER
Common::KEYCODE_INVALID, // KEYCODE_ENVELOPE Common::KEYCODE_MAIL, // KEYCODE_ENVELOPE
Common::KEYCODE_RETURN, // KEYCODE_ENTER Common::KEYCODE_RETURN, // KEYCODE_ENTER
Common::KEYCODE_BACKSPACE, // KEYCODE_DEL Common::KEYCODE_BACKSPACE, // KEYCODE_DEL
Common::KEYCODE_BACKQUOTE, // KEYCODE_GRAVE Common::KEYCODE_BACKQUOTE, // KEYCODE_GRAVE
@ -228,14 +228,14 @@ static const Common::KeyCode jkeymap[] = {
Common::KEYCODE_PLUS, // KEYCODE_PLUS Common::KEYCODE_PLUS, // KEYCODE_PLUS
Common::KEYCODE_MENU, // KEYCODE_MENU Common::KEYCODE_MENU, // KEYCODE_MENU
Common::KEYCODE_INVALID, // KEYCODE_NOTIFICATION Common::KEYCODE_INVALID, // KEYCODE_NOTIFICATION
Common::KEYCODE_INVALID, // KEYCODE_SEARCH Common::KEYCODE_AC_SEARCH, // KEYCODE_SEARCH
Common::KEYCODE_INVALID, // KEYCODE_MEDIA_PLAY_PAUSE Common::KEYCODE_AUDIOPLAYPAUSE, // KEYCODE_MEDIA_PLAY_PAUSE
Common::KEYCODE_INVALID, // KEYCODE_MEDIA_STOP Common::KEYCODE_AUDIOSTOP, // KEYCODE_MEDIA_STOP
Common::KEYCODE_INVALID, // KEYCODE_MEDIA_NEXT Common::KEYCODE_AUDIONEXT, // KEYCODE_MEDIA_NEXT
Common::KEYCODE_INVALID, // KEYCODE_MEDIA_PREVIOUS Common::KEYCODE_AUDIOPREV, // KEYCODE_MEDIA_PREVIOUS
Common::KEYCODE_INVALID, // KEYCODE_MEDIA_REWIND Common::KEYCODE_AUDIOREWIND, // KEYCODE_MEDIA_REWIND
Common::KEYCODE_INVALID, // KEYCODE_MEDIA_FAST_FORWARD Common::KEYCODE_AUDIOFASTFORWARD, // KEYCODE_MEDIA_FAST_FORWARD
Common::KEYCODE_INVALID, // KEYCODE_MUTE Common::KEYCODE_MUTE, // KEYCODE_MUTE
Common::KEYCODE_PAGEUP, // KEYCODE_PAGE_UP Common::KEYCODE_PAGEUP, // KEYCODE_PAGE_UP
Common::KEYCODE_PAGEDOWN, // KEYCODE_PAGE_DOWN Common::KEYCODE_PAGEDOWN, // KEYCODE_PAGE_DOWN
Common::KEYCODE_INVALID, // KEYCODE_PICTSYMBOLS Common::KEYCODE_INVALID, // KEYCODE_PICTSYMBOLS
@ -269,11 +269,11 @@ static const Common::KeyCode jkeymap[] = {
Common::KEYCODE_HOME, // KEYCODE_MOVE_HOME Common::KEYCODE_HOME, // KEYCODE_MOVE_HOME
Common::KEYCODE_END, // KEYCODE_MOVE_END Common::KEYCODE_END, // KEYCODE_MOVE_END
Common::KEYCODE_INSERT, // KEYCODE_INSERT Common::KEYCODE_INSERT, // KEYCODE_INSERT
Common::KEYCODE_INVALID, // KEYCODE_FORWARD Common::KEYCODE_AC_FORWARD, // KEYCODE_FORWARD
Common::KEYCODE_INVALID, // KEYCODE_MEDIA_PLAY Common::KEYCODE_AUDIOPLAY, // KEYCODE_MEDIA_PLAY
Common::KEYCODE_INVALID, // KEYCODE_MEDIA_PAUSE Common::KEYCODE_AUDIOPAUSE, // KEYCODE_MEDIA_PAUSE
Common::KEYCODE_INVALID, // KEYCODE_MEDIA_CLOSE 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_INVALID, // KEYCODE_MEDIA_RECORD
Common::KEYCODE_F1, // KEYCODE_F1 Common::KEYCODE_F1, // KEYCODE_F1
Common::KEYCODE_F2, // KEYCODE_F2 Common::KEYCODE_F2, // KEYCODE_F2
@ -318,7 +318,7 @@ static const Common::KeyCode jkeymap[] = {
Common::KEYCODE_INVALID, // KEYCODE_WINDOW Common::KEYCODE_INVALID, // KEYCODE_WINDOW
Common::KEYCODE_INVALID, // KEYCODE_GUIDE Common::KEYCODE_INVALID, // KEYCODE_GUIDE
Common::KEYCODE_INVALID, // KEYCODE_DVR 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_CAPTIONS
Common::KEYCODE_INVALID, // KEYCODE_SETTINGS Common::KEYCODE_INVALID, // KEYCODE_SETTINGS
Common::KEYCODE_INVALID, // KEYCODE_TV_POWER Common::KEYCODE_INVALID, // KEYCODE_TV_POWER
@ -354,7 +354,7 @@ static const Common::KeyCode jkeymap[] = {
Common::KEYCODE_INVALID, // KEYCODE_CONTACTS Common::KEYCODE_INVALID, // KEYCODE_CONTACTS
Common::KEYCODE_INVALID, // KEYCODE_CALENDAR Common::KEYCODE_INVALID, // KEYCODE_CALENDAR
Common::KEYCODE_INVALID, // KEYCODE_MUSIC 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_ZENKAKU_HANKAKU
Common::KEYCODE_INVALID, // KEYCODE_EISU Common::KEYCODE_INVALID, // KEYCODE_EISU
Common::KEYCODE_INVALID, // KEYCODE_MUHENKAN 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_DOWN
Common::KEYCODE_INVALID, // KEYCODE_BRIGHTNESS_UP Common::KEYCODE_INVALID, // KEYCODE_BRIGHTNESS_UP
Common::KEYCODE_INVALID, // KEYCODE_MEDIA_AUDIO_TRACK 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_WAKEUP
Common::KEYCODE_INVALID, // KEYCODE_PAIRING Common::KEYCODE_INVALID, // KEYCODE_PAIRING
Common::KEYCODE_INVALID, // KEYCODE_MEDIA_TOP_MENU 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_CONTENTS_MENU
Common::KEYCODE_INVALID, // KEYCODE_TV_MEDIA_CONTEXT_MENU Common::KEYCODE_INVALID, // KEYCODE_TV_MEDIA_CONTEXT_MENU
Common::KEYCODE_INVALID, // KEYCODE_TV_TIMER_PROGRAMMING 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 #endif

View file

@ -102,7 +102,7 @@ int Ps2Input::mapKey(int key, int mod) { // copied from sdl backend
return key; return key;
} else if (key >= 'a' && key <= 'z' && mod & Common::KBD_SHIFT) { } else if (key >= 'a' && key <= 'z' && mod & Common::KBD_SHIFT) {
return key & ~0x20; 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 0;
} }
return key; return key;

View file

@ -50,16 +50,17 @@ enum KeyCode {
KEYCODE_QUOTEDBL = 34, // " KEYCODE_QUOTEDBL = 34, // "
KEYCODE_HASH = 35, // # KEYCODE_HASH = 35, // #
KEYCODE_DOLLAR = 36, // $ KEYCODE_DOLLAR = 36, // $
KEYCODE_PERCENT = 37, // %
KEYCODE_AMPERSAND = 38, // & KEYCODE_AMPERSAND = 38, // &
KEYCODE_QUOTE = 39, // ' KEYCODE_QUOTE = 39, // '
KEYCODE_LEFTPAREN = 40, KEYCODE_LEFTPAREN = 40, // (
KEYCODE_RIGHTPAREN = 41, KEYCODE_RIGHTPAREN = 41, // )
KEYCODE_ASTERISK = 42, // * KEYCODE_ASTERISK = 42, // *
KEYCODE_PLUS = 43, KEYCODE_PLUS = 43, // +
KEYCODE_COMMA = 44, KEYCODE_COMMA = 44, // ,
KEYCODE_MINUS = 45, KEYCODE_MINUS = 45, // -
KEYCODE_PERIOD = 46, KEYCODE_PERIOD = 46, // .
KEYCODE_SLASH = 47, KEYCODE_SLASH = 47, // /
KEYCODE_0 = 48, KEYCODE_0 = 48,
KEYCODE_1 = 49, KEYCODE_1 = 49,
KEYCODE_2 = 50, KEYCODE_2 = 50,
@ -70,20 +71,20 @@ enum KeyCode {
KEYCODE_7 = 55, KEYCODE_7 = 55,
KEYCODE_8 = 56, KEYCODE_8 = 56,
KEYCODE_9 = 57, KEYCODE_9 = 57,
KEYCODE_COLON = 58, KEYCODE_COLON = 58, // :
KEYCODE_SEMICOLON = 59, KEYCODE_SEMICOLON = 59, // ;
KEYCODE_LESS = 60, KEYCODE_LESS = 60, // <
KEYCODE_EQUALS = 61, KEYCODE_EQUALS = 61, // =
KEYCODE_GREATER = 62, KEYCODE_GREATER = 62, // >
KEYCODE_QUESTION = 63, KEYCODE_QUESTION = 63, // ?
KEYCODE_AT = 64, KEYCODE_AT = 64, // @
KEYCODE_LEFTBRACKET = 91, KEYCODE_LEFTBRACKET = 91, // [
KEYCODE_BACKSLASH = 92, KEYCODE_BACKSLASH = 92, // "\"
KEYCODE_RIGHTBRACKET= 93, KEYCODE_RIGHTBRACKET= 93, // ]
KEYCODE_CARET = 94, KEYCODE_CARET = 94, // ^
KEYCODE_UNDERSCORE = 95, KEYCODE_UNDERSCORE = 95, // _
KEYCODE_BACKQUOTE = 96, KEYCODE_BACKQUOTE = 96, // `
KEYCODE_a = 97, KEYCODE_a = 97,
KEYCODE_b = 98, KEYCODE_b = 98,
KEYCODE_c = 99, KEYCODE_c = 99,
@ -159,6 +160,9 @@ enum KeyCode {
KEYCODE_F13 = 294, KEYCODE_F13 = 294,
KEYCODE_F14 = 295, KEYCODE_F14 = 295,
KEYCODE_F15 = 296, KEYCODE_F15 = 296,
KEYCODE_F16 = 297,
KEYCODE_F17 = 298,
KEYCODE_F18 = 299,
// Key state modifier keys // Key state modifier keys
KEYCODE_NUMLOCK = 300, KEYCODE_NUMLOCK = 300,
@ -185,7 +189,47 @@ enum KeyCode {
KEYCODE_MENU = 319, KEYCODE_MENU = 319,
KEYCODE_POWER = 320, // Power Macintosh power key KEYCODE_POWER = 320, // Power Macintosh power key
KEYCODE_EURO = 321, // Some european keyboards 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
}; };
/** /**

View file

@ -33,8 +33,6 @@
#include "common/system.h" #include "common/system.h"
#include "common/keyboard.h" #include "common/keyboard.h"
#define KEYSTATES_ARRAY_SIZE (Common::KEYCODE_UNDO + 1) // Hardcoded size for the common/keyboard.h enum
namespace Wintermute { namespace Wintermute {
IMPLEMENT_PERSISTENT(BaseKeyboardState, false) IMPLEMENT_PERSISTENT(BaseKeyboardState, false)
@ -248,8 +246,8 @@ void BaseKeyboardState::init() {
_currentAlt = false; _currentAlt = false;
_currentControl = false; _currentControl = false;
_keyStates = new uint8[KEYSTATES_ARRAY_SIZE]; _keyStates = new uint8[Common::KEYCODE_LAST];
for (int i = 0; i < KEYSTATES_ARRAY_SIZE; i++) { for (int i = 0; i < Common::KEYCODE_LAST; i++) {
_keyStates[i] = false; _keyStates[i] = false;
} }