Hi guys,
In response to the discussion Howard and I had, as depicted in the comments from the following thread:
Spring centering is a very simple thing to enable via direct input though... it's literally two lines of code. If Model 2 is running in non-exclusive mode a little app could easily be written to turn it on. I'm not sure if model 2 would override the settings or not, but considering I use mamehooker to send FF effects while mame is actively polling the joystick, I doubt it. That is the other option btw... to fully externalize FF effects and have mamehooker deal with them. I've gotten most of the games mapped out the new troubleshooter app.
Howard if you can convert or write from scratch a new ffb DInput dll file that does what my current xinput one does, that would be fantastic. 
Well a dll is a way to do it, but I don't think that it's the best way.
The spring setting is just that, a setting,... it isn't something that has to be constantly changed.
How directinput usually works:
1. DX and DI are initalized
2. Settings (such as deazones, calibrations ect and yes spring centering) are applied to found joysticks
3. The joystick is polled in the game loop and/or the joystick sends an event notification to the window.
3b. Again, within the game loop Force effects, if any, are loaded or tweaked as needed
4. Game closes, all the DX stuff is destroyed.
Now as it relates to us, this is a very good thing. Direct Input allows you to change settings for a joystick at any time. Since normally the spring setting is only set at the start of a game, we can just set it to something else later. It won't interfere with model 2 and (hopefully) it won't get set back, so there isn't any need to override the entire dll, which takes a lot of time and effort to write.
For the record I know nothing about FF in xinput though. I wasn't even aware that they had figured out how to control wheels with xinput actually. News to me!
I don't know if this fix would help you with your particular problem though. Center Spring is just a generic bit of math applied to real effects. If your wheel motors are so strong that they override the spring, then your effects are set too high. Not much I can do about that. Now fancy racers will fake a center spring manually by applying custom math to their effects, but that's well about my pay grade. I'm too stupid to do that kind of math. 
http://forum.arcadecontrols.com/index.php/topic,130376.msg1339049.html#msg1339049Something very interesting has come up since then that I would like to share with you. Yes my friends, a solution has been found

Earlier in that thread I had asked Howard if he could make a .dll file that would deliver a center spring effect to my wheel, and make it so that even when I click away to another program or window it doesn't lose focus, returning my wheel to its loose and sloppy feeling. I had been using Fedit to accomplish this but having been fed up with fedit and the way it would sometimes lose focus
any way, I stopped using it altogether. After all this time, little did I know that the solution to this problem was right under my nose the whole time.... it is the SAME XINPUT.DLL Racer_S wrote for me!!!!!! That's right, other than allowing me to use my wheel with xinput supported emulators and games, this little file can provide my wheel with a nice center spring effect for ANY game and at ANY time
*without* losing focus.....at least not until I exit the game!
Being that the file is a .dll file, it never dawned on me that I could use this same xinput.dll file for the same task I was using fedit for. The thing I that blew my mind, was that all I needed to do was open the XinputTest.exe or
ANY program that triggers the .dll file, and simply keep it running in the background! I discovered this when using a PS1 emulator called PCSX. When I launch PCSX, it automatically activates the xinput.dll and you hear a "beep" sound and suddenly the wheel receives the spring signal. All this time I didn't know that the signal to the wheel will not lose focus
*even* when clicking away or starting a game!
Whether it's the xinputTest.exe or a PS1 emulator, whatever triggers and activates the dll will cause it to grab your wheel exclusively and keep hold of it until you exit a game! This is a
**HUGE** game changer for me, and will definitely suffice until Howard releases FFB Troubleshooter!
This amazing discovery is one of the main reasons I've gotten back into playing OutRun 2006 PC recently, and is a GODSEND for Ridge Racers 2 on the PPSSPP emulator....for without it, I'd be playing the game with very loose and sloppy feeling wheel. I can now have a very nice and bouncy spring feel to any game that doesn't support ffb, even MAME!
Speaking of MAME, it's ironic, because this dll file is the same one I was trying to get MAME to activate, but it doesn't(not directly). Now, after putting two and two together, I realize I can get any MAME racing game to activate the xinput.dll by simply writing a batch command that launches both the rom and xinputTest.exe, which in turn activates the dll file..all in one simple click! I even have it set up so that the racing games from MAME are in my steam library and when I click on them in steam it launches the game and the xinputTest.dll. Boom, instant center spring!
The only thing I can't figure out is how to write a batch command that *closes* the xinputTest.exe. That way I don't have to click on it manually to close it. I've tried commands like "Exit xinputTest.exe", "Killtask xinputTest.exe", and "Close xinputTest.exe" but none of them works.
Anyway long story short, for those of you with ffb steering wheels that want to play OutRun 2006 PC, MAME or any other non-ffb games/emulators, this is THE best solution. Just download the attached files and place them whereever you want. Double click the ini file and change the parameters under "WheelSpringGain" and "WheelIntertiaGain" until you find one that suits you. The settings in the file I'm uploading are pretty good for me already but since most of you guys are using a G25/G27 results may vary. Then, simply open the XinputTest.exe file and voila, instant spring effect via Xinput!
Any questions just ask.
