mirror of
https://github.com/libretro/RetroArch
synced 2025-03-18 04:21:19 +00:00
Merge pull request #10239 from parport0/master
(Menu) Add Menu Scroll Acceleration option
This commit is contained in:
commit
2a0833378d
@ -510,6 +510,8 @@ static const bool menu_show_core_updater = true;
|
|||||||
static const bool menu_show_legacy_thumbnail_updater = false;
|
static const bool menu_show_legacy_thumbnail_updater = false;
|
||||||
static const bool menu_show_sublabels = true;
|
static const bool menu_show_sublabels = true;
|
||||||
|
|
||||||
|
static const bool menu_scroll_fast = false;
|
||||||
|
|
||||||
#define DEFAULT_MENU_TICKER_TYPE (TICKER_TYPE_BOUNCE)
|
#define DEFAULT_MENU_TICKER_TYPE (TICKER_TYPE_BOUNCE)
|
||||||
static const float menu_ticker_speed = 1.0f;
|
static const float menu_ticker_speed = 1.0f;
|
||||||
|
|
||||||
|
@ -1465,6 +1465,7 @@ static struct config_bool_setting *populate_settings_bool(settings_t *settings,
|
|||||||
SETTING_BOOL("menu_show_sublabels", &settings->bools.menu_show_sublabels, true, menu_show_sublabels, false);
|
SETTING_BOOL("menu_show_sublabels", &settings->bools.menu_show_sublabels, true, menu_show_sublabels, false);
|
||||||
SETTING_BOOL("menu_dynamic_wallpaper_enable", &settings->bools.menu_dynamic_wallpaper_enable, true, false, false);
|
SETTING_BOOL("menu_dynamic_wallpaper_enable", &settings->bools.menu_dynamic_wallpaper_enable, true, false, false);
|
||||||
SETTING_BOOL("menu_ticker_smooth", &settings->bools.menu_ticker_smooth, true, DEFAULT_MENU_TICKER_SMOOTH, false);
|
SETTING_BOOL("menu_ticker_smooth", &settings->bools.menu_ticker_smooth, true, DEFAULT_MENU_TICKER_SMOOTH, false);
|
||||||
|
SETTING_BOOL("menu_scroll_fast", &settings->bools.menu_scroll_fast, true, false, false);
|
||||||
SETTING_BOOL("settings_show_drivers", &settings->bools.settings_show_drivers, true, DEFAULT_SETTINGS_SHOW_DRIVERS, false);
|
SETTING_BOOL("settings_show_drivers", &settings->bools.settings_show_drivers, true, DEFAULT_SETTINGS_SHOW_DRIVERS, false);
|
||||||
SETTING_BOOL("settings_show_video", &settings->bools.settings_show_video, true, DEFAULT_SETTINGS_SHOW_VIDEO, false);
|
SETTING_BOOL("settings_show_video", &settings->bools.settings_show_video, true, DEFAULT_SETTINGS_SHOW_VIDEO, false);
|
||||||
SETTING_BOOL("settings_show_audio", &settings->bools.settings_show_audio, true, DEFAULT_SETTINGS_SHOW_AUDIO, false);
|
SETTING_BOOL("settings_show_audio", &settings->bools.settings_show_audio, true, DEFAULT_SETTINGS_SHOW_AUDIO, false);
|
||||||
|
@ -176,6 +176,7 @@ typedef struct settings
|
|||||||
bool menu_throttle_framerate;
|
bool menu_throttle_framerate;
|
||||||
bool menu_linear_filter;
|
bool menu_linear_filter;
|
||||||
bool menu_horizontal_animation;
|
bool menu_horizontal_animation;
|
||||||
|
bool menu_scroll_fast;
|
||||||
bool menu_show_online_updater;
|
bool menu_show_online_updater;
|
||||||
bool menu_show_core_updater;
|
bool menu_show_core_updater;
|
||||||
bool menu_show_load_core;
|
bool menu_show_load_core;
|
||||||
|
@ -1718,6 +1718,8 @@ MSG_HASH(MENU_ENUM_LABEL_MENU_SHOW_CORE_UPDATER,
|
|||||||
"menu_show_core_updater")
|
"menu_show_core_updater")
|
||||||
MSG_HASH(MENU_ENUM_LABEL_MENU_SHOW_LEGACY_THUMBNAIL_UPDATER,
|
MSG_HASH(MENU_ENUM_LABEL_MENU_SHOW_LEGACY_THUMBNAIL_UPDATER,
|
||||||
"menu_show_legacy_thumbnail_updater")
|
"menu_show_legacy_thumbnail_updater")
|
||||||
|
MSG_HASH(MENU_ENUM_LABEL_MENU_SCROLL_FAST,
|
||||||
|
"menu_scroll_fast")
|
||||||
MSG_HASH(MENU_ENUM_LABEL_CORE_DELETE,
|
MSG_HASH(MENU_ENUM_LABEL_CORE_DELETE,
|
||||||
"core_delete")
|
"core_delete")
|
||||||
MSG_HASH(MENU_ENUM_LABEL_PLAYLIST_ENTRY_RENAME,
|
MSG_HASH(MENU_ENUM_LABEL_PLAYLIST_ENTRY_RENAME,
|
||||||
|
@ -7145,6 +7145,22 @@ MSG_HASH(
|
|||||||
MENU_ENUM_SUBLABEL_MENU_SHOW_LEGACY_THUMBNAIL_UPDATER,
|
MENU_ENUM_SUBLABEL_MENU_SHOW_LEGACY_THUMBNAIL_UPDATER,
|
||||||
"Show/hide the ability to download legacy thumbnail packages."
|
"Show/hide the ability to download legacy thumbnail packages."
|
||||||
)
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_LABEL_VALUE_MENU_SCROLL_FAST,
|
||||||
|
"Menu Scroll Acceleration"
|
||||||
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_SUBLABEL_MENU_SCROLL_FAST,
|
||||||
|
"Maximum speed of the cursor when holding a direction to scroll."
|
||||||
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_LABEL_VALUE_SCROLL_NORMAL,
|
||||||
|
"Normal"
|
||||||
|
)
|
||||||
|
MSG_HASH(
|
||||||
|
MENU_ENUM_LABEL_VALUE_SCROLL_FAST,
|
||||||
|
"Fast"
|
||||||
|
)
|
||||||
MSG_HASH(
|
MSG_HASH(
|
||||||
MENU_ENUM_LABEL_VALUE_MENU_VIEWS_SETTINGS,
|
MENU_ENUM_LABEL_VALUE_MENU_VIEWS_SETTINGS,
|
||||||
"Views"
|
"Views"
|
||||||
|
@ -619,6 +619,7 @@ default_sublabel_macro(action_bind_sublabel_menu_show_shutdown,
|
|||||||
default_sublabel_macro(action_bind_sublabel_menu_show_online_updater, MENU_ENUM_SUBLABEL_MENU_SHOW_ONLINE_UPDATER)
|
default_sublabel_macro(action_bind_sublabel_menu_show_online_updater, MENU_ENUM_SUBLABEL_MENU_SHOW_ONLINE_UPDATER)
|
||||||
default_sublabel_macro(action_bind_sublabel_menu_show_core_updater, MENU_ENUM_SUBLABEL_MENU_SHOW_CORE_UPDATER)
|
default_sublabel_macro(action_bind_sublabel_menu_show_core_updater, MENU_ENUM_SUBLABEL_MENU_SHOW_CORE_UPDATER)
|
||||||
default_sublabel_macro(action_bind_sublabel_menu_show_legacy_thumbnail_updater, MENU_ENUM_SUBLABEL_MENU_SHOW_LEGACY_THUMBNAIL_UPDATER)
|
default_sublabel_macro(action_bind_sublabel_menu_show_legacy_thumbnail_updater, MENU_ENUM_SUBLABEL_MENU_SHOW_LEGACY_THUMBNAIL_UPDATER)
|
||||||
|
default_sublabel_macro(action_bind_sublabel_menu_scroll_fast, MENU_ENUM_SUBLABEL_MENU_SCROLL_FAST)
|
||||||
default_sublabel_macro(action_bind_sublabel_menu_music_tab, MENU_ENUM_SUBLABEL_CONTENT_SHOW_MUSIC)
|
default_sublabel_macro(action_bind_sublabel_menu_music_tab, MENU_ENUM_SUBLABEL_CONTENT_SHOW_MUSIC)
|
||||||
default_sublabel_macro(action_bind_sublabel_menu_video_tab, MENU_ENUM_SUBLABEL_CONTENT_SHOW_VIDEO)
|
default_sublabel_macro(action_bind_sublabel_menu_video_tab, MENU_ENUM_SUBLABEL_CONTENT_SHOW_VIDEO)
|
||||||
default_sublabel_macro(action_bind_sublabel_menu_netplay_tab, MENU_ENUM_SUBLABEL_CONTENT_SHOW_NETPLAY)
|
default_sublabel_macro(action_bind_sublabel_menu_netplay_tab, MENU_ENUM_SUBLABEL_CONTENT_SHOW_NETPLAY)
|
||||||
@ -1759,6 +1760,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
|
|||||||
case MENU_ENUM_LABEL_MENU_SHOW_LEGACY_THUMBNAIL_UPDATER:
|
case MENU_ENUM_LABEL_MENU_SHOW_LEGACY_THUMBNAIL_UPDATER:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_show_legacy_thumbnail_updater);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_show_legacy_thumbnail_updater);
|
||||||
break;
|
break;
|
||||||
|
case MENU_ENUM_LABEL_MENU_SCROLL_FAST:
|
||||||
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_scroll_fast);
|
||||||
|
break;
|
||||||
case MENU_ENUM_LABEL_CONTENT_SHOW_NETPLAY:
|
case MENU_ENUM_LABEL_CONTENT_SHOW_NETPLAY:
|
||||||
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_netplay_tab);
|
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_menu_netplay_tab);
|
||||||
break;
|
break;
|
||||||
|
@ -5994,6 +5994,7 @@ unsigned menu_displaylist_build_list(
|
|||||||
{MENU_ENUM_LABEL_THREADED_DATA_RUNLOOP_ENABLE, PARSE_ONLY_BOOL, true},
|
{MENU_ENUM_LABEL_THREADED_DATA_RUNLOOP_ENABLE, PARSE_ONLY_BOOL, true},
|
||||||
{MENU_ENUM_LABEL_PAUSE_NONACTIVE, PARSE_ONLY_BOOL, true},
|
{MENU_ENUM_LABEL_PAUSE_NONACTIVE, PARSE_ONLY_BOOL, true},
|
||||||
{MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION, PARSE_ONLY_BOOL, true},
|
{MENU_ENUM_LABEL_VIDEO_DISABLE_COMPOSITION, PARSE_ONLY_BOOL, true},
|
||||||
|
{MENU_ENUM_LABEL_MENU_SCROLL_FAST, PARSE_ONLY_BOOL, true},
|
||||||
{MENU_ENUM_LABEL_UI_COMPANION_ENABLE, PARSE_ONLY_BOOL, true},
|
{MENU_ENUM_LABEL_UI_COMPANION_ENABLE, PARSE_ONLY_BOOL, true},
|
||||||
{MENU_ENUM_LABEL_UI_COMPANION_START_ON_BOOT, PARSE_ONLY_BOOL, true},
|
{MENU_ENUM_LABEL_UI_COMPANION_START_ON_BOOT, PARSE_ONLY_BOOL, true},
|
||||||
{MENU_ENUM_LABEL_UI_MENUBAR_ENABLE, PARSE_ONLY_BOOL, true},
|
{MENU_ENUM_LABEL_UI_MENUBAR_ENABLE, PARSE_ONLY_BOOL, true},
|
||||||
|
@ -15212,6 +15212,21 @@ static bool setting_append_list(
|
|||||||
SD_FLAG_NONE);
|
SD_FLAG_NONE);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
CONFIG_BOOL(
|
||||||
|
list, list_info,
|
||||||
|
&settings->bools.menu_scroll_fast,
|
||||||
|
MENU_ENUM_LABEL_MENU_SCROLL_FAST,
|
||||||
|
MENU_ENUM_LABEL_VALUE_MENU_SCROLL_FAST,
|
||||||
|
menu_scroll_fast,
|
||||||
|
MENU_ENUM_LABEL_VALUE_SCROLL_NORMAL,
|
||||||
|
MENU_ENUM_LABEL_VALUE_SCROLL_FAST,
|
||||||
|
&group_info,
|
||||||
|
&subgroup_info,
|
||||||
|
parent_group,
|
||||||
|
general_write_handler,
|
||||||
|
general_read_handler,
|
||||||
|
SD_FLAG_NONE);
|
||||||
|
|
||||||
CONFIG_BOOL(
|
CONFIG_BOOL(
|
||||||
list, list_info,
|
list, list_info,
|
||||||
&settings->bools.ui_companion_enable,
|
&settings->bools.ui_companion_enable,
|
||||||
|
@ -973,6 +973,7 @@ enum msg_hash_enums
|
|||||||
MENU_LABEL(MENU_SHOW_ONLINE_UPDATER),
|
MENU_LABEL(MENU_SHOW_ONLINE_UPDATER),
|
||||||
MENU_LABEL(MENU_SHOW_CORE_UPDATER),
|
MENU_LABEL(MENU_SHOW_CORE_UPDATER),
|
||||||
MENU_LABEL(MENU_SHOW_LEGACY_THUMBNAIL_UPDATER),
|
MENU_LABEL(MENU_SHOW_LEGACY_THUMBNAIL_UPDATER),
|
||||||
|
MENU_LABEL(MENU_SCROLL_FAST),
|
||||||
MENU_LABEL(MENU_ENABLE_KIOSK_MODE),
|
MENU_LABEL(MENU_ENABLE_KIOSK_MODE),
|
||||||
MENU_LABEL(MENU_DISABLE_KIOSK_MODE),
|
MENU_LABEL(MENU_DISABLE_KIOSK_MODE),
|
||||||
MENU_LABEL(MENU_KIOSK_MODE_PASSWORD),
|
MENU_LABEL(MENU_KIOSK_MODE_PASSWORD),
|
||||||
@ -1102,6 +1103,9 @@ enum msg_hash_enums
|
|||||||
MENU_ENUM_LABEL_VALUE_MENU_TICKER_TYPE_BOUNCE,
|
MENU_ENUM_LABEL_VALUE_MENU_TICKER_TYPE_BOUNCE,
|
||||||
MENU_ENUM_LABEL_VALUE_MENU_TICKER_TYPE_LOOP,
|
MENU_ENUM_LABEL_VALUE_MENU_TICKER_TYPE_LOOP,
|
||||||
|
|
||||||
|
MENU_ENUM_LABEL_VALUE_SCROLL_NORMAL,
|
||||||
|
MENU_ENUM_LABEL_VALUE_SCROLL_FAST,
|
||||||
|
|
||||||
/* UI settings */
|
/* UI settings */
|
||||||
MENU_LABEL(VIDEO_DISABLE_COMPOSITION),
|
MENU_LABEL(VIDEO_DISABLE_COMPOSITION),
|
||||||
MENU_LABEL(UI_COMPANION_ENABLE),
|
MENU_LABEL(UI_COMPANION_ENABLE),
|
||||||
|
11
retroarch.c
11
retroarch.c
@ -16510,6 +16510,7 @@ static unsigned menu_event(
|
|||||||
bool menu_mouse_enable = settings->bools.menu_mouse_enable;
|
bool menu_mouse_enable = settings->bools.menu_mouse_enable;
|
||||||
bool menu_pointer_enable = settings->bools.menu_pointer_enable;
|
bool menu_pointer_enable = settings->bools.menu_pointer_enable;
|
||||||
bool swap_ok_cancel_btns = settings->bools.input_menu_swap_ok_cancel_buttons;
|
bool swap_ok_cancel_btns = settings->bools.input_menu_swap_ok_cancel_buttons;
|
||||||
|
bool menu_scroll_fast = settings->bools.menu_scroll_fast;
|
||||||
bool input_swap_override = input_autoconfigure_get_swap_override();
|
bool input_swap_override = input_autoconfigure_get_swap_override();
|
||||||
unsigned menu_ok_btn =
|
unsigned menu_ok_btn =
|
||||||
(!input_swap_override && swap_ok_cancel_btns) ?
|
(!input_swap_override && swap_ok_cancel_btns) ?
|
||||||
@ -16539,7 +16540,10 @@ static unsigned menu_event(
|
|||||||
* for old_input_state. */
|
* for old_input_state. */
|
||||||
|
|
||||||
first_held = true;
|
first_held = true;
|
||||||
delay_timer = initial_held ? 200 : 100;
|
if (menu_scroll_fast)
|
||||||
|
delay_timer = initial_held ? 200 : 100;
|
||||||
|
else
|
||||||
|
delay_timer = initial_held ? 400 : 20;
|
||||||
delay_count = 0;
|
delay_count = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -16560,7 +16564,10 @@ static unsigned menu_event(
|
|||||||
menu_driver_ctl(MENU_NAVIGATION_CTL_GET_SCROLL_ACCEL,
|
menu_driver_ctl(MENU_NAVIGATION_CTL_GET_SCROLL_ACCEL,
|
||||||
&new_scroll_accel);
|
&new_scroll_accel);
|
||||||
|
|
||||||
new_scroll_accel = MIN(new_scroll_accel + 1, 64);
|
if (menu_scroll_fast)
|
||||||
|
new_scroll_accel = MIN(new_scroll_accel + 1, 64);
|
||||||
|
else
|
||||||
|
new_scroll_accel = MIN(new_scroll_accel + 1, 5);
|
||||||
}
|
}
|
||||||
|
|
||||||
initial_held = false;
|
initial_held = false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user