mirror of
https://github.com/libretro/RetroArch
synced 2025-04-01 04:20:27 +00:00
Create menu_input_set_keyboard_bind_mode
This commit is contained in:
parent
44e8f920ad
commit
fc7f9894b8
@ -352,7 +352,7 @@ bool menu_input_poll_find_trigger(struct menu_bind_state *state,
|
||||
return false;
|
||||
}
|
||||
|
||||
bool menu_input_custom_bind_keyboard_cb(void *data, unsigned code)
|
||||
static bool menu_input_custom_bind_keyboard_cb(void *data, unsigned code)
|
||||
{
|
||||
menu_handle_t *menu = (menu_handle_t*)data;
|
||||
|
||||
@ -368,6 +368,22 @@ bool menu_input_custom_bind_keyboard_cb(void *data, unsigned code)
|
||||
return (menu->binds.begin <= menu->binds.last);
|
||||
}
|
||||
|
||||
int menu_input_set_keyboard_bind_mode(void)
|
||||
{
|
||||
menu_handle_t *menu = menu_driver_get_ptr();
|
||||
|
||||
if (!menu)
|
||||
return -1;
|
||||
|
||||
menu->binds.timeout_end =
|
||||
rarch_get_time_usec() +
|
||||
MENU_KEYBOARD_BIND_TIMEOUT_SECONDS * 1000000;
|
||||
input_keyboard_wait_keys(menu,
|
||||
menu_input_custom_bind_keyboard_cb);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int menu_input_bind_iterate(void)
|
||||
{
|
||||
char msg[PATH_MAX_LENGTH];
|
||||
|
@ -65,8 +65,6 @@ void menu_input_poll_bind_state(struct menu_bind_state *state);
|
||||
bool menu_input_poll_find_trigger(struct menu_bind_state *state,
|
||||
struct menu_bind_state *new_state);
|
||||
|
||||
bool menu_input_custom_bind_keyboard_cb(void *data, unsigned code);
|
||||
|
||||
int menu_input_bind_iterate(void);
|
||||
|
||||
int menu_input_bind_iterate_keyboard(void);
|
||||
@ -78,6 +76,8 @@ void menu_input_post_iterate(int *ret, menu_file_list_cbs_t *cbs, const char *pa
|
||||
|
||||
void menu_input_search_start(void);
|
||||
|
||||
int menu_input_set_keyboard_bind_mode(void);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
15
settings.c
15
settings.c
@ -876,13 +876,7 @@ static int setting_action_ok_bind_all(void *data, unsigned action)
|
||||
menu->navigation.selection_ptr);
|
||||
|
||||
if (global->menu.bind_mode_keyboard)
|
||||
{
|
||||
menu->binds.timeout_end =
|
||||
rarch_get_time_usec() +
|
||||
MENU_KEYBOARD_BIND_TIMEOUT_SECONDS * 1000000;
|
||||
input_keyboard_wait_keys(menu,
|
||||
menu_input_custom_bind_keyboard_cb);
|
||||
}
|
||||
menu_input_set_keyboard_bind_mode();
|
||||
else
|
||||
{
|
||||
menu_input_poll_bind_get_rested_axes(&menu->binds);
|
||||
@ -1090,12 +1084,7 @@ static int setting_bind_action_ok(void *data, unsigned action)
|
||||
menu->navigation.selection_ptr);
|
||||
|
||||
if (global->menu.bind_mode_keyboard)
|
||||
{
|
||||
menu->binds.timeout_end = rarch_get_time_usec() +
|
||||
MENU_KEYBOARD_BIND_TIMEOUT_SECONDS * 1000000;
|
||||
input_keyboard_wait_keys(menu,
|
||||
menu_input_custom_bind_keyboard_cb);
|
||||
}
|
||||
menu_input_set_keyboard_bind_mode();
|
||||
else
|
||||
{
|
||||
menu_input_poll_bind_get_rested_axes(&menu->binds);
|
||||
|
Loading…
x
Reference in New Issue
Block a user