Controls and configuration
Intro
Rigs of Rods is a simulator which strives for maximum reallism, and hence you need an appropriate controller, such as a wheel for land vehicles and joystick for aerial or marine vehicles.
Input is configured by editing configuration file input.map or by using the Input Mapping Tool. In-game configuration of controls is not implemented yet.
Keyboard layout
General keys
Misc | Key |
---|---|
Enter or exit truck | ENTER |
Quit Game | ESC |
Toggle Statistics | T |
Screenshot | PRINTSCR |
chat (Multiplayer) | Y |
Character control | Key |
---|---|
Jump | SPACE |
Turn Right | RIGHT |
Turn Left | LEFT |
Walk Fordwards | UP |
Walk Backwards | DOWN |
Run | SHIFT+UP |
Camera / Caelum Sky | Key |
---|---|
Change | C |
Control camera | 1, 2, 3, 4, 5, 6, 8, 9 |
Free camera | SHIFT+C |
Fixed camera | ALT+C |
Increase time | + |
Decrease time | - |
Increase time change rate | Shift (Use in combination with Inc./Dec. time keys) |
Land vehicle keys
Drive controls | Key |
---|---|
Steer Left | LEFT |
Steer Right | RIGHT |
Accelerate/Brake | UP / DOWN |
Tire Pressure +/- (not for all trucks) | [ ] |
Autoshift Up | PAGE-UP |
Autoshift Down | PAGE-DOWN |
Switch Shift Modes | Q |
Manual Clutch | SHIFT |
Shift Up | A |
Shift Down | Z |
Misc | Key |
---|---|
Truck Horn | H |
Parking Brake | P |
Blinker Left | COMMA |
blinker Right | DOT |
Blink Warn | PERIOD |
Toggle Contact | X |
Starter | S |
Lock Load | L |
Secure Load | O |
Reset Truck | I |
Show Skeleton | K |
Toggle Lights | N |
Toggle beacons | M |
Rescue Truck | R |
Toggle HUD | U |
Enter / Exit truck | ENTER |
particle Cannon | G |
Function keys | Combo |
---|---|
COMMANDS 01 | F1 |
... | ... |
COMMANDS 12 | F12 |
COMMANDS 13 | CTRL + F1 |
... | ... |
COMMANDS 24 | CTRL + F12 |
COMMANDS 25 | ALT + F1 |
... | ... |
COMMANDS 36 | ALT + F12 |
COMMANDS 37 | CTRL + ALT + F1 |
... | ... |
COMMANDS 48 | CTRL + ALT + F12 |
COMMANDS 49 | CTRL+ SHIFT + F1 |
... | ... |
COMMANDS 58 | CTRL + SHIFT + F10 |
COMMANDS 59 | CTRL + SHIFT + F11 |
... | ... |
COMMANDS 68 | CTRL + ALT + F8 |
COMMANDS 69 | CTRL + ALT + F9 |
... | ... |
COMMANDS 78 | CTRL + SHIFT + ALT + F6 |
COMMANDS 79 | CTRL + SHIFT + ALT + F7 |
... | ... |
COMMANDS 83 | CTRL + SHIFT + ALT + F11 |
COMMANDS 84 | CTRL + SHIFT + ALT + F12 |
Aerial and marine keys
Airplane controls | Key |
---|---|
Steer Left | LEFT |
Steer Right | RIGHT |
Elevator Up | UP |
Elevator Down | DOWN |
Rudder Right | X |
Rudder Left | Z |
Brake | B |
Parking Brake | P |
Reverse | R |
Less Flaps | 1 |
More Flaps | 2 |
Less Airbrakes* | 3 |
More Airbrakes* | 4 |
Throttle Down | PAGE-DOWN |
Throttle Up | PAGE-UP |
Start Engines | CLICK BUTTONS "ON" |
*
Depending on the plane setup
It is recommended to use: CTRL+Home
to start all engine of a plane and CTRL+PAGE-UP
to full throttle all engines
because some planes could have more than 4 engines and you couldn’t control them with your mouse.
Boat controls | Key |
---|---|
Throttle Down | DOWN |
Throttle Up | UP |
Steer Left | LEFT |
Steer Right | RIGHT |
Center Rudder | PGUP |
Center Throttle | PGDOWN |
Misc | Key |
---|---|
Parking Brake | P |
Lock Load | L |
Secure Load | O |
Reset Vehicle | I |
Reset Vehicle In Place | BACKSPACE |
Show Skeleton | K |
Toggle Lights | N |
Toggle beacons | M |
Toggle HUD | U |
Enter / Exit vehicle | ENTER |
Adjust Simulation Speed | Ctrl+= / Shift+= |
Switch Between Vehicles | Ctrl+] / Ctrl+[ |
Remove Current Vehicle | Ctrl+Del |
Respawn Last Vehicle | Ctrl+.(period) |
Config file ‘input.map’
For all keys, see the input.map file on GitHub.
This file defines all key alias for RoR. It has the following format:
EVENT_NAME EVENT_TYPE MAPPING
For example:
BOAT_CENTER_RUDDER Keyboard DOWN
This binds the BOAT_CENTER_RUDDER event to the Down arrow on your keyboard.
A list of all valid events can be found in the Keypress Events section.
Keyboard
For the keyboard there are several special things:
Modifiers:
- CTRL
- SHIFT
- ALT
Combine them with a + sign. Example:
CAMERA_FREE_MODE Keyboard EXPL+SHIFT+C
The EXPL tag
A special keyword used in defining commands.
In this example, only COMMANDS_01 is triggered when pressing F1, and COMMANDS_13 is triggered when pressing CTRL+F1 (but not COMMANDS_01)
COMMANDS_01 Keyboard EXPL+F1
COMMANDS_13 Keyboard EXPL+CTRL+F1
In this example, COMMANDS_01 would be triggered if you press CTRL+F1, as F1 is part of the COMMANDS_13 combination.
COMMANDS_01 Keyboard F1
COMMANDS_13 Keyboard CTRL+F1
List of usable keys
0
1
2
3
4
5
6
7
8
9
A
ABNT_C1
ABNT_C2
ADD
APOSTROPHE
APPS
AT
AX
B
BACK
BACKSLASH
C
CALCULATOR
CAPITAL
COLON
COMMA
CONVERT
D
DECIMAL
DELETE
DIVIDE
DOWN
E
END
EQUALS
ESCAPE
F
F1
F10
F11
F12
F13
F14
F15
F2
F3
F4
F5
F6
F7
F8
F9
G
GRAVE
H
HOME
I
INSERT
J
K
KANA
KANJI
L
LBRACKET
LCONTROL
LEFT
LMENU
LSHIFT
LWIN
M
MAIL
MEDIASELECT
MEDIASTOP
MINUS
MULTIPLY
MUTE
MYCOMPUTER
N
NEXTTRACK
NOCONVERT
NUMLOCK
NUMPAD0
NUMPAD1
NUMPAD2
NUMPAD3
NUMPAD4
NUMPAD5
NUMPAD6
NUMPAD7
NUMPAD8
NUMPAD9
NUMPADCOMMA
NUMPADENTER
NUMPADEQUALS
O
OEM_102
P
PAUSE
PERIOD
PGDOWN
PGUP
PLAYPAUSE
POWER
PREVTRACK
Q
R
RBRACKET
RCONTROL
RETURN
RIGHT
RMENU
RSHIFT
RWIN
S
SCROLL
SEMICOLON
SLASH
SLEEP
SPACE
STOP
SUBTRACT
SYSRQ
T
TAB
U
UNDERLINE
UNLABELED
UP
V
VOLUMEDOWN
VOLUMEUP
W
WAKE
WEBBACK
WEBFAVORITES
WEBFORWARD
WEBHOME
WEBREFRESH
WEBSEARCH
WEBSTOP
X
Y
YEN
Z
Joystick, Wheel or gamepad
This category covers all analogue input devices detected by the operating system, so all gamepads, joysticks, wheels, pedals, etc.
JoystickButton
Arguments:
- Joystick Number (unused in modern mappings), set to 0
- Button number
AIRPLANE_THROTTLE_DOWN JoystickButton 0 2
JoystickAxis
Arguments:
- Joystick Number (unused in modern mappings), set to 0
- Axis number
- Options:
- HALF
- REVERSE
- UPPER
- LOWER
- RELATIVE
- DIGITAL
- DEADZONE : add deadzone in percent with equal sign: “DEADZONE=0.15”.
- LINEARITY: add linearity in percent with equal sign: “LINEARITY=0.15”.
AIRPLANE_STEER_RIGHT JoystickAxis 0 1 UPPER+DEADZONE = 0.15
JoystickPov
Arguments:
- Joystick Number (unused in modern mappings), set to 0
- POV number
- Direction: North, South, East, West, NorthEast, SouthEast, NorthWest, SouthWest.
CHARACTER_FORWARD JoystickPov 0 0 North
JoystickSlider, JoystickSliderX, JoystickSliderY
Arguments:
- Joystick Number (unused in modern mappings), set to 0
- Slider number
- Options:
- REVERSE
TRUCK_MANUAL_CLUTCH JoystickSliderY 0 Y 0 REVERSE+DEADZONE = -30
Keypress Events
Keypress event identification in RoR 0.4.7.0+
These are all the valid keypress events, they can be used in a input map or for prop animations. not all make sense though for animated props.
AIRPLANE_AIRBRAKES_FULL
AIRPLANE_AIRBRAKES_LESS
AIRPLANE_AIRBRAKES_MORE
AIRPLANE_AIRBRAKES_NONE
AIRPLANE_BRAKE
AIRPLANE_ELEVATOR_DOWN
AIRPLANE_ELEVATOR_UP
AIRPLANE_FLAPS_FULL
AIRPLANE_FLAPS_LESS
AIRPLANE_FLAPS_MORE
AIRPLANE_FLAPS_NONE
AIRPLANE_PARKING_BRAKE
AIRPLANE_REVERSE
AIRPLANE_RUDDER_LEFT
AIRPLANE_RUDDER_RIGHT
AIRPLANE_STEER_LEFT
AIRPLANE_STEER_RIGHT
AIRPLANE_THROTTLE_AXIS
AIRPLANE_THROTTLE_DOWN
AIRPLANE_THROTTLE_FULL
AIRPLANE_THROTTLE_NO
AIRPLANE_THROTTLE_UP
AIRPLANE_TOGGLE_ENGINES
BOAT_CENTER_RUDDER
BOAT_REVERSE
BOAT_STEER_LEFT
BOAT_STEER_RIGHT
BOAT_THROTTLE_AXIS
BOAT_THROTTLE_UP
BOAT_THROTTLE_DOWN
CAMERA_CHANGE
CAMERA_FREE_MODE
CAMERA_FREE_MODE_FIX
CAMERA_LOOKBACK
CAMERA_RESET
CAMERA_UP
CAMERA_DOWN
CAMERA_ROTATE_DOWN
CAMERA_ROTATE_LEFT
CAMERA_ROTATE_RIGHT
CAMERA_ROTATE_UP
CAMERA_ZOOM_IN
CAMERA_ZOOM_IN_FAST
CAMERA_ZOOM_OUT
CAMERA_ZOOM_OUT_FAST
SKY_DECREASE_TIME
SKY_DECREASE_TIME_FAST
SKY_INCREASE_TIME
SKY_INCREASE_TIME_FAST
CHARACTER_BACKWARDS
CHARACTER_FORWARD
CHARACTER_JUMP
CHARACTER_LEFT
CHARACTER_RIGHT
CHARACTER_ROT_DOWN
CHARACTER_ROT_UP
CHARACTER_RUN
CHARACTER_RUN
CHARACTER_SIDESTEP_LEFT
CHARACTER_SIDESTEP_RIGHT
COMMANDS_01
COMMANDS_02
COMMANDS_03
COMMANDS_04
COMMANDS_05
COMMANDS_06
COMMANDS_07
COMMANDS_08
COMMANDS_09
COMMANDS_10
COMMANDS_11
COMMANDS_12
COMMANDS_13
COMMANDS_14
COMMANDS_15
COMMANDS_16
COMMANDS_17
COMMANDS_18
COMMANDS_19
COMMANDS_20
COMMANDS_21
COMMANDS_22
COMMANDS_23
COMMANDS_24
COMMANDS_25
COMMANDS_26
COMMANDS_27
COMMANDS_28
COMMANDS_29
COMMANDS_30
COMMANDS_31
COMMANDS_32
COMMANDS_33
COMMANDS_34
COMMANDS_35
COMMANDS_36
COMMANDS_37
COMMANDS_38
COMMANDS_39
COMMANDS_40
COMMANDS_41
COMMANDS_42
COMMANDS_43
COMMANDS_44
COMMANDS_45
COMMANDS_46
COMMANDS_47
COMMANDS_48
COMMANDS_49
COMMANDS_50
COMMANDS_51
COMMANDS_52
COMMANDS_53
COMMANDS_54
COMMANDS_55
COMMANDS_56
COMMANDS_57
COMMANDS_58
COMMANDS_59
COMMANDS_60
COMMANDS_61
COMMANDS_62
COMMANDS_63
COMMANDS_64
COMMANDS_65
COMMANDS_66
COMMANDS_67
COMMANDS_68
COMMANDS_69
COMMANDS_70
COMMANDS_71
COMMANDS_72
COMMANDS_73
COMMANDS_74
COMMANDS_75
COMMANDS_76
COMMANDS_77
COMMANDS_78
COMMANDS_79
COMMANDS_80
COMMANDS_81
COMMANDS_82
COMMANDS_83
COMMANDS_84
COMMON_ACCELERATE_SIMULATION
COMMON_DECELERATE_SIMULATION
COMMON_RESET_SIMULATION_PACE
COMMON_CONSOLE_TOGGLE
COMMON_ENTER_OR_EXIT_TRUCK
COMMON_ENTER_NEXT_TRUCK
COMMON_ENTER_PREVIOUS_TRUCK
COMMON_REMOVE_CURRENT_TRUCK
COMMON_RESPAWN_LAST_TRUCK
COMMON_FULLSCREEN_TOGGLE
COMMON_HIDE_GUI
COMMON_LOCK
COMMON_AUTOLOCK
COMMON_ROPELOCK
COMMON_OUTPUT_POSITION
COMMON_GET_NEW_VEHICLE
COMMON_PRESSURE_LESS
COMMON_PRESSURE_MORE
COMMON_QUIT_GAME
COMMON_REPLAY_BACKWARD
COMMON_REPLAY_FAST_BACKWARD
COMMON_REPLAY_FAST_FORWARD
COMMON_REPLAY_FORWARD
COMMON_RESCUE_TRUCK
COMMON_RESET_TRUCK
COMMON_SCREENSHOT
COMMON_SECURE_LOAD
COMMON_SHOW_SKELETON
COMMON_TOGGLE_TERRAIN_EDITOR
COMMON_TOGGLE_CUSTOM_PARTICL
COMMON_TOGGLE_MAT_DEBUG
COMMON_TOGGLE_RENDER_MODE
COMMON_TOGGLE_REPLAY_MODE
COMMON_TOGGLE_STATS
COMMON_TOGGLE_TRUCK_BEACONS
COMMON_TOGGLE_TRUCK_LIGHTS
COMMON_TRUCK_INFO
COMMON_TRUCK_DESCRIPTION
COMMON_FOV_LESS
COMMON_FOV_MORE
GRASS_LESS
GRASS_MORE
GRASS_MOST
GRASS_NONE
GRASS_SAVE
SURVEY_MAP_ZOOM_IN
SURVEY_MAP_ZOOM_OUT
SURVEY_MAP_TOGGLE_VIEW
SURVEY_MAP_TOGGLE_ALPHA
SURVEY_MAP_TOGGLE_ICONS
MENU_DOWN
MENU_LEFT
MENU_RIGHT
MENU_SELECT
MENU_UP
TRUCK_ACCELERATE
TRUCK_ACCELERATE_MODIFIER_25
TRUCK_ACCELERATE_MODIFIER_50
TRUCK_ANTILOCK_BRAKE
TRUCK_AUTOSHIFT_DOWN
TRUCK_AUTOSHIFT_UP
TRUCK_BLINK_LEFT
TRUCK_BLINK_RIGHT
TRUCK_BLINK_WARN
TRUCK_BRAKE
TRUCK_BRAKE_MODIFIER_25
TRUCK_BRAKE_MODIFIER_50
TRUCK_CRUISE_CONTROL
TRUCK_CRUISE_CONTROL_READJUS
TRUCK_CRUISE_CONTROL_ACCL
TRUCK_CRUISE_CONTROL_DECL
TRUCK_HORN
TRUCK_LIGHTTOGGLE1
TRUCK_LIGHTTOGGLE2
TRUCK_LIGHTTOGGLE3
TRUCK_LIGHTTOGGLE4
TRUCK_LIGHTTOGGLE5
TRUCK_LIGHTTOGGLE6
TRUCK_LIGHTTOGGLE7
TRUCK_LIGHTTOGGLE8
TRUCK_LIGHTTOGGLE9
TRUCK_LIGHTTOGGLE10
TRUCK_MANUAL_CLUTCH
TRUCK_PARKING_BRAKE
TRUCK_SHIFT_DOWN
TRUCK_SHIFT_NEUTRAL
TRUCK_SHIFT_UP
TRUCK_STARTER
TRUCK_STEER_LEFT
TRUCK_STEER_RIGHT
TRUCK_SWITCH_SHIFT_MODES
TRUCK_TOGGLE_AXLE_LOCK
TRUCK_TOGGLE_CONTACT
TRUCK_TOGGLE_FORWARDCOMMANDS
TRUCK_TOGGLE_IMPORTCOMMANDS
TRUCK_TOGGLE_VIDEOCAMERA
TRUCK_TRACTION_CONTROL
Mouse
Required applications
Setting up the input map and FreePIE script
After installing the above applications, download this zip file which contains the required input map and FreePIE script.
There will be two files in the zip: vJoy_Device.map
and MouseControl.py
.
Extract both files into Documents\Rigs of Rods 0.4\config
.
Using FreePIE
Open FreePIE and press File -> Open
. Browse to the MouseControl.py
file you downloaded earlier:
Then press Script -> Run script
:
The script should now be running. If you get an error, install vJoy.
Leave FreePIE running, launch RoR and you should now have mouse control!
You can modify both the script and the input map to make them better suit for your use.
For example the numbers 40
and 80
in the script are the sensitivity of the controls.
Mouse middle button in the script above, will reset the axises in game, in this case the steering and throttle.
Configuring controls with the Input Mapping Tool
The easiest way to configure your device for use in Rigs of Rods is to use the Input Mapping Tool.
vJoy Conflicts
NOTE: If you have vJoy installed, you will have to disable it before running the tool!
Launching the tool
After downloading, extract the zip into a new folder. Then double-click Run.bat
to launch the tool.
Adding new inputs
To begin adding inputs, click Add
.
Select the event you want to assign an input to. In this exanmple, I will use TRUCK_ACCELERATE
Then select the correct input type:
Event type | Description |
Keyboard | All keys on the keyboard. |
JoystickAxis | Used for steering wheels/sticks/etc. |
JoystickSlider | Any type of slider, mainly seen on flight sticks. |
JoystickButton | Buttons! (e.g. `A` button on an Xbox controller) |
JoystickPov | Used for D-Pad controls. |
Click Add
once ready, the tool will then ask you to move the axis/press a button.
The popup will automatically close once the requested action is completed.
Repeat the process for all the inputs you want to add.
Once you’re done, it’s time to export the keymap.
Exporting the keymap
First, you’ll need to get the correct file name of your file.
To do this, double-click getdeviceinfo.exe
. This will generate a inputinfo.txt
file. Open the text file.
Example output:
System info:
OIS Version: 1.3.0
OIS Release Name: 1.3.0
Input Manager: Win32InputManager
Total Keyboards: 1
Total Mice: 1
Total JoySticks: 1
Devices:
- OISKeyboard, Vendor: Win32InputManager
- OISMouse, Vendor: Win32InputManager
- OISJoyStick, Vendor: Logitech Extreme 3D
Joystick 0:
Vendor: Logitech Extreme 3D
VendorMapFilename: Logitech_Extreme_3D.map
ID: 0
Type: [3] OISJoyStick
Axes: 3
Sliders: 1
POV/HATs: 1
Buttons: 12
Vector3: 0
Vector3Sensitivity: 2.28
VendorMapFilename
will be the name of your exported file. In this example, the name will be Logitech_Extreme_3D.map
.
Click Export Keymap
then select your device from the list.
And finally, run Rigs of Rods and test your device! You can make further edits to your input map by clicking Import Keymap
.
If you want to share your created input map, upload it to the Miscellaneous section of the Repository. Thanks!