So you want to get your Saitek X52 Joystick and Throttle working. Well I've been messing around with this thing for a while now and this is what I have working.
Add the following to your USER.CFG file:
cl_joystick_gain = 8 cl_joystick_sensitivity = 0.75 cl_joystick_throttle_range = 0 cl_joystick_invert_throttle = 1 cl_joystick_invert_pitch = 1 cl_joystick_invert_yaw = 0 cl_joystick_invert_turn = 0 cl_joystick_deadzone = 0.1
The things you'll want to play with are:
cl_joystick_gain - The higher this value is set to, the faster a full throw of the joystick is going to move the reticule.
cl_joystick_sensitivity - The smaller this value is set to, the more sensitive your joystick will become. E.g. a slight throw of the joystick will trigger the movement. i.e. If you set this number to something big like 5, you'll smash the crud outta your joystick trying to get anything to move (which is funny in itself).
cl_joystick_throttle_range - This is a flag to tell your Joystick to have a middle STOP zone when the throttle is centered. Pushing forward makes you go forward, pulling back makes you go backward and putting the throttle in the middle will make you stop. I HIGHLY suggest you don't mess with this value. No I'm not going to help you with anything if you've messed with this value.
cl_joystick_invert_throttle - This will make sure that when you push forward on your throttle, you're going to accelerate.
cl_joystick_invert_pitch - When this is set to 1, you will look up when you pull BACK on the joystick. You will look down if you press FORWARD on the joystick. This is how airplanes work and how you should leave it unless you're some sort of demon spawn that does it backwards. If you are demon spawn, then set the value to 0 if you want to look the wrong direction when pressing forward or back on the joystick.
cl_joystick_deadzone - This is the amount of non-movement wiggle room when you're joystick is centered. The smaller you make this, the less wiggle room there will be.
Now all other settings (button mapping) is done in Menu > Options. I have mapped every goofy button on this joystick to every action of the game and it works. If it doesn't work for you, there's a problem between your chair and your monitor.
FOR REFERENCE (THIS MEANS DO NOT... REPEAT... DO NOT COPY AND PASTE THIS INTO YOUR ACTIONMAPS.XML FILE) After mapping simple controls, this is what my actionmaps.xml file looks like:
<ActionMaps version="0"> <actionmap name="hud"> <action name="toggle_Weapon_Group"> <rebind device="joystick" input="" index="1" defaultInput="j0_button4"/> </action> </actionmap> <actionmap name="mech"> <action name="m_wg6"> <rebind device="keyboard" input="insert" index="2" defaultInput=""/> </action> <action name="m_wg3"> <rebind device="joystick" input="j0_button1" index="0" defaultInput="j1_button6"/> </action> <action name="m_wg2"> <rebind device="joystick" input="j0_button4" index="0" defaultInput="j1_button5"/> </action> <action name="m_wg1"> <rebind device="joystick" input="" index="1" defaultInput="j1_button4"/> </action> <action name="joy_turn"> <rebind device="joystick" input="j0_axis_x" index="0" defaultInput="j0_rot_z"/> </action> <action name="joy_throttle"> <rebind device="joystick" input="j0_axis_z" index="0" defaultInput="j0_slider0"/> </action> <action name="joy_torso_rotateyaw"> <rebind device="joystick" input="j0_rot_z" index="0" defaultInput="j0_axis_x"/> </action> <action name="m_next_target"> <rebind device="joystick" input="" index="1" defaultInput="j0_button5"/> </action> </actionmap> </ActionMaps>
NOTE: This file is AUTOGENERATED... do NOTcopy and paste this and expect it to save
Now go try this stuff out. It should work flawlessly. If it doesn't, I can guarantee you that the problem is sitting on your chair. If I find that this is the case.. I will NOT hesitate to call you out on the forums! You have been warned!
- Paul "The Bitter Joystick Handler" Inouye.