diff options
| -rw-r--r-- | src/yuzu/configuration/configure_input_player.cpp | 34 | ||||
| -rw-r--r-- | src/yuzu/configuration/configure_input_player.h | 5 |
2 files changed, 19 insertions, 20 deletions
diff --git a/src/yuzu/configuration/configure_input_player.cpp b/src/yuzu/configuration/configure_input_player.cpp index bff90a82e..d3980eb49 100644 --- a/src/yuzu/configuration/configure_input_player.cpp +++ b/src/yuzu/configuration/configure_input_player.cpp | |||
| @@ -238,12 +238,11 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i | |||
| 238 | setFocusPolicy(Qt::ClickFocus); | 238 | setFocusPolicy(Qt::ClickFocus); |
| 239 | 239 | ||
| 240 | button_map = { | 240 | button_map = { |
| 241 | ui->buttonA, ui->buttonB, ui->buttonX, ui->buttonY, | 241 | ui->buttonA, ui->buttonB, ui->buttonX, ui->buttonY, |
| 242 | ui->buttonLStick, ui->buttonRStick, ui->buttonL, ui->buttonR, | 242 | ui->buttonLStick, ui->buttonRStick, ui->buttonL, ui->buttonR, |
| 243 | ui->buttonZL, ui->buttonZR, ui->buttonPlus, ui->buttonMinus, | 243 | ui->buttonZL, ui->buttonZR, ui->buttonPlus, ui->buttonMinus, |
| 244 | ui->buttonDpadLeft, ui->buttonDpadUp, ui->buttonDpadRight, ui->buttonDpadDown, | 244 | ui->buttonDpadLeft, ui->buttonDpadUp, ui->buttonDpadRight, ui->buttonDpadDown, |
| 245 | ui->buttonSL, ui->buttonSR, ui->buttonHome, ui->buttonScreenshot, | 245 | ui->buttonSL, ui->buttonSR, ui->buttonHome, ui->buttonScreenshot, |
| 246 | ui->buttonLStickMod, ui->buttonRStickMod, | ||
| 247 | }; | 246 | }; |
| 248 | 247 | ||
| 249 | analog_map_buttons = {{ | 248 | analog_map_buttons = {{ |
| @@ -264,7 +263,6 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i | |||
| 264 | analog_map_deadzone_label = {ui->labelLStickDeadzone, ui->labelRStickDeadzone}; | 263 | analog_map_deadzone_label = {ui->labelLStickDeadzone, ui->labelRStickDeadzone}; |
| 265 | analog_map_deadzone_slider = {ui->sliderLStickDeadzone, ui->sliderRStickDeadzone}; | 264 | analog_map_deadzone_slider = {ui->sliderLStickDeadzone, ui->sliderRStickDeadzone}; |
| 266 | analog_map_modifier_groupbox = {ui->buttonLStickModGroup, ui->buttonRStickModGroup}; | 265 | analog_map_modifier_groupbox = {ui->buttonLStickModGroup, ui->buttonRStickModGroup}; |
| 267 | analog_map_modifier_button = {ui->buttonLStickMod, ui->buttonRStickMod}; | ||
| 268 | analog_map_modifier_label = {ui->labelLStickModifierRange, ui->labelRStickModifierRange}; | 266 | analog_map_modifier_label = {ui->labelLStickModifierRange, ui->labelRStickModifierRange}; |
| 269 | analog_map_modifier_slider = {ui->sliderLStickModifierRange, ui->sliderRStickModifierRange}; | 267 | analog_map_modifier_slider = {ui->sliderLStickModifierRange, ui->sliderRStickModifierRange}; |
| 270 | analog_map_range_groupbox = {ui->buttonLStickRangeGroup, ui->buttonRStickRangeGroup}; | 268 | analog_map_range_groupbox = {ui->buttonLStickRangeGroup, ui->buttonRStickRangeGroup}; |
| @@ -327,15 +325,6 @@ ConfigureInputPlayer::ConfigureInputPlayer(QWidget* parent, std::size_t player_i | |||
| 327 | }); | 325 | }); |
| 328 | } | 326 | } |
| 329 | 327 | ||
| 330 | connect(analog_map_modifier_button[analog_id], &QPushButton::clicked, [=, this] { | ||
| 331 | HandleClick( | ||
| 332 | analog_map_modifier_button[analog_id], | ||
| 333 | [=, this](const Common::ParamPackage& params) { | ||
| 334 | SetAnalogParam(params, analogs_param[analog_id], "modifier"); | ||
| 335 | }, | ||
| 336 | InputCommon::Polling::DeviceType::AnalogPreferred); | ||
| 337 | }); | ||
| 338 | |||
| 339 | connect(analog_map_range_spinbox[analog_id], qOverload<int>(&QSpinBox::valueChanged), | 328 | connect(analog_map_range_spinbox[analog_id], qOverload<int>(&QSpinBox::valueChanged), |
| 340 | [=, this] { | 329 | [=, this] { |
| 341 | const auto spinbox_value = analog_map_range_spinbox[analog_id]->value(); | 330 | const auto spinbox_value = analog_map_range_spinbox[analog_id]->value(); |
| @@ -538,6 +527,13 @@ void ConfigureInputPlayer::RestoreDefaults() { | |||
| 538 | buttons_param[button_id] = Common::ParamPackage{ | 527 | buttons_param[button_id] = Common::ParamPackage{ |
| 539 | InputCommon::GenerateKeyboardParam(Config::default_buttons[button_id])}; | 528 | InputCommon::GenerateKeyboardParam(Config::default_buttons[button_id])}; |
| 540 | } | 529 | } |
| 530 | |||
| 531 | // Reset Modifier Buttons | ||
| 532 | lstick_mod = | ||
| 533 | Common::ParamPackage(InputCommon::GenerateKeyboardParam(Config::default_lstick_mod)); | ||
| 534 | rstick_mod = | ||
| 535 | Common::ParamPackage(InputCommon::GenerateKeyboardParam(Config::default_rstick_mod)); | ||
| 536 | |||
| 541 | // Reset Analogs | 537 | // Reset Analogs |
| 542 | for (int analog_id = 0; analog_id < Settings::NativeAnalog::NumAnalogs; ++analog_id) { | 538 | for (int analog_id = 0; analog_id < Settings::NativeAnalog::NumAnalogs; ++analog_id) { |
| 543 | for (int sub_button_id = 0; sub_button_id < ANALOG_SUB_BUTTONS_NUM; ++sub_button_id) { | 539 | for (int sub_button_id = 0; sub_button_id < ANALOG_SUB_BUTTONS_NUM; ++sub_button_id) { |
| @@ -561,6 +557,9 @@ void ConfigureInputPlayer::ClearAll() { | |||
| 561 | buttons_param[button_id].Clear(); | 557 | buttons_param[button_id].Clear(); |
| 562 | } | 558 | } |
| 563 | 559 | ||
| 560 | lstick_mod.Clear(); | ||
| 561 | rstick_mod.Clear(); | ||
| 562 | |||
| 564 | for (int analog_id = 0; analog_id < Settings::NativeAnalog::NumAnalogs; ++analog_id) { | 563 | for (int analog_id = 0; analog_id < Settings::NativeAnalog::NumAnalogs; ++analog_id) { |
| 565 | for (int sub_button_id = 0; sub_button_id < ANALOG_SUB_BUTTONS_NUM; ++sub_button_id) { | 564 | for (int sub_button_id = 0; sub_button_id < ANALOG_SUB_BUTTONS_NUM; ++sub_button_id) { |
| 566 | const auto* const analog_button = analog_map_buttons[analog_id][sub_button_id]; | 565 | const auto* const analog_button = analog_map_buttons[analog_id][sub_button_id]; |
| @@ -581,6 +580,9 @@ void ConfigureInputPlayer::UpdateUI() { | |||
| 581 | button_map[button]->setText(ButtonToText(buttons_param[button])); | 580 | button_map[button]->setText(ButtonToText(buttons_param[button])); |
| 582 | } | 581 | } |
| 583 | 582 | ||
| 583 | ui->buttonLStickMod->setText(ButtonToText(lstick_mod)); | ||
| 584 | ui->buttonRStickMod->setText(ButtonToText(rstick_mod)); | ||
| 585 | |||
| 584 | for (int analog_id = 0; analog_id < Settings::NativeAnalog::NumAnalogs; ++analog_id) { | 586 | for (int analog_id = 0; analog_id < Settings::NativeAnalog::NumAnalogs; ++analog_id) { |
| 585 | for (int sub_button_id = 0; sub_button_id < ANALOG_SUB_BUTTONS_NUM; ++sub_button_id) { | 587 | for (int sub_button_id = 0; sub_button_id < ANALOG_SUB_BUTTONS_NUM; ++sub_button_id) { |
| 586 | auto* const analog_button = analog_map_buttons[analog_id][sub_button_id]; | 588 | auto* const analog_button = analog_map_buttons[analog_id][sub_button_id]; |
diff --git a/src/yuzu/configuration/configure_input_player.h b/src/yuzu/configuration/configure_input_player.h index ca189019d..25d4cde5e 100644 --- a/src/yuzu/configuration/configure_input_player.h +++ b/src/yuzu/configuration/configure_input_player.h | |||
| @@ -124,11 +124,9 @@ private: | |||
| 124 | std::array<Common::ParamPackage, Settings::NativeAnalog::NumAnalogs> analogs_param; | 124 | std::array<Common::ParamPackage, Settings::NativeAnalog::NumAnalogs> analogs_param; |
| 125 | 125 | ||
| 126 | static constexpr int ANALOG_SUB_BUTTONS_NUM = 4; | 126 | static constexpr int ANALOG_SUB_BUTTONS_NUM = 4; |
| 127 | // Adds room for two extra push buttons LStick Modifier and RStick Modifier. | ||
| 128 | static constexpr int BUTTON_MAP_COUNT = Settings::NativeButton::NumButtons + 2; | ||
| 129 | 127 | ||
| 130 | /// Each button input is represented by a QPushButton. | 128 | /// Each button input is represented by a QPushButton. |
| 131 | std::array<QPushButton*, BUTTON_MAP_COUNT> button_map; | 129 | std::array<QPushButton*, Settings::NativeButton::NumButtons> button_map; |
| 132 | /// Extra buttons for the modifiers. | 130 | /// Extra buttons for the modifiers. |
| 133 | Common::ParamPackage lstick_mod; | 131 | Common::ParamPackage lstick_mod; |
| 134 | Common::ParamPackage rstick_mod; | 132 | Common::ParamPackage rstick_mod; |
| @@ -141,7 +139,6 @@ private: | |||
| 141 | std::array<QLabel*, Settings::NativeAnalog::NumAnalogs> analog_map_deadzone_label; | 139 | std::array<QLabel*, Settings::NativeAnalog::NumAnalogs> analog_map_deadzone_label; |
| 142 | std::array<QSlider*, Settings::NativeAnalog::NumAnalogs> analog_map_deadzone_slider; | 140 | std::array<QSlider*, Settings::NativeAnalog::NumAnalogs> analog_map_deadzone_slider; |
| 143 | std::array<QGroupBox*, Settings::NativeAnalog::NumAnalogs> analog_map_modifier_groupbox; | 141 | std::array<QGroupBox*, Settings::NativeAnalog::NumAnalogs> analog_map_modifier_groupbox; |
| 144 | std::array<QPushButton*, Settings::NativeAnalog::NumAnalogs> analog_map_modifier_button; | ||
| 145 | std::array<QLabel*, Settings::NativeAnalog::NumAnalogs> analog_map_modifier_label; | 142 | std::array<QLabel*, Settings::NativeAnalog::NumAnalogs> analog_map_modifier_label; |
| 146 | std::array<QSlider*, Settings::NativeAnalog::NumAnalogs> analog_map_modifier_slider; | 143 | std::array<QSlider*, Settings::NativeAnalog::NumAnalogs> analog_map_modifier_slider; |
| 147 | std::array<QGroupBox*, Settings::NativeAnalog::NumAnalogs> analog_map_range_groupbox; | 144 | std::array<QGroupBox*, Settings::NativeAnalog::NumAnalogs> analog_map_range_groupbox; |