From ee1b5c53406a78d7058e19791b74e1d65702bdc9 Mon Sep 17 00:00:00 2001 From: DH Date: Tue, 4 Mar 2025 04:55:59 +0300 Subject: [PATCH] hid: add list_connected_devices getter --- rpcs3/rpcs3/Input/hid_pad_handler.cpp | 19 +++++++++++++++++++ rpcs3/rpcs3/Input/hid_pad_handler.h | 1 + 2 files changed, 20 insertions(+) diff --git a/rpcs3/rpcs3/Input/hid_pad_handler.cpp b/rpcs3/rpcs3/Input/hid_pad_handler.cpp index 291728fbc..45c1f3272 100644 --- a/rpcs3/rpcs3/Input/hid_pad_handler.cpp +++ b/rpcs3/rpcs3/Input/hid_pad_handler.cpp @@ -180,6 +180,25 @@ std::vector hid_pad_handler::list_devices() return pads_list; } +template +std::vector hid_pad_handler::list_connected_devices() +{ + std::vector pads_list; + + if (!Init()) + return pads_list; + + for (const auto& controller : m_controllers) // Controllers 1-n in GUI + { + if (controller.second != nullptr && controller.second->hidDevice != nullptr) + { + pads_list.emplace_back(controller.first, false); + } + } + + return pads_list; +} + template void hid_pad_handler::enumerate_devices() { diff --git a/rpcs3/rpcs3/Input/hid_pad_handler.h b/rpcs3/rpcs3/Input/hid_pad_handler.h index 36e735821..ea11c1bce 100644 --- a/rpcs3/rpcs3/Input/hid_pad_handler.h +++ b/rpcs3/rpcs3/Input/hid_pad_handler.h @@ -86,6 +86,7 @@ public: bool Init() override; void process() override; std::vector list_devices() override; + std::vector list_connected_devices(); protected: enum class DataStatus