a) Keep in mind that startDelay is not supported in DX5 or lower: In the SetParameters(...) case, we're sure This->effect.replay.delay is set to zero, because the HEAP_ZERO_MEMORY flag was set when allocating the LinuxInputEffectImpl 'This' struct in linuxinput_create_effect(...). So change dinput/effect_linuxinput.c:223 : if (dwFlags & DIEP_STARTDELAY) { peff->dwStartDelay = This->effect.replay.delay * 1000; } to : if ((dwFlags & DIEP_STARTDELAY) && (peff->dwSize > sizeof(DIEFFECT_DX5))) { peff->dwStartDelay = This->effect.replay.delay * 1000; }
and change dinput/effect_linuxinput.c:463 : if (dwFlags & DIEP_STARTDELAY) This->effect.replay.delay = peff->dwStartDelay / 1000; to : if ((dwFlags & DIEP_STARTDELAY) && (peff->dwSize > sizeof(DIEFFECT_DX5))) This->effect.replay.delay = peff->dwStartDelay / 1000;
Elias