public void FFB_StopRight() { vibration.RSpeed = 0; if (isConnected) { InputWrapper.XInputSetState(userIndex, ref vibration); } ffbR_IsActive = false; }
public void FFB_RightMotor(float rightHiFrequency, int duration) { rightHiFrequency = (float)Math.Max(0d, Math.Min(1d, rightHiFrequency)); vibration.RSpeed = (ushort)(65535d * rightHiFrequency); ffbR_StopTime = DateTime.UtcNow.Add(TimeSpan.FromTicks(duration * TimeSpan.TicksPerMillisecond)); if (isConnected) { InputWrapper.XInputSetState(userIndex, ref vibration); } ffbR_IsActive = true; }
public void FFB_Vibrate(float leftLoMotor, float rightHiMotor, int durationLeft, int durationRight) { leftLoMotor = (float)Math.Max(0d, Math.Min(1d, leftLoMotor)); rightHiMotor = (float)Math.Max(0d, Math.Min(1d, rightHiMotor)); vibration.LSpeed = (ushort)(65535d * leftLoMotor); vibration.RSpeed = (ushort)(65535d * rightHiMotor); ffbL_StopTime = DateTime.UtcNow.Add(TimeSpan.FromTicks(durationLeft * TimeSpan.TicksPerMillisecond)); ffbR_StopTime = DateTime.UtcNow.Add(TimeSpan.FromTicks(durationRight * TimeSpan.TicksPerMillisecond)); if (isConnected) { InputWrapper.XInputSetState(userIndex, ref vibration); } ffbL_IsActive = true; ffbR_IsActive = true; }