diff options
| author | Admiral H. Curtiss <pikachu025@gmail.com> | 2023-12-29 20:47:20 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-12-29 20:47:20 +0100 |
| commit | 2beaaf608d1bd083b9b0f7806dcaccc100d0f010 (patch) | |
| tree | ee4b53277e43dcb5e944c0d1c574346ba50bed8e /Source/Core | |
| parent | 99fbc4b97ecc21c82a8cde602af1bf3b47a186d2 (diff) | |
| parent | 6b166f1819701a997e52e7fc740b3eb45524a758 (diff) | |
Merge pull request #12363 from luc-git/mouse_ir
DolphinQt/Mapping: Add "Use Mouse Controlled Pointing" button.
Diffstat (limited to 'Source/Core')
| -rw-r--r-- | Source/Core/DolphinQt/Config/Mapping/MappingWidget.cpp | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/Source/Core/DolphinQt/Config/Mapping/MappingWidget.cpp b/Source/Core/DolphinQt/Config/Mapping/MappingWidget.cpp index cfb9483ba6..f9c4ffb29c 100644 --- a/Source/Core/DolphinQt/Config/Mapping/MappingWidget.cpp +++ b/Source/Core/DolphinQt/Config/Mapping/MappingWidget.cpp @@ -3,6 +3,8 @@ #include "DolphinQt/Config/Mapping/MappingWidget.h" +#include <fmt/core.h> + #include <QCheckBox> #include <QDialogButtonBox> #include <QFormLayout> @@ -25,6 +27,7 @@ #include "InputCommon/ControllerEmu/ControllerEmu.h" #include "InputCommon/ControllerEmu/Setting/NumericSetting.h" #include "InputCommon/ControllerEmu/StickGate.h" +#include "InputCommon/ControllerInterface/ControllerInterface.h" MappingWidget::MappingWidget(MappingWindow* parent) : m_parent(parent) { @@ -160,6 +163,26 @@ QGroupBox* MappingWidget::CreateGroupBox(const QString& name, ControllerEmu::Con [this, group] { ShowAdvancedControlGroupDialog(group); }); } + if (group->type == ControllerEmu::GroupType::Cursor) + { + QPushButton* mouse_button = new QPushButton(tr("Use Mouse Controlled Pointing")); + form_layout->insertRow(2, mouse_button); + connect(mouse_button, &QCheckBox::clicked, [this, group] { + std::string default_device = g_controller_interface.GetDefaultDeviceString() + ":"; + const std::string controller_device = GetController()->GetDefaultDevice().ToString() + ":"; + if (default_device == controller_device) + { + default_device.clear(); + } + group->SetControlExpression(0, fmt::format("`{}Cursor Y-`", default_device)); + group->SetControlExpression(1, fmt::format("`{}Cursor Y+`", default_device)); + group->SetControlExpression(2, fmt::format("`{}Cursor X-`", default_device)); + group->SetControlExpression(3, fmt::format("`{}Cursor X+`", default_device)); + emit ConfigChanged(); + GetController()->UpdateReferences(g_controller_interface); + }); + } + return group_box; } |
