INPUT CONFIGURATION XML PROPERTIES
IMPORTANT! This file is created for you using the Input Application. As such, this page is for reference only and you should not attempt to write your own input XML files.
The [device_name].xml
file is the input configuration file which is generated by the Input Application so that you can add it to a project and create custom input bindings within the simulation for different devices. The file contains information that binds specific inputs from a controller (XBox gamepad, mouse, VR controller, joystick, etc...) to specific input event actions, and it has the following schematic structure:
<?xml version="1.0" encoding="utf-8"?>
<DefaulftInput Primary="1" PlatformAvailability="PC">
<Version Num="0" />
<Device DeviceName="DEVICE" GUID="00000000-0000-0000-0000-000000000000" ProductID="00" CompositeID="0" HWVer="1.0.0.0">
<Axes>
<!-- Global Axis Configuration -->
</Axes>
<!-- Context List -->
<Context ContextName="3RD_PARTY">
<Action ActionName="ACTION_NAME" Flag="2" ValueEvent="0">
<Primary>
<!-- Primary Device Input -->
</Primary>
<Secondary>
<!-- Secondary Device Input (Optional) -->
</Secondary>
</Action>
<!-- Further Actions In This Context -->
</Context>
<!-- Further Contexts With Actions -->
</Device>
</DefaulftInput>
<DefaulftInput>
This is the container element within which all the other elements that define the input bindings will be stored. It has the following sub-elements:
It requires the following attributes:
Attribute | Description | Type | Required |
---|---|---|---|
Primary |
This shows whether the profile is the "primary" profile or not. When set to 1, the profile will be applied as the default profile when the simulation is started and the device is connected. When set to 0, it will not be applied automatically. | Bool | Yes |
PlatformAvailability |
This sets what platforms the device profile is valid for. The possible options are:
|
String | Yes |
<Version />
This self-closing element is a sub-element of <DefaulftInput>
and is used to identify the current version of the file. Note that every time you save the file using the Input Application, this number will be incremented automatically.
It requires the following attributes:
Attribute | Description | Type | Required |
---|---|---|---|
Num |
The current version number of the file. | Integer | Yes |
<Device>
This sub-element of <DefaulftInput>
is the container element that holds all the different inputs and global values related to the device that was used for the input profile. It has the following sub-elements:
It requires the following attributes:
Attribute | Description | Type | Required |
---|---|---|---|
DeviceName |
The identifying name of the device. | String | Yes |
GUID |
The unique GUID for the device. This is the reference the simulation will use to identify the device, and must be in the format "
|
String | Yes |
ProductID |
This is the prodcut ID for the device being defined. The ID should be formatted as a hexadecimal value. You can find the product ID from the device properties in the Input Application (you will need to do the conversion to hexadecimal as the Input App shows a decimal). For example, if the Product ID is 767 you would have: ProductID="02FF" |
Hexadecimal | Yes |
CompositeID |
This is the composite ID for the device being defined, expressed as an integer. You can find the composite ID from the device properties in the Input Application. | Integer | Yes |
HWVer |
Hardware version of the device. | String | Yes |
<Axes>
This sub-element of <DefaulftInput>
is the container element that holds the global axis values, defined using multiple <Axis />
elements. This element has no attributes.
<Context>
This sub-element of <Device>
is used to store the bound inputs associated with a specific simulation context. Context is an internal setting used by the simulation to enabled/disable inputs based on what the user is doing within the simulation (for example, using the drone camera, using cockpit controls, etc...). As such, the input profile XML file will normally have multiple <Context>
entries, and within each context you will have multiple <Action>
elements defining the inputs bound to the context.
This element has the following attribute:
Attribute | Description | Type | Required |
---|---|---|---|
ContextName |
The context name for the actions contained within the element. | String | Yes |
<Action>
This sub-element of <Context>
is used to hold the input bindings to specific input event actions. It can have the following two sub-elements:
This element has the following attributes:
Attribute | Description | Type | Required |
---|---|---|---|
ActionName |
This is the name of the input event action that the primary (and secondary) device input will be bound to. The action name is the same as those listed for Event IDs, prefixed with "KEY_". For example: ActionName="KEY_KOHLSMAN_INC" |
String | Yes |
Flag |
This is a bit-flag which is used to define the kind of input that is being received from the device being defined. The following values can be combined to create a single flag value that defines the way the input will be interpretted:
For a full description of these flags, please see the section on Override Action Type. |
Integer | Yes |
ValueEvent |
This is the value that will be sent when the event is triggered. | Float/Integer | Yes |
<Primary>
This is a sub-element of <Action>
and is used to define the primary input for the event action. The element has no attributes and must contain one <KEY>
sub-element, and optionally - depending on whether the input has a custom axis definition - one <Axis />
sub-element.
<Secondary>
This is a sub-element of <Action>
and is used to define the secondary input for the event action. The element has no attributes and must contain one <KEY>
sub-element, and optionally - depending on whether the input has a custom axis definition - one <Axis />
sub-element.
<Axis />
This element can be used in the <Axes>
and <Action>
elements to define the properties of a single axis of the device. This is a self-closing element with the following attributes:
Attribute | Description | Type | Required |
---|---|---|---|
AxisName |
The name of the axis being defined. Must be one of the following:
|
String | Yes |
AxisSensitivy |
The positive sensitivity of the chosen axis, defined as a value between 0 and 100. | Integer | Yes |
AxisSensitivyMinus |
The negative sensitivity of the chosen axis, defined as a value between -100 and 0. | Integer | Yes |
AxisDeadZone |
The inside position of the chosen axis dead zone, defined as a value between 0 and 100. | Integer | Yes |
AxisOutDeadZone |
The outside position of the chosen axis dead zone, defined as a value between 0 and 100. | Integer | Yes |
AxisNeutral |
The chosen axis neutral position, defined as a value between -100 and 100. | Integer | Yes |
AxisResponseRate |
The response rate for the chosen axis, defined as a value between 100 and 2000. You can use -1 to ignore this attribute and use the default sensitivity. | Integer | Yes |
<KEY>
This is a sub-element of both the <Primary>
and <Secondary>
elements, and is used to define a single input source from a device. Note that the value given inside the <KEY>
tag is generated by the Input Application and is essentially the numeric ID for the Information
attribute input source, in a format that can be easily read by the simulation. You should not change this value or try to use your own.
This element has the following attribute:
Attribute | Description | Type | Required |
---|---|---|---|
Information |
This is the name of the input source as shown in the Input Application. |
String | Yes |