From cab8cf90c5ef767244c5e05ca3478bf55ea196e7 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sun, 16 Feb 2014 15:20:46 +0100 Subject: [PATCH] (PSP) Flesh out psp_input_set_keybinds --- ps3/ps3_input.c | 2 -- psp/psp_input.c | 26 ++++++++++++++++++++++++++ 2 files changed, 26 insertions(+), 2 deletions(-) diff --git a/ps3/ps3_input.c b/ps3/ps3_input.c index 3222433645..24dc262cb7 100644 --- a/ps3/ps3_input.c +++ b/ps3/ps3_input.c @@ -86,9 +86,7 @@ static void ps3_input_set_keybinds(void *data, unsigned device, unsigned port, unsigned id, unsigned keybind_action) { uint64_t *key = &g_settings.input.binds[port][id].joykey; - //uint64_t joykey = *key; size_t arr_size = sizeof(platform_keys) / sizeof(platform_keys[0]); - (void)device; if (keybind_action & (1ULL << KEYBINDS_ACTION_SET_DEFAULT_BIND)) diff --git a/psp/psp_input.c b/psp/psp_input.c index b28d7546ce..8d684380ed 100644 --- a/psp/psp_input.c +++ b/psp/psp_input.c @@ -198,6 +198,8 @@ static void psp_input_set_keybinds(void *data, unsigned device, unsigned port, { (void)device; uint64_t *key = &g_settings.input.binds[port][id].joykey; + size_t arr_size = sizeof(platform_keys) / sizeof(platform_keys[0]); + (void)device; if (keybind_action & (1ULL << KEYBINDS_ACTION_SET_DEFAULT_BIND)) *key = g_settings.input.binds[port][id].def_joykey; @@ -217,6 +219,10 @@ static void psp_input_set_keybinds(void *data, unsigned device, unsigned port, g_settings.input.binds[port][RETRO_DEVICE_ID_JOYPAD_X].def_joykey = (RETRO_DEVICE_ID_JOYPAD_X); g_settings.input.binds[port][RETRO_DEVICE_ID_JOYPAD_L].def_joykey = (RETRO_DEVICE_ID_JOYPAD_L); g_settings.input.binds[port][RETRO_DEVICE_ID_JOYPAD_R].def_joykey = (RETRO_DEVICE_ID_JOYPAD_R); + g_settings.input.binds[port][RETRO_DEVICE_ID_JOYPAD_L2].def_joykey = NO_BTN; + g_settings.input.binds[port][RETRO_DEVICE_ID_JOYPAD_R2].def_joykey = NO_BTN; + g_settings.input.binds[port][RETRO_DEVICE_ID_JOYPAD_L3].def_joykey = NO_BTN; + g_settings.input.binds[port][RETRO_DEVICE_ID_JOYPAD_R3].def_joykey = NO_BTN; g_settings.input.binds[port][RARCH_ANALOG_LEFT_X_PLUS].def_joykey = NO_BTN; g_settings.input.binds[port][RARCH_ANALOG_LEFT_X_MINUS].def_joykey = NO_BTN; g_settings.input.binds[port][RARCH_ANALOG_LEFT_Y_PLUS].def_joykey = NO_BTN; @@ -257,6 +263,26 @@ static void psp_input_set_keybinds(void *data, unsigned device, unsigned port, g_settings.input.binds[port][i].joyaxis = g_settings.input.binds[port][i].def_joyaxis; } } + + if (keybind_action & (1ULL << KEYBINDS_ACTION_GET_BIND_LABEL)) + { + struct platform_bind *ret = (struct platform_bind*)data; + + if (ret->joykey == NO_BTN) + strlcpy(ret->desc, "No button", sizeof(ret->desc)); + else + { + for (size_t i = 0; i < arr_size; i++) + { + if (platform_keys[i].joykey == ret->joykey) + { + strlcpy(ret->desc, platform_keys[i].desc, sizeof(ret->desc)); + return; + } + } + strlcpy(ret->desc, "Unknown", sizeof(ret->desc)); + } + } } static void* psp_input_initialize(void)