summaryrefslogtreecommitdiff
path: root/src/yuzu/configuration
diff options
context:
space:
mode:
Diffstat (limited to 'src/yuzu/configuration')
-rw-r--r--src/yuzu/configuration/config.cpp6
-rw-r--r--src/yuzu/configuration/configure_input_player.ui15
-rw-r--r--src/yuzu/configuration/configure_mouse_panning.cpp49
-rw-r--r--src/yuzu/configuration/configure_mouse_panning.ui36
-rw-r--r--src/yuzu/configuration/configure_ringcon.cpp3
5 files changed, 40 insertions, 69 deletions
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp
index 29467d380..195d3556c 100644
--- a/src/yuzu/configuration/config.cpp
+++ b/src/yuzu/configuration/config.cpp
@@ -503,8 +503,7 @@ void Config::ReadMousePanningValues() {
ReadBasicSetting(Settings::values.mouse_panning);
ReadBasicSetting(Settings::values.mouse_panning_x_sensitivity);
ReadBasicSetting(Settings::values.mouse_panning_y_sensitivity);
- ReadBasicSetting(Settings::values.mouse_panning_deadzone_x_counterweight);
- ReadBasicSetting(Settings::values.mouse_panning_deadzone_y_counterweight);
+ ReadBasicSetting(Settings::values.mouse_panning_deadzone_counterweight);
ReadBasicSetting(Settings::values.mouse_panning_decay_strength);
ReadBasicSetting(Settings::values.mouse_panning_min_decay);
}
@@ -1122,8 +1121,7 @@ void Config::SaveMousePanningValues() {
// Don't overwrite values.mouse_panning
WriteBasicSetting(Settings::values.mouse_panning_x_sensitivity);
WriteBasicSetting(Settings::values.mouse_panning_y_sensitivity);
- WriteBasicSetting(Settings::values.mouse_panning_deadzone_x_counterweight);
- WriteBasicSetting(Settings::values.mouse_panning_deadzone_y_counterweight);
+ WriteBasicSetting(Settings::values.mouse_panning_deadzone_counterweight);
WriteBasicSetting(Settings::values.mouse_panning_decay_strength);
WriteBasicSetting(Settings::values.mouse_panning_min_decay);
}
diff --git a/src/yuzu/configuration/configure_input_player.ui b/src/yuzu/configuration/configure_input_player.ui
index 43f6c7b50..611a79477 100644
--- a/src/yuzu/configuration/configure_input_player.ui
+++ b/src/yuzu/configuration/configure_input_player.ui
@@ -3105,21 +3105,6 @@
</property>
<item>
<widget class="QPushButton" name="mousePanningButton">
- <property name="minimumSize">
- <size>
- <width>68</width>
- <height>0</height>
- </size>
- </property>
- <property name="maximumSize">
- <size>
- <width>68</width>
- <height>16777215</height>
- </size>
- </property>
- <property name="styleSheet">
- <string notr="true">min-width: 68px;</string>
- </property>
<property name="text">
<string>Configure</string>
</property>
diff --git a/src/yuzu/configuration/configure_mouse_panning.cpp b/src/yuzu/configuration/configure_mouse_panning.cpp
index f183d2740..e37c546b0 100644
--- a/src/yuzu/configuration/configure_mouse_panning.cpp
+++ b/src/yuzu/configuration/configure_mouse_panning.cpp
@@ -2,6 +2,7 @@
// SPDX-License-Identifier: GPL-2.0-or-later
#include <QCloseEvent>
+#include <QMessageBox>
#include "common/settings.h"
#include "ui_configure_mouse_panning.h"
@@ -27,31 +28,34 @@ void ConfigureMousePanning::SetConfiguration(float right_stick_deadzone, float r
ui->enable->setChecked(Settings::values.mouse_panning.GetValue());
ui->x_sensitivity->setValue(Settings::values.mouse_panning_x_sensitivity.GetValue());
ui->y_sensitivity->setValue(Settings::values.mouse_panning_y_sensitivity.GetValue());
- ui->deadzone_x_counterweight->setValue(
- Settings::values.mouse_panning_deadzone_x_counterweight.GetValue());
- ui->deadzone_y_counterweight->setValue(
- Settings::values.mouse_panning_deadzone_y_counterweight.GetValue());
+ ui->deadzone_counterweight->setValue(
+ Settings::values.mouse_panning_deadzone_counterweight.GetValue());
ui->decay_strength->setValue(Settings::values.mouse_panning_decay_strength.GetValue());
ui->min_decay->setValue(Settings::values.mouse_panning_min_decay.GetValue());
if (right_stick_deadzone > 0.0f || right_stick_range != 1.0f) {
- ui->warning_label->setText(QString::fromStdString(
- "Mouse panning works better with a deadzone of 0% and a range of 100%.\n"
- "Current values are " +
- std::to_string(static_cast<int>(right_stick_deadzone * 100.0f)) + "% and " +
- std::to_string(static_cast<int>(right_stick_range * 100.0f)) + "% respectively."));
- } else {
- ui->warning_label->hide();
+ const QString right_stick_deadzone_str =
+ QString::fromStdString(std::to_string(static_cast<int>(right_stick_deadzone * 100.0f)));
+ const QString right_stick_range_str =
+ QString::fromStdString(std::to_string(static_cast<int>(right_stick_range * 100.0f)));
+
+ ui->warning_label->setText(
+ tr("Mouse panning works better with a deadzone of 0% and a range of 100%.\nCurrent "
+ "values are %1% and %2% respectively.")
+ .arg(right_stick_deadzone_str, right_stick_range_str));
+ }
+
+ if (Settings::values.mouse_enabled) {
+ ui->warning_label->setText(
+ tr("Emulated mouse is enabled. This is incompatible with mouse panning."));
}
}
void ConfigureMousePanning::SetDefaultConfiguration() {
ui->x_sensitivity->setValue(Settings::values.mouse_panning_x_sensitivity.GetDefault());
ui->y_sensitivity->setValue(Settings::values.mouse_panning_y_sensitivity.GetDefault());
- ui->deadzone_x_counterweight->setValue(
- Settings::values.mouse_panning_deadzone_x_counterweight.GetDefault());
- ui->deadzone_y_counterweight->setValue(
- Settings::values.mouse_panning_deadzone_y_counterweight.GetDefault());
+ ui->deadzone_counterweight->setValue(
+ Settings::values.mouse_panning_deadzone_counterweight.GetDefault());
ui->decay_strength->setValue(Settings::values.mouse_panning_decay_strength.GetDefault());
ui->min_decay->setValue(Settings::values.mouse_panning_min_decay.GetDefault());
}
@@ -68,12 +72,19 @@ void ConfigureMousePanning::ApplyConfiguration() {
Settings::values.mouse_panning = ui->enable->isChecked();
Settings::values.mouse_panning_x_sensitivity = static_cast<float>(ui->x_sensitivity->value());
Settings::values.mouse_panning_y_sensitivity = static_cast<float>(ui->y_sensitivity->value());
- Settings::values.mouse_panning_deadzone_x_counterweight =
- static_cast<float>(ui->deadzone_x_counterweight->value());
- Settings::values.mouse_panning_deadzone_y_counterweight =
- static_cast<float>(ui->deadzone_y_counterweight->value());
+ Settings::values.mouse_panning_deadzone_counterweight =
+ static_cast<float>(ui->deadzone_counterweight->value());
Settings::values.mouse_panning_decay_strength = static_cast<float>(ui->decay_strength->value());
Settings::values.mouse_panning_min_decay = static_cast<float>(ui->min_decay->value());
+ if (Settings::values.mouse_enabled && Settings::values.mouse_panning) {
+ Settings::values.mouse_panning = false;
+ QMessageBox::critical(
+ this, tr("Emulated mouse is enabled"),
+ tr("Real mouse input and mouse panning are incompatible. Please disable the "
+ "emulated mouse in input advanced settings to allow mouse panning."));
+ return;
+ }
+
accept();
}
diff --git a/src/yuzu/configuration/configure_mouse_panning.ui b/src/yuzu/configuration/configure_mouse_panning.ui
index 75795b727..84fb7ee80 100644
--- a/src/yuzu/configuration/configure_mouse_panning.ui
+++ b/src/yuzu/configuration/configure_mouse_panning.ui
@@ -9,10 +9,10 @@
<item>
<widget class="QCheckBox" name="enable">
<property name="text">
- <string>Enable</string>
+ <string>Enable mouse panning</string>
</property>
<property name="toolTip">
- <string>Can be toggled via a hotkey</string>
+ <string>Can be toggled via a hotkey. Default hotkey is Ctrl + F9</string>
</property>
</widget>
</item>
@@ -89,40 +89,14 @@
</property>
<layout class="QGridLayout">
<item row="0" column="0">
- <widget class="QLabel" name="deadzone_x_counterweight_label">
+ <widget class="QLabel" name="deadzone_counterweight_label">
<property name="text">
- <string>Horizontal</string>
+ <string>Deadzone</string>
</property>
</widget>
</item>
<item row="0" column="1">
- <widget class="QSpinBox" name="deadzone_x_counterweight">
- <property name="alignment">
- <set>Qt::AlignCenter</set>
- </property>
- <property name="suffix">
- <string>%</string>
- </property>
- <property name="minimum">
- <number>0</number>
- </property>
- <property name="maximum">
- <number>100</number>
- </property>
- <property name="value">
- <number>0</number>
- </property>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QLabel" name="deadzone_y_counterweight_label">
- <property name="text">
- <string>Vertical</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QSpinBox" name="deadzone_y_counterweight">
+ <widget class="QSpinBox" name="deadzone_counterweight">
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
diff --git a/src/yuzu/configuration/configure_ringcon.cpp b/src/yuzu/configuration/configure_ringcon.cpp
index 71afbc423..f83705544 100644
--- a/src/yuzu/configuration/configure_ringcon.cpp
+++ b/src/yuzu/configuration/configure_ringcon.cpp
@@ -305,6 +305,9 @@ void ConfigureRingController::EnableRingController() {
QMessageBox::warning(this, dialog_title,
tr("The current mapped device doesn't have a ring attached"));
break;
+ case Common::Input::DriverResult::InvalidHandle:
+ QMessageBox::warning(this, dialog_title, tr("The current mapped device is not connected"));
+ break;
default:
QMessageBox::warning(this, dialog_title,
tr("Unexpected driver result %1").arg(static_cast<int>(result)));