controllers/npad: Stop games from vibrating incorrect controllers
Fixes vibration in 1-2 Switch and potentially other games where they would vibrate both players' joycons at the same time.
This commit is contained in:
parent
07b81f57ba
commit
e02ef3c3be
1 changed files with 10 additions and 0 deletions
|
@ -688,6 +688,16 @@ void Controller_NPad::VibrateController(const std::vector<DeviceHandle>& vibrati
|
|||
continue;
|
||||
}
|
||||
|
||||
// Some games try to send mismatched parameters in the device handle, block these.
|
||||
if ((connected_controllers[npad_index].type == NPadControllerType::JoyLeft &&
|
||||
(vibration_device_handles[i].npad_type == NpadType::JoyconRight ||
|
||||
vibration_device_handles[i].device_index == DeviceIndex::Right)) ||
|
||||
(connected_controllers[npad_index].type == NPadControllerType::JoyRight &&
|
||||
(vibration_device_handles[i].npad_type == NpadType::JoyconLeft ||
|
||||
vibration_device_handles[i].device_index == DeviceIndex::Left))) {
|
||||
continue;
|
||||
}
|
||||
|
||||
using namespace Settings::NativeButton;
|
||||
const auto& button_state = buttons[npad_index];
|
||||
|
||||
|
|
Loading…
Reference in a new issue