diff options
author | Narr the Reg <juangerman-13@hotmail.com> | 2022-09-05 16:08:30 -0500 |
---|---|---|
committer | Narr the Reg <juangerman-13@hotmail.com> | 2022-09-05 16:09:21 -0500 |
commit | dc8d42243b1eb4ea2b1192273e58586a617419be (patch) | |
tree | e4f4323bb4f80ad85b96b5f64846798ecce32610 /src/core/hid/emulated_controller.cpp | |
parent | 199f77b92f6e0f47844e44dcc5ef1f4dc299824c (diff) |
core: hid: Fix GC triggers overwritting ZL and ZR buttons
Diffstat (limited to 'src/core/hid/emulated_controller.cpp')
-rw-r--r-- | src/core/hid/emulated_controller.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/core/hid/emulated_controller.cpp b/src/core/hid/emulated_controller.cpp index f9f902c2dd..01c43be934 100644 --- a/src/core/hid/emulated_controller.cpp +++ b/src/core/hid/emulated_controller.cpp @@ -562,6 +562,16 @@ void EmulatedController::SetButton(const Common::Input::CallbackStatus& callback return; } + // GC controllers have triggers not buttons + if (npad_type == NpadStyleIndex::GameCube) { + if (index == Settings::NativeButton::ZR) { + return; + } + if (index == Settings::NativeButton::ZL) { + return; + } + } + switch (index) { case Settings::NativeButton::A: controller.npad_button_state.a.Assign(current_status.value); @@ -738,6 +748,11 @@ void EmulatedController::SetTrigger(const Common::Input::CallbackStatus& callbac return; } + // Only GC controllers have analog triggers + if (npad_type != NpadStyleIndex::GameCube) { + return; + } + const auto& trigger = controller.trigger_values[index]; switch (index) { |