How to Play Mafia 2 With Steering Wheel

Driving a vehicle in the games like Mafia 2 and Grand Theft Auto with a steering wheel can be real fun and easy as compared to keyboard or a joypad.

Driving a vehicle in the games like Mafia 2 and Grand Theft Auto with a steering wheel can be real fun and easy as compared to keyboard or a joypad. Following tutorial will help you make your steering wheel (primarily G25 and G27) work for Mafia 2.

Step 1
Download X360xce 3.1.4.0 emulator.
Step 2
Unzip the archive and paste all the files included in the archive to

c:\program files (x86)\Steam\steamapps\common\mafia 2\pc

Step 3
Open file named “x360ce.ini” and at third line, change FakeAPI=0 (default) to 1.

Step 4
Now you need to manually set the VID/PID controller id’s into the ini file. In order to do that you should know these values for your wheel first.
Goto “Device manager” and then to “Human Interface” devices. Find “HID-compliant game controller” and click its Properties. Go to “Details” and by selecting Hardware ID see values written after VID_ and PID_.

Step 5
Now open the ini file in the archive and put your VID/PID values in the respected location [PAD 1].

Step 6
In the 1st line below [PAD 1] in ini,  change index= 0 to 1.

Step 7
Now you need to replace all the lines below [PAD 2] with the following lines:

[PAD2] Index=0 #controller index in system game controllers list; 0 is first; -1 to ignore this pad
Native=0 #experimental native mode, calls system xinput1_3.dll to support xinput compatible controller together with emulated
VID=0x046D #REPLACE THIS WITH YOUR VID NUMBER
PID=0xC294 #REPLACE THIS WITH YOUR PID NUMBER
Left Analog X=1 #axis index; use – to invert; precede with ‘s’ for a slider eg; s-1; 7 to disable
Left Analog Y=7 #axis index; use – to invert; precede with ‘s’ for a slider eg; s-1; 7 to disable
Right Analog X=7 #axis index; use – to invert; precede with ‘s’ for a slider eg; s-1; 7 to disable
Right Analog Y=7 #axis index; use – to invert; precede with ‘s’ for a slider eg; s-1; 7 to disable
Left Analog X Linear=35 #-100 to +100 raise this number to increase sensitivity near center
Left Analog Y Linear=0 #-100 to +100 raise this number to increase sensitivity near center
Right Analog X Linear=0 #-100 to +100 raise this number to increase sensitivity near center
Right Analog Y Linear=0 #-100 to +100 raise this number to increase sensitivity near center
Left Analog X+ Button=0 #button id; 0 to disable
Left Analog X- Button=0 #button id; 0 to disable
Left Analog Y+ Button=0 #button id; 0 to disable
Left Analog Y- Button=0 #button id; 0 to disable
Right Analog X+ Button=0 #button id; 0 to disable
Right Analog X- Button=0 #button id; 0 to disable
Right Analog Y+ Button=0 #button id; 0 to disable
Right Analog Y- Button=0 #button id; 0 to disable
D-pad POV=0 #POV index; 0 to disable
D-pad Up=0 #button id; 0 to disable
D-pad Down=0 #button id; 0 to disable
D-pad Left=0 #button id; 0 to disable
D-pad Right=0 #button id; 0 to disable
A=18 #button id; 0 to disable
B=5 #button id; 0 to disable
X=17 #button id; 0 to disable
Y=16 #button id; 0 to disable
Left Shoulder=0 #button id; 0 to disable
Right Shoulder=5 #button id; 0 to disable
Back=23 #button id; 0 to disable
Start=22 #button id; 0 to disable
Left Thumb=14 #button id; 0 to disable
Right Thumb=13 #button id; 0 to disable
TriggerDeadzone=5 #use 0 to 255; default 0; add deadzone to trigger
Left Trigger=a-6 #button id; precede with ‘a’ for an axis; ‘s’ for a slider; ‘x’ for a half range axis;

‘h’ for half slider; use ‘-‘ to invert ie. x-2;
Right Trigger=a-2 #button id; precede with ‘a’ for an axis; ‘s’ for a slider; ‘x’ for a half range axis;

‘h’ for half slider; use ‘-‘ to invert ie. x-2;
UseForceFeedback=1 #use 0 to 1; default 0
ForceLargeGain=8000 #use 0 to 10000; default 10000; effect intensity
ForceLargePeriod=120000 #use 0 to 200000; default 120000; effect frequency; wheel only
ForceLargeFadeTime=10 #use 0 to 100; default 10
ForceLargeFadeIn=1 #use 0 to 1; default 1
ForceLargeFadeOut=1 #use 0 to 1; default 1
ForceLargeStartMag=1000 #use 0 to 10000; default 2000; effect will begin with this value and end with 10000
ForceSmallGain=8000 #use 0 to 10000; default 10000; effect intensity
ForceSmallPeriod=30000 #use 0 to 200000; default 30000; effect frequency; wheel only
ForceSmallFadeTime=10 #use 0 to 100; default 10
ForceSmallFadeIn=1 #use 0 to 1; default 1
ForceSmallFadeOut=1 #use 0 to 1; default 1
ForceSmallStartMag=1000 #use 0 to 10000; default 2000; effect will begin with this value and end with 10000
WheelInertiaGain=3000 #use 0 to 10000; default 2500; effect intensity; wheel only
WheelSpringGain=4000 #use 0 to 10000; default 5000; effect intensity; wheel only
SteeringWheel=1 #use 0 to 1; enable for all wheel effects

Note. Make sure you have replaced the VID/PID values in the above lines. You can customize these lines to change the buttons etc but, it is recommended that you use them as such.

Step 8
Now close the ini file and save the settings. Launch “XInputTest.exe” and launch the game. Your wheel should work fine by now.

Update. Check this thread on 2K Forums for complete discussion in this regard.

Avatar photo

Ali is a passionate RPG gamer. He believes that western RPGs still have a lot to learn from JRPGs. He is editor-in-chief at SegmentNext.com but that doesn't stop him from writing about his favorite video ...