summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorAdmiral H. Curtiss <pikachu025@gmail.com>2023-12-29 20:47:20 +0100
committerGitHub <noreply@github.com>2023-12-29 20:47:20 +0100
commit2beaaf608d1bd083b9b0f7806dcaccc100d0f010 (patch)
treeee4b53277e43dcb5e944c0d1c574346ba50bed8e /Source/Core
parent99fbc4b97ecc21c82a8cde602af1bf3b47a186d2 (diff)
parent6b166f1819701a997e52e7fc740b3eb45524a758 (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.cpp23
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;
}