From 2bc373622be9acd184cc6f9a19e4f528ac471d07 Mon Sep 17 00:00:00 2001 From: Cameron Cawley Date: Thu, 5 May 2022 13:31:26 +0100 Subject: [PATCH] Add SDL_SCANCODE_SOFTLEFT and SDL_SCANCODE_SOFTRIGHT --- include/SDL_keycode.h | 5 ++++- include/SDL_scancode.h | 18 ++++++++++++++++++ src/events/SDL_keyboard.c | 4 ++++ src/video/android/SDL_androidkeyboard.c | 4 ++-- src/video/ngage/SDL_ngageevents.cpp | 4 ++-- 5 files changed, 30 insertions(+), 5 deletions(-) diff --git a/include/SDL_keycode.h b/include/SDL_keycode.h index 35602541a..5e8edcb9f 100644 --- a/include/SDL_keycode.h +++ b/include/SDL_keycode.h @@ -318,7 +318,10 @@ typedef enum SDLK_APP2 = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_APP2), SDLK_AUDIOREWIND = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOREWIND), - SDLK_AUDIOFASTFORWARD = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOFASTFORWARD) + SDLK_AUDIOFASTFORWARD = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_AUDIOFASTFORWARD), + + SDLK_SOFTLEFT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SOFTLEFT), + SDLK_SOFTRIGHT = SDL_SCANCODE_TO_KEYCODE(SDL_SCANCODE_SOFTRIGHT) } SDL_KeyCode; /** diff --git a/include/SDL_scancode.h b/include/SDL_scancode.h index 5b2c67c8f..f203e30e1 100644 --- a/include/SDL_scancode.h +++ b/include/SDL_scancode.h @@ -402,6 +402,24 @@ typedef enum /* @} *//* Usage page 0x0C (additional media keys) */ + /** + * \name Mobile keys + * + * These are values that are often used on mobile phones. + */ + /* @{ */ + + SDL_SCANCODE_SOFTLEFT = 287, /**< Usually situated below the display on phones and + used as a multi-function feature key for selecting + a software defined function shown on the bottom left + of the display. */ + SDL_SCANCODE_SOFTRIGHT = 288, /**< Usually situated below the display on phones and + used as a multi-function feature key for selecting + a software defined function shown on the bottom right + of the display. */ + + /* @} *//* Mobile keys */ + /* Add any other keys here. */ SDL_NUM_SCANCODES = 512 /**< not a key, just marks the number of scancodes diff --git a/src/events/SDL_keyboard.c b/src/events/SDL_keyboard.c index 14e79ca49..100e6aaef 100644 --- a/src/events/SDL_keyboard.c +++ b/src/events/SDL_keyboard.c @@ -282,6 +282,8 @@ static const SDL_Keycode SDL_default_keymap[SDL_NUM_SCANCODES] = { SDLK_APP2, SDLK_AUDIOREWIND, SDLK_AUDIOFASTFORWARD, + SDLK_SOFTLEFT, + SDLK_SOFTRIGHT, }; static const char *SDL_scancode_names[SDL_NUM_SCANCODES] = { @@ -518,6 +520,8 @@ static const char *SDL_scancode_names[SDL_NUM_SCANCODES] = { "App2", "AudioRewind", "AudioFastForward", + "SoftLeft", + "SoftRight", }; /* Taken from SDL_iconv() */ diff --git a/src/video/android/SDL_androidkeyboard.c b/src/video/android/SDL_androidkeyboard.c index 635a22ead..ce79883c6 100644 --- a/src/video/android/SDL_androidkeyboard.c +++ b/src/video/android/SDL_androidkeyboard.c @@ -41,8 +41,8 @@ void Android_InitKeyboard(void) static SDL_Scancode Android_Keycodes[] = { SDL_SCANCODE_UNKNOWN, /* AKEYCODE_UNKNOWN */ - SDL_SCANCODE_UNKNOWN, /* AKEYCODE_SOFT_LEFT */ - SDL_SCANCODE_UNKNOWN, /* AKEYCODE_SOFT_RIGHT */ + SDL_SCANCODE_SOFTLEFT, /* AKEYCODE_SOFT_LEFT */ + SDL_SCANCODE_SOFTRIGHT, /* AKEYCODE_SOFT_RIGHT */ SDL_SCANCODE_AC_HOME, /* AKEYCODE_HOME */ SDL_SCANCODE_AC_BACK, /* AKEYCODE_BACK */ SDL_SCANCODE_UNKNOWN, /* AKEYCODE_CALL */ diff --git a/src/video/ngage/SDL_ngageevents.cpp b/src/video/ngage/SDL_ngageevents.cpp index 239f6b62c..490935415 100644 --- a/src/video/ngage/SDL_ngageevents.cpp +++ b/src/video/ngage/SDL_ngageevents.cpp @@ -116,10 +116,10 @@ static SDL_Scancode ConvertScancode(_THIS, int key) keycode = SDLK_SLASH; break; case EStdKeyDevice0: // Left softkey - keycode = SDLK_F1; + keycode = SDLK_SOFTLEFT; break; case EStdKeyDevice1: // Right softkey - keycode = SDLK_F2; + keycode = SDLK_SOFTRIGHT; break; case EStdKeyApplication0: // Green softkey keycode = SDLK_F3;