summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorGravatar Morph2020-09-27 11:40:15 -0400
committerGravatar Morph2020-11-15 23:33:19 -0500
commitc0c4ed0d3bff9670bfaab6a8de304e37ec9e0896 (patch)
tree8de86050d87c1d699379c52357c7433718ffc35b /src/core
parentapplets/controller: Auto accept a valid single player configuration (diff)
downloadyuzu-c0c4ed0d3bff9670bfaab6a8de304e37ec9e0896.tar.gz
yuzu-c0c4ed0d3bff9670bfaab6a8de304e37ec9e0896.tar.xz
yuzu-c0c4ed0d3bff9670bfaab6a8de304e37ec9e0896.zip
controllers/npad: Connect a controller on init if none are connected
Diffstat (limited to 'src/core')
-rw-r--r--src/core/hle/service/hid/controllers/npad.cpp13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp
index e311bc18c..c4b26196a 100644
--- a/src/core/hle/service/hid/controllers/npad.cpp
+++ b/src/core/hle/service/hid/controllers/npad.cpp
@@ -224,6 +224,19 @@ void Controller_NPad::OnInit() {
224 player.connected}; 224 player.connected};
225 }); 225 });
226 226
227 // Connect the Player 1 or Handheld controller if none are connected.
228 if (std::none_of(connected_controllers.begin(), connected_controllers.end(),
229 [](const ControllerHolder& controller) { return controller.is_connected; })) {
230 const auto controller = MapSettingsTypeToNPad(Settings::values.players[0].controller_type);
231 if (controller == NPadControllerType::Handheld) {
232 Settings::values.players[HANDHELD_INDEX].connected = true;
233 connected_controllers[HANDHELD_INDEX] = {controller, true};
234 } else {
235 Settings::values.players[0].connected = true;
236 connected_controllers[0] = {controller, true};
237 }
238 }
239
227 // Account for handheld 240 // Account for handheld
228 if (connected_controllers[HANDHELD_INDEX].is_connected) { 241 if (connected_controllers[HANDHELD_INDEX].is_connected) {
229 connected_controllers[HANDHELD_INDEX].type = NPadControllerType::Handheld; 242 connected_controllers[HANDHELD_INDEX].type = NPadControllerType::Handheld;