summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/common/settings.h1
-rw-r--r--src/yuzu/configuration/config.cpp3
-rw-r--r--src/yuzu/configuration/configure_input_advanced.cpp2
-rw-r--r--src/yuzu/configuration/configure_input_advanced.ui19
-rw-r--r--src/yuzu/hotkeys.cpp3
-rw-r--r--src/yuzu/util/controller_navigation.cpp3
6 files changed, 28 insertions, 3 deletions
diff --git a/src/common/settings.h b/src/common/settings.h
index d01c0448c..9bee6e10f 100644
--- a/src/common/settings.h
+++ b/src/common/settings.h
@@ -554,6 +554,7 @@ struct Values {
554 Setting<bool> use_docked_mode{true, "use_docked_mode"}; 554 Setting<bool> use_docked_mode{true, "use_docked_mode"};
555 555
556 BasicSetting<bool> enable_raw_input{false, "enable_raw_input"}; 556 BasicSetting<bool> enable_raw_input{false, "enable_raw_input"};
557 BasicSetting<bool> controller_navigation{true, "controller_navigation"};
557 558
558 Setting<bool> vibration_enabled{true, "vibration_enabled"}; 559 Setting<bool> vibration_enabled{true, "vibration_enabled"};
559 Setting<bool> enable_accurate_vibrations{false, "enable_accurate_vibrations"}; 560 Setting<bool> enable_accurate_vibrations{false, "enable_accurate_vibrations"};
diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp
index 7e8f92840..2c8c10c50 100644
--- a/src/yuzu/configuration/config.cpp
+++ b/src/yuzu/configuration/config.cpp
@@ -393,6 +393,8 @@ void Config::ReadControlValues() {
393 ReadGlobalSetting(Settings::values.enable_accurate_vibrations); 393 ReadGlobalSetting(Settings::values.enable_accurate_vibrations);
394 ReadGlobalSetting(Settings::values.motion_enabled); 394 ReadGlobalSetting(Settings::values.motion_enabled);
395 395
396 ReadBasicSetting(Settings::values.controller_navigation);
397
396 qt_config->endGroup(); 398 qt_config->endGroup();
397} 399}
398 400
@@ -1001,6 +1003,7 @@ void Config::SaveControlValues() {
1001 WriteBasicSetting(Settings::values.keyboard_enabled); 1003 WriteBasicSetting(Settings::values.keyboard_enabled);
1002 WriteBasicSetting(Settings::values.emulate_analog_keyboard); 1004 WriteBasicSetting(Settings::values.emulate_analog_keyboard);
1003 WriteBasicSetting(Settings::values.mouse_panning_sensitivity); 1005 WriteBasicSetting(Settings::values.mouse_panning_sensitivity);
1006 WriteBasicSetting(Settings::values.controller_navigation);
1004 1007
1005 WriteBasicSetting(Settings::values.tas_enable); 1008 WriteBasicSetting(Settings::values.tas_enable);
1006 WriteBasicSetting(Settings::values.tas_loop); 1009 WriteBasicSetting(Settings::values.tas_loop);
diff --git a/src/yuzu/configuration/configure_input_advanced.cpp b/src/yuzu/configuration/configure_input_advanced.cpp
index 65c8e59ac..20fc2599d 100644
--- a/src/yuzu/configuration/configure_input_advanced.cpp
+++ b/src/yuzu/configuration/configure_input_advanced.cpp
@@ -131,6 +131,7 @@ void ConfigureInputAdvanced::ApplyConfiguration() {
131 Settings::values.touchscreen.enabled = ui->touchscreen_enabled->isChecked(); 131 Settings::values.touchscreen.enabled = ui->touchscreen_enabled->isChecked();
132 Settings::values.enable_raw_input = ui->enable_raw_input->isChecked(); 132 Settings::values.enable_raw_input = ui->enable_raw_input->isChecked();
133 Settings::values.enable_udp_controller = ui->enable_udp_controller->isChecked(); 133 Settings::values.enable_udp_controller = ui->enable_udp_controller->isChecked();
134 Settings::values.controller_navigation = ui->controller_navigation->isChecked();
134} 135}
135 136
136void ConfigureInputAdvanced::LoadConfiguration() { 137void ConfigureInputAdvanced::LoadConfiguration() {
@@ -162,6 +163,7 @@ void ConfigureInputAdvanced::LoadConfiguration() {
162 ui->touchscreen_enabled->setChecked(Settings::values.touchscreen.enabled); 163 ui->touchscreen_enabled->setChecked(Settings::values.touchscreen.enabled);
163 ui->enable_raw_input->setChecked(Settings::values.enable_raw_input.GetValue()); 164 ui->enable_raw_input->setChecked(Settings::values.enable_raw_input.GetValue());
164 ui->enable_udp_controller->setChecked(Settings::values.enable_udp_controller.GetValue()); 165 ui->enable_udp_controller->setChecked(Settings::values.enable_udp_controller.GetValue());
166 ui->controller_navigation->setChecked(Settings::values.controller_navigation.GetValue());
165 167
166 UpdateUIEnabled(); 168 UpdateUIEnabled();
167} 169}
diff --git a/src/yuzu/configuration/configure_input_advanced.ui b/src/yuzu/configuration/configure_input_advanced.ui
index df0e4d602..66f2075f2 100644
--- a/src/yuzu/configuration/configure_input_advanced.ui
+++ b/src/yuzu/configuration/configure_input_advanced.ui
@@ -2655,6 +2655,19 @@
2655 </widget> 2655 </widget>
2656 </item> 2656 </item>
2657 <item row="4" column="0"> 2657 <item row="4" column="0">
2658 <widget class="QCheckBox" name="controller_navigation">
2659 <property name="minimumSize">
2660 <size>
2661 <width>0</width>
2662 <height>23</height>
2663 </size>
2664 </property>
2665 <property name="text">
2666 <string>Controller navigation</string>
2667 </property>
2668 </widget>
2669 </item>
2670 <item row="5" column="0">
2658 <widget class="QCheckBox" name="mouse_panning"> 2671 <widget class="QCheckBox" name="mouse_panning">
2659 <property name="minimumSize"> 2672 <property name="minimumSize">
2660 <size> 2673 <size>
@@ -2667,7 +2680,7 @@
2667 </property> 2680 </property>
2668 </widget> 2681 </widget>
2669 </item> 2682 </item>
2670 <item row="4" column="2"> 2683 <item row="5" column="2">
2671 <widget class="QSpinBox" name="mouse_panning_sensitivity"> 2684 <widget class="QSpinBox" name="mouse_panning_sensitivity">
2672 <property name="toolTip"> 2685 <property name="toolTip">
2673 <string>Mouse sensitivity</string> 2686 <string>Mouse sensitivity</string>
@@ -2689,14 +2702,14 @@
2689 </property> 2702 </property>
2690 </widget> 2703 </widget>
2691 </item> 2704 </item>
2692 <item row="5" column="0"> 2705 <item row="6" column="0">
2693 <widget class="QLabel" name="motion_touch"> 2706 <widget class="QLabel" name="motion_touch">
2694 <property name="text"> 2707 <property name="text">
2695 <string>Motion / Touch</string> 2708 <string>Motion / Touch</string>
2696 </property> 2709 </property>
2697 </widget> 2710 </widget>
2698 </item> 2711 </item>
2699 <item row="5" column="2"> 2712 <item row="6" column="2">
2700 <widget class="QPushButton" name="buttonMotionTouch"> 2713 <widget class="QPushButton" name="buttonMotionTouch">
2701 <property name="text"> 2714 <property name="text">
2702 <string>Configure</string> 2715 <string>Configure</string>
diff --git a/src/yuzu/hotkeys.cpp b/src/yuzu/hotkeys.cpp
index d96497c4e..6ed9611c7 100644
--- a/src/yuzu/hotkeys.cpp
+++ b/src/yuzu/hotkeys.cpp
@@ -190,6 +190,9 @@ void ControllerShortcut::ControllerUpdateEvent(Core::HID::ControllerTriggerType
190 if (type != Core::HID::ControllerTriggerType::Button) { 190 if (type != Core::HID::ControllerTriggerType::Button) {
191 return; 191 return;
192 } 192 }
193 if (!Settings::values.controller_navigation) {
194 return;
195 }
193 if (button_sequence.npad.raw == Core::HID::NpadButton::None && 196 if (button_sequence.npad.raw == Core::HID::NpadButton::None &&
194 button_sequence.capture.raw == 0 && button_sequence.home.raw == 0) { 197 button_sequence.capture.raw == 0 && button_sequence.home.raw == 0) {
195 return; 198 return;
diff --git a/src/yuzu/util/controller_navigation.cpp b/src/yuzu/util/controller_navigation.cpp
index 86fb28b9f..c2b13123d 100644
--- a/src/yuzu/util/controller_navigation.cpp
+++ b/src/yuzu/util/controller_navigation.cpp
@@ -40,6 +40,9 @@ void ControllerNavigation::TriggerButton(Settings::NativeButton::Values native_b
40 40
41void ControllerNavigation::ControllerUpdateEvent(Core::HID::ControllerTriggerType type) { 41void ControllerNavigation::ControllerUpdateEvent(Core::HID::ControllerTriggerType type) {
42 std::lock_guard lock{mutex}; 42 std::lock_guard lock{mutex};
43 if (!Settings::values.controller_navigation) {
44 return;
45 }
43 if (type == Core::HID::ControllerTriggerType::Button) { 46 if (type == Core::HID::ControllerTriggerType::Button) {
44 ControllerUpdateButton(); 47 ControllerUpdateButton();
45 return; 48 return;