TRANSVERSAL INPUT PROFILES

The purpose of a transversal input profile, is to create transversal input mappings for the generic UI elements within the simulation, like pausing, showing the EFB, moving the cursor, etc... using an input device. If you haven't set up a device profile yet, then you can find instructions on how to do this on the following page:

 

Note that if you have created a new device profile you don't have to create a transversal profile to accompany it, as the user can set up the bindings how they choose, but it's good practice to have the device you are creating the profiles for provide a minimum of functionality from the moment it gets plugged in. Also note that you can set up transversal bindings for devices that already have a device profile - perhaps created by the manufacturer or by another user as an add-on - without having created your own profile first.

 

 

Setting Up The Transversal Input Profile Package

To set up transversal controls, we will be using the Input Profile Editor, which has a list of all the input actions used in the simulation, and permits you to bind the different controller inputs to them. However, first you will need to either:

  • create a new package for the transversal profiles

or, if you are adding a transversal to an existing device package:

  • add a new package to the existing project.

 

Regardless of the which one of these requirements you have, the approach is the same and starts with adding a new package to the project using the Project Editor (the images show the setup starting with an existing device project, however creating a new transversal project has the same requirements and will use the same setup wizards):

Adding A new Package For The Input Profiles

 

Here you should select the Input Profile package type:

Creating The Profile Asset Group

 

On clicking Next, you will be taken to the Input Profile Wizard where you can select the device to use for the profile, and set what kind of profile it's going to be. In this wizard you will want to select the platform for the profile, set the category to be Transversal, then setup the device this profile should be applied to. The device is identified using the Product ID, and - if you have the device available - you can simply plug it into your PC then select Use A Device Connected To Your Computer to select the device from the drop-down list. If you don't have the device then you will have to supply the following:

  • Product ID - This is the unique product ID, expressed as a hexadecimal value, format 0x0000.
  • Composite ID - The composite ID is an integer value used to link multiple parts of a single product to a unique product ID (e.g. HOTAS…)
  • Hardware Version - Similar to the composite ID, the hardware ID is used to link multiple parts together when they do not all belong to a single product ID.
  • Has Buttkicker: The device has Buttkicker haptics incorporated.

The Input Wizard When Adding An Input Profile

 

Once you have this information, you should give the profile a name, and then click the Validate button. This will save the profile XML to the package and open the Input Profile Editor.

 

 

Setting Up Transversal Bindings

The Input Profile Editor is what will be used for setting up the bindings between devices and the simulation, which - in this case - is the device setup in previous steps, and it should be plugged into the PC if possible. If you do not have the device present, you can still set up the profile, but it may feel a little more complicated. Having set up the package for the input profiles already, you should have the Input Editor open (but if not, you can open it from the Editors menu, or by right-clicking on the package asset group and selecting Load In Editor), and it will look like this:

The Input Profile Editor

 

In general, the bindings you will need to set up are those which can be used across various UI contexts and - when in the simulation - can be used for non-aircraft specific controls (for example, cameras). The following is a minimum list of contexts and associated actions that you should be aiming to set up:

NOTE: You can find a full list of contexts here.

 

Contexts Actions
ALWAYS KEY_MENU_SR_EFB_TOGGLE
COCKPIT_CAMERA

KEY_COCKPIT_QUICKVIEW3

KEY_COCKPIT_QUICKVIEW4

COCKPIT_GLOBAL_CAMERA

KEY_COCKPIT_LOOK_DOWN

KEY_COCKPIT_LOOK_LEFT

KEY_COCKPIT_LOOK_RIGHT

KEY_COCKPIT_LOOK_UP

KEY_ZOOM_COCKPIT

KEY_DEZOOM_COCKPIT

COCKPIT_GLOBAL_CAMERA_TRANSLATE

KEY_COCKPIT_CAMERA_HEIGHT_DEC

KEY_COCKPIT_CAMERA_HEIGHT_INC

KEY_COCKPIT_CAMERA_SLIDE_BACK

KEY_COCKPIT_CAMERA_SLIDE_FRONT

KEY_COCKPIT_CAMERA_SLIDE_LEFT

KEY_COCKPIT_CAMERA_SLIDE_RIGHT

EXTERNAL CAMERA

KEY_CAMERACHASE_RESET

KEY_CHASE_LOOK_DOWN

KEY_CHASE_LOOK_LEFT

KEY_CHASE_LOOK_UP

KEY_CHASE_LOOK_RIGHT

KEY_CHASE_QUICKVIEW1

KEY_CHASE_QUICKVIEW2

KEY_CHASE_QUICKVIEW3

