From: Viktor Balogh <viktor.balogh45@gmail.com> At least Thrustmaster wheels are known for using the Escape method for communication between the driver and the game. This is not utilized by every game, but one that does is RaceRoom Racing Experience (RRRE). RRRE uses it to query/set the wheel range and set force strengths. The problematic part is the wheel range query, because the returned value (0) is not the real range and that throws off the internal logic of RRRE's engine and causes the wheel to snap in one direction. Returning DIERR_UNSUPPORTED clearly indicates that the call failed and RRRE no longer tries to use these methods for interaction with the wheel. Returning DIERR_UNSUPPORTED is also aligns with the behaviour of hid_joystick_effect_Escape. --- dlls/dinput/device.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/dinput/device.c b/dlls/dinput/device.c index 31240d03f65..35518dd91dd 100644 --- a/dlls/dinput/device.c +++ b/dlls/dinput/device.c @@ -1758,7 +1758,7 @@ static HRESULT WINAPI dinput_device_EnumCreatedEffectObjects( IDirectInputDevice static HRESULT WINAPI dinput_device_Escape( IDirectInputDevice8W *iface, DIEFFESCAPE *escape ) { FIXME( "iface %p, escape %p stub!\n", iface, escape ); - return DI_OK; + return DIERR_UNSUPPORTED; } static HRESULT WINAPI dinput_device_Poll( IDirectInputDevice8W *iface ) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10052