Overview

FSX, FSXSE, Prepar3D and MS FS 2020 provide a software interface to allow hardware to interact with them. This software interface is known as SimConnect and it provides a large number of Events and Variables that can be used to control the aircraft in the flight sim.

What are Events?

When a SimConnect Event is sent to the flight sim, it causes something to happen in the aircraft or within the flight sim. An example of an SimConnect Event is KEY_PARKING_BRAKES which toggles an aircrafts parking brakes on or off. Assigning an Event to a Component such as a button, triggers the Event to be sent to the flight sim when the button is used. e.g. pushing the button would turn on or off the the aircrafts parking brakes within the flight sim.

Some Events required additional data to be sent with them. For example the Event KEY_THROTTLE_SET requires a value between 0 and 16383 to be sent with it, the value determining the position of the aircrafts throttle.

When an Event completes, it will almost certainly have changed the value of at least one SimConnect Variable (see below) and sometimes it may change the value of many Variables.

What are Variables?

SimConnect Variables record the state of the aircraft and the virtual world. A real aircraft has actual moving flaps with sensors and hydraulic pressure readings etc. A flight simulator needs a way to mimic these things and record their state. An example of a SimConnect Variable is BRAKE PARKING POSITION which has a value of 0 when the parking brakes are off and a value of 1 when they are on.

All Variables can be read via SimConnect i.e. their values retrieved and processed in some way. Some variables can also be written to i.e. their value forced to be a specific value.

Variables are ideal for Components such as LED's because they can be used in logical expressions that result in true or false (light on/state 1 or light off/state 0). For example if the SimConnect Variable AUTOPILOT AVAILABLE was assigned to an LED Component and the result of the logical expression returned true, the LED would be lit and you would know that an autopilot was available on the aircraft.

Variables are also used for Component Displays. E.g. the Variable AUTOPILOT HEADING LOCK DIR displays the desired heading programmed into the aircrafts autopilot. Linking this variable to a Display would show the value in the display e.g. "020" degrees.