KEY_CHASE_QUICKVIEW4

INGAME_UI

KEY_ACTIVE_PAUSE_TOGGLE

KEY_GUI_DISPLAY_ALL_ASSISTANCES_TOGGLE

KEY_ATC

KEY_SR_COM_QUICK_REPLY

INSTRUMENTS_CAMERA

KEY_COCKPIT_BACKCYCLE

KEY_COCKPIT_CYCLE

MODES

KEY_COCKPIT_RESET

KEY_CYCLE_PILOTVIEW_BACK

KEY_CYCLE_PILOTVIEW_NEXT

PC_MODE_SWITCHES KEY_ACTION_PC_CONTROL
PLAYER_CHARACTER_FPV

KEY_PC_FPV_LOOK_RESET

KEY_AXIS_PC_FPV_ROTATION_X

KEY_AXIS_PC_FPV_ROTATION_Y

PLAYER_CHARACTER_INTERACTION KEY_PC_INTERACT
PLAYER_CHARACTER_MOVEMENT

KEY_PC_MOVE_BACKWARD

KEY_PC_MOVE_FORWARD

KEY_PC_MOVE_LEFT

KEY_PC_MOVE_RIGHT

KEY_PC_RUN_SET

PHOTO_MODE_ACTIONS KEY_PHOTO_MODE_TAKE_PICTURE
PHOTO_MODE_ROTATION

KEY_PHOTO_MODE_AXIS_ROTATION_X

KEY_PHOTO_MODE_AXIS_ROTATION_Y

PHOTO_MODE_SWITCHES KEY_PHOTO_MODE_TOGGLE
PHOTO_MODE_TRANSLATION

KEY_PHOTO_MODE_AXIS_DRONE_MOVE_X

KEY_PHOTO_MODE_AXIS_DRONE_MOVE_Z

KEY_PHOTO_MODE_DRONE_MOVE_DOWN

KEY_PHOTO_MODE_DRONE_MOVE_UP

SMART_CAMERA KEY_TOGGLE_SMART_CAMERA
SIM_SHORTCUT

KEY_BACK_ON_TRACK

KEY_BACK_TO_FLY

VIEW_MODE_SWITCHES KEY_VIEW_MODE

 

To set up these inputs, we'll take the PLAYER_CHARACTER_MOVEMENT context as an example. In the Input Editor, you have two methods for finding the actions you require:

 

  • You can check the Show All Actions checkbox, and then in the filter type PLAYER_CHARACTER_MOVEMENT, which will bring up a list of all actions associated with that context. You can now edit those actions that you require inputs for.

    Finding The Action To Use By Filtering The Contexts

 

  • You can uncheck the Show All Actions option, click the Add... button at the bottom of the window, and then filter the action list using KEY_PC_MOVE_*. Now you can select the action you need from the filtered list, before repeating the process for each of the other actions you require to create a custom list of required actions.

    Finding The Action To Use By Filtering The Action List

 

Having created a list of actions you want to link with a controller input, you can then go ahead and add the input strings to bind the two together. In general that starts with the primary input string, which is a string related to a specific input from the device and is the main input the simulation will detect. For example, if it's a gamepad and you want to use the "A" button, you'd use the string "A", and if you need multiple inputs for a single action - for example the "A" and "B" buttons together - then these can be concatenated together so you can have "A + B".

 

To add the bindings you have the following two methods:

  • take the input directly from the device by clicking the Get Input button (The Get Input Button) and then moving the device joystick or pressing one of the device buttons.

Or:

  • use the drop down list button (The Select Input Button) and select the input manually.

 

Adding An Input Using Direct Device Input Or The Drop-Down List

NOTE: For the transversal input bindings you do not need a secondary set of inputs, as those are mainly used for aircraft specific input bindings.

 

It should be noted that there are certain options available to you for each binding, and these can be accessed using the The Action Options Button button, which will open the Action Options window:

The Action Options Window

 

From here you can choose to send a specific value when the input is recieved (in which case you must check the MOD VALUE flag), and various different flags to use to modify the input. These flags are all explained in detail here: Flags.

 

This process should be repeated for all the different inputs over all the contexts listed in the table above (note that there is nothing stopping you adding in additional transversal input bindings outside of the contexts listed).

 

 

Saving And Exporting The Project

Once we have set up all the transversal bindings, you can save the Input Configuration XML to the package using the Save option from the File menu. Once you've saved the bindings you can go ahead and build the package (see Building A Package) and then test the bindings in the simulation (ie: use the controller and test to see that the menus work, that the user avatar can move, that the cameras change, etc...).

 

0/255