From 0ccc553df61a10440685da7a0cab3f31e8101d29 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Wed, 16 Sep 2026 01:48:32 +1000 Subject: [PATCH] InputManager: Fix effect sync device matching Require both the input backend and device index to match before restoring vibration or LED state on connection. --- src/util/input_manager.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/util/input_manager.cpp b/src/util/input_manager.cpp index 85522cb14..5458a8131 100644 --- a/src/util/input_manager.cpp +++ b/src/util/input_manager.cpp @@ -1101,7 +1101,7 @@ void InputManager::SynchronizePadEffectBindings(InputBindingKey key) for (PadVibrationBinding& vib_binding : s_state.pad_vibration_array) { // only matching devices - if (vib_binding.binding.source_type != key.source_type && vib_binding.binding.source_index != key.source_index) + if (vib_binding.binding.source_type != key.source_type || vib_binding.binding.source_index != key.source_index) continue; // need to find the max intensity for this binding, might be more than one if combined motors @@ -1119,7 +1119,7 @@ void InputManager::SynchronizePadEffectBindings(InputBindingKey key) for (PadLEDBinding& led_binding : s_state.pad_led_array) { // only matching devices - if (led_binding.binding.source_type != key.source_type && led_binding.binding.source_index != key.source_index) + if (led_binding.binding.source_type != key.source_type || led_binding.binding.source_index != key.source_index) continue; // Need to pass it through unconditionally, otherwise if the LED was on it'll stay on.