summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/hle/service/hid/controllers/npad.cpp13
-rw-r--r--src/yuzu/configuration/config.cpp3
2 files changed, 15 insertions, 1 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;
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp
index 5c8b02fbe..545cafca9 100644
--- a/src/yuzu/configuration/config.cpp
+++ b/src/yuzu/configuration/config.cpp
@@ -280,7 +280,8 @@ void Config::ReadPlayerValue(std::size_t player_index) {
280 } 280 }
281 } else { 281 } else {
282 player.connected = 282 player.connected =
283 ReadSetting(QStringLiteral("%1connected").arg(player_prefix), false).toBool(); 283 ReadSetting(QStringLiteral("%1connected").arg(player_prefix), player_index == 0)
284 .toBool();
284 285
285 player.controller_type = static_cast<Settings::ControllerType>( 286 player.controller_type = static_cast<Settings::ControllerType>(
286 qt_config 287 qt_config