mirror of
https://github.com/libretro/RetroArch
synced 2025-03-29 22:20:21 +00:00
Add 'L2 + R2' menu toggle gamepad combo (#11935)
This commit is contained in:
parent
dbbf557954
commit
b9691597d1
12
config.def.h
12
config.def.h
@ -681,17 +681,17 @@ static const bool default_systemfiles_in_content_dir = false;
|
||||
static const bool default_screenshots_in_content_dir = false;
|
||||
|
||||
#if defined(_XBOX1) || defined(__PS3__) || defined(_XBOX360) || defined(DINGUX)
|
||||
static const unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_L3_R3;
|
||||
#define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_TOGGLE_L3_R3
|
||||
#elif defined(PS2) || defined(PSP)
|
||||
static const unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_HOLD_START;
|
||||
#define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_TOGGLE_HOLD_START
|
||||
#elif defined(VITA)
|
||||
static const unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_L1_R1_START_SELECT;
|
||||
#define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_TOGGLE_L1_R1_START_SELECT
|
||||
#elif defined(SWITCH) || defined(ORBIS)
|
||||
static const unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_START_SELECT;
|
||||
#define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_TOGGLE_START_SELECT
|
||||
#elif TARGET_OS_TV
|
||||
static const unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_DOWN_Y_L_R;
|
||||
#define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_TOGGLE_DOWN_Y_L_R
|
||||
#else
|
||||
static const unsigned menu_toggle_gamepad_combo = INPUT_TOGGLE_NONE;
|
||||
#define DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO INPUT_TOGGLE_NONE
|
||||
#endif
|
||||
|
||||
#if defined(VITA)
|
||||
|
@ -1868,7 +1868,7 @@ static struct config_uint_setting *populate_settings_uint(
|
||||
SETTING_UINT("input_max_users", input_driver_get_uint(INPUT_ACTION_MAX_USERS), true, input_max_users, false);
|
||||
SETTING_UINT("fps_update_interval", &settings->uints.fps_update_interval, true, DEFAULT_FPS_UPDATE_INTERVAL, false);
|
||||
SETTING_UINT("memory_update_interval", &settings->uints.memory_update_interval, true, DEFAULT_MEMORY_UPDATE_INTERVAL, false);
|
||||
SETTING_UINT("input_menu_toggle_gamepad_combo", &settings->uints.input_menu_toggle_gamepad_combo, true, menu_toggle_gamepad_combo, false);
|
||||
SETTING_UINT("input_menu_toggle_gamepad_combo", &settings->uints.input_menu_toggle_gamepad_combo, true, DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO, false);
|
||||
SETTING_UINT("input_hotkey_block_delay", &settings->uints.input_hotkey_block_delay, true, DEFAULT_INPUT_HOTKEY_BLOCK_DELAY, false);
|
||||
#ifdef GEKKO
|
||||
SETTING_UINT("input_mouse_scale", &settings->uints.input_mouse_scale, true, DEFAULT_MOUSE_SCALE, false);
|
||||
|
@ -62,6 +62,7 @@ enum input_toggle_type
|
||||
INPUT_TOGGLE_HOLD_START,
|
||||
INPUT_TOGGLE_HOLD_SELECT,
|
||||
INPUT_TOGGLE_DOWN_SELECT,
|
||||
INPUT_TOGGLE_L2_R2,
|
||||
INPUT_TOGGLE_LAST
|
||||
};
|
||||
|
||||
|
@ -7440,6 +7440,30 @@ MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_UNKNOWN,
|
||||
"Unknown"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_DOWN_Y_L_R,
|
||||
"Down + Y + L1 + R1"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_L3_R3,
|
||||
"L3 + R3"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_L1_R1_START_SELECT,
|
||||
"L1 + R1 + Start + Select"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_START_SELECT,
|
||||
"Start + Select"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_L3_R,
|
||||
"L3 + R1"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_L_R,
|
||||
"L1 + R1"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_HOLD_START,
|
||||
"Hold Start (2 seconds)"
|
||||
@ -7452,6 +7476,10 @@ MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_DOWN_SELECT,
|
||||
"Down + Select"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_L2_R2,
|
||||
"L2 + R2"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_RUMBLE_TYPE_DISABLED,
|
||||
"<Disabled>"
|
||||
|
@ -6150,22 +6150,22 @@ static void setting_get_string_representation_toggle_gamepad_combo(
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NONE), len);
|
||||
break;
|
||||
case INPUT_TOGGLE_DOWN_Y_L_R:
|
||||
strlcpy(s, "Down + L1 + R1 + Y", len);
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DOWN_Y_L_R), len);
|
||||
break;
|
||||
case INPUT_TOGGLE_L3_R3:
|
||||
strlcpy(s, "L3 + R3", len);
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_L3_R3), len);
|
||||
break;
|
||||
case INPUT_TOGGLE_L1_R1_START_SELECT:
|
||||
strlcpy(s, "L1 + R1 + Start + Select", len);
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_L1_R1_START_SELECT), len);
|
||||
break;
|
||||
case INPUT_TOGGLE_START_SELECT:
|
||||
strlcpy(s, "Start + Select", len);
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_START_SELECT), len);
|
||||
break;
|
||||
case INPUT_TOGGLE_L3_R:
|
||||
strlcpy(s, "L3 + R", len);
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_L3_R), len);
|
||||
break;
|
||||
case INPUT_TOGGLE_L_R:
|
||||
strlcpy(s, "L + R", len);
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_L_R), len);
|
||||
break;
|
||||
case INPUT_TOGGLE_HOLD_START:
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_HOLD_START), len);
|
||||
@ -6176,6 +6176,9 @@ static void setting_get_string_representation_toggle_gamepad_combo(
|
||||
case INPUT_TOGGLE_DOWN_SELECT:
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_DOWN_SELECT), len);
|
||||
break;
|
||||
case INPUT_TOGGLE_L2_R2:
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_L2_R2), len);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
@ -12018,7 +12021,7 @@ static bool setting_append_list(
|
||||
&settings->uints.input_menu_toggle_gamepad_combo,
|
||||
MENU_ENUM_LABEL_INPUT_MENU_ENUM_TOGGLE_GAMEPAD_COMBO,
|
||||
MENU_ENUM_LABEL_VALUE_INPUT_MENU_ENUM_TOGGLE_GAMEPAD_COMBO,
|
||||
menu_toggle_gamepad_combo,
|
||||
DEFAULT_MENU_TOGGLE_GAMEPAD_COMBO,
|
||||
&group_info,
|
||||
&subgroup_info,
|
||||
parent_group,
|
||||
|
@ -2982,9 +2982,17 @@ enum msg_hash_enums
|
||||
MENU_LABEL(SWITCH_GPU_PROFILE),
|
||||
MENU_LABEL(SWITCH_CPU_PROFILE),
|
||||
|
||||
MENU_ENUM_LABEL_VALUE_DOWN_Y_L_R,
|
||||
MENU_ENUM_LABEL_VALUE_L3_R3,
|
||||
MENU_ENUM_LABEL_VALUE_L1_R1_START_SELECT,
|
||||
MENU_ENUM_LABEL_VALUE_START_SELECT,
|
||||
MENU_ENUM_LABEL_VALUE_L3_R,
|
||||
MENU_ENUM_LABEL_VALUE_L_R,
|
||||
MENU_ENUM_LABEL_VALUE_HOLD_START,
|
||||
MENU_ENUM_LABEL_VALUE_HOLD_SELECT,
|
||||
MENU_ENUM_LABEL_VALUE_DOWN_SELECT,
|
||||
MENU_ENUM_LABEL_VALUE_L2_R2,
|
||||
|
||||
MENU_LABEL(PLAYLIST_USE_OLD_FORMAT),
|
||||
MENU_LABEL(PLAYLIST_COMPRESSION),
|
||||
MENU_LABEL(MENU_SOUNDS),
|
||||
|
70
retroarch.c
70
retroarch.c
@ -36187,54 +36187,48 @@ static bool input_driver_toggle_button_combo(
|
||||
switch (mode)
|
||||
{
|
||||
case INPUT_TOGGLE_DOWN_Y_L_R:
|
||||
if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_DOWN))
|
||||
return false;
|
||||
if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_Y))
|
||||
return false;
|
||||
if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_L))
|
||||
return false;
|
||||
if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_R))
|
||||
return false;
|
||||
if (BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_DOWN) &&
|
||||
BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_Y) &&
|
||||
BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_L) &&
|
||||
BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_R))
|
||||
return true;
|
||||
break;
|
||||
case INPUT_TOGGLE_L3_R3:
|
||||
if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_L3))
|
||||
return false;
|
||||
if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_R3))
|
||||
return false;
|
||||
if (BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_L3) &&
|
||||
BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_R3))
|
||||
return true;
|
||||
break;
|
||||
case INPUT_TOGGLE_L1_R1_START_SELECT:
|
||||
if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_START))
|
||||
return false;
|
||||
if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_SELECT))
|
||||
return false;
|
||||
if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_L))
|
||||
return false;
|
||||
if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_R))
|
||||
return false;
|
||||
if (BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_L) &&
|
||||
BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_R) &&
|
||||
BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_START) &&
|
||||
BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_SELECT))
|
||||
return true;
|
||||
break;
|
||||
case INPUT_TOGGLE_START_SELECT:
|
||||
if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_START))
|
||||
return false;
|
||||
if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_SELECT))
|
||||
return false;
|
||||
if (BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_START) &&
|
||||
BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_SELECT))
|
||||
return true;
|
||||
break;
|
||||
case INPUT_TOGGLE_L3_R:
|
||||
if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_L3))
|
||||
return false;
|
||||
if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_R))
|
||||
return false;
|
||||
if (BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_L3) &&
|
||||
BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_R))
|
||||
return true;
|
||||
break;
|
||||
case INPUT_TOGGLE_L_R:
|
||||
if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_L))
|
||||
return false;
|
||||
if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_R))
|
||||
return false;
|
||||
if (BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_L) &&
|
||||
BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_R))
|
||||
return true;
|
||||
break;
|
||||
case INPUT_TOGGLE_DOWN_SELECT:
|
||||
if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_DOWN))
|
||||
return false;
|
||||
if (!BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_SELECT))
|
||||
return false;
|
||||
if (BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_DOWN) &&
|
||||
BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_SELECT))
|
||||
return true;
|
||||
break;
|
||||
case INPUT_TOGGLE_L2_R2:
|
||||
if (BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_L2) &&
|
||||
BIT256_GET_PTR(p_input, RETRO_DEVICE_ID_JOYPAD_R2))
|
||||
return true;
|
||||
break;
|
||||
case INPUT_TOGGLE_HOLD_START:
|
||||
{
|
||||
@ -36306,10 +36300,10 @@ static bool input_driver_toggle_button_combo(
|
||||
}
|
||||
default:
|
||||
case INPUT_TOGGLE_NONE:
|
||||
return false;
|
||||
break;
|
||||
}
|
||||
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
/* Display the libretro core's framebuffer onscreen. */
|
||||
|
Loading…
x
Reference in New Issue
Block a user