it more than likely works as a joy stick interface.
the mmsystem unit has joy stick functions in it..
here is a link that gives you a little help
http://sheepdogguides.com/dt4i.htm
http://mc-computing.com/Languages/Joysticks.htm
That one is the same but looks more complete.
P.s.
you may have issues with window messaging. I don't think Lazarus allows those ranges of numbers but if not, I have a simple unit that makes it easy to add messages to the form.
This one worked with Momo Racing right away, except I cannot capture brake pedal.
I've looked here
Lazarus\fpc\3.2.0\source\packages\winunits-base\src\mmsystem.pp
and here
http://www.delphigroups.info/2/78/19929.htmland it turns out that wXpos is steering wheel position (0 being max left, 65535 being max right, so centered wheel is 32767,5 (while decimal point gets lost in reading anyway). wZpos is acceleration pedal (65535 is not touched, 0 is pressed to the floor). wButtons capture buttons as well. But I cannot capture brake (wYpos reads nothing), if anybody has any idea I will appreciate.
Here is a simple code in which you can control scrollbar with steering wheel (TTimer.Interval is set to 1 (milisecond))
uses
mmSystem;
type
TForm1 = class(TForm)
Edit1: TEdit;
ScrollBar1: TScrollBar;
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
var
myjoy: tjoyinfo;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
joygetpos(joystickid1,@myjoy);
Edit1.Text:=IntToStr(myjoy.wxpos);
ScrollBar1.Position:=round(myjoy.wxpos/655.35);
end;