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:

  1. <Version />
  2. <Device>

 

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. 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:

  1. "PC"
  2. "XBOX"
  3. "PC,XBOX"
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:

  1. <Axes>
  2. <Context>

 

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 "{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx}", all lower case, for example:

GUID="{3b2577e0-8753-11ed-8004-444553540000}".

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:

  1. <Primary>
  2. <Secondary>

 

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:

  1. 1 - ANALOGIC
  2. 2 - DIGITAL
  3. 4 - AXIS
  4. 128 - MOD_INV
  5. 256 - MOD_UP
  6. 512 - MOD_VALUE
  7. 4096 - MOD_AXIS_OVERRIDE

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:

  1. "X"
  2. "Y"
  3. "Z"
  4. "rX"
  5. "rY"
  6. "rZ"
  7. "SliderX"
  8. "SliderY"
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