forked from suyu/suyu
Merge pull request #7769 from german77/no-control
yuzu: Add setting to disable controller navigation
This commit is contained in:
commit
9bf7ad97f5
6 changed files with 28 additions and 3 deletions
|
@ -554,6 +554,7 @@ struct Values {
|
||||||
Setting<bool> use_docked_mode{true, "use_docked_mode"};
|
Setting<bool> use_docked_mode{true, "use_docked_mode"};
|
||||||
|
|
||||||
BasicSetting<bool> enable_raw_input{false, "enable_raw_input"};
|
BasicSetting<bool> enable_raw_input{false, "enable_raw_input"};
|
||||||
|
BasicSetting<bool> controller_navigation{true, "controller_navigation"};
|
||||||
|
|
||||||
Setting<bool> vibration_enabled{true, "vibration_enabled"};
|
Setting<bool> vibration_enabled{true, "vibration_enabled"};
|
||||||
Setting<bool> enable_accurate_vibrations{false, "enable_accurate_vibrations"};
|
Setting<bool> enable_accurate_vibrations{false, "enable_accurate_vibrations"};
|
||||||
|
|
|
@ -393,6 +393,8 @@ void Config::ReadControlValues() {
|
||||||
ReadGlobalSetting(Settings::values.enable_accurate_vibrations);
|
ReadGlobalSetting(Settings::values.enable_accurate_vibrations);
|
||||||
ReadGlobalSetting(Settings::values.motion_enabled);
|
ReadGlobalSetting(Settings::values.motion_enabled);
|
||||||
|
|
||||||
|
ReadBasicSetting(Settings::values.controller_navigation);
|
||||||
|
|
||||||
qt_config->endGroup();
|
qt_config->endGroup();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1001,6 +1003,7 @@ void Config::SaveControlValues() {
|
||||||
WriteBasicSetting(Settings::values.keyboard_enabled);
|
WriteBasicSetting(Settings::values.keyboard_enabled);
|
||||||
WriteBasicSetting(Settings::values.emulate_analog_keyboard);
|
WriteBasicSetting(Settings::values.emulate_analog_keyboard);
|
||||||
WriteBasicSetting(Settings::values.mouse_panning_sensitivity);
|
WriteBasicSetting(Settings::values.mouse_panning_sensitivity);
|
||||||
|
WriteBasicSetting(Settings::values.controller_navigation);
|
||||||
|
|
||||||
WriteBasicSetting(Settings::values.tas_enable);
|
WriteBasicSetting(Settings::values.tas_enable);
|
||||||
WriteBasicSetting(Settings::values.tas_loop);
|
WriteBasicSetting(Settings::values.tas_loop);
|
||||||
|
|
|
@ -131,6 +131,7 @@ void ConfigureInputAdvanced::ApplyConfiguration() {
|
||||||
Settings::values.touchscreen.enabled = ui->touchscreen_enabled->isChecked();
|
Settings::values.touchscreen.enabled = ui->touchscreen_enabled->isChecked();
|
||||||
Settings::values.enable_raw_input = ui->enable_raw_input->isChecked();
|
Settings::values.enable_raw_input = ui->enable_raw_input->isChecked();
|
||||||
Settings::values.enable_udp_controller = ui->enable_udp_controller->isChecked();
|
Settings::values.enable_udp_controller = ui->enable_udp_controller->isChecked();
|
||||||
|
Settings::values.controller_navigation = ui->controller_navigation->isChecked();
|
||||||
}
|
}
|
||||||
|
|
||||||
void ConfigureInputAdvanced::LoadConfiguration() {
|
void ConfigureInputAdvanced::LoadConfiguration() {
|
||||||
|
@ -162,6 +163,7 @@ void ConfigureInputAdvanced::LoadConfiguration() {
|
||||||
ui->touchscreen_enabled->setChecked(Settings::values.touchscreen.enabled);
|
ui->touchscreen_enabled->setChecked(Settings::values.touchscreen.enabled);
|
||||||
ui->enable_raw_input->setChecked(Settings::values.enable_raw_input.GetValue());
|
ui->enable_raw_input->setChecked(Settings::values.enable_raw_input.GetValue());
|
||||||
ui->enable_udp_controller->setChecked(Settings::values.enable_udp_controller.GetValue());
|
ui->enable_udp_controller->setChecked(Settings::values.enable_udp_controller.GetValue());
|
||||||
|
ui->controller_navigation->setChecked(Settings::values.controller_navigation.GetValue());
|
||||||
|
|
||||||
UpdateUIEnabled();
|
UpdateUIEnabled();
|
||||||
}
|
}
|
||||||
|
|
|
@ -2655,6 +2655,19 @@
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="0">
|
<item row="4" column="0">
|
||||||
|
<widget class="QCheckBox" name="controller_navigation">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>0</width>
|
||||||
|
<height>23</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Controller navigation</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="5" column="0">
|
||||||
<widget class="QCheckBox" name="mouse_panning">
|
<widget class="QCheckBox" name="mouse_panning">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
|
@ -2667,7 +2680,7 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="4" column="2">
|
<item row="5" column="2">
|
||||||
<widget class="QSpinBox" name="mouse_panning_sensitivity">
|
<widget class="QSpinBox" name="mouse_panning_sensitivity">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Mouse sensitivity</string>
|
<string>Mouse sensitivity</string>
|
||||||
|
@ -2689,14 +2702,14 @@
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="0">
|
<item row="6" column="0">
|
||||||
<widget class="QLabel" name="motion_touch">
|
<widget class="QLabel" name="motion_touch">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Motion / Touch</string>
|
<string>Motion / Touch</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="5" column="2">
|
<item row="6" column="2">
|
||||||
<widget class="QPushButton" name="buttonMotionTouch">
|
<widget class="QPushButton" name="buttonMotionTouch">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Configure</string>
|
<string>Configure</string>
|
||||||
|
|
|
@ -190,6 +190,9 @@ void ControllerShortcut::ControllerUpdateEvent(Core::HID::ControllerTriggerType
|
||||||
if (type != Core::HID::ControllerTriggerType::Button) {
|
if (type != Core::HID::ControllerTriggerType::Button) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
if (!Settings::values.controller_navigation) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (button_sequence.npad.raw == Core::HID::NpadButton::None &&
|
if (button_sequence.npad.raw == Core::HID::NpadButton::None &&
|
||||||
button_sequence.capture.raw == 0 && button_sequence.home.raw == 0) {
|
button_sequence.capture.raw == 0 && button_sequence.home.raw == 0) {
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -40,6 +40,9 @@ void ControllerNavigation::TriggerButton(Settings::NativeButton::Values native_b
|
||||||
|
|
||||||
void ControllerNavigation::ControllerUpdateEvent(Core::HID::ControllerTriggerType type) {
|
void ControllerNavigation::ControllerUpdateEvent(Core::HID::ControllerTriggerType type) {
|
||||||
std::lock_guard lock{mutex};
|
std::lock_guard lock{mutex};
|
||||||
|
if (!Settings::values.controller_navigation) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (type == Core::HID::ControllerTriggerType::Button) {
|
if (type == Core::HID::ControllerTriggerType::Button) {
|
||||||
ControllerUpdateButton();
|
ControllerUpdateButton();
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Reference in a new issue