diff --git a/pcsx2-qt/Settings/ControllerGlobalSettingsWidget.cpp b/pcsx2-qt/Settings/ControllerGlobalSettingsWidget.cpp index b091b3c0e4..d5a0051dd5 100644 --- a/pcsx2-qt/Settings/ControllerGlobalSettingsWidget.cpp +++ b/pcsx2-qt/Settings/ControllerGlobalSettingsWidget.cpp @@ -144,6 +144,9 @@ ControllerLEDSettingsDialog::ControllerLEDSettingsDialog(QWidget* parent, Contro linkButton(m_ui.SDL2LED, 2); linkButton(m_ui.SDL3LED, 3); + SettingsInterface* sif = dialog->getProfileSettingsInterface(); + + ControllerSettingWidgetBinder::BindWidgetToInputProfileBool(sif, m_ui.enableSDLPS5PlayerLED, "InputSources", "SDLPS5PlayerLED", false); connect(m_ui.buttonBox->button(QDialogButtonBox::Close), &QPushButton::clicked, this, &QDialog::accept); } diff --git a/pcsx2-qt/Settings/ControllerLEDSettingsDialog.ui b/pcsx2-qt/Settings/ControllerLEDSettingsDialog.ui index 4fd71b4331..5e6ca870ce 100644 --- a/pcsx2-qt/Settings/ControllerLEDSettingsDialog.ui +++ b/pcsx2-qt/Settings/ControllerLEDSettingsDialog.ui @@ -7,7 +7,7 @@ 0 0 501 - 108 + 128 @@ -26,14 +26,14 @@ - - + + - SDL-1 LED + SDL-3 LED - + - + @@ -50,24 +50,53 @@ - - + + - SDL-3 LED + SDL-1 LED - + - + - - - - QDialogButtonBox::Close + + + + QLayout::SetDefaultConstraint - + + 0 + + + + + + 0 + 0 + + + + Enable DualSense Player LED + + + + + + + + 0 + 0 + + + + QDialogButtonBox::Close + + + + diff --git a/pcsx2/ImGui/FullscreenUI.cpp b/pcsx2/ImGui/FullscreenUI.cpp index 3ecd7bbc9c..53af1db5af 100644 --- a/pcsx2/ImGui/FullscreenUI.cpp +++ b/pcsx2/ImGui/FullscreenUI.cpp @@ -3916,6 +3916,9 @@ void FullscreenUI::DrawControllerSettingsPage() DrawToggleSetting(bsi, FSUI_ICONSTR(ICON_FA_WIFI, "SDL DualShock 4 / DualSense Enhanced Mode"), FSUI_CSTR("Provides vibration and LED control support over Bluetooth."), "InputSources", "SDLControllerEnhancedMode", false, bsi->GetBoolValue("InputSources", "SDL", true), false); + DrawToggleSetting(bsi, FSUI_ICONSTR(ICON_FA_LIGHTBULB, "SDL DualSense Player LED"), + FSUI_CSTR("Enable/Disable the Player LED on DualSense controllers."), "InputSources", "SDLPS5PlayerLED", false, + bsi->GetBoolValue("InputSources", "SDLControllerEnhancedMode", true), false); #ifdef _WIN32 DrawToggleSetting(bsi, FSUI_ICONSTR(ICON_FA_COG, "SDL Raw Input"), FSUI_CSTR("Allow SDL to use raw access to input devices."), "InputSources", "SDLRawInput", false, bsi->GetBoolValue("InputSources", "SDL", true), false); diff --git a/pcsx2/Input/SDLInputSource.cpp b/pcsx2/Input/SDLInputSource.cpp index 5e0cfd6756..997f0c483c 100644 --- a/pcsx2/Input/SDLInputSource.cpp +++ b/pcsx2/Input/SDLInputSource.cpp @@ -158,6 +158,7 @@ bool SDLInputSource::Initialize(SettingsInterface& si, std::unique_lock& settings_lock) { const bool old_controller_enhanced_mode = m_controller_enhanced_mode; + const bool old_controller_ps5_player_led = m_controller_ps5_player_led; const bool old_controller_raw_mode = m_controller_raw_mode; #ifdef __APPLE__ @@ -175,6 +176,7 @@ void SDLInputSource::UpdateSettings(SettingsInterface& si, std::unique_lock(i))); } si.SetBoolValue("InputSources", "SDLControllerEnhancedMode", false); + si.SetBoolValue("InputSources", "SDLPS5PlayerLED", false); si.SetBoolValue("Pad", "MultitapPort1", false); si.SetBoolValue("Pad", "MultitapPort2", false); si.SetFloatValue("Pad", "PointerXScale", 8.0f); @@ -329,6 +330,7 @@ void Pad::CopyConfiguration(SettingsInterface* dest_si, const SettingsInterface& InputManager::InputSourceToString(static_cast(i))); } dest_si->CopyBoolValue(src_si, "InputSources", "SDLControllerEnhancedMode"); + dest_si->CopyBoolValue(src_si, "InputSources", "SDLPS5PlayerLED"); } for (u32 port = 0; port < Pad::NUM_CONTROLLER_PORTS; port++)