From d49b4fad9a5ec044eb2054f4d9aec60893ee0f0f Mon Sep 17 00:00:00 2001 From: Sacha Date: Sat, 12 Oct 2013 17:19:02 +1000 Subject: [PATCH] Miscellaneous changes for Blackberry. --- Common/KeyMap.cpp | 56 ++++++++++++++++++++++++++++--------------- Common/KeyMap.h | 4 +++- Core/Config.cpp | 4 +--- GPU/GLES/GLES_GPU.cpp | 2 +- UI/MiscScreens.cpp | 2 +- native | 2 +- 6 files changed, 44 insertions(+), 26 deletions(-) diff --git a/Common/KeyMap.cpp b/Common/KeyMap.cpp index 7d067301fd..7c0772dc46 100644 --- a/Common/KeyMap.cpp +++ b/Common/KeyMap.cpp @@ -38,17 +38,10 @@ struct DefMappingStruct { KeyMapping g_controllerMap; static const DefMappingStruct defaultKeyboardKeyMap[] = { -#ifdef BLACKBERRY - {CTRL_SQUARE, NKCODE_J}, - {CTRL_TRIANGLE, NKCODE_I}, - {CTRL_CIRCLE, NKCODE_L}, - {CTRL_CROSS, NKCODE_K}, -#else {CTRL_SQUARE, NKCODE_A}, {CTRL_TRIANGLE, NKCODE_S}, {CTRL_CIRCLE, NKCODE_X}, {CTRL_CROSS, NKCODE_Z}, -#endif {CTRL_LTRIGGER, NKCODE_Q}, {CTRL_RTRIGGER, NKCODE_W}, @@ -58,16 +51,6 @@ static const DefMappingStruct defaultKeyboardKeyMap[] = { #else {CTRL_SELECT, NKCODE_ENTER}, #endif -#ifdef BLACKBERRY - {CTRL_UP , NKCODE_W}, - {CTRL_DOWN , NKCODE_S}, - {CTRL_LEFT , NKCODE_A}, - {CTRL_RIGHT, NKCODE_D}, - {VIRTKEY_AXIS_Y_MAX, NKCODE_W}, - {VIRTKEY_AXIS_Y_MIN, NKCODE_S}, - {VIRTKEY_AXIS_X_MIN, NKCODE_A}, - {VIRTKEY_AXIS_X_MAX, NKCODE_D}, -#else {CTRL_UP , NKCODE_DPAD_UP}, {CTRL_DOWN , NKCODE_DPAD_DOWN}, {CTRL_LEFT , NKCODE_DPAD_LEFT}, @@ -76,7 +59,6 @@ static const DefMappingStruct defaultKeyboardKeyMap[] = { {VIRTKEY_AXIS_Y_MIN, NKCODE_K}, {VIRTKEY_AXIS_X_MIN, NKCODE_J}, {VIRTKEY_AXIS_X_MAX, NKCODE_L}, -#endif {VIRTKEY_RAPID_FIRE , NKCODE_SHIFT_LEFT}, {VIRTKEY_UNTHROTTLE , NKCODE_TAB}, {VIRTKEY_SPEED_TOGGLE, NKCODE_GRAVE}, @@ -127,6 +109,29 @@ static const DefMappingStruct defaultShieldKeyMap[] = { {VIRTKEY_PAUSE, NKCODE_BACK }, }; +static const DefMappingStruct defaultBlackberryQWERTYKeyMap[] = { + {CTRL_SQUARE, NKCODE_J}, + {CTRL_TRIANGLE, NKCODE_I}, + {CTRL_CIRCLE, NKCODE_L}, + {CTRL_CROSS, NKCODE_K}, + {CTRL_LTRIGGER, NKCODE_Q}, + {CTRL_RTRIGGER, NKCODE_W}, + {CTRL_START, NKCODE_SPACE}, + {CTRL_SELECT, NKCODE_ENTER}, + {CTRL_UP , NKCODE_W}, + {CTRL_DOWN , NKCODE_S}, + {CTRL_LEFT , NKCODE_A}, + {CTRL_RIGHT, NKCODE_D}, + {VIRTKEY_AXIS_Y_MAX, NKCODE_W}, + {VIRTKEY_AXIS_Y_MIN, NKCODE_S}, + {VIRTKEY_AXIS_X_MIN, NKCODE_A}, + {VIRTKEY_AXIS_X_MAX, NKCODE_D}, + {VIRTKEY_RAPID_FIRE , NKCODE_SHIFT_LEFT}, + {VIRTKEY_UNTHROTTLE , NKCODE_TAB}, + {VIRTKEY_SPEED_TOGGLE, NKCODE_GRAVE}, + {VIRTKEY_PAUSE , NKCODE_ESCAPE}, +}; + static const DefMappingStruct defaultPadMap[] = { #if defined(ANDROID) || defined(BLACKBERRY) {CTRL_CROSS , NKCODE_BUTTON_A}, @@ -268,6 +273,8 @@ void SetDefaultKeyMap(DefaultMaps dmap, bool replace) { case DEFAULT_MAPPING_SHIELD: SetDefaultKeyMap(DEVICE_ID_PAD_0, defaultShieldKeyMap, ARRAY_SIZE(defaultShieldKeyMap), replace); break; + case DEFAULT_MAPPING_BLACKBERRY_QWERTY: + SetDefaultKeyMap(DEVICE_ID_PAD_0, defaultBlackberryQWERTYKeyMap, ARRAY_SIZE(defaultBlackberryQWERTYKeyMap), replace); case DEFAULT_MAPPING_PAD: SetDefaultKeyMap(DEVICE_ID_PAD_0, defaultPadMap, ARRAY_SIZE(defaultPadMap), replace); break; @@ -686,6 +693,13 @@ void RestoreDefault() { } else { SetDefaultKeyMap(DEFAULT_MAPPING_PAD, true); } +#elif defined(BLACKBERRY) + std::string name = System_GetProperty(SYSPROP_NAME); + if (IsBlackberryQWERTY(name)) { + SetDefaultKeyMap(DEFAULT_MAPPING_BLACKBERRY_QWERTY, true); + } else { + SetDefaultKeyMap(DEFAULT_MAPPING_PAD, true); + } #else SetDefaultKeyMap(DEFAULT_MAPPING_KEYBOARD, true); SetDefaultKeyMap(DEFAULT_MAPPING_PAD, false); @@ -757,8 +771,12 @@ bool IsXperiaPlay(const std::string &name) { return name == "Sony Ericsson:R800a" || name == "Sony Ericsson:R800i" || name == "Sony Ericsson:R800x" || name == "Sony Ericsson:R800at" || name == "Sony Ericsson:SO-01D" || name == "Sony Ericsson:zeus"; } +bool IsBlackberryQWERTY(const std::string &name) { + return name == "Blackberry10:QWERTY"; +} + bool HasBuiltinController(const std::string &name) { - return IsOuya(name) || IsXperiaPlay(name) || IsNvidiaShield(name); + return IsOuya(name) || IsXperiaPlay(name) || IsNvidiaShield(name) || IsBlackberryQWERTY(name); } } // KeyMap diff --git a/Common/KeyMap.h b/Common/KeyMap.h index f912199c03..604a861e2f 100644 --- a/Common/KeyMap.h +++ b/Common/KeyMap.h @@ -49,6 +49,7 @@ enum DefaultMaps { DEFAULT_MAPPING_PAD, DEFAULT_MAPPING_X360, DEFAULT_MAPPING_SHIELD, + DEFAULT_MAPPING_BLACKBERRY_QWERTY, DEFAULT_MAPPING_OUYA, DEFAULT_MAPPING_XPERIA_PLAY, }; @@ -155,7 +156,8 @@ namespace KeyMap { void UpdateConfirmCancelKeys(); bool IsNvidiaShield(const std::string &name); + bool IsBlackberryQWERTY(const std::string &name); bool IsXperiaPlay(const std::string &name); bool IsOuya(const std::string &name); bool HasBuiltinController(const std::string &name); -} \ No newline at end of file +} diff --git a/Core/Config.cpp b/Core/Config.cpp index 561e1eb520..02a8f3e094 100644 --- a/Core/Config.cpp +++ b/Core/Config.cpp @@ -191,9 +191,7 @@ void Config::Load(const char *iniFileName, const char *controllerIniFilename) IniFile::Section *control = iniFile.GetOrCreateSection("Control"); control->Get("HapticFeedback", &bHapticFeedback, true); control->Get("ShowAnalogStick", &bShowAnalogStick, true); -#ifdef BLACKBERRY - control->Get("ShowTouchControls", &bShowTouchControls, pixel_xres != pixel_yres); -#elif defined(USING_GLES2) +#if defined(USING_GLES2) std::string name = System_GetProperty(SYSPROP_NAME); if (KeyMap::HasBuiltinController(name)) { control->Get("ShowTouchControls", &bShowTouchControls, false); diff --git a/GPU/GLES/GLES_GPU.cpp b/GPU/GLES/GLES_GPU.cpp index 77e5c23c71..1c1961bbcb 100644 --- a/GPU/GLES/GLES_GPU.cpp +++ b/GPU/GLES/GLES_GPU.cpp @@ -385,7 +385,7 @@ GLES_GPU::GLES_GPU() glstate.SetVSyncInterval(g_Config.bVSync ? 1 : 0); } -#ifdef ANDROID +#if defined(ANDROID) || defined(BLACKBERRY) if (gl_extensions.QCOM_binning_control) { /* We can try different HINTS later or even with option to toggle for Adreno GPU diff --git a/UI/MiscScreens.cpp b/UI/MiscScreens.cpp index 5d39475593..0b602a67cc 100644 --- a/UI/MiscScreens.cpp +++ b/UI/MiscScreens.cpp @@ -455,7 +455,7 @@ void CreditsScreen::render() { #endif #if defined(USING_QT_UI) "Qt", -#else +#elif !defined(_WIN32) "SDL", #endif "CMake", diff --git a/native b/native index 5a4dec9272..a25169dc4c 160000 --- a/native +++ b/native @@ -1 +1 @@ -Subproject commit 5a4dec927289eb93fafc7bbd7facaee0c982accc +Subproject commit a25169dc4c6a2e26c16b26faa0b37bb474c0d37e