diff --git a/Makefile.common b/Makefile.common index df5f5a5c2e..47210b5ac9 100644 --- a/Makefile.common +++ b/Makefile.common @@ -429,6 +429,19 @@ ifeq ($(HAVE_LIBUSB), 1) HAVE_HID = 1 endif +ifeq ($(HAVE_IOHIDMANAGER), 1) + DEFINES += -DHAVE_IOHIDMANAGER + OBJ += input/drivers_hid/iohidmanager_hid.o + HAVE_HID = 1 + LIBS += -framework IOKit + JOYCONFIG_LIBS += -framework IOKit +endif + +ifeq ($(HAVE_CORELOCATION), 1) + DEFINES += -DHAVE_CORELOCATION + LIBS += -framework CoreLocation +endif + ifeq ($(HAVE_HID), 1) DEFINES += -DHAVE_HID OBJ += input/connect/joypad_connection.o \ @@ -741,6 +754,13 @@ ifneq ($(findstring Win32,$(OS)),) frontend/drivers/platform_win32.o endif +ifeq ($(HAVE_AVFOUNDATION), 1) + DEFINES += -DHAVE_AVFOUNDATION + LIBS += -framework AVFoundation + LIBS += -framework CoreVideo + LIBS += -framework CoreMedia +endif + # Record ifeq ($(HAVE_FFMPEG), 1) diff --git a/apple/common/apple_cocoa_common.m b/apple/common/apple_cocoa_common.m index 6f37e36806..ad6d4ad512 100644 --- a/apple/common/apple_cocoa_common.m +++ b/apple/common/apple_cocoa_common.m @@ -308,6 +308,7 @@ void *glkitview_init(void); #endif #ifdef HAVE_AVFOUNDATION +#include "../../gfx/drivers/gl_common.h" #ifndef GL_BGRA #define GL_BGRA 0x80E1 diff --git a/input/drivers_hid/iohidmanager_hid.c b/input/drivers_hid/iohidmanager_hid.c index d433ebfb65..bf301c5416 100644 --- a/input/drivers_hid/iohidmanager_hid.c +++ b/input/drivers_hid/iohidmanager_hid.c @@ -18,6 +18,7 @@ #include #include "../connect/joypad_connection.h" #include "../drivers/cocoa_input.h" +#include "../input_autodetect.h" #include "../input_hid_driver.h" typedef struct apple_hid diff --git a/qb/config.libs.sh b/qb/config.libs.sh index 748a0e9841..422513e32c 100644 --- a/qb/config.libs.sh +++ b/qb/config.libs.sh @@ -206,6 +206,7 @@ check_lib CORETEXT "-framework CoreText" CTFontCreateWithName check_lib COCOA "-framework AppKit" NSApplicationMain check_lib AVFOUNDATION "-framework AVFoundation" check_lib CORELOCATION "-framework CoreLocation" +check_lib IOHIDMANAGER "-framework IOKit" IOHIDManagerCreate fi check_pkgconf SDL sdl 1.2.10 @@ -379,6 +380,6 @@ add_define_make OS "$OS" # Creates config.mk and config.h. add_define_make GLOBAL_CONFIG_DIR "$GLOBAL_CONFIG_DIR" -VARS="RGUI LAKKA GLUI XMB ALSA OSS OSS_BSD OSS_LIB AL RSOUND ROAR JACK COREAUDIO CORETEXT PULSE SDL SDL2 D3D9 DINPUT LIBUSB XINPUT DSOUND XAUDIO OPENGL EXYNOS DISPMANX SUNXI OMAP GLES GLES3 VG EGL KMS GBM DRM DYLIB GETOPT_LONG THREADS CG LIBXML2 ZLIB DYNAMIC FFMPEG AVCODEC AVFORMAT AVUTIL SWSCALE FREETYPE XKBCOMMON XVIDEO X11 XEXT XF86VM XINERAMA WAYLAND MALI_FBDEV VIVANTE_FBDEV NETWORKING NETPLAY NETWORK_CMD STDIN_CMD COMMAND SOCKET_LEGACY FBO STRL STRCASESTR MMAP PYTHON FFMPEG_ALLOC_CONTEXT3 FFMPEG_AVCODEC_OPEN2 FFMPEG_AVIO_OPEN FFMPEG_AVFORMAT_WRITE_HEADER FFMPEG_AVFORMAT_NEW_STREAM FFMPEG_AVCODEC_ENCODE_AUDIO2 FFMPEG_AVCODEC_ENCODE_VIDEO2 BSV_MOVIE VIDEOCORE NEON FLOATHARD FLOATSOFTFP UDEV V4L2 AV_CHANNEL_LAYOUT 7ZIP PARPORT COCOA AVFOUNDATION CORELOCATION" +VARS="RGUI LAKKA GLUI XMB ALSA OSS OSS_BSD OSS_LIB AL RSOUND ROAR JACK COREAUDIO CORETEXT PULSE SDL SDL2 D3D9 DINPUT LIBUSB XINPUT DSOUND XAUDIO OPENGL EXYNOS DISPMANX SUNXI OMAP GLES GLES3 VG EGL KMS GBM DRM DYLIB GETOPT_LONG THREADS CG LIBXML2 ZLIB DYNAMIC FFMPEG AVCODEC AVFORMAT AVUTIL SWSCALE FREETYPE XKBCOMMON XVIDEO X11 XEXT XF86VM XINERAMA WAYLAND MALI_FBDEV VIVANTE_FBDEV NETWORKING NETPLAY NETWORK_CMD STDIN_CMD COMMAND SOCKET_LEGACY FBO STRL STRCASESTR MMAP PYTHON FFMPEG_ALLOC_CONTEXT3 FFMPEG_AVCODEC_OPEN2 FFMPEG_AVIO_OPEN FFMPEG_AVFORMAT_WRITE_HEADER FFMPEG_AVFORMAT_NEW_STREAM FFMPEG_AVCODEC_ENCODE_AUDIO2 FFMPEG_AVCODEC_ENCODE_VIDEO2 BSV_MOVIE VIDEOCORE NEON FLOATHARD FLOATSOFTFP UDEV V4L2 AV_CHANNEL_LAYOUT 7ZIP PARPORT COCOA AVFOUNDATION CORELOCATION IOHIDMANAGER" create_config_make config.mk $VARS create_config_header config.h $VARS diff --git a/tools/retroarch-joyconfig-griffin.c b/tools/retroarch-joyconfig-griffin.c index cf36c91e77..dd0001fb8a 100644 --- a/tools/retroarch-joyconfig-griffin.c +++ b/tools/retroarch-joyconfig-griffin.c @@ -64,6 +64,17 @@ #include "../input/connect/joypad_connection.c" #endif +#if defined(__APPLE__) && defined(HAVE_IOHIDMANAGER) +#include "../input/drivers_hid/iohidmanager_hid.c" +#endif + +#ifdef HAVE_HID +#include "../input/connect/joypad_connection.c" +#include "../input/connect/connect_ps3.c" +#include "../input/connect/connect_ps4.c" +#include "../input/connect/connect_wii.c" +#endif + #include "../input/drivers_joypad/hid_joypad.c" #include "../input/drivers_joypad/null_joypad.c"