Multi Input Device System For DiRT Rally 2 0 Master
Multi Input Device System For DiRT Rally 2 0 Master
0 - PC
May 16, 2019
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
Contents
1 Overview .............................................................................................................................................................. 2
1.1 Support ......................................................................................................................................................... 2
2 In-game Support .................................................................................................................................................. 3
2.1 Connected Devices ....................................................................................................................................... 3
2.2 Device Actions .............................................................................................................................................. 3
2.2.1 Device Options ...................................................................................................................................... 4
2.2.2 Primary Steering Device ........................................................................................................................ 4
2.2.3 Edit Device ............................................................................................................................................ 4
2.2.4 Tool tips behaviour ............................................................................................................................... 4
2.1.4 Mouse Support Improvements ............................................................................................................. 4
2.3 Input Reporting ............................................................................................................................................ 5
2.4 Device History .............................................................................................................................................. 6
2.5 Unknown Devices ......................................................................................................................................... 6
3 Editing a Device ................................................................................................................................................... 8
3.1 Input Bindings............................................................................................................................................... 8
3.2 Advanced Settings ...................................................................................................................................... 10
3.3 Vibration & Feedback ................................................................................................................................. 12
4 Input Presets ...................................................................................................................................................... 13
5 Calibration Wizard ............................................................................................................................................. 15
5.1 Wheel Calibration ....................................................................................................................................... 15
5.2 Pedal Calibration ........................................................................................................................................ 16
5.3 Calibration Summary .................................................................................................................................. 16
6 Manual Data Entry ............................................................................................................................................. 17
6.1 Adding New Devices ................................................................................................................................... 17
6.2 Blocking Unsupported Devices ................................................................................................................... 23
6.3 Custom Preset ............................................................................................................................................ 24
7 Troubleshooting................................................................................................................................................. 26
7.1 How do I remap any locked action or the pause action, the line is greyed out? ....................................... 26
8 Appendix 1: PC only device_defines.xml ........................................................................................................... 27
9 Appendix 2: action_defines.xml ........................................................................................................................ 29
10 Appendix 3: Direct Input Axis .......................................................................................................................... 31
11 Appendix 4: X Input Axis .................................................................................................................................. 33
1
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
1 Overview
Previous Codemasters racing titles have had input device support for a single input device with the
recent addition of a primary device and a peripheral (e.g. wheel and a USB pedal set).
For DiRT Rally 2.0 input, multiple input devices are supported with the ability to connect or store
information on up to 15 separate USB devices at once. Multiple instances of the same device type
are also supported allowing different actions to be bound on the different instances (e.g. two
identical sequential shifters with one being used as a handbrake).
The following document will outline the functionality available to configure these devices from
within the in-game menus or device configuration XML’s for hardware manufactures and
enthusiasts.
1.1 Support
Up to 15 connected devices.
Connect multiple instances of the same device.
Each connected device configuration is saved with a rolling history of 15 devices.
Each device is heavily configurable via provides xml files and in game menus.
Common devices are known in a pre-defined device_defines.xml fixing common issues with
drivers and pre-configuring device settings.
Multiple action maps per device supported to allow for rim-swapping.
Unknown devices can be configured via in-game menus.
Connected devices is an area that is constantly being improved and expanded through both internal
testing and community feedback.
2
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
2 In-game Support
Connected Devices is the first screen you’ll see when selecting Input Settings (accessed via the
Options and Extras menu). Here you will see all of the currently connected devices you have to the
game.
By default the game will automatically choose the best steering device based on what is currently
connected. On Sony PlayStation 4 and Microsoft Xbox One consoles the initial primary device will be
the device the game is started with. If you have multiple devices of the same type or name they will
be listed in order of connection (or USB initialisation order).
1. Wheel
2. Gamepad
3. Keyboard
This is setup to give the player the best plug and play experience. Automatic mode can be
overridden however by selecting Steering Device and choosing Set Primary Steering Device.
3
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
This allows a dual control approach for example when a racing rig is set up with a wheel but the
player wishes to use a pad for menu navigation or if the player wants to use additional driving
controls such as handbrake or individual pedal peripherals. In this case the Xbox 360/One Controller
can be used without having to disconnect the wheel from the PC.
4
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
Mouse Button 4 will navigate back and some page elements are scrollable with the mouse wheel.
The cursor will hide after 3 seconds once another device has been used.
Tabbing across from Connected Devices takes you to the Input Reporting screen. On this screen you
can preview any input axis currently pressed alongside the main driving axis. Using this you can test
to see if your input device drivers are installed correctly (axis being reported look correct) and if the
driving controls are bound.
5
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
The final tab in Device Settings is Device History. Here you can see all devices that have previously
been connected to the game. This allows you to disconnect and delete any device that may have
developed any issues and then reconnect it to set them up again.
Devices will only appear in this menu when they are no longer connected and can be deleted via the
Delete Device tool tip.
6
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
If you opt to select Edit Device then you will receive a dialog warning you that the device is currently
unknown.
Continuing from the dialog moves you to the Edit Device options where you can then set the device
type via the 2nd tab Advanced Settings (section 3.2). At this point it will unlock configuration of
advanced features for the selected device type. Device types available are:
Steering Wheel
Controller
Joystick
7
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
Keyboard
Mouse UI Control
Pedals
Gear Stick
Handbrake
Setting a device type will also allow you to launch the Calibration Wizard to correctly set it up.
FFB can then be enabled or disabled manually in Vibration and Feedback menu if not reported by
the device drivers correctly.
If your device is not fully bindable and has two device ID’s see “Multi Device ID device_defines.xml
configuration.”
3 Editing a Device
3.1 Input Bindings
Once you’ve selected Edit Device the first tab you will land on is Input Bindings
8
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
The input bindings screen allows binding of all in game actions to specific button presses. Based on
the connected device type connected bindings will be auto assigned.
On officially supported devices some actions are protected against changes to prevent re-binding to
invalid axis. If you need to re-bind these axis it is possible to allow re-binding via edits to the action
definitions file however this is not officially supported and should be attempted at the users own risk
see. Actions that cannot be changed are greyed out in the menu.
If you want to bind a new input to an action first highlight and then select Remap Binding, a 5 second
timer will be displayed until an action button is pressed or the action is cancelled.
9
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
If at any point two actions become dual bound you will be warned of the issue via the right hand
help text and the inputs affected will be listed so they can be corrected.
Advance input settings allow you to set advanced wheel specific or pad specific settings.
DEVICE TYPE
When viewing advanced settings with an officially supported device this will automatically
be set and be greyed out. If the device is currently unsupported by the game Unknown is
displayed and Device Type is selectable. The toggle can then be used to choose a different
device type which will unlock configuration of advanced features for the selected device
type. The available device types that can be chosen are:
Steering Wheel
Controller
Joystick
Keyboard
Mouse UI Control
Pedals
Gear Stick
Handbrake
10
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
STEERING SENSITIVITY
High sensitivity will turn your wheels at a faster rate, which increases responsiveness but can
reduce stability. Low sensitivity will turn your wheels at a slower rate, which can increase
stability but reduce responsiveness.
STEERING LINEARITY
Zero linearity makes steering directly proportional to your input, which can feel more
consistent. High linearity can make your steering feel less sensitive for small inputs, but can
feel inconsistent. Conversely, negative linearity (wheel input only) can make your steering
feel more sensitive for small inputs. All settings give maximum steering angle at full input.
STEERING DEADZONE
Sets a percentage of input that is ignored. A high percentage lowers the amount of usable
input for your steering wheel.
STEERING SATURATION
Sets the percentage of input that is required to achieve full input. A low percentage reduces
the amount of input to reach 100% lock for your steering wheel.
THROTTLE DEADZONE
Sets the percentage of input that is ignored. A high percentage lowers the amount of usable
input for your throttle pedal.
THROTTLE SATURATION
Sets the percentage of input that is required to achieve full input. A low percentage reduces
the amount of input to reach 100% throttle.
BRAKE DEADZONE
Sets the percentage of input that is ignored. A high percentage lowers the amount of usable
input for your brake pedal.
BRAKE SATURATION
Sets the percentage of input that is required to achieve full input. A low percentage reduces
the amount of input to reach 100% brake.
CLUTCH DEADZONE
Sets the percentage of input that is ignored. A high percentage lowers the amount of usable
input for your clutch pedal.
CLUTCH SATURATION
Sets the percentage of input that is required to achieve full input. A low percentage reduces
11
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
Warning: The wheel must be calibrated before soft lock will work.
SELF-ALIGNING TORQUE
This scales the torque created by the tyre and suspension geometry.
12
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
WHEEL FRICTION
This scales the constant friction/weight of the steering device.
TYRE FRICTION
This scales the dynamic friction of the tyre. This is the resistance of the tyre to turn.
SUSPENSION
This scales an effect that is generated by taking information directly from the vehicle's
suspension. Use this to emphasise the road noise.
TYRE SLIP
This scales an effect that is generated by taking information directly from the tyres. If you
are using a controller, it scales the slip of the front and rear tyres.
ENGINE
This scales an effect that is generated by taking information directly from the vehicle's
engine. Use this to scale the resonance that comes from your engine as it is revved.
COLLISION
This scales an effect that is generated by taking information directly from an impact. Use this
to scale the severity of the collision effect.
SOFT LOCK
This scales the force that informs the player when they exceed the soft lock range of the
wheel.
4 Input Presets
Some supported devices have multiple face layouts due to wheel rims or share the same Device
Product ID and Vender ID with another device. Because of this some official devices come bundled
with multiple input binding setups for the optimal layout.
13
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
If a device has multiple presets you can select to load one via the context menu by selecting Device
Options on the Connected Device screen then selecting Load Device Preset.
Once Load Device Preset has been selected the list of available presets will be shown. Selecting a
preset from the list will apply the preset to the selected device only.
14
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
5 Calibration Wizard
For any device that needs calibrating the Calibration Wizard should be used. This can be accessed via
the Device Options context menu on the Connected Devices screen. Simply highlight the device you
want to calibrate select device options and select calibration wizard to start the calibration. Note
calibration is only available for wheels and pedal set ups.
Next rotate the steering wheel at 90 degrees in either direction, hold it in place and press continue.
15
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
The device is now configured and can be previewed. The outputs on screen should now match the
device inputs.
16
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
If this is not the case try to re-calibrate or check the input bindings on any devices connected (a
device may be bound to an action when it is not used).
To add a new device the first thing needed is the USB Product ID (PID) and Vender ID (VID).
Officially supported devices are can be found here
http://blog.codemasters.com/community/02/dirt-rally-2-0-supported-peripherals-list/
To get the PID/VID on Windows 10 navigate to Devices and Printers, right click on the device and
select properties.
17
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
18
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
19
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
In the information box there should be some events prefixed “HID\” with the PID and VID listed after
underscores.
The PID and VID can be combined along with “{PID#VID#-0000-0000-0000-504944564944}” to create
a device id.
“{00010EB7-0000-0000-0000-504944564944}”
Your device must be marked as official=”false” to be fully configurable in the in game menus and prevent
save game conflicts when editing your device.
Name
The name of the device matching the name used in the action maps. Must be lower case
with no spaces and special characters except underscore.
20
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
Priority
The higher the priority the more likely the device is used in automatic selection mode as the
steering device over other devices.
Type (Optional)
The type of device, if set to 'unknown' the input system will use the device type returned
from the driver, otherwise it will overwrite with the selection.
o wheel
o pad
o joystick
o keyboard
o mouse
o pedal
o shifter
o handbreak
o unknown (Default)
o not_supported (if a device is set to not_supported then it will not appear in game.
This is covered in 6.2 Blocking Unsupported Devices)
FFB (Optional)
Force enables or disables support for ffb ignoring if the device driver returns if ffb is
supported.
o default – (Default) - Uses the value returned from the drivers
o enabled - Force enables the ffb even if the drivers return disabled.
o disabled - Force disables the ffb even if the drivers return enabled.
FFB_Force (Optional)
o 1.0 - (Default)
FFB_Friction (Optional)
o 1.0 - (Default)
FFB_High_Pass (Optional)
o 0.0 - (Default)
Default (Optional)
Only used by input library defaults, not to be used by externals.
21
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
Collections_Max (Optional)
Single-function device with multiple TLC
https://docs.microsoft.com/en-us/windows-hardware/drivers/hid/hidclass-hardware-ids-
for-top-level-collections
If a hardware device supports multiple collections a collection limit of 0 or above 1 will allow
new devices to be created by the input system with the postfix '_col##' to the hardware id.
These devices can be used to extend functionality with additional device id's.
e.g.
<device id="{00050EB7-0000-0000-0000-504944564944}" name="ftec_csl_p1"
priority="100" type="wheel" collections_max="2" />
Secondary devices can now be setup with a collection id to change the device settings and
assign its own action map for plug and play functionality.
Collection options:
o 0 – No collection limit (will create the maximum number of collections the device
supports).
o 1 – (Default)
o >1
Official
Official devices provided by Codemasters are semi-protected in game and cannot be fully
edited.
WARNING: Custom devices without an action map must disable this option to prevent save
game conflicts.
Custom user/manufacture devices external to official Codemasters patch releases MUST set
this flag to false.
22
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
To prevent these devices from interfering with the game a new id can be added to
device_defines.xml.
Setting Type to “not_supported” prevents the above device from causing undesired behaviour in
game. By default unknown device input is ignored until a device type has been set. If you set a
device to “not_supported” it will not be visible in game.
23
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
This file defines the input actions available in the game. These actions need to be added to any new
preset (action map).
Only the actions that are needed have to be copied to reduce the file size.
For example creating an action map for a pedal set copy the driving actions, create a new xml file in
input\actionmaps\ with a lower case name (my_pedal_set.xml) with the following:
Library should be replaced with lib_direct_input or lib_xinput depending on the type of device.
24
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
Name
The name of the axis associated with the device library, see the following for the axis names:
<?xml version="1.0" encoding="utf-8"?>
<action_defines>
<collision_groups>
<non_collision group1="driving" group2="menu" />
<non_collision group1="driving" group1_recursive="false" group2="replay" />
<non_collision group1="driving.gear" group2="replay" />
<non_collision group1="driving.seat" group2="replay" />
<non_collision group1="driving.steer" group2="replay" />
<non_collision group1="driving.gear.h_pattern" group2="driving.gear.sequential" />
<non_collision group1="menu" group2="replay" />
<non_collision group1="menu.navigate.tab.secondary" group2="menu.view" />
<non_collision group1="network.toggle" group2="menu" />
<non_collision group1="network.toggle" group2="replay" />
<non_collision group1="driving.look" group1_recursive="false" group2="replay" />
</collision_groups>
<group name="driving">
<action name="accelerate" />
<action name="brake" />
<action name="change_view" />
<action name="clutch" />
<action name="handbrake" />
<action name="headlights" />
<action name="horn" protection="hidden" />
<action name="pause" protection="protected" />
<action name="reset_vehicle" />
<action name="roadside_repair" />
<action name="wipers" />
<group name="gear">
<group name="h_pattern">
<action name="1" />
<action name="2" />
<action name="3" />
<action name="4" />
<action name="5" />
<action name="6" />
<action name="7" />
<action name="reverse" />
</group>
<group name="sequential">
<action name="up" />
<action name="down" />
</group>
</group>
<group name="look">
<action name="back" />
<group name="shared">
<action name="up" />
<action name="down" />
<action name="right" />
<action name="left" />
</group>
</group>
<group name="seat">
<action name="reset" />
<group name="move">
<action name="forward" />
<action name="backward" />
<action name="up" />
<action name="down" />
</group>
25
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
<group name="tilt">
<action name="up" />
<action name="down" />
</group>
</group>
<group name="steer">
<action name="left" />
<action name="right" />
</group>
</group>
<group name="network">
<action name="push_to_speak" />
<group name="toggle">
<action name="voice" />
</group>
</group>
<group name="menu" protection="protected">
<action name="start" />
<action name="option" protection="hidden" />
<group name="navigate">
<action name="back" jpn_alt="select" />
<action name="down" />
<action name="left" />
<action name="right" />
<action name="select" jpn_alt="back" />
<action name="up" />
<action name="cancel_keybinding" protection="hidden" />
<group name="tab">
<group name="primary">
<action name="left" />
<action name="right" />
</group>
<group name="secondary">
<action name="left" />
<action name="right" />
</group>
</group>
</group>
<group name="view">
<action name="down" />
<action name="in" />
<action name="left" />
<action name="out" />
<action name="right" />
<action name="up" />
</group>
<group name="cursor" protection="hidden">
<group name="button">
<action name="left" />
<action name="right" />
<action name="middle" />
<action name="4" />
<action name="5" />
</group>
<group name="wheel">
<action name="up" />
<action name="down" />
</group>
</group>
<group name="context">
<action name="1" />
<action name="2" />
</group>
</group>
<group name="replay" protection="protected">
<action name="exit" jpn_alt="pause" />
<action name="forward" />
<action name="rewind" />
<action name="playback_step_up" />
<action name="playback_step_down" />
<action name="pause" jpn_alt="exit" />
<group name="toggle">
<action name="ui" />
</group>
<group name="camera">
26
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
27
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
Type
o positive – (Default)
o negative
o upper
o lower
Deadzone (Optional)
o 0.0
Saturation (Optional)
o 1.0
Threshold (Optional)
Point where the action determines that the axis is “pressed/held” and will be “released”.
o 0.5
If any changes are made to the action map, you must increase the action map version before
launching the game.
This will replace the action map stored in a save game automatically, otherwise the device will need
to be deleted manually from the device history while disconnected.
28
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
7 Troubleshooting
7.1 How do I remap any locked action or the pause action, the line is greyed
out?
On officially supported devices certain actions have been locked in order to prevent user error
breaking the user’s experience. There is a workaround available for experienced users so any action
can be unlocked for re-binding.
To be able to re-bind Pause “cancel_keybinding” must be removed on the actionmap for the device
being re-bound.
Open the action map for the device being used in “input\actionmaps\” and delete the following
three lines:
<action name="cancel_keybinding">
<axis name="*" />
</action>
This binding is used to cancel the current binding in the bindings screen (for instance hitting escape if
accidently selecting bind on an action that should not be changed). Without this being removed the
original pause button cannot be re-assigned to another action.
29
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
30
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
31
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
9 Appendix 2: action_defines.xml
<?xml version="1.0" encoding="utf-8"?>
<action_defines>
<collision_groups>
<non_collision group1="driving" group2="menu" />
<non_collision group1="driving" group1_recursive="false" group2="replay" />
<non_collision group1="driving.gear" group2="replay" />
<non_collision group1="driving.seat" group2="replay" />
<non_collision group1="driving.steer" group2="replay" />
<non_collision group1="driving.gear.h_pattern" group2="driving.gear.sequential" />
<non_collision group1="menu" group2="replay" />
<non_collision group1="menu.navigate.tab.secondary" group2="menu.view" />
<non_collision group1="network.toggle" group2="menu" />
<non_collision group1="network.toggle" group2="replay" />
<non_collision group1="driving.look" group1_recursive="false" group2="replay" />
</collision_groups>
<group name="driving">
<action name="accelerate" />
<action name="brake" />
<action name="change_view" />
<action name="clutch" />
<action name="handbrake" />
<action name="headlights" />
<action name="horn" protection="hidden" />
<action name="pause" protection="protected" />
<action name="reset_vehicle" />
<action name="roadside_repair" />
<action name="wipers" />
<group name="gear">
<group name="h_pattern">
<action name="1" />
<action name="2" />
<action name="3" />
<action name="4" />
<action name="5" />
<action name="6" />
<action name="7" />
<action name="reverse" />
</group>
<group name="sequential">
<action name="up" />
<action name="down" />
</group>
</group>
<group name="look">
<action name="back" />
<group name="shared">
<action name="up" />
<action name="down" />
<action name="right" />
<action name="left" />
</group>
</group>
<group name="seat">
<action name="reset" />
<group name="move">
<action name="forward" />
<action name="backward" />
<action name="up" />
<action name="down" />
</group>
<group name="tilt">
<action name="up" />
<action name="down" />
</group>
</group>
<group name="steer">
<action name="left" />
<action name="right" />
</group>
</group>
<group name="network">
<action name="push_to_speak" />
<group name="toggle">
32
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
33
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
34
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
35
Multi-Input Device System for DiRT Rally 2.0 - PC | May 16, 2019
36