(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; 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: * config_set_defaults:
* *
@ -798,8 +814,8 @@ static void config_set_defaults(void)
settings->sort_savefiles_enable = default_sort_savefiles_enable; settings->sort_savefiles_enable = default_sort_savefiles_enable;
settings->sort_savestates_enable = default_sort_savestates_enable; settings->sort_savestates_enable = default_sort_savestates_enable;
settings->menu_ok_btn = default_menu_btn_ok; settings->menu_ok_btn = config_menu_btn_ok_default();
settings->menu_cancel_btn = default_menu_btn_cancel; settings->menu_cancel_btn = config_menu_btn_cancel_default();
settings->menu_search_btn = default_menu_btn_search; settings->menu_search_btn = default_menu_btn_search;
settings->menu_default_btn = default_menu_btn_default; settings->menu_default_btn = default_menu_btn_default;
settings->menu_info_btn = default_menu_btn_info; settings->menu_info_btn = default_menu_btn_info;

View File

@ -26,7 +26,6 @@
struct defaults struct defaults
{ {
#ifdef HAVE_MENU #ifdef HAVE_MENU
struct struct
{ {
@ -35,6 +34,13 @@ struct defaults
bool menu_color_theme_enable; bool menu_color_theme_enable;
unsigned menu_color_theme; unsigned menu_color_theme;
} materialui; } materialui;
struct
{
bool set;
unsigned menu_btn_ok;
unsigned menu_btn_cancel;
} controls;
} menu; } menu;
#endif #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; g_defaults.menu.materialui.menu_color_theme = MATERIALUI_THEME_NVIDIA_SHIELD;
#endif #endif
#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")) else if (strstr(device_model, "JSS15J"))
g_defaults.settings.video_refresh_rate = 59.65; g_defaults.settings.video_refresh_rate = 59.65;