HOWTO: Play Source Engine Games With A Controller

While Source games do have support for game pads out of the box, you’ll quickly notice the control is digital only if you try setting things up in the button config menu.

  1. Use the button config menu to set digital responses, including ones from analog sources. E.g., using the 360’s analog triggers to fire and shove.
  2. Use the Move Forward config to determine what Source thinks your analog sources are. It’ll be along the lines of [X|Y|Z|R|U|V] AXIS [POS|NEG]. You’re interested in the XYZRUV part. Make sure you clear any AXIS mappings from this setting when you are done, or else that axis will use digital control.
  3. Open up the developer console using the the back-tick key.
  4. Make sure advanced joystick settings are enabled by typing joy_advanced 1.
  5. For each analog control you want to assign, use joy_advaxis[x|y|z|r|u|v] [n] where n is:
    1. Axis not used
    2. Move forward/back
    3. Look up/down (pitch)
    4. Move left/right (strafe)
    5. Turn left/right (yaw)

    E.g., joy_advaxisy 1

  6. Be sure all extraneous axes are set to 0.
  7. If you want inverted look, type joy_inverty 1. Even though it says “Y” it applies to pitch not the Y axis itself.