mirror of
https://github.com/libretro/RetroArch
synced 2025-03-03 13:14:04 +00:00
Merge pull request #12859 from jdgleaver/refresh-rate-entry
Allow 'Vertical Refresh Rate' to be entered manually via keyboard
This commit is contained in:
commit
41afbc30ef
@ -399,6 +399,28 @@ static void menu_input_st_hex_cb(void *userdata, const char *str)
|
||||
menu_input_dialog_end();
|
||||
}
|
||||
|
||||
static void menu_input_st_float_cb(void *userdata, const char *str)
|
||||
{
|
||||
if (str && *str)
|
||||
{
|
||||
const char *label = menu_input_dialog_get_label_setting_buffer();
|
||||
rarch_setting_t *setting = menu_setting_find(label);
|
||||
|
||||
float value;
|
||||
int chars_read;
|
||||
int ret;
|
||||
|
||||
/* Ensure that input string contains a valid
|
||||
* floating point value */
|
||||
ret = sscanf(str, "%f %n", &value, &chars_read);
|
||||
|
||||
if ((ret == 1) && !str[chars_read])
|
||||
setting_set_with_string_representation(setting, str);
|
||||
}
|
||||
|
||||
menu_input_dialog_end();
|
||||
}
|
||||
|
||||
static void menu_input_st_string_cb(void *userdata, const char *str)
|
||||
{
|
||||
if (str && *str)
|
||||
@ -440,6 +462,9 @@ static int setting_generic_action_ok_linefeed(
|
||||
case ST_HEX:
|
||||
cb = menu_input_st_hex_cb;
|
||||
break;
|
||||
case ST_FLOAT:
|
||||
cb = menu_input_st_float_cb;
|
||||
break;
|
||||
case ST_STRING:
|
||||
case ST_STRING_OPTIONS:
|
||||
cb = menu_input_st_string_cb;
|
||||
@ -480,6 +505,9 @@ static void setting_add_special_callbacks(
|
||||
case ST_HEX:
|
||||
(*list)[idx].action_cancel = NULL;
|
||||
break;
|
||||
case ST_FLOAT:
|
||||
(*list)[idx].action_cancel = NULL;
|
||||
break;
|
||||
case ST_STRING:
|
||||
(*list)[idx].action_start = setting_string_action_start_generic;
|
||||
(*list)[idx].action_cancel = NULL;
|
||||
@ -11067,6 +11095,7 @@ static bool setting_append_list(
|
||||
general_write_handler,
|
||||
general_read_handler);
|
||||
menu_settings_list_current_add_range(list, list_info, 0, 0, 0.001, true, false);
|
||||
SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_ALLOW_INPUT);
|
||||
SETTINGS_DATA_LIST_CURRENT_ADD_FLAGS(list, list_info, SD_FLAG_LAKKA_ADVANCED);
|
||||
|
||||
CONFIG_FLOAT(
|
||||
|
Loading…
x
Reference in New Issue
Block a user