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++)