mirror of
https://github.com/libretro/RetroArch.git
synced 2025-02-16 23:48:51 +00:00
Add a setting to allow turbo d-pad directions (#16006)
* Add option to allow turbo d-pad inputs * fix macro tab and update comment
This commit is contained in:
parent
87b6064160
commit
6513a023b8
@ -1508,6 +1508,7 @@
|
||||
#define DEFAULT_TURBO_DUTY_CYCLE 3
|
||||
#define DEFAULT_TURBO_MODE 0
|
||||
#define DEFAULT_TURBO_DEFAULT_BTN RETRO_DEVICE_ID_JOYPAD_B
|
||||
#define DEFAULT_ALLOW_TURBO_DPAD false
|
||||
|
||||
#if TARGET_OS_IPHONE
|
||||
#define DEFAULT_INPUT_KEYBOARD_GAMEPAD_ENABLE false
|
||||
|
@ -2069,6 +2069,7 @@ static struct config_bool_setting *populate_settings_bool(
|
||||
#endif
|
||||
SETTING_BOOL("keyboard_gamepad_enable", &settings->bools.input_keyboard_gamepad_enable, true, DEFAULT_INPUT_KEYBOARD_GAMEPAD_ENABLE, false);
|
||||
SETTING_BOOL("input_autodetect_enable", &settings->bools.input_autodetect_enable, true, DEFAULT_INPUT_AUTODETECT_ENABLE, false);
|
||||
SETTING_BOOL("input_allow_turbo_dpad", &settings->bools.input_allow_turbo_dpad, true, DEFAULT_ALLOW_TURBO_DPAD, false);
|
||||
SETTING_BOOL("input_auto_mouse_grab", &settings->bools.input_auto_mouse_grab, true, false, false);
|
||||
SETTING_BOOL("input_remap_binds_enable", &settings->bools.input_remap_binds_enable, true, true, false);
|
||||
SETTING_BOOL("all_users_control_menu", &settings->bools.input_all_users_control_menu, true, DEFAULT_ALL_USERS_CONTROL_MENU, false);
|
||||
|
@ -671,6 +671,7 @@ typedef struct settings
|
||||
bool input_small_keyboard_enable;
|
||||
bool input_keyboard_gamepad_enable;
|
||||
bool input_auto_mouse_grab;
|
||||
bool input_allow_turbo_dpad;
|
||||
#if defined(HAVE_DINPUT) || defined(HAVE_WINRAWINPUT)
|
||||
bool input_nowinkey_enable;
|
||||
#endif
|
||||
|
@ -1262,9 +1262,10 @@ static int16_t input_state_device(
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Don't allow turbo for D-pad. */
|
||||
/* Don't allow turbo for D-pad unless explicitly allowed. */
|
||||
if ( (id < RETRO_DEVICE_ID_JOYPAD_UP)
|
||||
|| ( (id > RETRO_DEVICE_ID_JOYPAD_RIGHT)
|
||||
|| ( ((settings->bools.input_allow_turbo_dpad)
|
||||
|| (id > RETRO_DEVICE_ID_JOYPAD_RIGHT))
|
||||
&& (id <= RETRO_DEVICE_ID_JOYPAD_R3)))
|
||||
{
|
||||
/*
|
||||
|
@ -6378,6 +6378,10 @@ MSG_HASH(
|
||||
MENU_ENUM_LABEL_INPUT_TURBO_DEFAULT_BUTTON,
|
||||
"input_turbo_default_button"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_INPUT_ALLOW_TURBO_DPAD,
|
||||
"input_allow_turbo_dpad"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_MENU_VIEWS_SETTINGS,
|
||||
"menu_views_settings"
|
||||
|
@ -484,6 +484,9 @@ int msg_hash_get_help_us_enum(enum msg_hash_enums msg, char *s, size_t len)
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
|
||||
}
|
||||
break;
|
||||
case MENU_ENUM_LABEL_INPUT_ALLOW_TURBO_DPAD:
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_INPUT_ALLOW_TURBO_DPAD), len);
|
||||
break;
|
||||
default:
|
||||
if (string_is_empty(s))
|
||||
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NO_INFORMATION_AVAILABLE), len);
|
||||
|
@ -3279,6 +3279,14 @@ MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_INPUT_TURBO_DEFAULT_BUTTON,
|
||||
"Default active button for Turbo Mode 'Single Button'."
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_INPUT_ALLOW_TURBO_DPAD,
|
||||
"Allow Turbo D-Pad Directions"
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_SUBLABEL_INPUT_ALLOW_TURBO_DPAD,
|
||||
"If enabled, digital directional inputs (also known as d-pad or 'hatswitch') can be turbo."
|
||||
)
|
||||
MSG_HASH(
|
||||
MENU_ENUM_LABEL_VALUE_INPUT_TURBO_FIRE_SETTINGS,
|
||||
"Turbo Fire"
|
||||
|
@ -552,6 +552,7 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_turbo_period, MENU_
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_duty_cycle, MENU_ENUM_SUBLABEL_INPUT_DUTY_CYCLE)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_turbo_mode, MENU_ENUM_SUBLABEL_INPUT_TURBO_MODE)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_turbo_default_button, MENU_ENUM_SUBLABEL_INPUT_TURBO_DEFAULT_BUTTON)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_allow_turbo_dpad, MENU_ENUM_SUBLABEL_INPUT_ALLOW_TURBO_DPAD)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_rumble_gain, MENU_ENUM_SUBLABEL_INPUT_RUMBLE_GAIN)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_video_vertical_sync, MENU_ENUM_SUBLABEL_VIDEO_VSYNC)
|
||||
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_video_adaptive_vsync, MENU_ENUM_SUBLABEL_VIDEO_ADAPTIVE_VSYNC)
|
||||
@ -4436,6 +4437,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
|
||||
case MENU_ENUM_LABEL_INPUT_TURBO_DEFAULT_BUTTON:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_turbo_default_button);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_INPUT_ALLOW_TURBO_DPAD:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_allow_turbo_dpad);
|
||||
break;
|
||||
case MENU_ENUM_LABEL_INPUT_RUMBLE_GAIN:
|
||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_rumble_gain);
|
||||
break;
|
||||
|
@ -6759,6 +6759,7 @@ unsigned menu_displaylist_build_list(
|
||||
{MENU_ENUM_LABEL_INPUT_DUTY_CYCLE, PARSE_ONLY_UINT},
|
||||
{MENU_ENUM_LABEL_INPUT_TURBO_MODE, PARSE_ONLY_UINT},
|
||||
{MENU_ENUM_LABEL_INPUT_TURBO_DEFAULT_BUTTON, PARSE_ONLY_UINT},
|
||||
{MENU_ENUM_LABEL_INPUT_ALLOW_TURBO_DPAD, PARSE_ONLY_BOOL},
|
||||
};
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(build_list); i++)
|
||||
|
@ -15241,6 +15241,22 @@ static bool setting_append_list(
|
||||
&setting_get_string_representation_turbo_default_button;
|
||||
menu_settings_list_current_add_range(list, list_info, 0, (INPUT_TURBO_DEFAULT_BUTTON_LAST-1), 1, true, true);
|
||||
|
||||
CONFIG_BOOL(
|
||||
list, list_info,
|
||||
&settings->bools.input_allow_turbo_dpad,
|
||||
MENU_ENUM_LABEL_INPUT_ALLOW_TURBO_DPAD,
|
||||
MENU_ENUM_LABEL_VALUE_INPUT_ALLOW_TURBO_DPAD,
|
||||
DEFAULT_ALLOW_TURBO_DPAD,
|
||||
MENU_ENUM_LABEL_VALUE_OFF,
|
||||
MENU_ENUM_LABEL_VALUE_ON,
|
||||
&group_info,
|
||||
&subgroup_info,
|
||||
parent_group,
|
||||
general_write_handler,
|
||||
general_read_handler,
|
||||
SD_FLAG_NONE
|
||||
);
|
||||
|
||||
END_SUB_GROUP(list, list_info, parent_group);
|
||||
|
||||
END_GROUP(list, list_info, parent_group);
|
||||
|
@ -887,6 +887,7 @@ enum msg_hash_enums
|
||||
MENU_ENUM_LABEL_HELP_TURBO_MODE_SINGLEBUTTON,
|
||||
MENU_ENUM_LABEL_HELP_TURBO_MODE_SINGLEBUTTON_HOLD,
|
||||
MENU_LABEL(INPUT_TURBO_DEFAULT_BUTTON),
|
||||
MENU_LABEL(INPUT_ALLOW_TURBO_DPAD),
|
||||
|
||||
MENU_ENUM_LABEL_INPUT_PLAYER1_JOYPAD_INDEX,
|
||||
MENU_ENUM_LABEL_INPUT_PLAYER2_JOYPAD_INDEX,
|
||||
|
Loading…
x
Reference in New Issue
Block a user