core: hid: Fix GC triggers overwritting ZL and ZR buttons

master
Narr the Reg 2022-09-05 16:08:30 +07:00
parent 199f77b92f
commit dc8d42243b
1 changed files with 15 additions and 0 deletions

@ -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) {