summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/yuzu/configuration/configure_input_player.cpp34
-rw-r--r--src/yuzu/configuration/configure_input_player.h5
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;