From b29b04b4b069544d754ecfa949e2c530565c928f Mon Sep 17 00:00:00 2001 From: Twinaphex Date: Sat, 28 Jul 2012 01:37:15 +0200 Subject: [PATCH] (RARCH_CONSOLE) Add 'device' param to set_default_keybind_lut and set_analog_dpad_mapping --- 360/xenon360_input.c | 13 +++++++++++-- 360/xinput_360_input.c | 8 ++++++-- console/retroarch_console_input.c | 4 +++- driver.h | 4 ++-- general.h | 1 + input/null.c | 14 ++++++++++++-- ps3/ps3_input.c | 12 +++++++++--- wii/gx_input.c | 11 ++++++++--- xbox1/xinput_xbox_input.c | 13 ++++++++++--- 9 files changed, 62 insertions(+), 18 deletions(-) diff --git a/360/xenon360_input.c b/360/xenon360_input.c index dc1ee8f682..141e9eaa64 100644 --- a/360/xenon360_input.c +++ b/360/xenon360_input.c @@ -119,8 +119,17 @@ static bool xenon360_key_pressed(void *data, int key) return false; } -static void xenon360_input_set_default_keybind_lut(void) {} -static void xenon360_input_set_analog_dpad_mapping(unsigned map_dpad_enum, unsigned controller_id) {} +static void xenon360_input_set_default_keybind_lut(unsigned device) +{ + (void)device; +} + +static void xenon360_input_set_analog_dpad_mapping(unsigned device, unsigned map_dpad_enum, unsigned controller_id) +{ + (void)device; + (void)map_dpad_enum; + (void)controller_id; +} const input_driver_t input_xenon360 = { .init = xenon360_input_init, diff --git a/360/xinput_360_input.c b/360/xinput_360_input.c index ae55a9d9fb..922f1c4338 100644 --- a/360/xinput_360_input.c +++ b/360/xinput_360_input.c @@ -112,8 +112,10 @@ static void xinput_input_free_input(void *data) (void)data; } -static void xinput_input_set_analog_dpad_mapping(unsigned map_dpad_enum, unsigned controller_id) +static void xinput_input_set_analog_dpad_mapping(unsigned device, unsigned map_dpad_enum, unsigned controller_id) { + (void)device; + switch(map_dpad_enum) { case DPAD_EMULATION_NONE: @@ -202,8 +204,10 @@ static bool xinput_input_key_pressed(void *data, int key) return retval; } -static void xinput_set_default_keybind_lut(void) +static void xinput_set_default_keybind_lut(unsigned device) { + (void)device; + rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_B] = platform_keys[XDK_DEVICE_ID_JOYPAD_A].joykey; rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_Y] = platform_keys[XDK_DEVICE_ID_JOYPAD_X].joykey; rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_SELECT] = platform_keys[XDK_DEVICE_ID_JOYPAD_BACK].joykey; diff --git a/console/retroarch_console_input.c b/console/retroarch_console_input.c index a86977449a..5c0658629c 100644 --- a/console/retroarch_console_input.c +++ b/console/retroarch_console_input.c @@ -134,9 +134,11 @@ void rarch_input_set_default_keybinds(unsigned player) g_settings.input.dpad_emulation[player] = DPAD_EMULATION_LSTICK; } +#define STUB_DEVICE 0 + void rarch_input_set_controls_default (const input_driver_t *input) { - input->set_default_keybind_lut(); + input->set_default_keybind_lut(STUB_DEVICE); for(uint32_t x = 0; x < MAX_PLAYERS; x++) rarch_input_set_default_keybinds(x); diff --git a/driver.h b/driver.h index 32f50b2246..2942c37334 100644 --- a/driver.h +++ b/driver.h @@ -160,8 +160,8 @@ typedef struct input_driver bool (*key_pressed)(void *data, int key); void (*free)(void *data); #ifdef RARCH_CONSOLE - void (*set_default_keybind_lut)(void); - void (*set_analog_dpad_mapping)(unsigned map_dpad_enum, unsigned controller_id); + void (*set_default_keybind_lut)(unsigned device); + void (*set_analog_dpad_mapping)(unsigned device, unsigned map_dpad_enum, unsigned controller_id); void (*post_init)(void); unsigned max_pads; #endif diff --git a/general.h b/general.h index c9079b0101..2eb5a77430 100644 --- a/general.h +++ b/general.h @@ -160,6 +160,7 @@ struct settings #ifdef RARCH_CONSOLE unsigned currently_selected_controller_no; unsigned dpad_emulation[MAX_PLAYERS]; + unsigned device[MAX_PLAYERS]; #endif bool netplay_client_swap_input; } input; diff --git a/input/null.c b/input/null.c index 690fb5de27..4fb026472c 100644 --- a/input/null.c +++ b/input/null.c @@ -52,8 +52,18 @@ static void null_input_free(void *data) } #ifdef RARCH_CONSOLE -static void null_set_default_keybind_lut(void) {} -static void null_set_analog_dpad_mapping(unsigned map_dpad_enum, unsigned controller_id) {} +static void null_set_default_keybind_lut(unsigned device) +{ + (void)device; +} + +static void null_set_analog_dpad_mapping(unsigned device, unsigned map_dpad_enum, unsigned controller_id) +{ + (void)device; + (void)map_dpad_enum; + (void)controller_id; +} + static void null_input_post_init(void) {} #endif diff --git a/ps3/ps3_input.c b/ps3/ps3_input.c index 95061227ba..e2d5589199 100644 --- a/ps3/ps3_input.c +++ b/ps3/ps3_input.c @@ -373,8 +373,10 @@ void oskutil_unload(oskutil_params *params) RetroArch PS3 INPUT DRIVER ============================================================ */ -static void ps3_input_set_analog_dpad_mapping(unsigned map_dpad_enum, unsigned controller_id) +static void ps3_input_set_analog_dpad_mapping(unsigned device, unsigned map_dpad_enum, unsigned controller_id) { + (void)device; + switch(map_dpad_enum) { case DPAD_EMULATION_NONE: @@ -413,10 +415,12 @@ static void* ps3_input_initialize(void) return (void*)-1; } +#define STUB_DEVICE 0 + static void ps3_input_post_init(void) { for(unsigned i = 0; i < MAX_PADS; i++) - ps3_input_set_analog_dpad_mapping(g_settings.input.dpad_emulation[i], i); + ps3_input_set_analog_dpad_mapping(STUB_DEVICE, g_settings.input.dpad_emulation[i], i); } static bool ps3_key_pressed(void *data, int key) @@ -474,8 +478,10 @@ static bool ps3_key_pressed(void *data, int key) } } -static void ps3_set_default_keybind_lut(void) +static void ps3_set_default_keybind_lut(unsigned device) { + (void)device; + rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_B] = platform_keys[PS3_DEVICE_ID_JOYPAD_CROSS].joykey; rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_Y] = platform_keys[PS3_DEVICE_ID_JOYPAD_SQUARE].joykey; rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_SELECT] = platform_keys[PS3_DEVICE_ID_JOYPAD_SELECT].joykey; diff --git a/wii/gx_input.c b/wii/gx_input.c index 60b02235c7..6c8cb5d498 100644 --- a/wii/gx_input.c +++ b/wii/gx_input.c @@ -159,8 +159,10 @@ static void reset_callback(void) g_quit = true; } -static void wii_input_set_analog_dpad_mapping(unsigned map_dpad_enum, unsigned controller_id) +static void wii_input_set_analog_dpad_mapping(unsigned device, unsigned map_dpad_enum, unsigned controller_id) { + (void)device; //TODO: Remove when you start using it in this function + #if defined(CLASSIC_PAD) switch(map_dpad_enum) { @@ -248,10 +250,12 @@ static void *wii_input_initialize(void) return (void*)-1; } +#define STUB_DEVICE 0 + static void wii_input_post_init(void) { for(unsigned i = 0; i < MAX_PADS; i++) - wii_input_set_analog_dpad_mapping(g_settings.input.dpad_emulation[i], i); + wii_input_set_analog_dpad_mapping(STUB_DEVICE, g_settings.input.dpad_emulation[i], i); } #define wii_stick_x(x) ((s8)((sin((x).ang * M_PI / 180.0f)) * (x).mag * 128.0f)) @@ -431,8 +435,9 @@ static bool wii_key_pressed(void *data, int key) } } -static void wii_set_default_keybind_lut(void) +static void wii_set_default_keybind_lut(unsigned device) { + (void)device; //TODO: Remove when you start using it in this function #if defined(CLASSIC_PAD) rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_B] = platform_keys[WII_DEVICE_CLASSIC_ID_JOYPAD_B].joykey; rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_Y] = platform_keys[WII_DEVICE_CLASSIC_ID_JOYPAD_Y].joykey; diff --git a/xbox1/xinput_xbox_input.c b/xbox1/xinput_xbox_input.c index 8795fc9ca7..24eb920be2 100644 --- a/xbox1/xinput_xbox_input.c +++ b/xbox1/xinput_xbox_input.c @@ -164,8 +164,10 @@ static void xinput_input_free_input(void *data) (void)data; } -static void xinput_set_default_keybind_lut(void) +static void xinput_set_default_keybind_lut(unsigned device) { + (void)device; + rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_B] = platform_keys[XDK_DEVICE_ID_JOYPAD_A].joykey; rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_Y] = platform_keys[XDK_DEVICE_ID_JOYPAD_X].joykey; rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_SELECT] = platform_keys[XDK_DEVICE_ID_JOYPAD_BACK].joykey; @@ -191,8 +193,11 @@ static void xinput_set_default_keybind_lut(void) rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R3] = platform_keys[XDK_DEVICE_ID_RSTICK_THUMB].joykey; } -static void xinput_input_set_analog_dpad_mapping(unsigned map_dpad_enum, unsigned controller_id) +static void xinput_input_set_analog_dpad_mapping(unsigned device, unsigned map_dpad_enum, unsigned controller_id) { + (void)device; + (void)map_dpad_enum; + (void)controller_id; } static void* xinput_input_init(void) @@ -217,10 +222,12 @@ static void* xinput_input_init(void) return (void*)-1; } +#define STUB_DEVICE 0 + static void xinput_input_post_init(void) { for(unsigned i = 0; i < MAX_PADS; i++) - xinput_input_set_analog_dpad_mapping(g_settings.input.dpad_emulation[i], i); + xinput_input_set_analog_dpad_mapping(STUB_DEVICE, g_settings.input.dpad_emulation[i], i); } static bool xinput_input_key_pressed(void *data, int key)