From e47417a161c661dd43b8dfac796805ea252a44ef Mon Sep 17 00:00:00 2001 From: Max Date: Sun, 5 Jul 2026 21:28:59 +0000 Subject: [PATCH] fixed rumble not being sent to the controller (#163) woopsies Reviewed-on: https://git.ryujinx.app/projects/Ryubing/pulls/163 --- src/Ryujinx.Input/HLE/NpadController.cs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Ryujinx.Input/HLE/NpadController.cs b/src/Ryujinx.Input/HLE/NpadController.cs index 720857bc3..f0c270277 100644 --- a/src/Ryujinx.Input/HLE/NpadController.cs +++ b/src/Ryujinx.Input/HLE/NpadController.cs @@ -701,16 +701,17 @@ namespace Ryujinx.Input.HLE VibrationValue leftVibrationValue = dualVibrationValue.Item1; VibrationValue rightVibrationValue = dualVibrationValue.Item2; + + float low = Math.Min(1f, (float)((rightVibrationValue.AmplitudeLow * 0.85 + rightVibrationValue.AmplitudeHigh * 0.15) * controllerConfig.Rumble.StrongRumble)); + float high = Math.Min(1f, (float)((leftVibrationValue.AmplitudeLow * 0.15 + leftVibrationValue.AmplitudeHigh * 0.85) * controllerConfig.Rumble.WeakRumble)); leftVibrationValue.AmplitudeLow *= controllerConfig.Rumble.WeakRumble; leftVibrationValue.AmplitudeHigh *= controllerConfig.Rumble.StrongRumble; rightVibrationValue.AmplitudeLow *= controllerConfig.Rumble.WeakRumble; rightVibrationValue.AmplitudeHigh *= controllerConfig.Rumble.StrongRumble; - if (!controllerConfig.Rumble.UseHDRumble || gamepad.HDRumble(leftVibrationValue, rightVibrationValue) == false) + if (!controllerConfig.Rumble.UseHDRumble || !gamepad.HDRumble(leftVibrationValue, rightVibrationValue)) { - float low = Math.Min(1f, (float)(rightVibrationValue.AmplitudeLow * 0.85 + rightVibrationValue.AmplitudeHigh * 0.15)); - float high = Math.Min(1f, (float)(leftVibrationValue.AmplitudeLow * 0.15 + leftVibrationValue.AmplitudeHigh * 0.85)); gamepad.Rumble(low, high, 0xFFFFFFFF); }