Haptic problems in DirectInput mode

Hi, first of all - I’m on Windows 7 64-bit, and my gamepad is Speedlink SL-6566BK (supports both XInput and DirectInput modes via knob on the back).

I’m having really strange problems with haptic API. For some reason, it doesn’t work in DirectInput mode at all. When I’m trying to initialize it from existing joystick via SDL_HapticOpenFromJoystick, SDL_GetError returns “Haptic error Setting cooperative level to exclusive”. I suppose this bug has something to do with dummy SDL_HelperWindow that SDL creates for FF init? Other than that, I have no ideas.

OK, let’s try to create haptic device independently (via SDL_HapticOpen). In this case, haptic device seems to be created successfully, but when I try to initialize simple effect with SDL_HapticRumbleInit, SDL_GetError returns this: “Haptic error Unable to create effect”.

Now that’s really strange, since my old self-written Delphi force feedback API works perfectly in same circumstances. Only difference is that I’ve used GUID_ConstantForce effect type instead of GUID_Sine, which is used by SDL in SDL_HapticRumbleInit (by the way, despite the fact that Edgar Simo says (http://forums.libsdl.org/viewtopic.php?p=13817#13817) that gamepads shouldn’t utilize constant effects, I never had problems with GUID_ConstantForce effect type with all of my FF gamepads). But actually it doesn’t make a difference, because if I initialize effect manually with SDL_HAPTIC_CONSTANT as a type, it still returns “Haptic error Unable to create effect”.

P.S.: Of course, in XInput mode it works flawlessly, since whole initialization process is completely different.