From cf3fa07c4a46f22e78ab6d6f8bad3dbe63acc940 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Tue, 1 Oct 2013 18:38:12 +0200 Subject: [PATCH] (RARCH_CONSOLE) Reduce code duplication for default input binds --- frontend/frontend.c | 34 ++++++++++++++++++++++++++++++++++ gx/gx_input.c | 31 ------------------------------- ps3/ps3_input.c | 30 ------------------------------ psp/psp_input.c | 30 ------------------------------ xdk/xdk_xinput_input.c | 30 ------------------------------ xenon/xenon360_input.c | 26 -------------------------- 6 files changed, 34 insertions(+), 147 deletions(-) diff --git a/frontend/frontend.c b/frontend/frontend.c index 87299bb64d..85164beb62 100644 --- a/frontend/frontend.c +++ b/frontend/frontend.c @@ -65,12 +65,46 @@ static bool libretro_install_core(const char *path_prefix, return true; } +static void input_defaults_console(void) +{ + for(unsigned i = 0; i < MAX_PLAYERS; i++) + if (driver.input->set_keybinds) + driver.input->set_keybinds(driver.input_data, 0, i, 0, + (1ULL << KEYBINDS_ACTION_SET_DEFAULT_BINDS)); + + for(unsigned i = 0; i < MAX_PADS; i++) + { + unsigned keybind_action = 0; + + switch (g_settings.input.dpad_emulation[i]) + { + case ANALOG_DPAD_LSTICK: + keybind_action = (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_LSTICK); + break; + case ANALOG_DPAD_RSTICK: + keybind_action = (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_RSTICK); + break; + case ANALOG_DPAD_NONE: + keybind_action = (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_NONE); + break; + default: + break; + } + + if (keybind_action) + if (driver.input->set_keybinds) + driver.input->set_keybinds(driver.input_data, 0, i, 0, + keybind_action); + } +} + static void rarch_get_environment_console(void) { init_libretro_sym(false); rarch_init_system_info(); global_init_drivers(); + input_defaults_console(); #ifdef HAVE_LIBRETRO_MANAGEMENT char path_prefix[PATH_MAX]; diff --git a/gx/gx_input.c b/gx/gx_input.c index cf01ea416b..2b2abd1396 100644 --- a/gx/gx_input.c +++ b/gx/gx_input.c @@ -471,37 +471,6 @@ static void *gx_input_init(void) SYS_SetPowerCallback(power_callback); #endif - for(unsigned i = 0; i < MAX_PLAYERS; i++) - if (driver.input->set_keybinds) - driver.input->set_keybinds(driver.input_data, 0, i, 0, - (1ULL << KEYBINDS_ACTION_SET_DEFAULT_BINDS)); - - for(unsigned i = 0; i < MAX_PADS; i++) - { - unsigned keybind_action = 0; - - switch (g_settings.input.dpad_emulation[i]) - { - case ANALOG_DPAD_LSTICK: - keybind_action = (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_LSTICK); - break; - case ANALOG_DPAD_RSTICK: - keybind_action = (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_RSTICK); - break; - case ANALOG_DPAD_NONE: - keybind_action = (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_NONE); - break; - default: - break; - } - - if (keybind_action) - if (driver.input->set_keybinds) - driver.input->set_keybinds(driver.input_data, 0, i, 0, - keybind_action); - } - - return (void*)-1; } diff --git a/ps3/ps3_input.c b/ps3/ps3_input.c index 0995219d8f..d203fa347c 100644 --- a/ps3/ps3_input.c +++ b/ps3/ps3_input.c @@ -503,36 +503,6 @@ static void* ps3_input_init(void) cellMouseInit(MAX_MICE); #endif - for(unsigned i = 0; i < MAX_PLAYERS; i++) - if (driver.input->set_keybinds) - driver.input->set_keybinds(driver.input_data, 0, i, 0, - (1ULL << KEYBINDS_ACTION_SET_DEFAULT_BINDS)); - - for(unsigned i = 0; i < MAX_PADS; i++) - { - unsigned keybind_action = 0; - - switch (g_settings.input.dpad_emulation[i]) - { - case ANALOG_DPAD_LSTICK: - keybind_action = (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_LSTICK); - break; - case ANALOG_DPAD_RSTICK: - keybind_action = (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_RSTICK); - break; - case ANALOG_DPAD_NONE: - keybind_action = (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_NONE); - break; - default: - break; - } - - if (keybind_action) - if (driver.input->set_keybinds) - driver.input->set_keybinds(driver.input_data, 0, i, 0, - keybind_action); - } - return (void*)-1; } diff --git a/psp/psp_input.c b/psp/psp_input.c index e8917ffa2d..a03d72010e 100644 --- a/psp/psp_input.c +++ b/psp/psp_input.c @@ -169,36 +169,6 @@ static void* psp_input_initialize(void) #endif sceCtrlSetSamplingMode(DEFAULT_SAMPLING_MODE); - for(unsigned i = 0; i < MAX_PLAYERS; i++) - if (driver.input->set_keybinds) - driver.input->set_keybinds(driver.input_data, 0, i, 0, - (1ULL << KEYBINDS_ACTION_SET_DEFAULT_BINDS)); - - for(unsigned i = 0; i < MAX_PADS; i++) - { - unsigned keybind_action = 0; - - switch (g_settings.input.dpad_emulation[i]) - { - case ANALOG_DPAD_LSTICK: - keybind_action = (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_LSTICK); - break; - case ANALOG_DPAD_RSTICK: - keybind_action = (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_RSTICK); - break; - case ANALOG_DPAD_NONE: - keybind_action = (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_NONE); - break; - default: - break; - } - - if (keybind_action) - if (driver.input->set_keybinds) - driver.input->set_keybinds(driver.input_data, 0, i, 0, - action); - } - return (void*)-1; } diff --git a/xdk/xdk_xinput_input.c b/xdk/xdk_xinput_input.c index b84a40c1c6..82005b5829 100644 --- a/xdk/xdk_xinput_input.c +++ b/xdk/xdk_xinput_input.c @@ -391,36 +391,6 @@ static void *xdk_input_init(void) while(XGetDeviceEnumerationStatus() == XDEVICE_ENUMERATION_BUSY) {} #endif - for(unsigned i = 0; i < MAX_PLAYERS; i++) - if (driver.input->set_keybinds) - driver.input->set_keybinds(driver.input_data, 0, i, 0, - (1ULL << KEYBINDS_ACTION_SET_DEFAULT_BINDS)); - - for(unsigned i = 0; i < MAX_PADS; i++) - { - unsigned keybind_action = 0; - - switch (g_settings.input.dpad_emulation[i]) - { - case ANALOG_DPAD_LSTICK: - keybind_action = (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_LSTICK); - break; - case ANALOG_DPAD_RSTICK: - keybind_action = (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_RSTICK); - break; - case ANALOG_DPAD_NONE: - keybind_action = (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_NONE); - break; - default: - break; - } - - if (keybind_action) - if (driver.input->set_keybinds) - driver.input->set_keybinds(driver.input_data, 0, i, 0, - keybind_action); - } - return (void*)-1; } diff --git a/xenon/xenon360_input.c b/xenon/xenon360_input.c index 1cae30962e..a3c6e519b9 100644 --- a/xenon/xenon360_input.c +++ b/xenon/xenon360_input.c @@ -102,32 +102,6 @@ static void xenon360_input_set_keybinds(void *data, unsigned device, static void* xenon360_input_init(void) { - for(unsigned i = 0; i < MAX_PLAYERS; i++) - xenon360_input_set_keybinds(driver.input_data, 0, i, - (1ULL << KEYBINDS_ACTION_SET_DEFAULT_BINDS)); - - for(unsigned i = 0; i < MAX_PADS; i++) - { - unsigned keybind_action = 0; - - switch (g_settings.input.dpad_emulation[i]) - { - case ANALOG_DPAD_LSTICK: - keybind_action = (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_LSTICK); - break; - case ANALOG_DPAD_RSTICK: - keybind_action = (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_RSTICK); - break; - case ANALOG_DPAD_NONE: - keybind_action = (1ULL << KEYBINDS_ACTION_SET_ANALOG_DPAD_NONE); - default: - break; - } - - if (keybind_action) - xenon360_input_set_keybinds(driver.input_data, 0, i, keybind_action); - } - return (void*)-1; }