From a00dc2f53fa5cc8c4c3e3341a69ed79c298c68d6 Mon Sep 17 00:00:00 2001 From: zsccat Date: Thu, 4 Jun 2020 14:07:23 +0000 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E6=96=87=E4=BB=B6=E8=87=B3?= =?UTF-8?q?=20'source-code/source/plugins/TLAC'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add generic usb controller support. --- source-code/source/plugins/TLAC/dllmain.cpp | 26 +++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/source-code/source/plugins/TLAC/dllmain.cpp b/source-code/source/plugins/TLAC/dllmain.cpp index 8fcf92f..8b60ed5 100644 --- a/source-code/source/plugins/TLAC/dllmain.cpp +++ b/source-code/source/plugins/TLAC/dllmain.cpp @@ -11,6 +11,7 @@ #include "Input/Keyboard/Keyboard.h" #include "Input/DirectInput/DirectInput.h" #include "Input/DirectInput/Ds4/DualShock4.h" +#include "Input/DirectInput/GenericUsb/GenericUsbInput.h" #include "Components/ComponentsManager.h" #include #include @@ -74,6 +75,12 @@ namespace TLAC if (Input::DualShock4::TryInitializeInstance()) printf("[TLAC] UpdateTick(): DualShock4 connected and initialized\n"); } + + if (!Input::GenericUsbInput::InstanceInitialized()) + { + if (Input::GenericUsbInput::TryInitializeInstance()) + printf("[TLAC] UpdateTick(): GenericUsbInput connected and initialized\n"); + } } ComponentsManager.Update(); @@ -96,6 +103,15 @@ namespace TLAC } } + if (Input::GenericUsbInput::GetInstance() != nullptr) + { + if (!Input::GenericUsbInput::GetInstance()->PollInput()) + { + Input::GenericUsbInput::DeleteInstance(); + printf("[TLAC] UpdateTick(): GenericUsbInput connection lost\n"); + } + } + ComponentsManager.UpdateInput(); } @@ -115,6 +131,15 @@ namespace TLAC printf("[TLAC] UpdateTick(): DualShock4 connection lost\n"); } } + + if (Input::GenericUsbInput::GetInstance() != nullptr) + { + if (!Input::GenericUsbInput::GetInstance()->PollInput()) + { + Input::GenericUsbInput::DeleteInstance(); + printf("[TLAC] UpdateTick(): GenericUsbInput connection lost\n"); + } + } } if (HasWindowFocus && !HadWindowFocus) @@ -232,6 +257,7 @@ namespace TLAC delete Input::Keyboard::GetInstance(); delete Input::Mouse::GetInstance(); delete Input::DualShock4::GetInstance(); + delete Input::GenericUsbInput::GetInstance(); Input::DisposeDirectInput();