diff options
Diffstat (limited to 'src/yuzu/configuration')
| -rw-r--r-- | src/yuzu/configuration/configure_input_player.cpp | 131 | 
1 files changed, 61 insertions, 70 deletions
| diff --git a/src/yuzu/configuration/configure_input_player.cpp b/src/yuzu/configuration/configure_input_player.cpp index 34099bc83..8a8be8e40 100644 --- a/src/yuzu/configuration/configure_input_player.cpp +++ b/src/yuzu/configuration/configure_input_player.cpp @@ -907,88 +907,79 @@ void ConfigureInputPlayer::UpdateUI() {  }  void ConfigureInputPlayer::SetConnectableControllers() { -    const auto add_controllers = [this](bool enable_all, -                                        Core::HID::NpadStyleTag npad_style_set = {}) { -        index_controller_type_pairs.clear(); -        ui->comboControllerType->clear(); - -        if (enable_all || npad_style_set.fullkey == 1) { -            index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), -                                                     Core::HID::NpadStyleIndex::ProController); -            ui->comboControllerType->addItem(tr("Pro Controller")); -        } - -        if (enable_all || npad_style_set.joycon_dual == 1) { -            index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), -                                                     Core::HID::NpadStyleIndex::JoyconDual); -            ui->comboControllerType->addItem(tr("Dual Joycons")); -        } +    Core::HID::NpadStyleTag npad_style_set = hid_core.GetSupportedStyleTag(); +    index_controller_type_pairs.clear(); +    ui->comboControllerType->clear(); -        if (enable_all || npad_style_set.joycon_left == 1) { -            index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), -                                                     Core::HID::NpadStyleIndex::JoyconLeft); -            ui->comboControllerType->addItem(tr("Left Joycon")); -        } +    if (npad_style_set.fullkey == 1) { +        index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), +                                                 Core::HID::NpadStyleIndex::ProController); +        ui->comboControllerType->addItem(tr("Pro Controller")); +    } -        if (enable_all || npad_style_set.joycon_right == 1) { -            index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), -                                                     Core::HID::NpadStyleIndex::JoyconRight); -            ui->comboControllerType->addItem(tr("Right Joycon")); -        } +    if (npad_style_set.joycon_dual == 1) { +        index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), +                                                 Core::HID::NpadStyleIndex::JoyconDual); +        ui->comboControllerType->addItem(tr("Dual Joycons")); +    } -        if (player_index == 0 && (enable_all || npad_style_set.handheld == 1)) { -            index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), -                                                     Core::HID::NpadStyleIndex::Handheld); -            ui->comboControllerType->addItem(tr("Handheld")); -        } +    if (npad_style_set.joycon_left == 1) { +        index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), +                                                 Core::HID::NpadStyleIndex::JoyconLeft); +        ui->comboControllerType->addItem(tr("Left Joycon")); +    } -        if (enable_all || npad_style_set.gamecube == 1) { -            index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), -                                                     Core::HID::NpadStyleIndex::GameCube); -            ui->comboControllerType->addItem(tr("GameCube Controller")); -        } +    if (npad_style_set.joycon_right == 1) { +        index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), +                                                 Core::HID::NpadStyleIndex::JoyconRight); +        ui->comboControllerType->addItem(tr("Right Joycon")); +    } -        // Disable all unsupported controllers -        if (!Settings::values.enable_all_controllers) { -            return; -        } -        if (enable_all || npad_style_set.palma == 1) { -            index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), -                                                     Core::HID::NpadStyleIndex::Pokeball); -            ui->comboControllerType->addItem(tr("Poke Ball Plus")); -        } +    if (player_index == 0 && npad_style_set.handheld == 1) { +        index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), +                                                 Core::HID::NpadStyleIndex::Handheld); +        ui->comboControllerType->addItem(tr("Handheld")); +    } -        if (enable_all || npad_style_set.lark == 1) { -            index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), -                                                     Core::HID::NpadStyleIndex::NES); -            ui->comboControllerType->addItem(tr("NES Controller")); -        } +    if (npad_style_set.gamecube == 1) { +        index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), +                                                 Core::HID::NpadStyleIndex::GameCube); +        ui->comboControllerType->addItem(tr("GameCube Controller")); +    } -        if (enable_all || npad_style_set.lucia == 1) { -            index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), -                                                     Core::HID::NpadStyleIndex::SNES); -            ui->comboControllerType->addItem(tr("SNES Controller")); -        } +    // Disable all unsupported controllers +    if (!Settings::values.enable_all_controllers) { +        return; +    } +    if (npad_style_set.palma == 1) { +        index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), +                                                 Core::HID::NpadStyleIndex::Pokeball); +        ui->comboControllerType->addItem(tr("Poke Ball Plus")); +    } -        if (enable_all || npad_style_set.lagoon == 1) { -            index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), -                                                     Core::HID::NpadStyleIndex::N64); -            ui->comboControllerType->addItem(tr("N64 Controller")); -        } +    if (npad_style_set.lark == 1) { +        index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), +                                                 Core::HID::NpadStyleIndex::NES); +        ui->comboControllerType->addItem(tr("NES Controller")); +    } -        if (enable_all || npad_style_set.lager == 1) { -            index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), -                                                     Core::HID::NpadStyleIndex::SegaGenesis); -            ui->comboControllerType->addItem(tr("Sega Genesis")); -        } -    }; +    if (npad_style_set.lucia == 1) { +        index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), +                                                 Core::HID::NpadStyleIndex::SNES); +        ui->comboControllerType->addItem(tr("SNES Controller")); +    } -    if (!is_powered_on) { -        add_controllers(true); -        return; +    if (npad_style_set.lagoon == 1) { +        index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), +                                                 Core::HID::NpadStyleIndex::N64); +        ui->comboControllerType->addItem(tr("N64 Controller"));      } -    add_controllers(false, hid_core.GetSupportedStyleTag()); +    if (npad_style_set.lager == 1) { +        index_controller_type_pairs.emplace_back(ui->comboControllerType->count(), +                                                 Core::HID::NpadStyleIndex::SegaGenesis); +        ui->comboControllerType->addItem(tr("Sega Genesis")); +    }  }  Core::HID::NpadStyleIndex ConfigureInputPlayer::GetControllerTypeFromIndex(int index) const { | 
