(General) Allow for platforms to set menu OK/cancel buttons individually

(Shield/Android) Set default OK/cancel buttons now to Shield A (OK)
and Shield B (Cancel), previous default was Shield A (Cancel),
Shield B (OK)
This commit is contained in:
twinaphex 2016-08-01 14:20:47 +02:00
parent 2bcdaf2c57
commit 9e8f5127e2
3 changed files with 31 additions and 3 deletions

View File

@ -419,6 +419,22 @@ bool config_overlay_enable_default(void)
return true;
}
#ifdef HAVE_MENU
static unsigned config_menu_btn_ok_default(void)
{
if (g_defaults.menu.controls.set)
return g_defaults.menu.controls.menu_btn_ok;
return default_menu_btn_ok;
}
static unsigned config_menu_btn_cancel_default(void)
{
if (g_defaults.menu.controls.set)
return g_defaults.menu.controls.menu_btn_ok;
return default_menu_btn_cancel;
}
#endif
/**
* config_set_defaults:
*
@ -798,8 +814,8 @@ static void config_set_defaults(void)
settings->sort_savefiles_enable = default_sort_savefiles_enable;
settings->sort_savestates_enable = default_sort_savestates_enable;
settings->menu_ok_btn = default_menu_btn_ok;
settings->menu_cancel_btn = default_menu_btn_cancel;
settings->menu_ok_btn = config_menu_btn_ok_default();
settings->menu_cancel_btn = config_menu_btn_cancel_default();
settings->menu_search_btn = default_menu_btn_search;
settings->menu_default_btn = default_menu_btn_default;
settings->menu_info_btn = default_menu_btn_info;

View File

@ -26,7 +26,6 @@
struct defaults
{
#ifdef HAVE_MENU
struct
{
@ -35,6 +34,13 @@ struct defaults
bool menu_color_theme_enable;
unsigned menu_color_theme;
} materialui;
struct
{
bool set;
unsigned menu_btn_ok;
unsigned menu_btn_cancel;
} controls;
} menu;
#endif

View File

@ -1663,6 +1663,12 @@ static void frontend_linux_get_env(int *argc,
g_defaults.menu.materialui.menu_color_theme = MATERIALUI_THEME_NVIDIA_SHIELD;
#endif
#endif
/* Set the OK/cancel menu buttons to the default
* ones used for Shield */
g_defaults.menu.controls.set = true;
g_defaults.menu.controls.menu_btn_ok = RETRO_DEVICE_ID_JOYPAD_B;
g_defaults.menu.controls.menu_btn_cancel = RETRO_DEVICE_ID_JOYPAD_A;
}
else if (strstr(device_model, "JSS15J"))
g_defaults.settings.video_refresh_rate = 59.65;