INPUT PROFILES
This page provides instructions on how to create custom device definitions and input presets for Microsoft Flight Simulator 2024. It covers using the Input Device Editor and Input Profile Editor tools, and also provides a guide to understanding contexts and profiles, mapping actions, using input overrides, exporting profiles, as well as creating the controls package using the Project Editor. It also has the following reference pages for the files that will be created as part of this process:
You can find tutorials explaining how to set up devices and profiles on the following pages:
Input Glossary
Before continuing with the different aspects of this guide, it is a good idea to familiarise yourself with some of the terms that will be used throughout and what these terms mean in the context of the input application and making control profiles:
-
Context
The context determines when a particular control mapping is active within the simulator. For example, the "A" button on a gamepad may be used to increase the throttle when the context flying an aircraft, or it may be used to perform a preflight check when the context is the user avatar. See Understanding Contexts And Profiles for more information.
-
Actions
An action is something that will happen in the simulation when an input is detected, for example, moving the user avatar forward when a positive input on the Y-axis of a joystick is detected. The exact action that happens will depend on the context, and you can bind an action to one or more inputs.
-
Profile
A profile is simply a set of control mappings. See Understanding Contexts And Profiles for more information.
-
Preset
A preset is a named configuration within a profile.
-
PID (Product ID)
This is the unique identifier given to a hardware device.
-
Input Override
This defines the special settings that modify the default behavior of an action.
-
Curve
A curve is a graph that defines the relationship between the physical input and the simulation control response. There are both hardware-level and action-specific curves.
Understanding Contexts And Profiles
In MSFS 2024, a context determines when a particular control mapping is active. For example, some controls are only relevant in the cockpit view, while others are used on the ground or in the simulation menus. For this reason, all contexts are predefined and cannot be created or modified by developers.
On the other-hand we have profiles, which are collections of control mappings, which are configurable by developers, within the limits of the context. The simulation uses the following hierarchical system for profiles:
-
A Device Profile
The device profile is the minimum required to register the device with Microsoft Flight Simulator 2024, and associate the device with some icons and images so it can be displayed in the UI. This is the absolute minimum required for a device to be usable in the simulation, and the user will need to set up all the input bindings themselves with the UI, however you would normally create a transversal profile along with the device profile so it can at least be used for basic interactions.
-
A Transversal Profile
This kind of profile contains a number of generic bindings that are to be used across the simulation, based on context, and that are not directly related to any type or make of aircraft. For example, menu controls, camera controls, etc... This is usually created along with a device profile to provide the user with basic inputs from the device.
-
Aircraft Category Profiles
These profiles contains mappings specific to a category of aircraft (Airplane, Helicopter, Glider, Balloon, Airship, or Other), and are used to define input bindings for any single controller so it can be used with any one or more of these categories.
-
Aircraft Specific Profiles
These profiles contain mappings for one or more controller and a particular aircraft model. For example the DA62 has two profiles - scientific and passenger - and each one has a different input configuration for keyboard, gamepad and mouse (6 profiles in total). If you are an aircraft developer, then this kind of profile is the most useful as it permits you to set up custom input bindings, that suit the aircraft controls, for all the common controllers.
For category and specific profiles, inputs are associated with a specific set of allowed contexts. This means that you can only map actions from those allowed contexts to a given profile type. If you attempt to map an action from a disallowed context, the mapping will not be recognised by the simulator. For example: You cannot map a COCKPIT_CAMERA action to an Airplane profile because the COCKPIT_CAMERA context is not allowed for the Airplane profile.
Available Contexts
To further help you with the available contexts and what is allowed for them, we have prepared the following table:
| Context | General | Airplane | Helicopter | Glider | Lighter Than Air | Other |
|---|---|---|---|---|---|---|
3RD_PARTY |
||||||
ACTION_CAMERA |
||||||
AIRCRAFT |
||||||
ALWAYS |
||||||
ATC |
||||||
BASIC_CONTROL |
||||||
BASIC_CONTROL_HELICOPTER |
||||||
BASIC_CONTROL_LIGHTER_THAN_AIR |
||||||
COCKPIT_CAMERA |
||||||
COCKPIT_GLOBAL_CAMERA |
||||||
COCKPIT_GLOBAL_CAMERA_TRANSLATE |
||||||
COCKPIT_INTERACTIONS |
||||||
COCKPIT_INTERACTIONS_LOCK |
||||||
COCKPIT_VR_CAMERA |
||||||
CURSOR |
||||||
CURSOR_LOCK |
||||||
CURSOR_MODE_SWITCHES |
||||||
DEBUG |
||||||
DEVMODE |
||||||
DEVMODECAMERA |
||||||
DRONE |
||||||
DRONE_GLOBAL |
||||||
EXTERNAL_CAMERA |
||||||
FIXED_CAMERA |
||||||
GAME |
||||||
GLIDER |
||||||
HANGAR_CAMERA |
||||||
HELICOPTER |
||||||
INGAME_UI |
||||||
INPUT_EVENTS |
||||||
INSTRUMENTS_CAMERA |
||||||
INSTRUMENTS_CONTROL |
||||||
LIGHTER_THAN_AIR |
||||||
MENU |
||||||
MENU_CORE |
||||||
MENU_GLOBAL |
||||||
MENU_MOUSE |
||||||
MISSION_FLOW_TOOLS |
||||||
MODE_INTERACTION |
||||||
MODE_PAUSE |
||||||
MODES |
||||||
PC_MODE_SWITCHES |
||||||
PHOTO_MODE_ACTIONS |
||||||
PHOTO_MODE_ROTATION |
||||||
PHOTO_MODE_SWITCHES |
||||||
PHOTO_MODE_TRANSLATION |
||||||
PLANE |
||||||
PLAYER_CHARACTER_FPV |
||||||
PLAYER_CHARACTER_INTERACTION |
||||||
PLAYER_CHARACTER_MOVEMENT |
||||||
REPLAY |
||||||
RTC |
||||||
RUDDER_AXIS |
||||||
SIM_SHORTCUT |
||||||
SLEW |
||||||
SMART_CAMERA |
||||||
SPECTATOR |
||||||
SURFACES |
||||||
SURFACES_HELICOPTER |
||||||
SURFACES_LIGHTER_THAN_AIR |
||||||
THROTTLE |
||||||
TOOLBAR |
||||||
TRUE_COCKPIT |
||||||
USER_CAMERA |
||||||
WORLDMAP_COMMON |
||||||
WORLDMAP_PAD |
Related Topics