mirror of
https://github.com/libretro/RetroArch
synced 2025-04-18 14:42:30 +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;
|
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;
|
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);
|
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)
|
int menu_input_bind_iterate(void)
|
||||||
{
|
{
|
||||||
char msg[PATH_MAX_LENGTH];
|
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,
|
bool menu_input_poll_find_trigger(struct menu_bind_state *state,
|
||||||
struct menu_bind_state *new_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(void);
|
||||||
|
|
||||||
int menu_input_bind_iterate_keyboard(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);
|
void menu_input_search_start(void);
|
||||||
|
|
||||||
|
int menu_input_set_keyboard_bind_mode(void);
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#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);
|
menu->navigation.selection_ptr);
|
||||||
|
|
||||||
if (global->menu.bind_mode_keyboard)
|
if (global->menu.bind_mode_keyboard)
|
||||||
{
|
menu_input_set_keyboard_bind_mode();
|
||||||
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);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
menu_input_poll_bind_get_rested_axes(&menu->binds);
|
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);
|
menu->navigation.selection_ptr);
|
||||||
|
|
||||||
if (global->menu.bind_mode_keyboard)
|
if (global->menu.bind_mode_keyboard)
|
||||||
{
|
menu_input_set_keyboard_bind_mode();
|
||||||
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);
|
|
||||||
}
|
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
menu_input_poll_bind_get_rested_axes(&menu->binds);
|
menu_input_poll_bind_get_rested_axes(&menu->binds);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user