From 0248614add99c1df1bc7c9ff97091f678ff75aca Mon Sep 17 00:00:00 2001 From: Ameer Date: Sun, 21 Jun 2020 12:36:28 -0400 Subject: GC Adapter Implementation --- src/input_common/main.cpp | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'src/input_common/main.cpp') diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp index 95e351e24..be13129af 100644 --- a/src/input_common/main.cpp +++ b/src/input_common/main.cpp @@ -4,8 +4,11 @@ #include #include +#include +#include #include "common/param_package.h" #include "input_common/analog_from_button.h" +#include "input_common/gcadapter/gc_poller.h" #include "input_common/keyboard.h" #include "input_common/main.h" #include "input_common/motion_emu.h" @@ -22,8 +25,15 @@ static std::shared_ptr motion_emu; static std::unique_ptr sdl; #endif static std::unique_ptr udp; +static std::shared_ptr gcbuttons; +static std::shared_ptr gcanalog; void Init() { + gcbuttons = std::make_shared(); + Input::RegisterFactory("gcpad", gcbuttons); + gcanalog = std::make_shared(); + Input::RegisterFactory("gcpad", gcanalog); + keyboard = std::make_shared(); Input::RegisterFactory("keyboard", keyboard); Input::RegisterFactory("analog_from_button", @@ -34,8 +44,10 @@ void Init() { #ifdef HAVE_SDL2 sdl = SDL::Init(); #endif + /* udp = CemuhookUDP::Init(); + */ } void Shutdown() { @@ -48,6 +60,8 @@ void Shutdown() { sdl.reset(); #endif udp.reset(); + Input::UnregisterFactory("gcpad"); + gcbuttons.reset(); } Keyboard* GetKeyboard() { @@ -58,6 +72,14 @@ MotionEmu* GetMotionEmu() { return motion_emu.get(); } +GCButtonFactory* GetGCButtons() { + return gcbuttons.get(); +} + +GCAnalogFactory* GetGCAnalogs() { + return gcanalog.get(); +} + std::string GenerateKeyboardParam(int key_code) { Common::ParamPackage param{ {"engine", "keyboard"}, @@ -88,7 +110,6 @@ std::vector> GetPollers(DeviceType type) { #ifdef HAVE_SDL2 pollers = sdl->GetPollers(type); #endif - return pollers; } -- cgit v1.2.3