diff --git a/Source/Core/DolphinQt2/Config/ControllersWindow.cpp b/Source/Core/DolphinQt2/Config/ControllersWindow.cpp index e3269e8de1..7f8c98442e 100644 --- a/Source/Core/DolphinQt2/Config/ControllersWindow.cpp +++ b/Source/Core/DolphinQt2/Config/ControllersWindow.cpp @@ -297,6 +297,8 @@ void ControllersWindow::OnWiimoteTypeChanged(int type) return; } } + + SaveSettings(); } void ControllersWindow::OnGCTypeChanged(int type) @@ -312,6 +314,8 @@ void ControllersWindow::OnGCTypeChanged(int type) return; } } + + SaveSettings(); } void ControllersWindow::OnBluetoothPassthroughResetPressed() @@ -498,6 +502,9 @@ void ControllersWindow::SaveSettings() const int index = m_wiimote_boxes[i]->currentIndex(); g_wiimote_sources[i] = index; m_wiimote_buttons[i]->setEnabled(index != 0 && index != 2); + + if (Core::IsRunning()) + WiimoteReal::ChangeWiimoteSource(static_cast(i), index); } UICommon::SaveWiimoteSources(); @@ -507,7 +514,13 @@ void ControllersWindow::SaveSettings() const int index = m_gc_controller_boxes[i]->currentIndex(); const std::optional si_device = FromGCMenuIndex(index); if (si_device) + { SConfig::GetInstance().m_SIDevice[i] = *si_device; + + if (Core::IsRunning()) + SerialInterface::ChangeDevice(*si_device, static_cast(i)); + } + m_gc_buttons[i]->setEnabled(index != 0 && index != 6); } SConfig::GetInstance().SaveSettings();