(360/Wii/PS3) Abstracted input code

This commit is contained in:
Twinaphex 2012-05-28 05:06:25 +02:00
parent 663268be24
commit c5735e0aec
8 changed files with 13 additions and 35 deletions

View File

@ -419,7 +419,7 @@ int main(int argc, char *argv[])
init_libretro_sym();
video_xdk360.start();
xdk360_input_init();
input_xdk360.init();
rarch_input_set_default_keybind_names_for_emulator();
@ -454,6 +454,7 @@ begin_shutdown:
menu_deinit();
video_xdk360.stop();
input_xdk360.free(NULL);
rarch_exec();
return 0;

View File

@ -70,14 +70,10 @@ static void xdk360_free_input(void *data)
}
static void* xdk360_input_initialize(void)
{
return (void*)-1;
}
void xdk360_input_init(void)
{
for(unsigned i = 0; i < 4; i++)
xdk360_input_map_dpad_to_stick(g_settings.input.dpad_emulation[i], i);
return (void*)-1;
}
void xdk360_input_map_dpad_to_stick(uint32_t map_dpad_enum, uint32_t controller_id)

View File

@ -25,11 +25,10 @@
#define XINPUT_GAMEPAD_RSTICK_RIGHT_MASK (2097152)
#define XINPUT_GAMEPAD_RSTICK_UP_MASK (4194304)
#define XINPUT_GAMEPAD_RSTICK_DOWN_MASK (8388608)
#define XINPUT_GAMEPAD_LEFT_TRIGGER (16777216)
#define XINPUT_GAMEPAD_LEFT_TRIGGER (16777216)
#define XINPUT_GAMEPAD_RIGHT_TRIGGER (33554432)
#define DEADZONE (16000)
#define DEADZONE (16000)
extern void xdk360_input_init(void);
extern void xdk360_input_map_dpad_to_stick(uint32_t map_dpad_enum, uint32_t controller_id);
extern void xdk360_input_loop(void);

View File

@ -510,7 +510,8 @@ int main(int argc, char *argv[])
video_gl.start();
ps3_input_init();
input_ps3.init();
oskutil_init(&g_console.oskutil_handle, 0);
rarch_input_set_default_keybind_names_for_emulator();
@ -559,7 +560,7 @@ begin_shutdown:
save_settings();
if(g_console.emulator_initialized)
rarch_main_deinit();
cell_pad_input_deinit();
input_ps3.free(NULL);
video_gl.stop();

View File

@ -40,11 +40,6 @@
static uint64_t state[MAX_PADS];
static unsigned pads_connected;
void cell_pad_input_deinit(void)
{
cellPadEnd();
}
uint32_t cell_pad_input_pads_connected(void)
{
#if(CELL_SDK_VERSION > 0x340000)
@ -249,18 +244,15 @@ void oskutil_unload(oskutil_params *params)
static void ps3_free_input(void *data)
{
(void)data;
cellPadEnd();
}
static void* ps3_input_initialize(void)
{
return (void*)-1;
}
void ps3_input_init(void)
{
cellPadInit(MAX_PADS);
for(unsigned i = 0; i < MAX_PADS; i++)
ps3_input_map_dpad_to_stick(g_settings.input.dpad_emulation[i], i);
return (void*)-1;
}
void ps3_input_map_dpad_to_stick(uint32_t map_dpad_enum, uint32_t controller_id)

View File

@ -121,14 +121,10 @@
typedef uint64_t cell_input_state_t;
int cell_pad_input_init(void);
void cell_pad_input_deinit(void);
uint32_t cell_pad_input_pads_connected(void);
cell_input_state_t cell_pad_input_poll_device(uint32_t id);
void ps3_input_init(void);
void ps3_input_map_dpad_to_stick(uint32_t map_dpad_enum, uint32_t controller_id);
typedef struct

View File

@ -55,7 +55,7 @@ static void reset_callback(void)
g_quit = true;
}
void wii_input_init(void)
static void *wii_input_initialize(void)
{
PAD_Init();
#ifdef HW_RVL
@ -63,13 +63,6 @@ void wii_input_init(void)
#endif
SYS_SetResetCallback(reset_callback);
SYS_SetPowerCallback(reset_callback);
}
void wii_input_deinit(void)
{}
static void *wii_input_initialize(void)
{
return (void*)-1;
}

View File

@ -138,7 +138,7 @@ int main(void)
rarch_assert(g_extern.msg_queue = msg_queue_new(8));
wii_video_init();
wii_input_init();
input_wii.init();
rgui_handle_t *rgui = rgui_init("sd:/",
menu_framebuf, RGUI_WIDTH * sizeof(uint16_t),
@ -163,8 +163,8 @@ int main(void)
if(g_console.emulator_initialized)
rarch_main_deinit();
wii_input_deinit();
wii_video_deinit();
input_wii.free(NULL);
#ifdef HAVE_FILE_LOGGER
fclose(log_fp);