mirror of
https://github.com/libretro/RetroArch
synced 2025-03-03 04:14:00 +00:00
(RARCH_CONSOLE) Further Input rewrite for console ports
This commit is contained in:
parent
4ed249fe18
commit
811abcf612
@ -197,6 +197,33 @@ static bool xinput_input_key_pressed(void *data, int key)
|
||||
return retval;
|
||||
}
|
||||
|
||||
static void xinput_set_default_keybind_lut(void)
|
||||
{
|
||||
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;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_START] = platform_keys[XDK_DEVICE_ID_JOYPAD_START].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_UP] = platform_keys[XDK_DEVICE_ID_JOYPAD_UP].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_DOWN] = platform_keys[XDK_DEVICE_ID_JOYPAD_DOWN].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_LEFT] = platform_keys[XDK_DEVICE_ID_JOYPAD_LEFT].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_RIGHT] = platform_keys[XDK_DEVICE_ID_JOYPAD_RIGHT].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_A] = platform_keys[XDK_DEVICE_ID_JOYPAD_B].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_X] = platform_keys[XDK_DEVICE_ID_JOYPAD_Y].joykey;
|
||||
#if defined(_XBOX1)
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L] = platform_keys[XDK_DEVICE_ID_JOYPAD_LEFT_TRIGGER].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R] = platform_keys[XDK_DEVICE_ID_JOYPAD_RIGHT_TRIGGER].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L2] = platform_keys[XDK_DEVICE_ID_JOYPAD_LB].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R2] = platform_keys[XDK_DEVICE_ID_JOYPAD_RB].joykey;
|
||||
#elif defined(_XBOX360)
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L] = platform_keys[XDK_DEVICE_ID_JOYPAD_LB].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R] = platform_keys[XDK_DEVICE_ID_JOYPAD_RB].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L2] = platform_keys[XDK_DEVICE_ID_JOYPAD_LEFT_TRIGGER].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R2] = platform_keys[XDK_DEVICE_ID_JOYPAD_RIGHT_TRIGGER].joykey;
|
||||
#endif
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L3] = platform_keys[XDK_DEVICE_ID_LSTICK_THUMB].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R3] = platform_keys[XDK_DEVICE_ID_RSTICK_THUMB].joykey;
|
||||
}
|
||||
|
||||
const input_driver_t input_xinput =
|
||||
{
|
||||
xinput_input_init,
|
||||
@ -204,5 +231,6 @@ const input_driver_t input_xinput =
|
||||
xinput_input_state,
|
||||
xinput_input_key_pressed,
|
||||
xinput_input_free_input,
|
||||
xinput_set_default_keybind_lut,
|
||||
"xinput"
|
||||
};
|
||||
|
@ -30,6 +30,44 @@ enum {
|
||||
XINPUT_GAMEPAD_RIGHT_TRIGGER = 1 << 25
|
||||
};
|
||||
|
||||
enum xdk_device_id
|
||||
{
|
||||
XDK_DEVICE_ID_JOYPAD_B = 0,
|
||||
XDK_DEVICE_ID_JOYPAD_A,
|
||||
XDK_DEVICE_ID_JOYPAD_Y,
|
||||
XDK_DEVICE_ID_JOYPAD_X,
|
||||
XDK_DEVICE_ID_JOYPAD_UP,
|
||||
XDK_DEVICE_ID_JOYPAD_DOWN,
|
||||
XDK_DEVICE_ID_JOYPAD_LEFT,
|
||||
XDK_DEVICE_ID_JOYPAD_RIGHT,
|
||||
XDK_DEVICE_ID_JOYPAD_BACK,
|
||||
XDK_DEVICE_ID_JOYPAD_START,
|
||||
XDK_DEVICE_ID_JOYPAD_LB,
|
||||
XDK_DEVICE_ID_JOYPAD_LEFT_TRIGGER,
|
||||
XDK_DEVICE_ID_LSTICK_THUMB,
|
||||
XDK_DEVICE_ID_JOYPAD_RB,
|
||||
XDK_DEVICE_ID_JOYPAD_RIGHT_TRIGGER,
|
||||
XDK_DEVICE_ID_RSTICK_THUMB,
|
||||
XDK_DEVICE_ID_LSTICK_LEFT,
|
||||
XDK_DEVICE_ID_LSTICK_RIGHT,
|
||||
XDK_DEVICE_ID_LSTICK_UP,
|
||||
XDK_DEVICE_ID_LSTICK_DOWN,
|
||||
XDK_DEVICE_ID_LSTICK_LEFT_DPAD,
|
||||
XDK_DEVICE_ID_LSTICK_RIGHT_DPAD,
|
||||
XDK_DEVICE_ID_LSTICK_UP_DPAD,
|
||||
XDK_DEVICE_ID_LSTICK_DOWN_DPAD,
|
||||
XDK_DEVICE_ID_RSTICK_LEFT,
|
||||
XDK_DEVICE_ID_RSTICK_RIGHT,
|
||||
XDK_DEVICE_ID_RSTICK_UP,
|
||||
XDK_DEVICE_ID_RSTICK_DOWN,
|
||||
XDK_DEVICE_ID_RSTICK_LEFT_DPAD,
|
||||
XDK_DEVICE_ID_RSTICK_RIGHT_DPAD,
|
||||
XDK_DEVICE_ID_RSTICK_UP_DPAD,
|
||||
XDK_DEVICE_ID_RSTICK_DOWN_DPAD,
|
||||
|
||||
RARCH_LAST_PLATFORM_KEY
|
||||
};
|
||||
|
||||
#define DEADZONE (16000)
|
||||
|
||||
extern void xdk360_input_map_dpad_to_stick(uint32_t map_dpad_enum, uint32_t controller_id);
|
||||
|
@ -296,7 +296,7 @@ void rarch_settings_create_menu_item_label(char * str, unsigned setting, size_t
|
||||
}
|
||||
}
|
||||
|
||||
void rarch_settings_set_default (void)
|
||||
void rarch_settings_set_default (const input_driver_t *input)
|
||||
{
|
||||
// g_settings
|
||||
g_settings.rewind_enable = false;
|
||||
@ -323,7 +323,7 @@ void rarch_settings_set_default (void)
|
||||
g_settings.video.msg_pos_y = 0.90f;
|
||||
g_settings.video.aspect_ratio = -1.0f;
|
||||
|
||||
rarch_input_set_controls_default();
|
||||
rarch_input_set_controls_default(input);
|
||||
|
||||
// g_console
|
||||
g_console.block_config_read = true;
|
||||
|
@ -105,7 +105,7 @@ enum
|
||||
void rarch_settings_change(unsigned setting);
|
||||
void rarch_settings_default(unsigned setting);
|
||||
void rarch_settings_msg(unsigned setting, unsigned delay);
|
||||
void rarch_settings_set_default (void);
|
||||
void rarch_settings_set_default (const input_driver_t *input);
|
||||
|
||||
void rarch_settings_create_menu_item_label(char * str, unsigned setting, size_t size);
|
||||
void rarch_settings_create_menu_item_label_w(wchar_t *strwbuf, unsigned setting, size_t size);
|
||||
|
@ -140,7 +140,7 @@ end:
|
||||
dir_list_free(dir_list);
|
||||
}
|
||||
|
||||
void rarch_configure_libretro(const char *path_prefix, const char * extension)
|
||||
void rarch_configure_libretro(const input_driver_t *input, const char *path_prefix, const char * extension)
|
||||
{
|
||||
char full_path[1024];
|
||||
snprintf(full_path, sizeof(full_path), "%sCORE%s", path_prefix, extension);
|
||||
@ -148,7 +148,7 @@ void rarch_configure_libretro(const char *path_prefix, const char * extension)
|
||||
bool find_libretro_file = rarch_configure_libretro_core(full_path, path_prefix, path_prefix,
|
||||
default_paths.config_file, extension);
|
||||
|
||||
rarch_settings_set_default();
|
||||
rarch_settings_set_default(input);
|
||||
rarch_config_load(default_paths.config_file, path_prefix, extension, find_libretro_file);
|
||||
init_libretro_sym();
|
||||
}
|
||||
|
@ -18,6 +18,7 @@
|
||||
#define LIBRETRO_MGMT_H__
|
||||
|
||||
#include "../boolean.h"
|
||||
#include "../driver.h"
|
||||
|
||||
enum
|
||||
{
|
||||
@ -30,6 +31,6 @@ enum
|
||||
void rarch_manage_libretro_set_first_file(char *first_file, size_t size_of_first_file, const char *libretro_path, const char * exe_ext);
|
||||
bool rarch_configure_libretro_core(const char *full_path, const char *tmp_path,
|
||||
const char *libretro_path, const char *config_path, const char *extension);
|
||||
void rarch_configure_libretro(const char *path_prefix, const char * extension);
|
||||
void rarch_configure_libretro(const input_driver_t *input, const char *path_prefix, const char * extension);
|
||||
|
||||
#endif
|
||||
|
@ -134,50 +134,10 @@ void rarch_input_set_default_keybinds(unsigned player)
|
||||
g_settings.input.dpad_emulation[player] = DPAD_EMULATION_LSTICK;
|
||||
}
|
||||
|
||||
void rarch_input_set_controls_default (void)
|
||||
void rarch_input_set_controls_default (const input_driver_t *input)
|
||||
{
|
||||
#if defined(__CELLOS_LV2__)
|
||||
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;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_START] = platform_keys[PS3_DEVICE_ID_JOYPAD_START].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_UP] = platform_keys[PS3_DEVICE_ID_JOYPAD_UP].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_DOWN] = platform_keys[PS3_DEVICE_ID_JOYPAD_DOWN].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_LEFT] = platform_keys[PS3_DEVICE_ID_JOYPAD_LEFT].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_RIGHT] = platform_keys[PS3_DEVICE_ID_JOYPAD_RIGHT].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_A] = platform_keys[PS3_DEVICE_ID_JOYPAD_CIRCLE].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_X] = platform_keys[PS3_DEVICE_ID_JOYPAD_TRIANGLE].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L] = platform_keys[PS3_DEVICE_ID_JOYPAD_L1].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R] = platform_keys[PS3_DEVICE_ID_JOYPAD_R1].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R2] = platform_keys[PS3_DEVICE_ID_JOYPAD_R2].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R3] = platform_keys[PS3_DEVICE_ID_JOYPAD_R3].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L2] = platform_keys[PS3_DEVICE_ID_JOYPAD_L2].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L3] = platform_keys[PS3_DEVICE_ID_JOYPAD_L3].joykey;
|
||||
#elif defined(_XBOX)
|
||||
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;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_START] = platform_keys[XDK_DEVICE_ID_JOYPAD_START].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_UP] = platform_keys[XDK_DEVICE_ID_JOYPAD_UP].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_DOWN] = platform_keys[XDK_DEVICE_ID_JOYPAD_DOWN].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_LEFT] = platform_keys[XDK_DEVICE_ID_JOYPAD_LEFT].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_RIGHT] = platform_keys[XDK_DEVICE_ID_JOYPAD_RIGHT].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_A] = platform_keys[XDK_DEVICE_ID_JOYPAD_B].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_X] = platform_keys[XDK_DEVICE_ID_JOYPAD_Y].joykey;
|
||||
#if defined(_XBOX1)
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L] = platform_keys[XDK_DEVICE_ID_JOYPAD_LEFT_TRIGGER].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R] = platform_keys[XDK_DEVICE_ID_JOYPAD_RIGHT_TRIGGER].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L2] = platform_keys[XDK_DEVICE_ID_JOYPAD_LB].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R2] = platform_keys[XDK_DEVICE_ID_JOYPAD_RB].joykey;
|
||||
#elif defined(_XBOX360)
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L] = platform_keys[XDK_DEVICE_ID_JOYPAD_LB].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R] = platform_keys[XDK_DEVICE_ID_JOYPAD_RB].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L2] = platform_keys[XDK_DEVICE_ID_JOYPAD_LEFT_TRIGGER].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R2] = platform_keys[XDK_DEVICE_ID_JOYPAD_RIGHT_TRIGGER].joykey;
|
||||
#endif
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L3] = platform_keys[XDK_DEVICE_ID_LSTICK_THUMB].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R3] = platform_keys[XDK_DEVICE_ID_RSTICK_THUMB].joykey;
|
||||
#endif
|
||||
input->set_default_keybind_lut();
|
||||
|
||||
for(uint32_t x = 0; x < MAX_PLAYERS; x++)
|
||||
rarch_input_set_default_keybinds(x);
|
||||
}
|
||||
|
@ -41,100 +41,6 @@ enum
|
||||
DPAD_EMULATION_RSTICK
|
||||
};
|
||||
|
||||
#ifdef _XBOX360
|
||||
#include "../360/xinput_360_input.h"
|
||||
#endif
|
||||
|
||||
#if defined(__CELLOS_LV2__)
|
||||
#include "../ps3/ps3_input.h"
|
||||
enum ps3_device_id
|
||||
{
|
||||
PS3_DEVICE_ID_JOYPAD_CIRCLE = 0,
|
||||
PS3_DEVICE_ID_JOYPAD_CROSS,
|
||||
PS3_DEVICE_ID_JOYPAD_TRIANGLE,
|
||||
PS3_DEVICE_ID_JOYPAD_SQUARE,
|
||||
PS3_DEVICE_ID_JOYPAD_UP,
|
||||
PS3_DEVICE_ID_JOYPAD_DOWN,
|
||||
PS3_DEVICE_ID_JOYPAD_LEFT,
|
||||
PS3_DEVICE_ID_JOYPAD_RIGHT,
|
||||
PS3_DEVICE_ID_JOYPAD_SELECT,
|
||||
PS3_DEVICE_ID_JOYPAD_START,
|
||||
PS3_DEVICE_ID_JOYPAD_L1,
|
||||
PS3_DEVICE_ID_JOYPAD_L2,
|
||||
PS3_DEVICE_ID_JOYPAD_L3,
|
||||
PS3_DEVICE_ID_JOYPAD_R1,
|
||||
PS3_DEVICE_ID_JOYPAD_R2,
|
||||
PS3_DEVICE_ID_JOYPAD_R3,
|
||||
PS3_DEVICE_ID_LSTICK_LEFT,
|
||||
PS3_DEVICE_ID_LSTICK_RIGHT,
|
||||
PS3_DEVICE_ID_LSTICK_UP,
|
||||
PS3_DEVICE_ID_LSTICK_DOWN,
|
||||
PS3_DEVICE_ID_LSTICK_LEFT_DPAD,
|
||||
PS3_DEVICE_ID_LSTICK_RIGHT_DPAD,
|
||||
PS3_DEVICE_ID_LSTICK_UP_DPAD,
|
||||
PS3_DEVICE_ID_LSTICK_DOWN_DPAD,
|
||||
PS3_DEVICE_ID_RSTICK_LEFT,
|
||||
PS3_DEVICE_ID_RSTICK_RIGHT,
|
||||
PS3_DEVICE_ID_RSTICK_UP,
|
||||
PS3_DEVICE_ID_RSTICK_DOWN,
|
||||
PS3_DEVICE_ID_RSTICK_LEFT_DPAD,
|
||||
PS3_DEVICE_ID_RSTICK_RIGHT_DPAD,
|
||||
PS3_DEVICE_ID_RSTICK_UP_DPAD,
|
||||
PS3_DEVICE_ID_RSTICK_DOWN_DPAD,
|
||||
|
||||
RARCH_LAST_PLATFORM_KEY
|
||||
};
|
||||
|
||||
#elif defined(_XBOX)
|
||||
|
||||
enum xdk_device_id
|
||||
{
|
||||
XDK_DEVICE_ID_JOYPAD_B = 0,
|
||||
XDK_DEVICE_ID_JOYPAD_A,
|
||||
XDK_DEVICE_ID_JOYPAD_Y,
|
||||
XDK_DEVICE_ID_JOYPAD_X,
|
||||
XDK_DEVICE_ID_JOYPAD_UP,
|
||||
XDK_DEVICE_ID_JOYPAD_DOWN,
|
||||
XDK_DEVICE_ID_JOYPAD_LEFT,
|
||||
XDK_DEVICE_ID_JOYPAD_RIGHT,
|
||||
XDK_DEVICE_ID_JOYPAD_BACK,
|
||||
XDK_DEVICE_ID_JOYPAD_START,
|
||||
XDK_DEVICE_ID_JOYPAD_LB,
|
||||
XDK_DEVICE_ID_JOYPAD_LEFT_TRIGGER,
|
||||
XDK_DEVICE_ID_LSTICK_THUMB,
|
||||
XDK_DEVICE_ID_JOYPAD_RB,
|
||||
XDK_DEVICE_ID_JOYPAD_RIGHT_TRIGGER,
|
||||
XDK_DEVICE_ID_RSTICK_THUMB,
|
||||
XDK_DEVICE_ID_LSTICK_LEFT,
|
||||
XDK_DEVICE_ID_LSTICK_RIGHT,
|
||||
XDK_DEVICE_ID_LSTICK_UP,
|
||||
XDK_DEVICE_ID_LSTICK_DOWN,
|
||||
XDK_DEVICE_ID_LSTICK_LEFT_DPAD,
|
||||
XDK_DEVICE_ID_LSTICK_RIGHT_DPAD,
|
||||
XDK_DEVICE_ID_LSTICK_UP_DPAD,
|
||||
XDK_DEVICE_ID_LSTICK_DOWN_DPAD,
|
||||
XDK_DEVICE_ID_RSTICK_LEFT,
|
||||
XDK_DEVICE_ID_RSTICK_RIGHT,
|
||||
XDK_DEVICE_ID_RSTICK_UP,
|
||||
XDK_DEVICE_ID_RSTICK_DOWN,
|
||||
XDK_DEVICE_ID_RSTICK_LEFT_DPAD,
|
||||
XDK_DEVICE_ID_RSTICK_RIGHT_DPAD,
|
||||
XDK_DEVICE_ID_RSTICK_UP_DPAD,
|
||||
XDK_DEVICE_ID_RSTICK_DOWN_DPAD,
|
||||
|
||||
RARCH_LAST_PLATFORM_KEY
|
||||
};
|
||||
|
||||
#ifdef _XBOX1
|
||||
#include "../xbox1/xinput_xbox_input.h"
|
||||
#endif
|
||||
#elif defined(GEKKO)
|
||||
#include <ogc/pad.h>
|
||||
#ifdef HW_RVL
|
||||
#include <wiiuse/wpad.h>
|
||||
#endif
|
||||
#endif
|
||||
|
||||
extern uint64_t rarch_default_keybind_lut[RARCH_FIRST_META_KEY];
|
||||
extern char rarch_default_libretro_keybind_name_lut[RARCH_FIRST_META_KEY][256];
|
||||
|
||||
@ -150,7 +56,7 @@ void rarch_input_set_default_keybinds(unsigned player);
|
||||
|
||||
void rarch_input_set_keybind(unsigned player, unsigned keybind_action, uint64_t default_retro_joypad_id);
|
||||
|
||||
void rarch_input_set_controls_default (void);
|
||||
void rarch_input_set_controls_default (const input_driver_t *input);
|
||||
const char *rarch_input_get_default_keybind_name (unsigned id);
|
||||
#endif
|
||||
|
||||
|
3
driver.h
3
driver.h
@ -159,6 +159,9 @@ typedef struct input_driver
|
||||
int16_t (*input_state)(void *data, const struct retro_keybind **retro_keybinds, unsigned port, unsigned device, unsigned index, unsigned id);
|
||||
bool (*key_pressed)(void *data, int key);
|
||||
void (*free)(void *data);
|
||||
#ifdef RARCH_CONSOLE
|
||||
void (*set_default_keybind_lut)(void);
|
||||
#endif
|
||||
const char *ident;
|
||||
} input_driver_t;
|
||||
|
||||
|
@ -51,12 +51,17 @@ static void null_input_free(void *data)
|
||||
(void)data;
|
||||
}
|
||||
|
||||
static void null_set_default_keybind_lut(void) { }
|
||||
|
||||
const input_driver_t input_null = {
|
||||
null_input_init,
|
||||
null_input_poll,
|
||||
null_input_state,
|
||||
null_input_key_pressed,
|
||||
null_input_free,
|
||||
#ifdef RARCH_CONSOLE
|
||||
null_set_default_keybind_lut,
|
||||
#endif
|
||||
"null",
|
||||
};
|
||||
|
||||
|
@ -240,10 +240,11 @@ int main(int argc, char *argv[])
|
||||
get_environment_settings(argc, argv);
|
||||
|
||||
config_set_defaults();
|
||||
input_ps3.init();
|
||||
|
||||
char tmp_path[PATH_MAX];
|
||||
snprintf(tmp_path, sizeof(tmp_path), "%s/", default_paths.core_dir);
|
||||
rarch_configure_libretro(tmp_path, default_paths.executable_extension);
|
||||
rarch_configure_libretro(&input_ps3, tmp_path, default_paths.executable_extension);
|
||||
|
||||
#if(CELL_SDK_VERSION > 0x340000)
|
||||
if (g_console.screenshots_enable)
|
||||
@ -268,7 +269,6 @@ int main(int argc, char *argv[])
|
||||
|
||||
video_gl.start();
|
||||
|
||||
input_ps3.init();
|
||||
|
||||
#ifdef HAVE_OSKUTIL
|
||||
oskutil_init(&g_console.oskutil_handle, 0);
|
||||
|
@ -470,12 +470,33 @@ static bool ps3_key_pressed(void *data, int key)
|
||||
}
|
||||
}
|
||||
|
||||
static void ps3_set_default_keybind_lut(void)
|
||||
{
|
||||
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;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_START] = platform_keys[PS3_DEVICE_ID_JOYPAD_START].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_UP] = platform_keys[PS3_DEVICE_ID_JOYPAD_UP].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_DOWN] = platform_keys[PS3_DEVICE_ID_JOYPAD_DOWN].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_LEFT] = platform_keys[PS3_DEVICE_ID_JOYPAD_LEFT].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_RIGHT] = platform_keys[PS3_DEVICE_ID_JOYPAD_RIGHT].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_A] = platform_keys[PS3_DEVICE_ID_JOYPAD_CIRCLE].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_X] = platform_keys[PS3_DEVICE_ID_JOYPAD_TRIANGLE].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L] = platform_keys[PS3_DEVICE_ID_JOYPAD_L1].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R] = platform_keys[PS3_DEVICE_ID_JOYPAD_R1].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R2] = platform_keys[PS3_DEVICE_ID_JOYPAD_R2].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R3] = platform_keys[PS3_DEVICE_ID_JOYPAD_R3].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L2] = platform_keys[PS3_DEVICE_ID_JOYPAD_L2].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L3] = platform_keys[PS3_DEVICE_ID_JOYPAD_L3].joykey;
|
||||
}
|
||||
|
||||
const input_driver_t input_ps3 = {
|
||||
.init = ps3_input_initialize,
|
||||
.poll = ps3_input_poll,
|
||||
.input_state = ps3_input_state,
|
||||
.key_pressed = ps3_key_pressed,
|
||||
.free = ps3_free_input,
|
||||
.set_default_keybind_lut = ps3_set_default_keybind_lut,
|
||||
.ident = "ps3",
|
||||
};
|
||||
|
||||
|
@ -156,6 +156,44 @@ typedef struct
|
||||
CellOskDialogParam dialogParam;
|
||||
} oskutil_params;
|
||||
|
||||
enum ps3_device_id
|
||||
{
|
||||
PS3_DEVICE_ID_JOYPAD_CIRCLE = 0,
|
||||
PS3_DEVICE_ID_JOYPAD_CROSS,
|
||||
PS3_DEVICE_ID_JOYPAD_TRIANGLE,
|
||||
PS3_DEVICE_ID_JOYPAD_SQUARE,
|
||||
PS3_DEVICE_ID_JOYPAD_UP,
|
||||
PS3_DEVICE_ID_JOYPAD_DOWN,
|
||||
PS3_DEVICE_ID_JOYPAD_LEFT,
|
||||
PS3_DEVICE_ID_JOYPAD_RIGHT,
|
||||
PS3_DEVICE_ID_JOYPAD_SELECT,
|
||||
PS3_DEVICE_ID_JOYPAD_START,
|
||||
PS3_DEVICE_ID_JOYPAD_L1,
|
||||
PS3_DEVICE_ID_JOYPAD_L2,
|
||||
PS3_DEVICE_ID_JOYPAD_L3,
|
||||
PS3_DEVICE_ID_JOYPAD_R1,
|
||||
PS3_DEVICE_ID_JOYPAD_R2,
|
||||
PS3_DEVICE_ID_JOYPAD_R3,
|
||||
PS3_DEVICE_ID_LSTICK_LEFT,
|
||||
PS3_DEVICE_ID_LSTICK_RIGHT,
|
||||
PS3_DEVICE_ID_LSTICK_UP,
|
||||
PS3_DEVICE_ID_LSTICK_DOWN,
|
||||
PS3_DEVICE_ID_LSTICK_LEFT_DPAD,
|
||||
PS3_DEVICE_ID_LSTICK_RIGHT_DPAD,
|
||||
PS3_DEVICE_ID_LSTICK_UP_DPAD,
|
||||
PS3_DEVICE_ID_LSTICK_DOWN_DPAD,
|
||||
PS3_DEVICE_ID_RSTICK_LEFT,
|
||||
PS3_DEVICE_ID_RSTICK_RIGHT,
|
||||
PS3_DEVICE_ID_RSTICK_UP,
|
||||
PS3_DEVICE_ID_RSTICK_DOWN,
|
||||
PS3_DEVICE_ID_RSTICK_LEFT_DPAD,
|
||||
PS3_DEVICE_ID_RSTICK_RIGHT_DPAD,
|
||||
PS3_DEVICE_ID_RSTICK_UP_DPAD,
|
||||
PS3_DEVICE_ID_RSTICK_DOWN_DPAD,
|
||||
|
||||
RARCH_LAST_PLATFORM_KEY
|
||||
};
|
||||
|
||||
void oskutil_write_message(oskutil_params *params, const wchar_t* msg);
|
||||
void oskutil_write_initial_message(oskutil_params *params, const wchar_t* msg);
|
||||
void oskutil_init(oskutil_params *params, unsigned int containersize);
|
||||
|
@ -188,12 +188,16 @@ static bool wii_key_pressed(void *data, int key)
|
||||
}
|
||||
}
|
||||
|
||||
static void wii_set_default_keybind_lut(void)
|
||||
{
|
||||
}
|
||||
|
||||
const input_driver_t input_wii = {
|
||||
.init = wii_input_initialize,
|
||||
.poll = wii_input_poll,
|
||||
.input_state = wii_input_state,
|
||||
.key_pressed = wii_key_pressed,
|
||||
.free = wii_free_input,
|
||||
.set_default_keybind_lut = wii_set_default_keybind_lut,
|
||||
.ident = "wii",
|
||||
};
|
||||
|
||||
|
@ -191,6 +191,33 @@ static bool xinput_input_key_pressed(void *data, int key)
|
||||
return retval;
|
||||
}
|
||||
|
||||
static void xinput_set_default_keybind_lut(void)
|
||||
{
|
||||
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;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_START] = platform_keys[XDK_DEVICE_ID_JOYPAD_START].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_UP] = platform_keys[XDK_DEVICE_ID_JOYPAD_UP].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_DOWN] = platform_keys[XDK_DEVICE_ID_JOYPAD_DOWN].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_LEFT] = platform_keys[XDK_DEVICE_ID_JOYPAD_LEFT].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_RIGHT] = platform_keys[XDK_DEVICE_ID_JOYPAD_RIGHT].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_A] = platform_keys[XDK_DEVICE_ID_JOYPAD_B].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_X] = platform_keys[XDK_DEVICE_ID_JOYPAD_Y].joykey;
|
||||
#if defined(_XBOX1)
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L] = platform_keys[XDK_DEVICE_ID_JOYPAD_LEFT_TRIGGER].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R] = platform_keys[XDK_DEVICE_ID_JOYPAD_RIGHT_TRIGGER].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L2] = platform_keys[XDK_DEVICE_ID_JOYPAD_LB].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R2] = platform_keys[XDK_DEVICE_ID_JOYPAD_RB].joykey;
|
||||
#elif defined(_XBOX360)
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L] = platform_keys[XDK_DEVICE_ID_JOYPAD_LB].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R] = platform_keys[XDK_DEVICE_ID_JOYPAD_RB].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L2] = platform_keys[XDK_DEVICE_ID_JOYPAD_LEFT_TRIGGER].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R2] = platform_keys[XDK_DEVICE_ID_JOYPAD_RIGHT_TRIGGER].joykey;
|
||||
#endif
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_L3] = platform_keys[XDK_DEVICE_ID_LSTICK_THUMB].joykey;
|
||||
rarch_default_keybind_lut[RETRO_DEVICE_ID_JOYPAD_R3] = platform_keys[XDK_DEVICE_ID_RSTICK_THUMB].joykey;
|
||||
}
|
||||
|
||||
const input_driver_t input_xinput =
|
||||
{
|
||||
xinput_input_init,
|
||||
@ -198,5 +225,6 @@ const input_driver_t input_xinput =
|
||||
xinput_input_state,
|
||||
xinput_input_key_pressed,
|
||||
xinput_input_free_input,
|
||||
xinput_set_default_keybind_lut,
|
||||
"xinput"
|
||||
};
|
||||
|
@ -44,4 +44,42 @@ enum {
|
||||
XINPUT1_GAMEPAD_RSTICK_DOWN_MASK = 1 << 23,
|
||||
};
|
||||
|
||||
enum xdk_device_id
|
||||
{
|
||||
XDK_DEVICE_ID_JOYPAD_B = 0,
|
||||
XDK_DEVICE_ID_JOYPAD_A,
|
||||
XDK_DEVICE_ID_JOYPAD_Y,
|
||||
XDK_DEVICE_ID_JOYPAD_X,
|
||||
XDK_DEVICE_ID_JOYPAD_UP,
|
||||
XDK_DEVICE_ID_JOYPAD_DOWN,
|
||||
XDK_DEVICE_ID_JOYPAD_LEFT,
|
||||
XDK_DEVICE_ID_JOYPAD_RIGHT,
|
||||
XDK_DEVICE_ID_JOYPAD_BACK,
|
||||
XDK_DEVICE_ID_JOYPAD_START,
|
||||
XDK_DEVICE_ID_JOYPAD_LB,
|
||||
XDK_DEVICE_ID_JOYPAD_LEFT_TRIGGER,
|
||||
XDK_DEVICE_ID_LSTICK_THUMB,
|
||||
XDK_DEVICE_ID_JOYPAD_RB,
|
||||
XDK_DEVICE_ID_JOYPAD_RIGHT_TRIGGER,
|
||||
XDK_DEVICE_ID_RSTICK_THUMB,
|
||||
XDK_DEVICE_ID_LSTICK_LEFT,
|
||||
XDK_DEVICE_ID_LSTICK_RIGHT,
|
||||
XDK_DEVICE_ID_LSTICK_UP,
|
||||
XDK_DEVICE_ID_LSTICK_DOWN,
|
||||
XDK_DEVICE_ID_LSTICK_LEFT_DPAD,
|
||||
XDK_DEVICE_ID_LSTICK_RIGHT_DPAD,
|
||||
XDK_DEVICE_ID_LSTICK_UP_DPAD,
|
||||
XDK_DEVICE_ID_LSTICK_DOWN_DPAD,
|
||||
XDK_DEVICE_ID_RSTICK_LEFT,
|
||||
XDK_DEVICE_ID_RSTICK_RIGHT,
|
||||
XDK_DEVICE_ID_RSTICK_UP,
|
||||
XDK_DEVICE_ID_RSTICK_DOWN,
|
||||
XDK_DEVICE_ID_RSTICK_LEFT_DPAD,
|
||||
XDK_DEVICE_ID_RSTICK_RIGHT_DPAD,
|
||||
XDK_DEVICE_ID_RSTICK_UP_DPAD,
|
||||
XDK_DEVICE_ID_RSTICK_DOWN_DPAD,
|
||||
|
||||
RARCH_LAST_PLATFORM_KEY
|
||||
};
|
||||
|
||||
#endif
|
||||
|
@ -121,14 +121,14 @@ int main(int argc, char *argv[])
|
||||
|
||||
config_set_defaults();
|
||||
|
||||
rarch_configure_libretro(default_paths.filesystem_root_dir, default_paths.executable_extension);
|
||||
input_xinput.init();
|
||||
rarch_configure_libretro(&input_xinput, default_paths.filesystem_root_dir, default_paths.executable_extension);
|
||||
|
||||
#if defined(HAVE_D3D8) || defined(HAVE_D3D9)
|
||||
video_xdk_d3d.start();
|
||||
#else
|
||||
video_null.start();
|
||||
#endif
|
||||
input_xinput.init();
|
||||
|
||||
rarch_input_set_default_keybind_names_for_emulator();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user