mirror of
https://github.com/libretro/RetroArch
synced 2025-02-24 00:39:54 +00:00
(RARCH_CONSOLE) Add 'device' param to set_default_keybind_lut and
set_analog_dpad_mapping
This commit is contained in:
parent
4cf8b6e1ea
commit
b29b04b4b0
@ -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,
|
||||
|
@ -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;
|
||||
|
@ -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);
|
||||
|
4
driver.h
4
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
|
||||
|
@ -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;
|
||||
|
14
input/null.c
14
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
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user