diff options
| author | Narr the Reg <juangerman-13@hotmail.com> | 2023-01-13 13:39:33 -0600 |
|---|---|---|
| committer | Narr the Reg <juangerman-13@hotmail.com> | 2023-01-19 18:05:23 -0600 |
| commit | 4a307a7b3aa3afea7d62674f6cf40b76f3ffb5e3 (patch) | |
| tree | c104ff9a8a48cf29fd3dc67c84f5af71224744f7 /src/core/hle/service/hid/controllers | |
| parent | b40aefb39ea8b4259acdbe0616790c2234d9b9ef (diff) | |
core: hid: Only set the polling mode to the correct side
Diffstat (limited to 'src/core/hle/service/hid/controllers')
| -rw-r--r-- | src/core/hle/service/hid/controllers/npad.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp index fe5bf94d2..5713f1288 100644 --- a/src/core/hle/service/hid/controllers/npad.cpp +++ b/src/core/hle/service/hid/controllers/npad.cpp @@ -337,7 +337,19 @@ void Controller_NPad::InitNewlyAddedController(Core::HID::NpadIdType npad_id) { controller.is_connected = true; controller.device->Connect(); controller.device->SetLedPattern(); - controller.device->SetPollingMode(Common::Input::PollingMode::Active); + if (controller_type == Core::HID::NpadStyleIndex::JoyconDual) { + if (controller.is_dual_left_connected) { + controller.device->SetPollingMode(Core::HID::EmulatedDeviceIndex::LeftIndex, + Common::Input::PollingMode::Active); + } + if (controller.is_dual_right_connected) { + controller.device->SetPollingMode(Core::HID::EmulatedDeviceIndex::RightIndex, + Common::Input::PollingMode::Active); + } + } else { + controller.device->SetPollingMode(Core::HID::EmulatedDeviceIndex::AllDevices, + Common::Input::PollingMode::Active); + } SignalStyleSetChangedEvent(npad_id); WriteEmptyEntry(controller.shared_memory); } |
