From 5b8c426b3c04a7ca4d36b6d2cc3c8b175260c76f Mon Sep 17 00:00:00 2001 From: Twinaphex Date: Sat, 7 Jul 2012 16:20:31 +0200 Subject: [PATCH] (360) Xinput2 driver moved to input/ --- 360/frontend-xdk/main.c | 8 ++-- console/retroarch_console_input.h | 2 +- driver.c | 4 +- driver.h | 2 +- 360/xdk360_input.h => input/rarch_xinput2.h | 6 ++- 360/xdk360_input.c => input/xinput2_input.c | 52 ++++++++++++--------- msvc/RetroArch-360/RetroArch-360.vcxproj | 12 ++--- 7 files changed, 49 insertions(+), 37 deletions(-) rename 360/xdk360_input.h => input/rarch_xinput2.h (95%) rename 360/xdk360_input.c => input/xinput2_input.c (91%) diff --git a/360/frontend-xdk/main.c b/360/frontend-xdk/main.c index d6d1d3efd4..754ddb196c 100644 --- a/360/frontend-xdk/main.c +++ b/360/frontend-xdk/main.c @@ -21,7 +21,7 @@ #include #include #include "menu.h" -#include "../xdk360_input.h" +#include "../../input/rarch_xinput2.h" #include "../xdk360_video.h" #include "../../console/retroarch_console.h" @@ -262,7 +262,7 @@ int main(int argc, char *argv[]) init_libretro_sym(); video_xdk360.start(); - input_xdk360.init(); + input_xinput2.init(); rarch_input_set_default_keybind_names_for_emulator(); @@ -273,7 +273,7 @@ begin_loop: { bool repeat = false; - input_xdk360.poll(NULL); + input_xinput2.poll(NULL); rarch_set_auto_viewport(g_extern.frame_cache.width, g_extern.frame_cache.height); @@ -297,7 +297,7 @@ begin_shutdown: menu_free(); video_xdk360.stop(); - input_xdk360.free(NULL); + input_xinput2.free(NULL); rarch_exec(); return 0; diff --git a/console/retroarch_console_input.h b/console/retroarch_console_input.h index 197ac08999..9d3c46cf00 100644 --- a/console/retroarch_console_input.h +++ b/console/retroarch_console_input.h @@ -82,7 +82,7 @@ enum ps3_device_id }; #elif defined(_XBOX360) -#include "../360/xdk360_input.h" +#include "../input/rarch_xinput2.h" enum xdk360_device_id { diff --git a/driver.c b/driver.c index 31fb759391..b7365b80ae 100644 --- a/driver.c +++ b/driver.c @@ -119,8 +119,8 @@ static const input_driver_t *input_drivers[] = { #ifdef XENON &input_xenon360, #endif -#ifdef _XBOX360 - &input_xdk360, +#ifdef HAVE_XINPUT2 + &input_xinput2, #endif #ifdef GEKKO &input_wii, diff --git a/driver.h b/driver.h index 13391494d8..b1375541ed 100644 --- a/driver.h +++ b/driver.h @@ -246,7 +246,7 @@ extern const input_driver_t input_x; extern const input_driver_t input_ps3; extern const input_driver_t input_xenon360; extern const input_driver_t input_wii; -extern const input_driver_t input_xdk360; +extern const input_driver_t input_xinput2; extern const input_driver_t input_linuxraw; extern const input_driver_t input_null; //////////////////////////////////////////////// diff --git a/360/xdk360_input.h b/input/rarch_xinput2.h similarity index 95% rename from 360/xdk360_input.h rename to input/rarch_xinput2.h index 6ac6535b4d..fd90aaec3d 100644 --- a/360/xdk360_input.h +++ b/input/rarch_xinput2.h @@ -14,8 +14,8 @@ * If not, see . */ -#ifndef _XDK360_INPUT_H -#define _XDK360_INPUT_H +#ifndef __RARCH_XINPUT2_H +#define __RARCH_XINPUT2_H #define XINPUT_GAMEPAD_LSTICK_LEFT_MASK (65536) #define XINPUT_GAMEPAD_LSTICK_RIGHT_MASK (131072) @@ -29,6 +29,8 @@ #define XINPUT_GAMEPAD_RIGHT_TRIGGER (33554432) #define DEADZONE (16000) +#ifdef _XBOX extern void xdk360_input_map_dpad_to_stick(uint32_t map_dpad_enum, uint32_t controller_id); +#endif #endif diff --git a/360/xdk360_input.c b/input/xinput2_input.c similarity index 91% rename from 360/xdk360_input.c rename to input/xinput2_input.c index d7c9b12dbd..97dee91342 100644 --- a/360/xdk360_input.c +++ b/input/xinput2_input.c @@ -16,17 +16,20 @@ #include #include + +#ifdef _XBOX #include +#endif + #include "../driver.h" #include "../general.h" #include "../libretro.h" -#include "../console/retroarch_console.h" -#include "xdk360_input.h" +#include "rarch_xinput2.h" static uint64_t state[4]; static unsigned pads_connected; -static void xdk360_input_poll(void *data) +static void xinput2_input_poll(void *data) { (void)data; @@ -51,7 +54,7 @@ static void xdk360_input_poll(void *data) } } -static int16_t xdk360_input_state(void *data, const struct snes_keybind **binds, +static int16_t xinput2_input_state(void *data, const struct snes_keybind **binds, unsigned port, unsigned device, unsigned index, unsigned id) { @@ -62,17 +65,13 @@ static int16_t xdk360_input_state(void *data, const struct snes_keybind **binds, return (state[player] & button) ? 1 : 0; } -static void xdk360_free_input(void *data) +static void xinput2_input_free_input(void *data) { (void)data; } -static void* xdk360_input_initialize(void) -{ - for(unsigned i = 0; i < 4; i++) - xdk360_input_map_dpad_to_stick(g_settings.input.dpad_emulation[i], i); - return (void*)-1; -} +#ifdef _XBOX +#include "../console/retroarch_console.h" void xdk360_input_map_dpad_to_stick(uint32_t map_dpad_enum, uint32_t controller_id) { @@ -98,16 +97,26 @@ void xdk360_input_map_dpad_to_stick(uint32_t map_dpad_enum, uint32_t controller_ break; } } +#endif -static bool xdk360_key_pressed(void *data, int key) +static void* xinput2_input_init(void) +{ +#ifdef _XBOX + for(unsigned i = 0; i < 4; i++) + xdk360_input_map_dpad_to_stick(g_settings.input.dpad_emulation[i], i); +#endif + return (void*)-1; +} + +static bool xinput2_input_key_pressed(void *data, int key) { (void)data; + bool retval = false; +#ifdef _XBOX XINPUT_STATE state; - bool retval; xdk360_video_t *d3d9 = (xdk360_video_t*)driver.video_data; XInputGetState(0, &state); - retval = false; switch(key) { @@ -150,16 +159,17 @@ static bool xdk360_key_pressed(void *data, int key) retval = g_console.ingame_menu_enable ? g_console.ingame_menu_enable : g_console.menu_enable; } } +#endif return retval; } -const input_driver_t input_xdk360 = +const input_driver_t input_xinput2 = { - xdk360_input_initialize, - xdk360_input_poll, - xdk360_input_state, - xdk360_key_pressed, - xdk360_free_input, - "xdk360" + xinput2_input_init, + xinput2_input_poll, + xinput2_input_state, + xinput2_input_key_pressed, + xinput2_input_free_input, + "xinput2" }; diff --git a/msvc/RetroArch-360/RetroArch-360.vcxproj b/msvc/RetroArch-360/RetroArch-360.vcxproj index 0450d17356..c6444e4935 100644 --- a/msvc/RetroArch-360/RetroArch-360.vcxproj +++ b/msvc/RetroArch-360/RetroArch-360.vcxproj @@ -113,7 +113,7 @@ true false MultiThreadedDebug - _DEBUG;_XBOX;PACKAGE_VERSION="0.9.6";%(PreprocessorDefinitions);HAVE_DEFAULT_RETROPAD_INPUT;_CRT_SECURE_NO_WARNINGS;main=rarch_main;RARCH_CONSOLE;HAVE_CONFIGFILE;HAVE_FILEBROWSER;HAVE_HDD_CACHE_PARTITION;HAVE_NETPLAY;HAVE_SOCKET_LEGACY;HAVE_ZLIB;HAVE_RARCH_MAIN_WRAP;HAVE_RARCH_EXEC;HAVE_LIBRETRO_MANAGEMENT;D3DCOMPILE_USEVOIDS;HAVE_GRIFFIN;HAVE_HLSL;HAVE_VID_CONTEXT;HAVE_D3D9;_XBOX360 + _DEBUG;_XBOX;HAVE_XINPUT2;PACKAGE_VERSION="0.9.6";%(PreprocessorDefinitions);HAVE_DEFAULT_RETROPAD_INPUT;_CRT_SECURE_NO_WARNINGS;main=rarch_main;RARCH_CONSOLE;HAVE_CONFIGFILE;HAVE_FILEBROWSER;HAVE_HDD_CACHE_PARTITION;HAVE_NETPLAY;HAVE_SOCKET_LEGACY;HAVE_ZLIB;HAVE_RARCH_MAIN_WRAP;HAVE_RARCH_EXEC;HAVE_LIBRETRO_MANAGEMENT;D3DCOMPILE_USEVOIDS;HAVE_GRIFFIN;HAVE_HLSL;HAVE_VID_CONTEXT;HAVE_D3D9;_XBOX360 Callcap @@ -151,7 +151,7 @@ AnalyzeOnly false MultiThreadedDebug - _DEBUG;_XBOX;%(PreprocessorDefinitions);PACKAGE_VERSION="0.9.6";HAVE_DEFAULT_RETROPAD_INPUT;_CRT_SECURE_NO_WARNINGS;main=rarch_main;HAVE_CONFIGFILE;HAVE_FILEBROWSER;HAVE_HDD_CACHE_PARTITION;RARCH_CONSOLE;HAVE_ZLIB;HAVE_RARCH_MAIN_WRAP;HAVE_RARCH_EXEC;HAVE_LIBRETRO_MANAGEMENT;D3DCOMPILE_USEVOIDS;HAVE_GRIFFIN;HAVE_HLSL;HAVE_VID_CONTEXT;HAVE_D3D9;_XBOX360 + _DEBUG;_XBOX;%(PreprocessorDefinitions);HAVE_XINPUT2;PACKAGE_VERSION="0.9.6";HAVE_DEFAULT_RETROPAD_INPUT;_CRT_SECURE_NO_WARNINGS;main=rarch_main;HAVE_CONFIGFILE;HAVE_FILEBROWSER;HAVE_HDD_CACHE_PARTITION;RARCH_CONSOLE;HAVE_ZLIB;HAVE_RARCH_MAIN_WRAP;HAVE_RARCH_EXEC;HAVE_LIBRETRO_MANAGEMENT;D3DCOMPILE_USEVOIDS;HAVE_GRIFFIN;HAVE_HLSL;HAVE_VID_CONTEXT;HAVE_D3D9;_XBOX360 Callcap @@ -190,7 +190,7 @@ Size false MultiThreaded - NDEBUG;_XBOX;PROFILE;%(PreprocessorDefinitions);PACKAGE_VERSION="0.9.6";HAVE_DEFAULT_RETROPAD_INPUT;_CRT_SECURE_NO_WARNINGS;RARCH_CONSOLE;main=rarch_main;HAVE_CONFIGFILE;HAVE_FILEBROWSER;HAVE_HDD_CACHE_PARTITION;HAVE_ZLIB;HAVE_RARCH_MAIN_WRAP;HAVE_RARCH_EXEC;HAVE_LIBRETRO_MANAGEMENT;D3DCOMPILE_USEVOIDS;HAVE_GRIFFIN;HAVE_HLSL;HAVE_VID_CONTEXT;HAVE_D3D9;_XBOX360 + NDEBUG;_XBOX;PROFILE;%(PreprocessorDefinitions);HAVE_XINPUT2;PACKAGE_VERSION="0.9.6";HAVE_DEFAULT_RETROPAD_INPUT;_CRT_SECURE_NO_WARNINGS;RARCH_CONSOLE;main=rarch_main;HAVE_CONFIGFILE;HAVE_FILEBROWSER;HAVE_HDD_CACHE_PARTITION;HAVE_ZLIB;HAVE_RARCH_MAIN_WRAP;HAVE_RARCH_EXEC;HAVE_LIBRETRO_MANAGEMENT;D3DCOMPILE_USEVOIDS;HAVE_GRIFFIN;HAVE_HLSL;HAVE_VID_CONTEXT;HAVE_D3D9;_XBOX360 Callcap @@ -234,7 +234,7 @@ Size false MultiThreaded - NDEBUG;_XBOX;PROFILE;FASTCAP;%(PreprocessorDefinitions);PACKAGE_VERSION="0.9.6";HAVE_DEFAULT_RETROPAD_INPUT;_CRT_SECURE_NO_WARNINGS;main=rarch_main;HAVE_CONFIGFILE;HAVE_FILEBROWSER;HAVE_HDD_CACHE_PARTITION;HAVE_ZLIB;HAVE_RARCH_MAIN_WRAP;HAVE_RARCH_EXEC;HAVE_LIBRETRO_MANAGEMENT;D3DCOMPILE_USEVOIDS;HAVE_GRIFFIN;HAVE_HLSL;HAVE_VID_CONTEXT;HAVE_D3D9;_XBOX360 + NDEBUG;_XBOX;PROFILE;FASTCAP;%(PreprocessorDefinitions);HAVE_XINPUT2;PACKAGE_VERSION="0.9.6";HAVE_DEFAULT_RETROPAD_INPUT;_CRT_SECURE_NO_WARNINGS;main=rarch_main;HAVE_CONFIGFILE;HAVE_FILEBROWSER;HAVE_HDD_CACHE_PARTITION;HAVE_ZLIB;HAVE_RARCH_MAIN_WRAP;HAVE_RARCH_EXEC;HAVE_LIBRETRO_MANAGEMENT;D3DCOMPILE_USEVOIDS;HAVE_GRIFFIN;HAVE_HLSL;HAVE_VID_CONTEXT;HAVE_D3D9;_XBOX360 true @@ -275,7 +275,7 @@ false false MultiThreaded - NDEBUG;_XBOX;%(PreprocessorDefinitions);PACKAGE_VERSION="0.9.6";_CRT_SECURE_NO_WARNINGS;HAVE_DEFAULT_RETROPAD_INPUT;main=rarch_main;RARCH_CONSOLE=1;HAVE_CONFIGFILE;HAVE_FILEBROWSER;HAVE_HDD_CACHE_PARTITION;HAVE_NETPLAY;HAVE_SOCKET_LEGACY;HAVE_ZLIB;HAVE_RARCH_MAIN_WRAP;HAVE_RARCH_EXEC;HAVE_LIBRETRO_MANAGEMENT;D3DCOMPILE_USEVOIDS;HAVE_GRIFFIN;HAVE_HLSL;HAVE_VID_CONTEXT;HAVE_D3D9;_XBOX360 + NDEBUG;_XBOX;%(PreprocessorDefinitions);HAVE_XINPUT2;PACKAGE_VERSION="0.9.6";_CRT_SECURE_NO_WARNINGS;HAVE_DEFAULT_RETROPAD_INPUT;main=rarch_main;RARCH_CONSOLE=1;HAVE_CONFIGFILE;HAVE_FILEBROWSER;HAVE_HDD_CACHE_PARTITION;HAVE_NETPLAY;HAVE_SOCKET_LEGACY;HAVE_ZLIB;HAVE_RARCH_MAIN_WRAP;HAVE_RARCH_EXEC;HAVE_LIBRETRO_MANAGEMENT;D3DCOMPILE_USEVOIDS;HAVE_GRIFFIN;HAVE_HLSL;HAVE_VID_CONTEXT;HAVE_D3D9;_XBOX360 true @@ -316,7 +316,7 @@ false false MultiThreaded - NDEBUG;_XBOX;LTCG;%(PreprocessorDefinitions);PACKAGE_VERSION="0.9.6";_CRT_SECURE_NO_WARNINGS;HAVE_DEFAULT_RETROPAD_INPUT;RARCH_CONSOLE;main=rarch_main;HAVE_CONFIGFILE;HAVE_FILEBROWSER;HAVE_HDD_CACHE_PARTITION;HAVE_NETPLAY;HAVE_SOCKET_LEGACY;HAVE_ZLIB;HAVE_RARCH_MAIN_WRAP;HAVE_RARCH_EXEC;HAVE_LIBRETRO_MANAGEMENT;D3DCOMPILE_USEVOIDS;HAVE_GRIFFIN;HAVE_HLSL;HAVE_VID_CONTEXT;HAVE_D3D9;_XBOX360 + NDEBUG;_XBOX;LTCG;%(PreprocessorDefinitions);HAVE_XINPUT2;PACKAGE_VERSION="0.9.6";_CRT_SECURE_NO_WARNINGS;HAVE_DEFAULT_RETROPAD_INPUT;RARCH_CONSOLE;main=rarch_main;HAVE_CONFIGFILE;HAVE_FILEBROWSER;HAVE_HDD_CACHE_PARTITION;HAVE_NETPLAY;HAVE_SOCKET_LEGACY;HAVE_ZLIB;HAVE_RARCH_MAIN_WRAP;HAVE_RARCH_EXEC;HAVE_LIBRETRO_MANAGEMENT;D3DCOMPILE_USEVOIDS;HAVE_GRIFFIN;HAVE_HLSL;HAVE_VID_CONTEXT;HAVE_D3D9;_XBOX360 true