summaryrefslogtreecommitdiffstats
path: root/src/core/hid/emulated_controller.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hid/emulated_controller.cpp')
-rw-r--r--src/core/hid/emulated_controller.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/core/hid/emulated_controller.cpp b/src/core/hid/emulated_controller.cpp
index 9f68a41cc..6209c707e 100644
--- a/src/core/hid/emulated_controller.cpp
+++ b/src/core/hid/emulated_controller.cpp
@@ -351,6 +351,19 @@ void EmulatedController::DisableConfiguration() {
}
}
+void EmulatedController::EnableSystemButtons() {
+ system_buttons_enabled = true;
+}
+
+void EmulatedController::DisableSystemButtons() {
+ system_buttons_enabled = false;
+}
+
+void EmulatedController::ResetSystemButtons() {
+ controller.home_button_state.home.Assign(false);
+ controller.capture_button_state.capture.Assign(false);
+}
+
bool EmulatedController::IsConfiguring() const {
return is_configuring;
}
@@ -596,9 +609,15 @@ void EmulatedController::SetButton(const Common::Input::CallbackStatus& callback
controller.npad_button_state.right_sr.Assign(current_status.value);
break;
case Settings::NativeButton::Home:
+ if (!system_buttons_enabled) {
+ break;
+ }
controller.home_button_state.home.Assign(current_status.value);
break;
case Settings::NativeButton::Screenshot:
+ if (!system_buttons_enabled) {
+ break;
+ }
controller.capture_button_state.capture.Assign(current_status.value);
break;
}