mirror of https://github.com/encounter/SDL.git
switch: fix switch joystick interface for latest sdl2 changes
This commit is contained in:
parent
776bb49ba1
commit
6be89a4dc1
|
@ -48,10 +48,12 @@ set(SRC_DIRS
|
|||
src/thread
|
||||
src/thread/switch
|
||||
src/timer
|
||||
src/timer/switch
|
||||
src/timer/unix
|
||||
src/video
|
||||
src/video/yuv2rgb
|
||||
src/video/switch
|
||||
src/sensor
|
||||
src/sensor/dummy
|
||||
)
|
||||
|
||||
set(SRC_FILES )
|
||||
|
|
|
@ -1,3 +1,4 @@
|
|||
/* include/SDL_config.h. Generated from SDL_config.h.in by configure. */
|
||||
/*
|
||||
Simple DirectMedia Layer
|
||||
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
|
||||
|
@ -22,34 +23,404 @@
|
|||
#ifndef SDL_config_h_
|
||||
#define SDL_config_h_
|
||||
|
||||
#include "SDL_platform.h"
|
||||
|
||||
/**
|
||||
* \file SDL_config.h
|
||||
* \file SDL_config.h.in
|
||||
*
|
||||
* This is a set of defines to configure the SDL features
|
||||
*/
|
||||
|
||||
/* Add any platform that doesn't build using the configure system. */
|
||||
#if defined(__WIN32__)
|
||||
#include "SDL_config_windows.h"
|
||||
#elif defined(__WINRT__)
|
||||
#include "SDL_config_winrt.h"
|
||||
#elif defined(__MACOSX__)
|
||||
#include "SDL_config_macosx.h"
|
||||
#elif defined(__IPHONEOS__)
|
||||
#include "SDL_config_iphoneos.h"
|
||||
#elif defined(__ANDROID__)
|
||||
#include "SDL_config_android.h"
|
||||
#elif defined(__PSP__)
|
||||
#include "SDL_config_psp.h"
|
||||
#elif defined(__OS2__)
|
||||
#include "SDL_config_os2.h"
|
||||
#else
|
||||
/* This is a minimal configuration just to get SDL running on new platforms. */
|
||||
#include "SDL_config_minimal.h"
|
||||
#endif /* platform config */
|
||||
/* General platform specific identifiers */
|
||||
#include "SDL_platform.h"
|
||||
|
||||
#ifdef USING_GENERATED_CONFIG_H
|
||||
#error Wrong SDL_config.h, check your include path?
|
||||
/* Make sure that this isn't included by Visual C++ */
|
||||
#ifdef _MSC_VER
|
||||
#error You should run hg revert SDL_config.h
|
||||
#endif
|
||||
|
||||
/* C language features */
|
||||
/* #undef const */
|
||||
/* #undef inline */
|
||||
/* #undef volatile */
|
||||
|
||||
/* C datatypes */
|
||||
#ifdef __LP64__
|
||||
#define SIZEOF_VOIDP 8
|
||||
#else
|
||||
#define SIZEOF_VOIDP 4
|
||||
#endif
|
||||
#define HAVE_GCC_ATOMICS 1
|
||||
/* #undef HAVE_GCC_SYNC_LOCK_TEST_AND_SET */
|
||||
|
||||
/* Comment this if you want to build without any C library requirements */
|
||||
#define HAVE_LIBC 1
|
||||
#if HAVE_LIBC
|
||||
|
||||
/* Useful headers */
|
||||
#define STDC_HEADERS 1
|
||||
#define HAVE_ALLOCA_H 1
|
||||
#define HAVE_CTYPE_H 1
|
||||
#define HAVE_FLOAT_H 1
|
||||
#define HAVE_ICONV_H 1
|
||||
#define HAVE_INTTYPES_H 1
|
||||
#define HAVE_LIMITS_H 1
|
||||
#define HAVE_MALLOC_H 1
|
||||
#define HAVE_MATH_H 1
|
||||
#define HAVE_MEMORY_H 1
|
||||
#define HAVE_SIGNAL_H 1
|
||||
#define HAVE_STDARG_H 1
|
||||
#define HAVE_STDINT_H 1
|
||||
#define HAVE_STDIO_H 1
|
||||
#define HAVE_STDLIB_H 1
|
||||
#define HAVE_STRINGS_H 1
|
||||
#define HAVE_STRING_H 1
|
||||
#define HAVE_SYS_TYPES_H 1
|
||||
#define HAVE_WCHAR_H 1
|
||||
/* #undef HAVE_PTHREAD_NP_H */
|
||||
/* #undef HAVE_LIBUNWIND_H */
|
||||
|
||||
/* C library functions */
|
||||
#define HAVE_MALLOC 1
|
||||
#define HAVE_CALLOC 1
|
||||
#define HAVE_REALLOC 1
|
||||
#define HAVE_FREE 1
|
||||
#define HAVE_ALLOCA 1
|
||||
#ifndef __WIN32__ /* Don't use C runtime versions of these on Windows */
|
||||
#define HAVE_GETENV 1
|
||||
#define HAVE_SETENV 1
|
||||
#define HAVE_PUTENV 1
|
||||
#define HAVE_UNSETENV 1
|
||||
#endif
|
||||
#define HAVE_QSORT 1
|
||||
#define HAVE_ABS 1
|
||||
#define HAVE_BCOPY 1
|
||||
#define HAVE_MEMSET 1
|
||||
#define HAVE_MEMCPY 1
|
||||
#define HAVE_MEMMOVE 1
|
||||
/* #undef HAVE_MEMCMP */
|
||||
#define HAVE_WCSLEN 1
|
||||
/* #undef HAVE_WCSLCPY */
|
||||
/* #undef HAVE_WCSLCAT */
|
||||
#define HAVE_WCSCMP 1
|
||||
#define HAVE_STRLEN 1
|
||||
#define HAVE_STRLCPY 1
|
||||
#define HAVE_STRLCAT 1
|
||||
/* #undef HAVE__STRREV */
|
||||
/* #undef HAVE__STRUPR */
|
||||
/* #undef HAVE__STRLWR */
|
||||
/* #undef HAVE_INDEX */
|
||||
/* #undef HAVE_RINDEX */
|
||||
#define HAVE_STRCHR 1
|
||||
#define HAVE_STRRCHR 1
|
||||
#define HAVE_STRSTR 1
|
||||
#define HAVE_ITOA 1
|
||||
/* #undef HAVE__LTOA */
|
||||
/* #undef HAVE__UITOA */
|
||||
/* #undef HAVE__ULTOA */
|
||||
#define HAVE_STRTOL 1
|
||||
#define HAVE_STRTOUL 1
|
||||
/* #undef HAVE__I64TOA */
|
||||
/* #undef HAVE__UI64TOA */
|
||||
#define HAVE_STRTOLL 1
|
||||
#define HAVE_STRTOULL 1
|
||||
/* #undef HAVE_STRTOD */
|
||||
#define HAVE_ATOI 1
|
||||
#define HAVE_ATOF 1
|
||||
#define HAVE_STRCMP 1
|
||||
#define HAVE_STRNCMP 1
|
||||
/* #undef HAVE__STRICMP */
|
||||
#define HAVE_STRCASECMP 1
|
||||
/* #undef HAVE__STRNICMP */
|
||||
#define HAVE_STRNCASECMP 1
|
||||
/* #undef HAVE_SSCANF */
|
||||
#define HAVE_VSSCANF 1
|
||||
/* #undef HAVE_SNPRINTF */
|
||||
#define HAVE_VSNPRINTF 1
|
||||
#define HAVE_M_PI /**/
|
||||
#define HAVE_ACOS 1
|
||||
#define HAVE_ACOSF 1
|
||||
#define HAVE_ASIN 1
|
||||
#define HAVE_ASINF 1
|
||||
#define HAVE_ATAN 1
|
||||
#define HAVE_ATANF 1
|
||||
#define HAVE_ATAN2 1
|
||||
#define HAVE_ATAN2F 1
|
||||
#define HAVE_CEIL 1
|
||||
#define HAVE_CEILF 1
|
||||
#define HAVE_COPYSIGN 1
|
||||
#define HAVE_COPYSIGNF 1
|
||||
#define HAVE_COS 1
|
||||
#define HAVE_COSF 1
|
||||
#define HAVE_EXP 1
|
||||
#define HAVE_EXPF 1
|
||||
#define HAVE_FABS 1
|
||||
#define HAVE_FABSF 1
|
||||
#define HAVE_FLOOR 1
|
||||
#define HAVE_FLOORF 1
|
||||
#define HAVE_FMOD 1
|
||||
#define HAVE_FMODF 1
|
||||
#define HAVE_LOG 1
|
||||
#define HAVE_LOGF 1
|
||||
#define HAVE_LOG10 1
|
||||
#define HAVE_LOG10F 1
|
||||
/* #undef HAVE_POW */
|
||||
#define HAVE_POWF 1
|
||||
#define HAVE_SCALBN 1
|
||||
#define HAVE_SCALBNF 1
|
||||
#define HAVE_SIN 1
|
||||
#define HAVE_SINF 1
|
||||
#define HAVE_SQRT 1
|
||||
#define HAVE_SQRTF 1
|
||||
#define HAVE_TAN 1
|
||||
#define HAVE_TANF 1
|
||||
/* #undef HAVE_FOPEN64 */
|
||||
#define HAVE_FSEEKO 1
|
||||
/* #undef HAVE_FSEEKO64 */
|
||||
/* #undef HAVE_SIGACTION */
|
||||
/* #undef HAVE_SA_SIGACTION */
|
||||
#define HAVE_SETJMP 1
|
||||
#define HAVE_NANOSLEEP 1
|
||||
/* #undef HAVE_SYSCONF */
|
||||
#define HAVE_SYSCTLBYNAME 1
|
||||
#define HAVE_CLOCK_GETTIME 1
|
||||
/* #undef HAVE_GETPAGESIZE */
|
||||
/* #undef HAVE_MPROTECT */
|
||||
/* #undef HAVE_ICONV */
|
||||
/* #undef HAVE_PTHREAD_SETNAME_NP */
|
||||
/* #undef HAVE_PTHREAD_SET_NAME_NP */
|
||||
/* #undef HAVE_SEM_TIMEDWAIT */
|
||||
/* #undef HAVE_GETAUXVAL */
|
||||
#define HAVE_POLL 1
|
||||
#define HAVE__EXIT 1
|
||||
|
||||
#else
|
||||
#define HAVE_STDARG_H 1
|
||||
#define HAVE_STDDEF_H 1
|
||||
#define HAVE_STDINT_H 1
|
||||
#endif /* HAVE_LIBC */
|
||||
|
||||
/* #undef HAVE_ALTIVEC_H */
|
||||
/* #undef HAVE_DBUS_DBUS_H */
|
||||
/* #undef HAVE_FCITX_FRONTEND_H */
|
||||
/* #undef HAVE_IBUS_IBUS_H */
|
||||
/* #undef HAVE_IMMINTRIN_H */
|
||||
/* #undef HAVE_LIBSAMPLERATE_H */
|
||||
/* #undef HAVE_LIBUDEV_H */
|
||||
|
||||
/* #undef HAVE_DDRAW_H */
|
||||
/* #undef HAVE_DINPUT_H */
|
||||
/* #undef HAVE_DSOUND_H */
|
||||
/* #undef HAVE_DXGI_H */
|
||||
/* #undef HAVE_XINPUT_H */
|
||||
/* #undef HAVE_ENDPOINTVOLUME_H */
|
||||
/* #undef HAVE_MMDEVICEAPI_H */
|
||||
/* #undef HAVE_AUDIOCLIENT_H */
|
||||
/* #undef HAVE_XINPUT_GAMEPAD_EX */
|
||||
/* #undef HAVE_XINPUT_STATE_EX */
|
||||
|
||||
/* SDL internal assertion support */
|
||||
/* #undef SDL_DEFAULT_ASSERT_LEVEL */
|
||||
|
||||
/* Allow disabling of core subsystems */
|
||||
/* #undef SDL_ATOMIC_DISABLED */
|
||||
/* #undef SDL_AUDIO_DISABLED */
|
||||
#define SDL_CPUINFO_DISABLED 1
|
||||
/* #undef SDL_EVENTS_DISABLED */
|
||||
/* #undef SDL_FILE_DISABLED */
|
||||
/* #undef SDL_JOYSTICK_DISABLED */
|
||||
/* #undef SDL_HAPTIC_DISABLED */
|
||||
/* #undef SDL_SENSOR_DISABLED */
|
||||
#define SDL_LOADSO_DISABLED 1
|
||||
/* #undef SDL_RENDER_DISABLED */
|
||||
/* #undef SDL_THREADS_DISABLED */
|
||||
/* #undef SDL_TIMERS_DISABLED */
|
||||
/* #undef SDL_VIDEO_DISABLED */
|
||||
#define SDL_POWER_DISABLED 1
|
||||
#define SDL_FILESYSTEM_DISABLED 1
|
||||
|
||||
/* Enable various audio drivers */
|
||||
/* #undef SDL_AUDIO_DRIVER_ALSA */
|
||||
/* #undef SDL_AUDIO_DRIVER_ALSA_DYNAMIC */
|
||||
/* #undef SDL_AUDIO_DRIVER_ANDROID */
|
||||
/* #undef SDL_AUDIO_DRIVER_ARTS */
|
||||
/* #undef SDL_AUDIO_DRIVER_ARTS_DYNAMIC */
|
||||
/* #undef SDL_AUDIO_DRIVER_COREAUDIO */
|
||||
/* #undef SDL_AUDIO_DRIVER_DISK */
|
||||
/* #undef SDL_AUDIO_DRIVER_DSOUND */
|
||||
/* #undef SDL_AUDIO_DRIVER_DUMMY */
|
||||
/* #undef SDL_AUDIO_DRIVER_EMSCRIPTEN */
|
||||
/* #undef SDL_AUDIO_DRIVER_ESD */
|
||||
/* #undef SDL_AUDIO_DRIVER_ESD_DYNAMIC */
|
||||
/* #undef SDL_AUDIO_DRIVER_FUSIONSOUND */
|
||||
/* #undef SDL_AUDIO_DRIVER_FUSIONSOUND_DYNAMIC */
|
||||
/* #undef SDL_AUDIO_DRIVER_HAIKU */
|
||||
/* #undef SDL_AUDIO_DRIVER_JACK */
|
||||
/* #undef SDL_AUDIO_DRIVER_JACK_DYNAMIC */
|
||||
/* #undef SDL_AUDIO_DRIVER_NACL */
|
||||
/* #undef SDL_AUDIO_DRIVER_NAS */
|
||||
/* #undef SDL_AUDIO_DRIVER_NAS_DYNAMIC */
|
||||
/* #undef SDL_AUDIO_DRIVER_NETBSD */
|
||||
/* #undef SDL_AUDIO_DRIVER_OSS */
|
||||
/* #undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H */
|
||||
/* #undef SDL_AUDIO_DRIVER_PAUDIO */
|
||||
/* #undef SDL_AUDIO_DRIVER_PULSEAUDIO */
|
||||
/* #undef SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC */
|
||||
/* #undef SDL_AUDIO_DRIVER_QSA */
|
||||
/* #undef SDL_AUDIO_DRIVER_SNDIO */
|
||||
/* #undef SDL_AUDIO_DRIVER_SNDIO_DYNAMIC */
|
||||
/* #undef SDL_AUDIO_DRIVER_SUNAUDIO */
|
||||
/* #undef SDL_AUDIO_DRIVER_WASAPI */
|
||||
/* #undef SDL_AUDIO_DRIVER_WINMM */
|
||||
#define SDL_AUDIO_DRIVER_SWITCH 1
|
||||
|
||||
/* Enable various input drivers */
|
||||
/* #undef SDL_INPUT_LINUXEV */
|
||||
/* #undef SDL_INPUT_LINUXKD */
|
||||
/* #undef SDL_INPUT_TSLIB */
|
||||
/* #undef SDL_JOYSTICK_HAIKU */
|
||||
/* #undef SDL_JOYSTICK_DINPUT */
|
||||
/* #undef SDL_JOYSTICK_XINPUT */
|
||||
/* #undef SDL_JOYSTICK_DUMMY */
|
||||
/* #undef SDL_JOYSTICK_IOKIT */
|
||||
/* #undef SDL_JOYSTICK_LINUX */
|
||||
/* #undef SDL_JOYSTICK_ANDROID */
|
||||
/* #undef SDL_JOYSTICK_WINMM */
|
||||
/* #undef SDL_JOYSTICK_USBHID */
|
||||
/* #undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H */
|
||||
/* #undef SDL_JOYSTICK_HIDAPI */
|
||||
/* #undef SDL_JOYSTICK_EMSCRIPTEN */
|
||||
#define SDL_JOYSTICK_SWITCH 1
|
||||
#define SDL_HAPTIC_DUMMY 1
|
||||
/* #undef SDL_HAPTIC_ANDROID */
|
||||
/* #undef SDL_HAPTIC_LINUX */
|
||||
/* #undef SDL_HAPTIC_IOKIT */
|
||||
/* #undef SDL_HAPTIC_DINPUT */
|
||||
/* #undef SDL_HAPTIC_XINPUT */
|
||||
|
||||
/* Enable various sensor drivers */
|
||||
/* #undef SDL_SENSOR_ANDROID */
|
||||
#define SDL_SENSOR_DUMMY 1
|
||||
|
||||
/* Enable various shared object loading systems */
|
||||
/* #undef SDL_LOADSO_DLOPEN */
|
||||
/* #undef SDL_LOADSO_DUMMY */
|
||||
/* #undef SDL_LOADSO_LDG */
|
||||
/* #undef SDL_LOADSO_WINDOWS */
|
||||
|
||||
/* Enable various threading systems */
|
||||
/* #undef SDL_THREAD_PTHREAD */
|
||||
/* #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX */
|
||||
/* #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP */
|
||||
/* #undef SDL_THREAD_WINDOWS */
|
||||
#define SDL_THREAD_SWITCH 1
|
||||
|
||||
/* Enable various timer systems */
|
||||
/* #undef SDL_TIMER_HAIKU */
|
||||
/* #undef SDL_TIMER_DUMMY */
|
||||
#define SDL_TIMER_UNIX 1
|
||||
/* #undef SDL_TIMER_WINDOWS */
|
||||
/* #undef SDL_TIMER_SWITCH */
|
||||
|
||||
/* Enable various video drivers */
|
||||
/* #undef SDL_VIDEO_DRIVER_HAIKU */
|
||||
/* #undef SDL_VIDEO_DRIVER_COCOA */
|
||||
/* #undef SDL_VIDEO_DRIVER_DIRECTFB */
|
||||
/* #undef SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC */
|
||||
/* #undef SDL_VIDEO_DRIVER_DUMMY */
|
||||
/* #undef SDL_VIDEO_DRIVER_WINDOWS */
|
||||
/* #undef SDL_VIDEO_DRIVER_WAYLAND */
|
||||
/* #undef SDL_VIDEO_DRIVER_WAYLAND_QT_TOUCH */
|
||||
/* #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC */
|
||||
/* #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL */
|
||||
/* #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR */
|
||||
/* #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11 */
|
||||
/* #undef SDL_VIDEO_DRIVER_RPI */
|
||||
/* #undef SDL_VIDEO_DRIVER_KMSDRM */
|
||||
/* #undef SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC */
|
||||
/* #undef SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC_GBM */
|
||||
/* #undef SDL_VIDEO_DRIVER_ANDROID */
|
||||
/* #undef SDL_VIDEO_DRIVER_EMSCRIPTEN */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_XCURSOR */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_XDBE */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_XINERAMA */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_XINPUT2 */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_XRANDR */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_XSCRNSAVER */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_XSHAPE */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_XVIDMODE */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY */
|
||||
/* #undef SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM */
|
||||
/* #undef SDL_VIDEO_DRIVER_NACL */
|
||||
/* #undef SDL_VIDEO_DRIVER_VIVANTE */
|
||||
/* #undef SDL_VIDEO_DRIVER_VIVANTE_VDK */
|
||||
/* #undef SDL_VIDEO_DRIVER_QNX */
|
||||
#define SDL_VIDEO_DRIVER_SWITCH 1
|
||||
|
||||
/* #undef SDL_VIDEO_RENDER_D3D */
|
||||
/* #undef SDL_VIDEO_RENDER_D3D11 */
|
||||
/* #undef SDL_VIDEO_RENDER_OGL */
|
||||
/* #undef SDL_VIDEO_RENDER_OGL_ES */
|
||||
#define SDL_VIDEO_RENDER_OGL_ES2 1
|
||||
/* #undef SDL_VIDEO_RENDER_DIRECTFB */
|
||||
/* #undef SDL_VIDEO_RENDER_METAL */
|
||||
|
||||
/* Enable OpenGL support */
|
||||
#define SDL_VIDEO_OPENGL 1
|
||||
/* #undef SDL_VIDEO_OPENGL_ES */
|
||||
#define SDL_VIDEO_OPENGL_ES2 1
|
||||
/* #undef SDL_VIDEO_OPENGL_BGL */
|
||||
/* #undef SDL_VIDEO_OPENGL_CGL */
|
||||
#define SDL_VIDEO_OPENGL_EGL 1
|
||||
/* #undef SDL_VIDEO_OPENGL_GLX */
|
||||
/* #undef SDL_VIDEO_OPENGL_WGL */
|
||||
/* #undef SDL_VIDEO_OPENGL_OSMESA */
|
||||
/* #undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC */
|
||||
|
||||
/* Enable Vulkan support */
|
||||
/* #undef SDL_VIDEO_VULKAN */
|
||||
|
||||
/* Enable system power support */
|
||||
/* #undef SDL_POWER_LINUX */
|
||||
/* #undef SDL_POWER_WINDOWS */
|
||||
/* #undef SDL_POWER_MACOSX */
|
||||
/* #undef SDL_POWER_HAIKU */
|
||||
/* #undef SDL_POWER_ANDROID */
|
||||
/* #undef SDL_POWER_EMSCRIPTEN */
|
||||
/* #undef SDL_POWER_HARDWIRED */
|
||||
/* #undef SDL_POWER_SWITCH */
|
||||
|
||||
/* Enable system filesystem support */
|
||||
/* #undef SDL_FILESYSTEM_HAIKU */
|
||||
/* #undef SDL_FILESYSTEM_COCOA */
|
||||
/* #undef SDL_FILESYSTEM_DUMMY */
|
||||
/* #undef SDL_FILESYSTEM_UNIX */
|
||||
/* #undef SDL_FILESYSTEM_WINDOWS */
|
||||
/* #undef SDL_FILESYSTEM_NACL */
|
||||
/* #undef SDL_FILESYSTEM_ANDROID */
|
||||
/* #undef SDL_FILESYSTEM_EMSCRIPTEN */
|
||||
/* #undef SDL_FILESYSTEM_SWITCH */
|
||||
|
||||
/* Enable assembly routines */
|
||||
#define SDL_ASSEMBLY_ROUTINES 1
|
||||
/* #undef SDL_ALTIVEC_BLITTERS */
|
||||
|
||||
/* Enable ime support */
|
||||
/* #undef SDL_USE_IME */
|
||||
|
||||
/* Enable dynamic udev support */
|
||||
/* #undef SDL_UDEV_DYNAMIC */
|
||||
|
||||
/* Enable dynamic libsamplerate support */
|
||||
/* #undef SDL_LIBSAMPLERATE_DYNAMIC */
|
||||
|
||||
#endif /* SDL_config_h_ */
|
||||
|
|
|
@ -80,6 +80,9 @@ static SDL_JoystickDriver *SDL_joystick_drivers[] = {
|
|||
#ifdef SDL_JOYSTICK_HAIKU
|
||||
&SDL_HAIKU_JoystickDriver,
|
||||
#endif
|
||||
#ifdef SDL_JOYSTICK_SWITCH
|
||||
&SDL_SWITCH_JoystickDriver,
|
||||
#endif
|
||||
#ifdef SDL_JOYSTICK_USBHID /* !!! FIXME: "USBHID" is a generic name, and doubly-confusing with HIDAPI next to it. This is the *BSD interface, rename this. */
|
||||
&SDL_BSD_JoystickDriver,
|
||||
#endif
|
||||
|
|
|
@ -204,6 +204,7 @@ extern SDL_JoystickDriver SDL_LINUX_JoystickDriver;
|
|||
extern SDL_JoystickDriver SDL_VIRTUAL_JoystickDriver;
|
||||
extern SDL_JoystickDriver SDL_WGI_JoystickDriver;
|
||||
extern SDL_JoystickDriver SDL_WINDOWS_JoystickDriver;
|
||||
extern SDL_JoystickDriver SDL_SWITCH_JoystickDriver;
|
||||
|
||||
#endif /* SDL_sysjoystick_h_ */
|
||||
|
||||
|
|
|
@ -43,29 +43,29 @@ typedef struct JoystickState
|
|||
static JoystickState pad[JOYSTICK_COUNT];
|
||||
|
||||
static HidControllerID pad_id[JOYSTICK_COUNT] = {
|
||||
CONTROLLER_P1_AUTO, CONTROLLER_PLAYER_2,
|
||||
CONTROLLER_PLAYER_3, CONTROLLER_PLAYER_4,
|
||||
CONTROLLER_PLAYER_5, CONTROLLER_PLAYER_6,
|
||||
CONTROLLER_PLAYER_7, CONTROLLER_PLAYER_8
|
||||
CONTROLLER_P1_AUTO, CONTROLLER_PLAYER_2,
|
||||
CONTROLLER_PLAYER_3, CONTROLLER_PLAYER_4,
|
||||
CONTROLLER_PLAYER_5, CONTROLLER_PLAYER_6,
|
||||
CONTROLLER_PLAYER_7, CONTROLLER_PLAYER_8
|
||||
};
|
||||
|
||||
static const HidControllerKeys pad_mapping[] = {
|
||||
KEY_A, KEY_B, KEY_X, KEY_Y,
|
||||
KEY_LSTICK, KEY_RSTICK,
|
||||
KEY_L, KEY_R,
|
||||
KEY_ZL, KEY_ZR,
|
||||
KEY_PLUS, KEY_MINUS,
|
||||
KEY_DLEFT, KEY_DUP, KEY_DRIGHT, KEY_DDOWN,
|
||||
KEY_LSTICK_LEFT, KEY_LSTICK_UP, KEY_LSTICK_RIGHT, KEY_LSTICK_DOWN,
|
||||
KEY_RSTICK_LEFT, KEY_RSTICK_UP, KEY_RSTICK_RIGHT, KEY_RSTICK_DOWN,
|
||||
KEY_SL_LEFT, KEY_SR_LEFT, KEY_SL_RIGHT, KEY_SR_RIGHT
|
||||
KEY_A, KEY_B, KEY_X, KEY_Y,
|
||||
KEY_LSTICK, KEY_RSTICK,
|
||||
KEY_L, KEY_R,
|
||||
KEY_ZL, KEY_ZR,
|
||||
KEY_PLUS, KEY_MINUS,
|
||||
KEY_DLEFT, KEY_DUP, KEY_DRIGHT, KEY_DDOWN,
|
||||
KEY_LSTICK_LEFT, KEY_LSTICK_UP, KEY_LSTICK_RIGHT, KEY_LSTICK_DOWN,
|
||||
KEY_RSTICK_LEFT, KEY_RSTICK_UP, KEY_RSTICK_RIGHT, KEY_RSTICK_DOWN,
|
||||
KEY_SL_LEFT, KEY_SR_LEFT, KEY_SL_RIGHT, KEY_SR_RIGHT
|
||||
};
|
||||
|
||||
/* Function to scan the system for joysticks.
|
||||
* It should return 0, or -1 on an unrecoverable fatal error.
|
||||
*/
|
||||
int
|
||||
SDL_SYS_JoystickInit(void)
|
||||
static int
|
||||
SWITCH_JoystickInit(void)
|
||||
{
|
||||
for (int i = 0; i < JOYSTICK_COUNT; i++) {
|
||||
pad[i].id = pad_id[i];
|
||||
|
@ -74,26 +74,49 @@ SDL_SYS_JoystickInit(void)
|
|||
return JOYSTICK_COUNT;
|
||||
}
|
||||
|
||||
int
|
||||
SDL_SYS_NumJoysticks(void)
|
||||
static int
|
||||
SWITCH_JoystickGetCount(void)
|
||||
{
|
||||
return JOYSTICK_COUNT;
|
||||
}
|
||||
|
||||
void
|
||||
SDL_SYS_JoystickDetect(void)
|
||||
static void
|
||||
SWITCH_JoystickDetect(void)
|
||||
{
|
||||
}
|
||||
|
||||
/* Function to get the device-dependent name of a joystick */
|
||||
const char *
|
||||
SDL_SYS_JoystickNameForDeviceIndex(int device_index)
|
||||
static const char *
|
||||
SWITCH_JoystickGetDeviceName(int device_index)
|
||||
{
|
||||
return "Switch Controller";
|
||||
}
|
||||
|
||||
static int
|
||||
SWITCH_JoystickGetDevicePlayerIndex(int device_index)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void
|
||||
SWITCH_JoystickSetDevicePlayerIndex(int device_index, int player_index)
|
||||
{
|
||||
}
|
||||
|
||||
static SDL_JoystickGUID
|
||||
SWITCH_JoystickGetDeviceGUID(int device_index)
|
||||
{
|
||||
SDL_JoystickGUID guid;
|
||||
/* the GUID is just the first 16 chars of the name for now */
|
||||
const char *name = SWITCH_JoystickGetDeviceName(device_index);
|
||||
SDL_zero(guid);
|
||||
SDL_memcpy(&guid, name, SDL_min(sizeof(guid), SDL_strlen(name)));
|
||||
return guid;
|
||||
}
|
||||
|
||||
/* Function to perform the mapping from device index to the instance id for this index */
|
||||
SDL_JoystickID SDL_SYS_GetInstanceIdOfDeviceIndex(int device_index)
|
||||
static SDL_JoystickID
|
||||
SWITCH_JoystickGetDeviceInstanceID(int device_index)
|
||||
{
|
||||
return device_index;
|
||||
}
|
||||
|
@ -103,8 +126,8 @@ SDL_JoystickID SDL_SYS_GetInstanceIdOfDeviceIndex(int device_index)
|
|||
This should fill the nbuttons and naxes fields of the joystick structure.
|
||||
It returns 0, or -1 if there is an error.
|
||||
*/
|
||||
int
|
||||
SDL_SYS_JoystickOpen(SDL_Joystick *joystick, int device_index)
|
||||
static int
|
||||
SWITCH_JoystickOpen(SDL_Joystick *joystick, int device_index)
|
||||
{
|
||||
joystick->nbuttons = sizeof(pad_mapping) / sizeof(*pad_mapping);
|
||||
joystick->naxes = 4;
|
||||
|
@ -114,10 +137,11 @@ SDL_SYS_JoystickOpen(SDL_Joystick *joystick, int device_index)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* Function to determine if this joystick is attached to the system right now */
|
||||
SDL_bool SDL_SYS_JoystickAttached(SDL_Joystick *joystick)
|
||||
static int
|
||||
SWITCH_JoystickRumble(SDL_Joystick * joystick, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble, Uint32 duration_ms)
|
||||
{
|
||||
return SDL_TRUE;
|
||||
// TODO
|
||||
return SDL_Unsupported();
|
||||
}
|
||||
|
||||
/* Function to update the state of a joystick - called as a device poll.
|
||||
|
@ -125,8 +149,8 @@ SDL_bool SDL_SYS_JoystickAttached(SDL_Joystick *joystick)
|
|||
* but instead should call SDL_PrivateJoystick*() to deliver events
|
||||
* and update joystick device state.
|
||||
*/
|
||||
void
|
||||
SDL_SYS_JoystickUpdate(SDL_Joystick *joystick)
|
||||
static void
|
||||
SWITCH_JoystickUpdate(SDL_Joystick *joystick)
|
||||
{
|
||||
u64 changed;
|
||||
static JoystickState pad_old[JOYSTICK_COUNT];
|
||||
|
@ -165,45 +189,42 @@ SDL_SYS_JoystickUpdate(SDL_Joystick *joystick)
|
|||
for (int i = 0; i < joystick->nbuttons; i++) {
|
||||
if (changed & pad_mapping[i]) {
|
||||
SDL_PrivateJoystickButton(
|
||||
joystick, (Uint8) i,
|
||||
(Uint8) ((pad[index].buttons & pad_mapping[i]) ? SDL_PRESSED : SDL_RELEASED));
|
||||
joystick, (Uint8) i,
|
||||
(Uint8) ((pad[index].buttons & pad_mapping[i]) ? SDL_PRESSED : SDL_RELEASED));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Function to close a joystick after use */
|
||||
void
|
||||
SDL_SYS_JoystickClose(SDL_Joystick *joystick)
|
||||
static void
|
||||
SWITCH_JoystickClose(SDL_Joystick *joystick)
|
||||
{
|
||||
}
|
||||
|
||||
/* Function to perform any system-specific joystick related cleanup */
|
||||
void
|
||||
SDL_SYS_JoystickQuit(void)
|
||||
static void
|
||||
SWITCH_JoystickQuit(void)
|
||||
{
|
||||
}
|
||||
|
||||
SDL_JoystickGUID SDL_SYS_JoystickGetDeviceGUID(int device_index)
|
||||
SDL_JoystickDriver SDL_SWITCH_JoystickDriver =
|
||||
{
|
||||
SDL_JoystickGUID guid;
|
||||
/* the GUID is just the first 16 chars of the name for now */
|
||||
const char *name = SDL_SYS_JoystickNameForDeviceIndex(device_index);
|
||||
SDL_zero(guid);
|
||||
SDL_memcpy(&guid, name, SDL_min(sizeof(guid), SDL_strlen(name)));
|
||||
return guid;
|
||||
}
|
||||
|
||||
SDL_JoystickGUID SDL_SYS_JoystickGetGUID(SDL_Joystick *joystick)
|
||||
{
|
||||
SDL_JoystickGUID guid;
|
||||
/* the GUID is just the first 16 chars of the name for now */
|
||||
const char *name = joystick->name;
|
||||
SDL_zero(guid);
|
||||
SDL_memcpy(&guid, name, SDL_min(sizeof(guid), SDL_strlen(name)));
|
||||
return guid;
|
||||
}
|
||||
SWITCH_JoystickInit,
|
||||
SWITCH_JoystickGetCount,
|
||||
SWITCH_JoystickDetect,
|
||||
SWITCH_JoystickGetDeviceName,
|
||||
SWITCH_JoystickGetDevicePlayerIndex,
|
||||
//SWITCH_JoystickSetDevicePlayerIndex,
|
||||
SWITCH_JoystickGetDeviceGUID,
|
||||
SWITCH_JoystickGetDeviceInstanceID,
|
||||
SWITCH_JoystickOpen,
|
||||
SWITCH_JoystickRumble,
|
||||
SWITCH_JoystickUpdate,
|
||||
SWITCH_JoystickClose,
|
||||
SWITCH_JoystickQuit,
|
||||
};
|
||||
|
||||
#endif /* SDL_JOYSTICK_SWITCH */
|
||||
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
||||
/* vi: set ts=4 sw=4 expandtab: */
|
|
@ -49,7 +49,7 @@ TouchState touchState_old;
|
|||
void
|
||||
SWITCH_InitTouch(void)
|
||||
{
|
||||
SDL_AddTouch((SDL_TouchID) 0, "Switch");
|
||||
SDL_AddTouch((SDL_TouchID) 0, SDL_TOUCH_DEVICE_DIRECT, "Switch");
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in New Issue