diff options
| author | bunnei <bunneidev@gmail.com> | 2021-12-07 21:03:42 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-07 21:03:42 -0800 |
| commit | f6e8e61e3ef3bbac1f78e4bedf7383474da39adb (patch) | |
| tree | 4f19053fdabd34255f64d070853ad30c4815a58f /src/core/hid | |
| parent | 815189eaf31c6fdeb7983d03d17ba3685b61f806 (diff) | |
| parent | d6ae9c68f80792cf11f13ca2c81ac34ddf01dafa (diff) | |
Merge pull request #7521 from german77/dual_single_joycons
service/hid: Implement SetNpadJoyAssignmentMode
Diffstat (limited to 'src/core/hid')
| -rw-r--r-- | src/core/hid/hid_core.cpp | 10 | ||||
| -rw-r--r-- | src/core/hid/hid_core.h | 3 |
2 files changed, 13 insertions, 0 deletions
diff --git a/src/core/hid/hid_core.cpp b/src/core/hid/hid_core.cpp index 0c3eb5a62..a1c3bbb57 100644 --- a/src/core/hid/hid_core.cpp +++ b/src/core/hid/hid_core.cpp @@ -145,6 +145,16 @@ NpadIdType HIDCore::GetFirstNpadId() const { return NpadIdType::Player1; } +NpadIdType HIDCore::GetFirstDisconnectedNpadId() const { + for (std::size_t player_index = 0; player_index < available_controllers; ++player_index) { + const auto* const controller = GetEmulatedControllerByIndex(player_index); + if (!controller->IsConnected()) { + return controller->GetNpadIdType(); + } + } + return NpadIdType::Player1; +} + void HIDCore::EnableAllControllerConfiguration() { player_1->EnableConfiguration(); player_2->EnableConfiguration(); diff --git a/src/core/hid/hid_core.h b/src/core/hid/hid_core.h index 2fb0f7e19..837f7de49 100644 --- a/src/core/hid/hid_core.h +++ b/src/core/hid/hid_core.h @@ -45,6 +45,9 @@ public: /// Returns the first connected npad id NpadIdType GetFirstNpadId() const; + /// Returns the first disconnected npad id + NpadIdType GetFirstDisconnectedNpadId() const; + /// Sets all emulated controllers into configuring mode. void EnableAllControllerConfiguration(); |
