summaryrefslogtreecommitdiff
path: root/Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp
diff options
context:
space:
mode:
authorrlnilsen <47765059+rlnilsen@users.noreply.github.com>2019-09-06 17:09:30 +0200
committerrlnilsen <47765059+rlnilsen@users.noreply.github.com>2019-10-26 02:19:53 +0200
commit4cb3baba5cf360a02dff9d6af1a839a570c40999 (patch)
tree9870bc45e830f6954f8402603394e64abbb93fdf /Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp
parentf54faedd7624d156f1b05e620ecf5aae9acbb8d5 (diff)
Add support for motion controllers via the CemuHook controller input protocol.
This is done by: 1) Implementing said protocol in a new controller input class CemuHookUDPServer. 2) Adding functionality in the WiimoteEmu class for pushing that motion input to the emulated Wiimote and MotionPlus. 3) Suitably modifying the UI for configuring an Emulated Wii Remote.
Diffstat (limited to 'Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp')
-rw-r--r--Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp b/Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp
index bb5ccb3f0e..5f20fd475b 100644
--- a/Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp
+++ b/Source/Core/InputCommon/ControllerInterface/ControllerInterface.cpp
@@ -30,6 +30,9 @@
#ifdef CIFACE_USE_PIPES
#include "InputCommon/ControllerInterface/Pipes/Pipes.h"
#endif
+#ifdef CIFACE_USE_CEMUHOOKUDPSERVER
+#include "InputCommon/ControllerInterface/CemuHookUDPServer/CemuHookUDPServer.h"
+#endif
ControllerInterface g_controller_interface;
@@ -68,6 +71,9 @@ void ControllerInterface::Initialize(const WindowSystemInfo& wsi)
#ifdef CIFACE_USE_PIPES
// nothing needed
#endif
+#ifdef CIFACE_USE_CEMUHOOKUDPSERVER
+ ciface::CemuHookUDPServer::Init();
+#endif
RefreshDevices();
}
@@ -122,6 +128,9 @@ void ControllerInterface::RefreshDevices()
#ifdef CIFACE_USE_PIPES
ciface::Pipes::PopulateDevices();
#endif
+#ifdef CIFACE_USE_CEMUHOOKUDPSERVER
+ ciface::CemuHookUDPServer::PopulateDevices();
+#endif
m_is_populating_devices = false;
InvokeDevicesChangedCallbacks();
@@ -172,6 +181,9 @@ void ControllerInterface::Shutdown()
#ifdef CIFACE_USE_EVDEV
ciface::evdev::Shutdown();
#endif
+#ifdef CIFACE_USE_CEMUHOOKUDPSERVER
+ ciface::CemuHookUDPServer::DeInit();
+#endif
}
void ControllerInterface::AddDevice(std::shared_ptr<ciface::Core::Device> device)