diff options
| author | 2020-09-27 11:40:15 -0400 | |
|---|---|---|
| committer | 2020-11-15 23:33:19 -0500 | |
| commit | c0c4ed0d3bff9670bfaab6a8de304e37ec9e0896 (patch) | |
| tree | 8de86050d87c1d699379c52357c7433718ffc35b /src/core | |
| parent | applets/controller: Auto accept a valid single player configuration (diff) | |
| download | yuzu-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.cpp | 13 |
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; |