summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar EBADBEEF2023-01-22 23:36:40 -0800
committerGravatar EBADBEEF2023-01-22 23:36:40 -0800
commita84ad180e8e16ed04de5551b2f72349e2ec4d215 (patch)
tree0f40a9489a5370c12066af8ce24b1df386cffd37 /src
parentMerge pull request #9555 from abouvier/catch2-update (diff)
downloadyuzu-a84ad180e8e16ed04de5551b2f72349e2ec4d215.tar.gz
yuzu-a84ad180e8e16ed04de5551b2f72349e2ec4d215.tar.xz
yuzu-a84ad180e8e16ed04de5551b2f72349e2ec4d215.zip
qt: add option to disable controller applet
- add checkbox to disable the controller applet UI - when controller applet is disabled, use the yuzu-cmd fallback controller applet that applies controller config based on rules - See https://github.com/yuzu-emu/yuzu/issues/8552 for some discussion
Diffstat (limited to 'src')
-rw-r--r--src/yuzu/configuration/config.cpp2
-rw-r--r--src/yuzu/configuration/configure_general.cpp4
-rw-r--r--src/yuzu/configuration/configure_general.ui7
-rw-r--r--src/yuzu/main.cpp1
-rw-r--r--src/yuzu/uisettings.h2
5 files changed, 16 insertions, 0 deletions
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp
index fd3bb30e1..1f1ef658c 100644
--- a/src/yuzu/configuration/config.cpp
+++ b/src/yuzu/configuration/config.cpp
@@ -836,6 +836,7 @@ void Config::ReadUIValues() {
836 ReadBasicSetting(UISettings::values.pause_when_in_background); 836 ReadBasicSetting(UISettings::values.pause_when_in_background);
837 ReadBasicSetting(UISettings::values.mute_when_in_background); 837 ReadBasicSetting(UISettings::values.mute_when_in_background);
838 ReadBasicSetting(UISettings::values.hide_mouse); 838 ReadBasicSetting(UISettings::values.hide_mouse);
839 ReadBasicSetting(UISettings::values.controller_applet_disabled);
839 ReadBasicSetting(UISettings::values.disable_web_applet); 840 ReadBasicSetting(UISettings::values.disable_web_applet);
840 841
841 qt_config->endGroup(); 842 qt_config->endGroup();
@@ -1456,6 +1457,7 @@ void Config::SaveUIValues() {
1456 WriteBasicSetting(UISettings::values.pause_when_in_background); 1457 WriteBasicSetting(UISettings::values.pause_when_in_background);
1457 WriteBasicSetting(UISettings::values.mute_when_in_background); 1458 WriteBasicSetting(UISettings::values.mute_when_in_background);
1458 WriteBasicSetting(UISettings::values.hide_mouse); 1459 WriteBasicSetting(UISettings::values.hide_mouse);
1460 WriteBasicSetting(UISettings::values.controller_applet_disabled);
1459 WriteBasicSetting(UISettings::values.disable_web_applet); 1461 WriteBasicSetting(UISettings::values.disable_web_applet);
1460 1462
1461 qt_config->endGroup(); 1463 qt_config->endGroup();
diff --git a/src/yuzu/configuration/configure_general.cpp b/src/yuzu/configuration/configure_general.cpp
index 7ade01ba6..7783f362a 100644
--- a/src/yuzu/configuration/configure_general.cpp
+++ b/src/yuzu/configuration/configure_general.cpp
@@ -44,6 +44,8 @@ void ConfigureGeneral::SetConfiguration() {
44 ui->toggle_background_pause->setChecked(UISettings::values.pause_when_in_background.GetValue()); 44 ui->toggle_background_pause->setChecked(UISettings::values.pause_when_in_background.GetValue());
45 ui->toggle_background_mute->setChecked(UISettings::values.mute_when_in_background.GetValue()); 45 ui->toggle_background_mute->setChecked(UISettings::values.mute_when_in_background.GetValue());
46 ui->toggle_hide_mouse->setChecked(UISettings::values.hide_mouse.GetValue()); 46 ui->toggle_hide_mouse->setChecked(UISettings::values.hide_mouse.GetValue());
47 ui->toggle_controller_applet_disabled->setEnabled(runtime_lock);
48 ui->toggle_controller_applet_disabled->setChecked(UISettings::values.controller_applet_disabled.GetValue());
47 49
48 ui->toggle_speed_limit->setChecked(Settings::values.use_speed_limit.GetValue()); 50 ui->toggle_speed_limit->setChecked(Settings::values.use_speed_limit.GetValue());
49 ui->speed_limit->setValue(Settings::values.speed_limit.GetValue()); 51 ui->speed_limit->setValue(Settings::values.speed_limit.GetValue());
@@ -90,6 +92,7 @@ void ConfigureGeneral::ApplyConfiguration() {
90 UISettings::values.pause_when_in_background = ui->toggle_background_pause->isChecked(); 92 UISettings::values.pause_when_in_background = ui->toggle_background_pause->isChecked();
91 UISettings::values.mute_when_in_background = ui->toggle_background_mute->isChecked(); 93 UISettings::values.mute_when_in_background = ui->toggle_background_mute->isChecked();
92 UISettings::values.hide_mouse = ui->toggle_hide_mouse->isChecked(); 94 UISettings::values.hide_mouse = ui->toggle_hide_mouse->isChecked();
95 UISettings::values.controller_applet_disabled = ui->toggle_controller_applet_disabled->isChecked();
93 96
94 // Guard if during game and set to game-specific value 97 // Guard if during game and set to game-specific value
95 if (Settings::values.use_speed_limit.UsingGlobal()) { 98 if (Settings::values.use_speed_limit.UsingGlobal()) {
@@ -136,6 +139,7 @@ void ConfigureGeneral::SetupPerGameUI() {
136 ui->toggle_user_on_boot->setVisible(false); 139 ui->toggle_user_on_boot->setVisible(false);
137 ui->toggle_background_pause->setVisible(false); 140 ui->toggle_background_pause->setVisible(false);
138 ui->toggle_hide_mouse->setVisible(false); 141 ui->toggle_hide_mouse->setVisible(false);
142 ui->toggle_controller_applet_disabled->setVisible(false);
139 143
140 ui->button_reset_defaults->setVisible(false); 144 ui->button_reset_defaults->setVisible(false);
141 145
diff --git a/src/yuzu/configuration/configure_general.ui b/src/yuzu/configuration/configure_general.ui
index 5b90b1109..2fa8324fb 100644
--- a/src/yuzu/configuration/configure_general.ui
+++ b/src/yuzu/configuration/configure_general.ui
@@ -103,6 +103,13 @@
103 </property> 103 </property>
104 </widget> 104 </widget>
105 </item> 105 </item>
106 <item>
107 <widget class="QCheckBox" name="toggle_controller_applet_disabled">
108 <property name="text">
109 <string>Disable controller applet</string>
110 </property>
111 </widget>
112 </item>
106 </layout> 113 </layout>
107 </item> 114 </item>
108 </layout> 115 </layout>
diff --git a/src/yuzu/main.cpp b/src/yuzu/main.cpp
index 571eacf9f..e57e02652 100644
--- a/src/yuzu/main.cpp
+++ b/src/yuzu/main.cpp
@@ -1562,6 +1562,7 @@ bool GMainWindow::LoadROM(const QString& filename, u64 program_id, std::size_t p
1562 1562
1563 system->SetAppletFrontendSet({ 1563 system->SetAppletFrontendSet({
1564 std::make_unique<QtAmiiboSettings>(*this), // Amiibo Settings 1564 std::make_unique<QtAmiiboSettings>(*this), // Amiibo Settings
1565 (UISettings::values.controller_applet_disabled.GetValue() == true) ? nullptr :
1565 std::make_unique<QtControllerSelector>(*this), // Controller Selector 1566 std::make_unique<QtControllerSelector>(*this), // Controller Selector
1566 std::make_unique<QtErrorDisplay>(*this), // Error Display 1567 std::make_unique<QtErrorDisplay>(*this), // Error Display
1567 nullptr, // Mii Editor 1568 nullptr, // Mii Editor
diff --git a/src/yuzu/uisettings.h b/src/yuzu/uisettings.h
index db43b7033..20a517d34 100644
--- a/src/yuzu/uisettings.h
+++ b/src/yuzu/uisettings.h
@@ -77,6 +77,8 @@ struct Values {
77 Settings::Setting<bool> pause_when_in_background{false, "pauseWhenInBackground"}; 77 Settings::Setting<bool> pause_when_in_background{false, "pauseWhenInBackground"};
78 Settings::Setting<bool> mute_when_in_background{false, "muteWhenInBackground"}; 78 Settings::Setting<bool> mute_when_in_background{false, "muteWhenInBackground"};
79 Settings::Setting<bool> hide_mouse{true, "hideInactiveMouse"}; 79 Settings::Setting<bool> hide_mouse{true, "hideInactiveMouse"};
80 Settings::Setting<bool> controller_applet_disabled{false, "disableControllerApplet"};
81
80 // Set when Vulkan is known to crash the application 82 // Set when Vulkan is known to crash the application
81 bool has_broken_vulkan = false; 83 bool has_broken_vulkan = false;
82 84