INPUT CONFIGURATION XML PROPERTIES

The [device_name].xml file is the input configuration file which is used to 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.

 

This file is created automatically for you when you use The Input Profile Editor, and a such, this page is provided purely for reference and all edition of the file should be done using the editor to ensure that it is set up correctly. Please see the following pages for more information on how to do this:

 

this file has the following schematic structure:

<?xml version="1.0" encoding="utf-8"?>
<DefaultInput 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>
</DefaultInput>

 

 

<DefaultInput>

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

  1. "PC"
  2. "XBOX"
  3. "PLAYSTATION"
  4. "PC, XBOX"
  5. "PC, PLAYSTATION"
  6. "XBOX, PLAYSTATION"
  7. "ALL"
String Yes

 

 

<Version />

This self-closing element is a sub-element of <DefaultInput> and is used to identify the current version of the file. Note that every time you save the file using the Input Profile Editor, 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 <DefaultInput> 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 product ID for the device being defined. The ID should be formatted as a hexadecimal value. For example, if the Product ID is 767 you would have:

ProductID="0x2FF"

You can find the product ID from the device properties in the Input Device Editor.

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 the Input Device Editor. Integer Yes
HWVer Hardware version of the device. Similar to the composite ID, the hardware version is used to link multiple parts together when they do not all belong to a single product ID. String Yes

 

 

<Axes>

This sub-element of <DefaultInput> 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. You can find more information on context here:

 

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

  • An Event ID - prefixed with "KEY_" - if the profile is transversal or for an aircraft category. For example:
    ActionName="KEY_KOHLSMAN_INC"
  • An Input Event taken from from the aircraft model behaviours if the profile is an aircraft specific profile. For example:
    ActionName="AIRFRAME_ALTERNATE_AIR_GEAR_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 interpreted:

  1. 1 = FL_ANALOG
  2. 2 = FL_DIGITAL
  3. 4 = FL_AXIS
  4. 8 = FL_NO_MOD
  5. 16 = FL_MOD_CTRL
  6. 32 = FL_MOD_SHIFT
  7. 64 = FL_MOD_ALT
  8. 128 = FL_MOD_INV
  9. 256 = FL_MOD_UP
  10. 512 = FL_MOD_VALUE
  11. 1024 = FL_MOD_NO_SENS_CURVE
  12. 2048 = FL_MOD_RESET_ONCONTEXT_DISABLED
  13. 4096 = FL_MOD_AXIS_OVERRIDE
  14. 8192 = FL_MOD_PRESSED
  15. 16384 = FL_MOD_DELAYED_EXCLUSIVE
  16. 32768 = FL_MOD_NO_KEYBOARD_LAYOUT

For a full description of these flags, please see the section on Action Options. It should be noted that:

Integer Yes
ValueEvent This is the value that will be sent when the event is triggered. Float/Integer No

 

 

<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 Profile Editor 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 returned by the device or as shown in the Device Keys window.

String Yes

 

0/255