diff options
-rw-r--r-- | src/hid_core/frontend/emulated_controller.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/hid_core/frontend/emulated_controller.cpp b/src/hid_core/frontend/emulated_controller.cpp index e12e5a77e..063f5b15a 100644 --- a/src/hid_core/frontend/emulated_controller.cpp +++ b/src/hid_core/frontend/emulated_controller.cpp @@ -110,7 +110,11 @@ void EmulatedController::ReloadFromSettings() { original_npad_type = npad_type; } - SetPollingMode(EmulatedDeviceIndex::RightIndex, Common::Input::PollingMode::Active); + // Disable special features before disconnecting + if (controller.right_polling_mode != Common::Input::PollingMode::Active) { + SetPollingMode(EmulatedDeviceIndex::RightIndex, Common::Input::PollingMode::Active); + } + Disconnect(); if (player.connected) { Connect(); |