mirror of https://github.com/PCSX2/pcsx2.git
USB: Work around FFB dropouts with modern wheels
Certain modern direct-drive wheels such as the Moza R5, R9, etc. implement timeouts for FFB constant forces, and expect the forces to be re-run rather than updated in order to refresh these timeouts.
This commit is contained in:
parent
69de95df8b
commit
dafca1e264
|
@ -187,14 +187,14 @@ namespace usb_pad
|
||||||
Console.Warning("SDL_HapticUpdateEffect() for constant failed: %s", SDL_GetError());
|
Console.Warning("SDL_HapticUpdateEffect() for constant failed: %s", SDL_GetError());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!m_constant_effect_running)
|
// Always 'run' the constant force effect, even when already running. This
|
||||||
{
|
// mitigates FFB timeout issues experienced by some modern direct-drive
|
||||||
|
// wheels, such as Moza R5, R9, etc...
|
||||||
if (SDL_HapticRunEffect(m_haptic, m_constant_effect_id, SDL_HAPTIC_INFINITY) == 0)
|
if (SDL_HapticRunEffect(m_haptic, m_constant_effect_id, SDL_HAPTIC_INFINITY) == 0)
|
||||||
m_constant_effect_running = true;
|
m_constant_effect_running = true;
|
||||||
else
|
else
|
||||||
Console.Error("SDL_HapticRunEffect() for constant failed: %s", SDL_GetError());
|
Console.Error("SDL_HapticRunEffect() for constant failed: %s", SDL_GetError());
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
template <typename T>
|
template <typename T>
|
||||||
static u16 ClampU16(T val)
|
static u16 ClampU16(T val)
|
||||||
|
|
Loading…
Reference in New Issue