Miscellaneous changes for Blackberry.

This commit is contained in:
Sacha 2013-10-12 17:19:02 +10:00
parent 4e4b49ce70
commit d49b4fad9a
6 changed files with 44 additions and 26 deletions

View file

@ -38,17 +38,10 @@ struct DefMappingStruct {
KeyMapping g_controllerMap; KeyMapping g_controllerMap;
static const DefMappingStruct defaultKeyboardKeyMap[] = { 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_SQUARE, NKCODE_A},
{CTRL_TRIANGLE, NKCODE_S}, {CTRL_TRIANGLE, NKCODE_S},
{CTRL_CIRCLE, NKCODE_X}, {CTRL_CIRCLE, NKCODE_X},
{CTRL_CROSS, NKCODE_Z}, {CTRL_CROSS, NKCODE_Z},
#endif
{CTRL_LTRIGGER, NKCODE_Q}, {CTRL_LTRIGGER, NKCODE_Q},
{CTRL_RTRIGGER, NKCODE_W}, {CTRL_RTRIGGER, NKCODE_W},
@ -58,16 +51,6 @@ static const DefMappingStruct defaultKeyboardKeyMap[] = {
#else #else
{CTRL_SELECT, NKCODE_ENTER}, {CTRL_SELECT, NKCODE_ENTER},
#endif #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_UP , NKCODE_DPAD_UP},
{CTRL_DOWN , NKCODE_DPAD_DOWN}, {CTRL_DOWN , NKCODE_DPAD_DOWN},
{CTRL_LEFT , NKCODE_DPAD_LEFT}, {CTRL_LEFT , NKCODE_DPAD_LEFT},
@ -76,7 +59,6 @@ static const DefMappingStruct defaultKeyboardKeyMap[] = {
{VIRTKEY_AXIS_Y_MIN, NKCODE_K}, {VIRTKEY_AXIS_Y_MIN, NKCODE_K},
{VIRTKEY_AXIS_X_MIN, NKCODE_J}, {VIRTKEY_AXIS_X_MIN, NKCODE_J},
{VIRTKEY_AXIS_X_MAX, NKCODE_L}, {VIRTKEY_AXIS_X_MAX, NKCODE_L},
#endif
{VIRTKEY_RAPID_FIRE , NKCODE_SHIFT_LEFT}, {VIRTKEY_RAPID_FIRE , NKCODE_SHIFT_LEFT},
{VIRTKEY_UNTHROTTLE , NKCODE_TAB}, {VIRTKEY_UNTHROTTLE , NKCODE_TAB},
{VIRTKEY_SPEED_TOGGLE, NKCODE_GRAVE}, {VIRTKEY_SPEED_TOGGLE, NKCODE_GRAVE},
@ -127,6 +109,29 @@ static const DefMappingStruct defaultShieldKeyMap[] = {
{VIRTKEY_PAUSE, NKCODE_BACK }, {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[] = { static const DefMappingStruct defaultPadMap[] = {
#if defined(ANDROID) || defined(BLACKBERRY) #if defined(ANDROID) || defined(BLACKBERRY)
{CTRL_CROSS , NKCODE_BUTTON_A}, {CTRL_CROSS , NKCODE_BUTTON_A},
@ -268,6 +273,8 @@ void SetDefaultKeyMap(DefaultMaps dmap, bool replace) {
case DEFAULT_MAPPING_SHIELD: case DEFAULT_MAPPING_SHIELD:
SetDefaultKeyMap(DEVICE_ID_PAD_0, defaultShieldKeyMap, ARRAY_SIZE(defaultShieldKeyMap), replace); SetDefaultKeyMap(DEVICE_ID_PAD_0, defaultShieldKeyMap, ARRAY_SIZE(defaultShieldKeyMap), replace);
break; break;
case DEFAULT_MAPPING_BLACKBERRY_QWERTY:
SetDefaultKeyMap(DEVICE_ID_PAD_0, defaultBlackberryQWERTYKeyMap, ARRAY_SIZE(defaultBlackberryQWERTYKeyMap), replace);
case DEFAULT_MAPPING_PAD: case DEFAULT_MAPPING_PAD:
SetDefaultKeyMap(DEVICE_ID_PAD_0, defaultPadMap, ARRAY_SIZE(defaultPadMap), replace); SetDefaultKeyMap(DEVICE_ID_PAD_0, defaultPadMap, ARRAY_SIZE(defaultPadMap), replace);
break; break;
@ -686,6 +693,13 @@ void RestoreDefault() {
} else { } else {
SetDefaultKeyMap(DEFAULT_MAPPING_PAD, true); 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 #else
SetDefaultKeyMap(DEFAULT_MAPPING_KEYBOARD, true); SetDefaultKeyMap(DEFAULT_MAPPING_KEYBOARD, true);
SetDefaultKeyMap(DEFAULT_MAPPING_PAD, false); 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"; 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) { bool HasBuiltinController(const std::string &name) {
return IsOuya(name) || IsXperiaPlay(name) || IsNvidiaShield(name); return IsOuya(name) || IsXperiaPlay(name) || IsNvidiaShield(name) || IsBlackberryQWERTY(name);
} }
} // KeyMap } // KeyMap

View file

@ -49,6 +49,7 @@ enum DefaultMaps {
DEFAULT_MAPPING_PAD, DEFAULT_MAPPING_PAD,
DEFAULT_MAPPING_X360, DEFAULT_MAPPING_X360,
DEFAULT_MAPPING_SHIELD, DEFAULT_MAPPING_SHIELD,
DEFAULT_MAPPING_BLACKBERRY_QWERTY,
DEFAULT_MAPPING_OUYA, DEFAULT_MAPPING_OUYA,
DEFAULT_MAPPING_XPERIA_PLAY, DEFAULT_MAPPING_XPERIA_PLAY,
}; };
@ -155,7 +156,8 @@ namespace KeyMap {
void UpdateConfirmCancelKeys(); void UpdateConfirmCancelKeys();
bool IsNvidiaShield(const std::string &name); bool IsNvidiaShield(const std::string &name);
bool IsBlackberryQWERTY(const std::string &name);
bool IsXperiaPlay(const std::string &name); bool IsXperiaPlay(const std::string &name);
bool IsOuya(const std::string &name); bool IsOuya(const std::string &name);
bool HasBuiltinController(const std::string &name); bool HasBuiltinController(const std::string &name);
} }

View file

@ -191,9 +191,7 @@ void Config::Load(const char *iniFileName, const char *controllerIniFilename)
IniFile::Section *control = iniFile.GetOrCreateSection("Control"); IniFile::Section *control = iniFile.GetOrCreateSection("Control");
control->Get("HapticFeedback", &bHapticFeedback, true); control->Get("HapticFeedback", &bHapticFeedback, true);
control->Get("ShowAnalogStick", &bShowAnalogStick, true); control->Get("ShowAnalogStick", &bShowAnalogStick, true);
#ifdef BLACKBERRY #if defined(USING_GLES2)
control->Get("ShowTouchControls", &bShowTouchControls, pixel_xres != pixel_yres);
#elif defined(USING_GLES2)
std::string name = System_GetProperty(SYSPROP_NAME); std::string name = System_GetProperty(SYSPROP_NAME);
if (KeyMap::HasBuiltinController(name)) { if (KeyMap::HasBuiltinController(name)) {
control->Get("ShowTouchControls", &bShowTouchControls, false); control->Get("ShowTouchControls", &bShowTouchControls, false);

View file

@ -385,7 +385,7 @@ GLES_GPU::GLES_GPU()
glstate.SetVSyncInterval(g_Config.bVSync ? 1 : 0); glstate.SetVSyncInterval(g_Config.bVSync ? 1 : 0);
} }
#ifdef ANDROID #if defined(ANDROID) || defined(BLACKBERRY)
if (gl_extensions.QCOM_binning_control) { if (gl_extensions.QCOM_binning_control) {
/* /*
We can try different HINTS later or even with option to toggle for Adreno GPU We can try different HINTS later or even with option to toggle for Adreno GPU

View file

@ -455,7 +455,7 @@ void CreditsScreen::render() {
#endif #endif
#if defined(USING_QT_UI) #if defined(USING_QT_UI)
"Qt", "Qt",
#else #elif !defined(_WIN32)
"SDL", "SDL",
#endif #endif
"CMake", "CMake",

2
native

@ -1 +1 @@
Subproject commit 5a4dec927289eb93fafc7bbd7facaee0c982accc Subproject commit a25169dc4c6a2e26c16b26faa0b37bb474c0d37e