Configuring the controls

From VDrift
Revision as of 16:13, 20 April 2007 by Thelusiv (talk) (Orbit: mouse does not always control camera movement, linked to camera movement section of same page)
Jump to: navigation, search

VDrift aims to be very user input friendly, and thus there are many different ways to adjust the controls in the game to fit each user's needs. There are options which affect all the controls, options which affect only a certain type of controls, and options that affect each individual control assignment.


  • Any input method can be used to navigate the menu.
  • Joysticks can be used by calibrating them in the Options -> Controls -> Joystick -> Calibrate menu.
  • Any input can be assigned to any control.
  • Gas, brake, and steering controls only allow a single setting. All other controls can have any number of settings on any types of input devices.

Control options

Control options are defined in the text configuration file options.config, set in the Options -> Controls menu and its submenus, and stored in the text configuration file VDrift.config.


  • type: boolean
  • setting: control.autoclutch
  • values: on, off

Enable/disable automatic clutching (prevents car from stalling). Simulates the driver pressing the clutch in using foot when RPM gets close to the stall point.


  • type: boolean
  • setting: control.autotrans
  • values: on, off

Enable/disable automatic transmission shifting.

Button Control Delay

  • type: float
  • setting: control.button_ramp
  • values: off (0.0), long (5.0), medium (7.5), short (10.0)

Slow down application of button inputs on analog controls.

Speed Affect on Steering

  • type: float
  • setting: control.speed_sens_steering
  • values: range 0.0 to 1.0

The higher the value on this setting, the more steering is limited as car speed increases.

Joystick Type

  • type: string
  • setting: joystick.type
  • values: "joystick", "wheel"

Change the type of joystick device.

Force Feedback Device

  • type: string
  • setting: joystick.ff_device
  • values: something like "/dev/input/eventX"

Device file for force feedback events.

Force Feedback Gain

  • type: float
  • setting: joystick.ff_gain
  • values: range 0.5 to 5.0

Multiplier to adjust strength of force feedback.

Invert Force

  • type: boolean
  • setting: joystick.ff_invert
  • values: on, off

Reverse the force feedback, if necessary for your wheel.

200 Degree Wheel

  • type: boolean
  • setting: joystick.two_hundred
  • values: on, off

Limit steering range to 200 degrees, gives a realistic feel to limited range wheels.

Assigning controls

Control assignments can be configured through the submenus of the Options -> Controls -> Assign Controls menu, and stored in the text configuration file controls. Control assignments can be edited after they are set.

There are two basic types of control, analog and digital. Analog controls include joystick axes and mouse motion, while digital controls are keys, mouse buttons and joystick buttons. Any type of input can be assigned to any type of control.

So, for example, a digital control - like a key - can be assigned to an analog control. If the "Button Control Delay" option is something other than 0.0, then the key will behave just like a true analog control.

Car Controls

  • control name: gas

The gas control causes the car to speed up.

  • control name: brake

The brake control causes the car to slow down.

Steer Left
  • control name: steer_left

The steer left control causes the car to turn left.

Steer Right
  • control name: steer_right

The steer right control causes the car to turn right.

Start Engine
  • control name: start_engine

The start engine control will restart the engine if it stalls.

Note: The engine will not start unless the car's transmission is in neutral.
  • control name: handbrake

The handbrake brakes only on the back wheels.

ABS Toggle
  • control name: abs_toggle

The ABS Toggle turns anti-lock braking on or off while playing.

TCS Toggle
  • control name: tcs_toggle

The TCS Toggle turns traction control on or off while playing.


Shift Up
  • control name: disengage_shift_up

The shift up control changes the car's gear to the next one.

Shift Down
  • control name: disengage_shift_down

The shift down control changes the car's gear to the previous one.

Engage Clutch
  • control name: engage

The engage clutch control lets out the clutch. This must be done after every shift.

Analog Clutch
  • control name: clutch

The analog clutch control can allow you to use an external clutch pedal.


  • control name: neutral

The neutral control shifts the car into neutral.

  • control name: first_gear

The first gear control shifts the car into first gear.

  • control name: second_gear

The second gear control shifts the car into second gear.

  • control name: third_gear

The third gear control shifts the car into third gear.

  • control name: fourth_gear

The fourth gear control shifts the car into fourth gear.

  • control name: fifth_gear

The fifth gear control shifts the car into fifth gear.

  • control name: sixth_gear

The sixth gear control shifts the car into sixth gear.

  • control name: reverse

The reverse control puts the car into reverse gear.

Game Controls

  • control name: pause

The pause control freezes the game (except in multiplayer).

Camera Views

Previous Camera
  • control name: view_prev_camera

This moves to the previous camera in the set (hood, in-car, chase rigid, chase loose).

Next Camera
  • control name: view_next_camera

This moves to the next camera in the set (hood, in-car, chase rigid, chase loose).

  • control name: view_hood

The hood camera control moves the camera to the car's hood.

  • control name: view_incar

The in-car camera control moves the camera to driver's view.

Chase (Rigid)
  • control name: view_chaserigid

The rigid chase camera control moves the camera to a fixed distance behind the car.

Chase (Loose)
  • control name: view_chase

The loose chase camera control moves the camera to follow the car like a helicopter.

  • control name: view_orbit

The orbit camera control swings around the car as the camera moves.

  • control name: view_free

The free camera control can be moved anywhere using the arrow keys.

Camera Movement

Pan Left
  • control name: pan_left

Turn the camera view to the left.

Pan Right
  • control name: pan_right

Turn the camera view to the right.

Pan Up
  • control name: pan_up

Turn the camera view upwards.

Pan Down
  • control name: pan_down

Turn the camera view downwards.

Zoom In
  • control name: zoom_in

Zoom camera in.

Zoom Out
  • control name: zoom_out

Zoom camera out.


Skip Forward
  • control name: replay_ff

The skip forward control skips ahead ten seconds during a replay.

Skip Backward
  • control name: replay_rw

The skip backward control goes back ten seconds during a replay.


Screen Shot
  • control name: screen_shot

The screen shot control saves a snapshot of the game while playing.

Joystick Info
  • control name: joystick_info

The joystick info control shows debugging info for available joysticks.

Editing Controls

After controls have been assigned they can be edited to change some properties of the control. To edit a control just click on it in one of the control assignment menus.

Analog control properties

Analog controls include joystick axes and mouse motion. These have options for deadzone, gain and exponent.


Deadzone allows motion under a certain threshold percentage to be ignored. This is useful if you use a joystick which "wobbles" around the center. You may see the brake lights come on when you let go of the gas, or the car is hard to keep going straight, deadzone will help to fix these things.


Gain multiplies the input value by a percentage. This will make the input value increase linearly.


Exponent raises the input value on an exponential curve. This helps give more fine-tuning of controls such as steering around the center but still allows for making sharp turns if needed.

Digital control properties


This controls whether the action will be triggered when the button/key is pressed (down), or released (up).


This should be set to "held" when they a digital input is mapped to an analog control, like when using keys for gas, brake or steering. This is set automatically when the control is assigned.

Deleting controls

There is a Delete button on each Control Editing screen, so to delete a control just click on it, then click Delete.