From 57037928ca800eb6822041736a3cab3dd6c88da7 Mon Sep 17 00:00:00 2001 From: Mark van Renswoude Date: Tue, 29 Dec 2015 11:22:23 +0000 Subject: [PATCH] Changed: FSX state is now more accurately reflected in the UI Added: seperate left/right/nose/tail gear functions Added: flaps handle position based on index and percentage --- G940LEDControl/Forms/MainFrm.dfm | 4 +- G940LEDControl/Forms/MainFrm.pas | 8 +- G940LEDControl/G940LEDControl.dproj | 6 +- G940LEDControl/G940LEDControl.res | Bin 28540 -> 28540 bytes G940LEDControl/Units/FSXLEDFunction.pas | 199 +- .../Units/FSXLEDFunctionProvider.pas | 78 +- G940LEDControl/Units/FSXLEDFunctionWorker.pas | 120 +- G940LEDControl/Units/FSXResources.pas | 64 + G940LEDControl/Units/FSXSimConnectClient.pas | 2 + G940LEDControl/Units/FSXSimConnectIntf.pas | 2 +- G940LEDControl/Units/LEDFunction.pas | 15 +- MSDN/SimConnect.html | 2054 +++++++++++++++++ MSDN/SimConnect_files/BrandLogoMsdn.png | Bin 0 -> 3341 bytes MSDN/SimConnect_files/Combined(1).js | 7 + MSDN/SimConnect_files/Combined.css | 18 + MSDN/SimConnect_files/Combined.js | 172 ++ MSDN/SimConnect_files/IC177694.jpg | Bin 0 -> 19087 bytes MSDN/SimConnect_files/IC62811.jpg | Bin 0 -> 67316 bytes MSDN/SimConnect_files/PrintBook.css | 1 + MSDN/SimConnect_files/SearchBox.jss | 16 + MSDN/SimConnect_files/profile.jpg | Bin 0 -> 999 bytes MSDN/SimConnect_files/wtid.js | 5 + 22 files changed, 2713 insertions(+), 58 deletions(-) create mode 100644 MSDN/SimConnect.html create mode 100644 MSDN/SimConnect_files/BrandLogoMsdn.png create mode 100644 MSDN/SimConnect_files/Combined(1).js create mode 100644 MSDN/SimConnect_files/Combined.css create mode 100644 MSDN/SimConnect_files/Combined.js create mode 100644 MSDN/SimConnect_files/IC177694.jpg create mode 100644 MSDN/SimConnect_files/IC62811.jpg create mode 100644 MSDN/SimConnect_files/PrintBook.css create mode 100644 MSDN/SimConnect_files/SearchBox.jss create mode 100644 MSDN/SimConnect_files/profile.jpg create mode 100644 MSDN/SimConnect_files/wtid.js diff --git a/G940LEDControl/Forms/MainFrm.dfm b/G940LEDControl/Forms/MainFrm.dfm index 24163a6..2d46e27 100644 --- a/G940LEDControl/Forms/MainFrm.dfm +++ b/G940LEDControl/Forms/MainFrm.dfm @@ -798,9 +798,9 @@ object MainForm: TMainForm object lblFSXState: TLabel Left = 42 Top = 23 - Width = 70 + Width = 31 Height = 13 - Caption = 'Not connected' + Caption = 'Status' end end object pnlG940: TPanel diff --git a/G940LEDControl/Forms/MainFrm.pas b/G940LEDControl/Forms/MainFrm.pas index a8c18d8..1fd6bb5 100644 --- a/G940LEDControl/Forms/MainFrm.pas +++ b/G940LEDControl/Forms/MainFrm.pas @@ -266,8 +266,9 @@ const TextStateNotFound = 'Not found'; TextStateFound = 'Connected'; + TextFSXConnecting = 'Connecting...'; TextFSXConnected = 'Connected'; - TextFSXDisconnected = 'Not connected'; + TextFSXDisconnected = 'No buttons configured'; TextFSXFailed = 'Failed to connect'; @@ -313,6 +314,8 @@ begin PageControl.ActivePageIndex := 0; AlignBevel(bvlProfileSwitching, lblProfileSwitching); + SetFSXState(TextFSXDisconnected, False); + FEventMonitor := TOmniEventMonitor.Create(Self); Log.Info('Starting G940 LED state consumer thread'); @@ -1253,6 +1256,9 @@ begin scsDisconnected: SetFSXState(TextFSXDisconnected, False); + scsConnecting: + SetFSXState(TextFSXConnecting, False); + scsConnected: SetFSXState(TextFSXConnected, True); diff --git a/G940LEDControl/G940LEDControl.dproj b/G940LEDControl/G940LEDControl.dproj index 0e27dc6..5fe4868 100644 --- a/G940LEDControl/G940LEDControl.dproj +++ b/G940LEDControl/G940LEDControl.dproj @@ -49,7 +49,7 @@ true - 2 + 4 1 rtl;dbrtl;$(DCC_UsePackage) Lib @@ -59,7 +59,7 @@ None G940LEDControl_Icon.ico Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;System.Win;$(DCC_Namespace) - CompanyName=X²Software;FileDescription=G940 LED Control;FileVersion=1.1.2.0;InternalName=;LegalCopyright=© 2011 - 2015 X²Software;LegalTrademarks=;OriginalFilename=G940LEDControl.exe;ProductName=G940 LED Control;ProductVersion=1.1;Comments= + CompanyName=X²Software;FileDescription=G940 LED Control;FileVersion=1.1.4.0;InternalName=;LegalCopyright=© 2011 - 2015 X²Software;LegalTrademarks=;OriginalFilename=G940LEDControl.exe;ProductName=G940 LED Control;ProductVersion=1.1;Comments= 1033 @@ -97,7 +97,7 @@ /restart false - CompanyName=;FileDescription=;FileVersion=1.1.1.1;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=0.2;Comments= + CompanyName=;FileDescription=;FileVersion=1.1.3.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=0.2;Comments= $(BDS)\bin\default_app.manifest diff --git a/G940LEDControl/G940LEDControl.res b/G940LEDControl/G940LEDControl.res index 3a9a558918a4340fc3dab675fcec8d16adbfd9c6..71877325e97dff5098f178d85a588d412fa4192d 100644 GIT binary patch delta 21 dcmex!kMYkv#tCJNEE~&t85vDBw=#au1psTo2+9Be delta 21 dcmex!kMYkv#tCJNOdHF285xZ>w=#au1psTE2*v;a diff --git a/G940LEDControl/Units/FSXLEDFunction.pas b/G940LEDControl/Units/FSXLEDFunction.pas index 52250f5..c30c565 100644 --- a/G940LEDControl/Units/FSXLEDFunction.pas +++ b/G940LEDControl/Units/FSXLEDFunction.pas @@ -42,10 +42,44 @@ type function GetWorkerClass: TCustomLEDMultiStateFunctionWorkerClass; override; end; - TFSXGearFunction = class(TCustomFSXSystemsFunction) + TCustomFSXGearFunction = class(TCustomFSXSystemsFunction) protected procedure RegisterStates; override; function GetWorkerClass: TCustomLEDMultiStateFunctionWorkerClass; override; + procedure InitializeWorker(AWorker: TCustomLEDMultiStateFunctionWorker); override; + protected + function GetGearVariableName: string; virtual; abstract; + function GetGearPercentageFloat: Boolean; virtual; abstract; + end; + + TFSXGearFunction = class(TCustomFSXGearFunction) + protected + function GetGearVariableName: string; override; + function GetGearPercentageFloat: Boolean; override; + end; + + TFSXLeftGearFunction = class(TCustomFSXGearFunction) + protected + function GetGearVariableName: string; override; + function GetGearPercentageFloat: Boolean; override; + end; + + TFSXRightGearFunction = class(TCustomFSXGearFunction) + protected + function GetGearVariableName: string; override; + function GetGearPercentageFloat: Boolean; override; + end; + + TFSXCenterGearFunction = class(TCustomFSXGearFunction) + protected + function GetGearVariableName: string; override; + function GetGearPercentageFloat: Boolean; override; + end; + + TFSXTailGearFunction = class(TCustomFSXGearFunction) + protected + function GetGearVariableName: string; override; + function GetGearPercentageFloat: Boolean; override; end; TFSXParkingBrakeFunction = class(TCustomFSXInvertedOnOffFunction) @@ -120,6 +154,21 @@ type function GetWorkerClass: TCustomLEDMultiStateFunctionWorkerClass; override; end; + TFSXFlapsHandleIndexFunction = class(TCustomFSXFunction) + protected + function GetCategoryName: string; override; + procedure RegisterStates; override; + function GetWorkerClass: TCustomLEDMultiStateFunctionWorkerClass; override; + end; + + TFSXFlapsHandlePercentageFunction = class(TCustomFSXFunction) + protected + function GetCategoryName: string; override; + procedure RegisterStates; override; + function GetWorkerClass: TCustomLEDMultiStateFunctionWorkerClass; override; + end; + + TFSXSpoilersFunction = class(TCustomFSXFunction) protected function GetCategoryName: string; override; @@ -141,7 +190,7 @@ type function GetCategoryName: string; override; function GetWorkerClass: TCustomLEDMultiStateFunctionWorkerClass; override; - function DoCreateWorker(ASettings: ILEDFunctionWorkerSettings; const APreviousState: string = ''): TCustomLEDFunctionWorker; override; + procedure InitializeWorker(AWorker: TCustomLEDMultiStateFunctionWorker); override; protected function GetLightMask: Integer; virtual; abstract; end; @@ -331,7 +380,7 @@ end; { TFSXGearFunction } -procedure TFSXGearFunction.RegisterStates; +procedure TCustomFSXGearFunction.RegisterStates; begin RegisterState(TLEDState.Create(FSXStateUIDGearNotRetractable, FSXStateDisplayNameGearNotRetractable, lcOff)); RegisterState(TLEDState.Create(FSXStateUIDGearRetracted, FSXStateDisplayNameGearRetracted, lcRed)); @@ -342,12 +391,90 @@ begin end; -function TFSXGearFunction.GetWorkerClass: TCustomLEDMultiStateFunctionWorkerClass; +function TCustomFSXGearFunction.GetWorkerClass: TCustomLEDMultiStateFunctionWorkerClass; begin Result := TFSXGearFunctionWorker; end; +procedure TCustomFSXGearFunction.InitializeWorker(AWorker: TCustomLEDMultiStateFunctionWorker); +var + gearFunctionWorker: TFSXGearFunctionWorker; + +begin + gearFunctionWorker := (AWorker as TFSXGearFunctionWorker); + gearFunctionWorker.GearVariableName := GetGearVariableName; + gearFunctionWorker.GearPercentageFloat := GetGearPercentageFloat; + + // Note: inherited sets SimConnect, which triggers RegisterVariables + inherited InitializeWorker(AWorker); +end; + + +{ TFSXGearFunction } +function TFSXGearFunction.GetGearVariableName: string; +begin + Result := 'GEAR TOTAL PCT EXTENDED'; +end; + +function TFSXGearFunction.GetGearPercentageFloat: Boolean; +begin + Result := True; +end; + + +{ TFSXLefGearFunction } +function TFSXLeftGearFunction.GetGearVariableName: string; +begin + Result := 'GEAR LEFT POSITION'; +end; + + +function TFSXLeftGearFunction.GetGearPercentageFloat: Boolean; +begin + Result := False; +end; + + +{ TFSXRightGearFunction } +function TFSXRightGearFunction.GetGearVariableName: string; +begin + Result := 'GEAR RIGHT POSITION'; +end; + + +function TFSXRightGearFunction.GetGearPercentageFloat: Boolean; +begin + Result := False; +end; + + +{ TFSXCenterGearFunction } +function TFSXCenterGearFunction.GetGearVariableName: string; +begin + Result := 'GEAR CENTER POSITION'; +end; + + +function TFSXCenterGearFunction.GetGearPercentageFloat: Boolean; +begin + Result := False; +end; + + +{ TFSXTailGearFunction } +function TFSXTailGearFunction.GetGearVariableName: string; +begin + Result := 'GEAR TAIL POSITION'; +end; + + +function TFSXTailGearFunction.GetGearPercentageFloat: Boolean; +begin + Result := False; +end; + + { TFSXParkingBrakeFunction } function TFSXParkingBrakeFunction.GetCategoryName: string; begin @@ -543,6 +670,62 @@ begin end; +{ TFSXFlapsHandleIndexFunction } +function TFSXFlapsHandleIndexFunction.GetCategoryName: string; +begin + Result := FSXCategoryControlSurfaces; +end; + + +procedure TFSXFlapsHandleIndexFunction.RegisterStates; +begin + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandleIndexNotAvailable, FSXStateDisplayNameFlapsHandleIndexNotAvailable, lcOff)); + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandleIndex0, FSXStateDisplayNameFlapsHandleIndex0, lcGreen)); + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandleIndex1, FSXStateDisplayNameFlapsHandleIndex1, lcAmber)); + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandleIndex2, FSXStateDisplayNameFlapsHandleIndex2, lcAmber)); + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandleIndex3, FSXStateDisplayNameFlapsHandleIndex3, lcAmber)); + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandleIndex4, FSXStateDisplayNameFlapsHandleIndex4, lcAmber)); + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandleIndex5, FSXStateDisplayNameFlapsHandleIndex5, lcAmber)); + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandleIndex6, FSXStateDisplayNameFlapsHandleIndex6, lcAmber)); + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandleIndex7, FSXStateDisplayNameFlapsHandleIndex7, lcAmber)); +end; + + +function TFSXFlapsHandleIndexFunction.GetWorkerClass: TCustomLEDMultiStateFunctionWorkerClass; +begin + Result := TFSXFlapsHandleIndexFunctionWorker; +end; + + +{ TFSXFlapsHandlePercentageFunction } +function TFSXFlapsHandlePercentageFunction.GetCategoryName: string; +begin + Result := FSXCategoryControlSurfaces; +end; + + +procedure TFSXFlapsHandlePercentageFunction.RegisterStates; +begin + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandlePercentageNotAvailable, FSXStateDisplayNameFlapsHandlePercentageNotAvailable, lcOff)); + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandlePercentage0To10, FSXStateDisplayNameFlapsHandlePercentage0To10, lcGreen)); + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandlePercentage10To20, FSXStateDisplayNameFlapsHandlePercentage10To20, lcAmber)); + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandlePercentage20To30, FSXStateDisplayNameFlapsHandlePercentage20To30, lcAmber)); + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandlePercentage30To40, FSXStateDisplayNameFlapsHandlePercentage30To40, lcAmber)); + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandlePercentage40To50, FSXStateDisplayNameFlapsHandlePercentage40To50, lcAmber)); + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandlePercentage50To60, FSXStateDisplayNameFlapsHandlePercentage50To60, lcAmber)); + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandlePercentage60To70, FSXStateDisplayNameFlapsHandlePercentage60To70, lcAmber)); + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandlePercentage70To80, FSXStateDisplayNameFlapsHandlePercentage70To80, lcAmber)); + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandlePercentage80To90, FSXStateDisplayNameFlapsHandlePercentage80To90, lcAmber)); + RegisterState(TLEDState.Create(FSXStateUIDFlapsHandlePercentage90To100, FSXStateDisplayNameFlapsHandlePercentage90To100, lcRed)); +end; + + +function TFSXFlapsHandlePercentageFunction.GetWorkerClass: TCustomLEDMultiStateFunctionWorkerClass; +begin + Result := TFSXFlapsHandlePercentageFunctionWorker; +end; + + { TFSXSpoilersFunction } function TFSXSpoilersFunction.GetCategoryName: string; begin @@ -599,10 +782,12 @@ begin end; -function TCustomFSXLightFunction.DoCreateWorker(ASettings: ILEDFunctionWorkerSettings; const APreviousState: string): TCustomLEDFunctionWorker; +procedure TCustomFSXLightFunction.InitializeWorker(AWorker: TCustomLEDMultiStateFunctionWorker); begin - Result := inherited DoCreateWorker(ASettings, APreviousState); - (Result as TFSXLightStatesFunctionWorker).StateMask := GetLightMask; + (AWorker as TFSXLightStatesFunctionWorker).StateMask := GetLightMask; + + // Note: inherited sets SimConnect, which triggers RegisterVariables + inherited InitializeWorker(AWorker); end; diff --git a/G940LEDControl/Units/FSXLEDFunctionProvider.pas b/G940LEDControl/Units/FSXLEDFunctionProvider.pas index 826d812..c7495bc 100644 --- a/G940LEDControl/Units/FSXLEDFunctionProvider.pas +++ b/G940LEDControl/Units/FSXLEDFunctionProvider.pas @@ -48,7 +48,7 @@ type FDisplayName: string; FUID: string; protected - function DoCreateWorker(ASettings: ILEDFunctionWorkerSettings; const APreviousState: string = ''): TCustomLEDFunctionWorker; override; + procedure InitializeWorker(AWorker: TCustomLEDMultiStateFunctionWorker); override; property Provider: TFSXLEDFunctionProvider read FProvider; protected @@ -132,52 +132,58 @@ end; procedure TFSXLEDFunctionProvider.RegisterFunctions; begin { Systems } - RegisterFunction(TFSXBatteryMasterFunction.Create( Self, FSXFunctionDisplayNameBatteryMaster, FSXFunctionUIDBatteryMaster)); - RegisterFunction(TFSXDeIceFunction.Create( Self, FSXFunctionDisplayNameDeIce, FSXFunctionUIDDeIce)); - RegisterFunction(TFSXExitDoorFunction.Create( Self, FSXFunctionDisplayNameExitDoor, FSXFunctionUIDExitDoor)); - RegisterFunction(TFSXGearFunction.Create( Self, FSXFunctionDisplayNameGear, FSXFunctionUIDGear)); - RegisterFunction(TFSXParkingBrakeFunction.Create( Self, FSXFunctionDisplayNameParkingBrake, FSXFunctionUIDParkingBrake)); - RegisterFunction(TFSXAutoBrakeFunction.Create( Self, FSXFunctionDisplayNameAutoBrake, FSXFunctionUIDAutoBrake)); - RegisterFunction(TFSXPressDumpSwitchFunction.Create( Self, FSXFunctionDisplayNamePressDumpSwitch, FSXFunctionUIDPressDumpSwitch)); - RegisterFunction(TFSXTailHookFunction.Create( Self, FSXFunctionDisplayNameTailHook, FSXFunctionUIDTailHook)); + RegisterFunction(TFSXBatteryMasterFunction.Create( Self, FSXFunctionDisplayNameBatteryMaster, FSXFunctionUIDBatteryMaster)); + RegisterFunction(TFSXDeIceFunction.Create( Self, FSXFunctionDisplayNameDeIce, FSXFunctionUIDDeIce)); + RegisterFunction(TFSXExitDoorFunction.Create( Self, FSXFunctionDisplayNameExitDoor, FSXFunctionUIDExitDoor)); + RegisterFunction(TFSXGearFunction.Create( Self, FSXFunctionDisplayNameGear, FSXFunctionUIDGear)); + RegisterFunction(TFSXLeftGearFunction.Create( Self, FSXFunctionDisplayNameLeftGear, FSXFunctionUIDLeftGear)); + RegisterFunction(TFSXRightGearFunction.Create( Self, FSXFunctionDisplayNameRightGear, FSXFunctionUIDRightGear)); + RegisterFunction(TFSXCenterGearFunction.Create( Self, FSXFunctionDisplayNameCenterGear, FSXFunctionUIDCenterGear)); + RegisterFunction(TFSXTailGearFunction.Create( Self, FSXFunctionDisplayNameTailGear, FSXFunctionUIDTailGear)); + RegisterFunction(TFSXParkingBrakeFunction.Create( Self, FSXFunctionDisplayNameParkingBrake, FSXFunctionUIDParkingBrake)); + RegisterFunction(TFSXAutoBrakeFunction.Create( Self, FSXFunctionDisplayNameAutoBrake, FSXFunctionUIDAutoBrake)); + RegisterFunction(TFSXPressDumpSwitchFunction.Create( Self, FSXFunctionDisplayNamePressDumpSwitch, FSXFunctionUIDPressDumpSwitch)); + RegisterFunction(TFSXTailHookFunction.Create( Self, FSXFunctionDisplayNameTailHook, FSXFunctionUIDTailHook)); { Instruments } - RegisterFunction(TFSXPitotOnOffFunction.Create( Self, FSXFunctionDisplayNamePitotOnOff, FSXFunctionUIDPitotOnOff)); - RegisterFunction(TFSXPitotWarningFunction.Create( Self, FSXFunctionDisplayNamePitotWarning, FSXFunctionUIDPitotWarning)); + RegisterFunction(TFSXPitotOnOffFunction.Create( Self, FSXFunctionDisplayNamePitotOnOff, FSXFunctionUIDPitotOnOff)); + RegisterFunction(TFSXPitotWarningFunction.Create( Self, FSXFunctionDisplayNamePitotWarning, FSXFunctionUIDPitotWarning)); { Engines } - RegisterFunction(TFSXEngineAntiIceFunction.Create( Self, FSXFunctionDisplayNameEngineAntiIce, FSXFunctionUIDEngineAntiIce)); - RegisterFunction(TFSXEngineFunction.Create( Self, FSXFunctionDisplayNameEngine, FSXFunctionUIDEngine)); - RegisterFunction(TFSXThrottleFunction.Create( Self, FSXFunctionDisplayNameThrottle, FSXFunctionUIDThrottle)); + RegisterFunction(TFSXEngineAntiIceFunction.Create( Self, FSXFunctionDisplayNameEngineAntiIce, FSXFunctionUIDEngineAntiIce)); + RegisterFunction(TFSXEngineFunction.Create( Self, FSXFunctionDisplayNameEngine, FSXFunctionUIDEngine)); + RegisterFunction(TFSXThrottleFunction.Create( Self, FSXFunctionDisplayNameThrottle, FSXFunctionUIDThrottle)); { Control surfaces } - RegisterFunction(TFSXFlapsFunction.Create( Self, FSXFunctionDisplayNameFlaps, FSXFunctionUIDFlaps)); - RegisterFunction(TFSXSpoilersFunction.Create( Self, FSXFunctionDisplayNameSpoilers, FSXFunctionUIDSpoilers)); - RegisterFunction(TFSXSpoilersArmedFunction.Create( Self, FSXFunctionDisplayNameSpoilersArmed, FSXFunctionUIDSpoilersArmed)); + RegisterFunction(TFSXFlapsFunction.Create( Self, FSXFunctionDisplayNameFlaps, FSXFunctionUIDFlaps)); + RegisterFunction(TFSXFlapsHandleIndexFunction.Create( Self, FSXFunctionDisplayNameFlapsHandleIndex, FSXFunctionUIDFlapsHandleIndex)); + RegisterFunction(TFSXFlapsHandlePercentageFunction.Create(Self, FSXFunctionDisplayNameFlapsHandlePercentage, FSXFunctionUIDFlapsHandlePercentage)); + RegisterFunction(TFSXSpoilersFunction.Create( Self, FSXFunctionDisplayNameSpoilers, FSXFunctionUIDSpoilers)); + RegisterFunction(TFSXSpoilersArmedFunction.Create( Self, FSXFunctionDisplayNameSpoilersArmed, FSXFunctionUIDSpoilersArmed)); { Lights } - RegisterFunction(TFSXBeaconLightsFunction.Create( Self, FSXFunctionDisplayNameBeaconLights, FSXFunctionUIDBeaconLights)); - RegisterFunction(TFSXInstrumentLightsFunction.Create( Self, FSXFunctionDisplayNameInstrumentLights, FSXFunctionUIDInstrumentLights)); - RegisterFunction(TFSXLandingLightsFunction.Create( Self, FSXFunctionDisplayNameLandingLights, FSXFunctionUIDLandingLights)); - RegisterFunction(TFSXNavLightsFunction.Create( Self, FSXFunctionDisplayNameNavLights, FSXFunctionUIDNavLights)); - RegisterFunction(TFSXRecognitionLightsFunction.Create( Self, FSXFunctionDisplayNameRecognitionLights, FSXFunctionUIDRecognitionLights)); - RegisterFunction(TFSXStrobeLightsFunction.Create( Self, FSXFunctionDisplayNameStrobeLights, FSXFunctionUIDStrobeLights)); - RegisterFunction(TFSXTaxiLightsFunction.Create( Self, FSXFunctionDisplayNameTaxiLights, FSXFunctionUIDTaxiLights)); - RegisterFunction(TFSXAllLightsFunction.Create( Self, FSXFunctionDisplayNameAllLights, FSXFunctionUIDAllLights)); + RegisterFunction(TFSXBeaconLightsFunction.Create( Self, FSXFunctionDisplayNameBeaconLights, FSXFunctionUIDBeaconLights)); + RegisterFunction(TFSXInstrumentLightsFunction.Create( Self, FSXFunctionDisplayNameInstrumentLights, FSXFunctionUIDInstrumentLights)); + RegisterFunction(TFSXLandingLightsFunction.Create( Self, FSXFunctionDisplayNameLandingLights, FSXFunctionUIDLandingLights)); + RegisterFunction(TFSXNavLightsFunction.Create( Self, FSXFunctionDisplayNameNavLights, FSXFunctionUIDNavLights)); + RegisterFunction(TFSXRecognitionLightsFunction.Create( Self, FSXFunctionDisplayNameRecognitionLights, FSXFunctionUIDRecognitionLights)); + RegisterFunction(TFSXStrobeLightsFunction.Create( Self, FSXFunctionDisplayNameStrobeLights, FSXFunctionUIDStrobeLights)); + RegisterFunction(TFSXTaxiLightsFunction.Create( Self, FSXFunctionDisplayNameTaxiLights, FSXFunctionUIDTaxiLights)); + RegisterFunction(TFSXAllLightsFunction.Create( Self, FSXFunctionDisplayNameAllLights, FSXFunctionUIDAllLights)); { Autopilot } - RegisterFunction(TFSXAutoPilotFunction.Create( Self, FSXFunctionDisplayNameAutoPilot, FSXFunctionUIDAutoPilot)); - RegisterFunction(TFSXAutoPilotAltitudeFunction.Create( Self, FSXFunctionDisplayNameAutoPilotAltitude, FSXFunctionUIDAutoPilotAltitude)); - RegisterFunction(TFSXAutoPilotApproachFunction.Create( Self, FSXFunctionDisplayNameAutoPilotApproach, FSXFunctionUIDAutoPilotApproach)); - RegisterFunction(TFSXAutoPilotBackcourseFunction.Create(Self, FSXFunctionDisplayNameAutoPilotBackcourse, FSXFunctionUIDAutoPilotBackcourse)); - RegisterFunction(TFSXAutoPilotHeadingFunction.Create( Self, FSXFunctionDisplayNameAutoPilotHeading, FSXFunctionUIDAutoPilotHeading)); - RegisterFunction(TFSXAutoPilotNavFunction.Create( Self, FSXFunctionDisplayNameAutoPilotNav, FSXFunctionUIDAutoPilotNav)); + RegisterFunction(TFSXAutoPilotFunction.Create( Self, FSXFunctionDisplayNameAutoPilot, FSXFunctionUIDAutoPilot)); + RegisterFunction(TFSXAutoPilotAltitudeFunction.Create( Self, FSXFunctionDisplayNameAutoPilotAltitude, FSXFunctionUIDAutoPilotAltitude)); + RegisterFunction(TFSXAutoPilotApproachFunction.Create( Self, FSXFunctionDisplayNameAutoPilotApproach, FSXFunctionUIDAutoPilotApproach)); + RegisterFunction(TFSXAutoPilotBackcourseFunction.Create( Self, FSXFunctionDisplayNameAutoPilotBackcourse, FSXFunctionUIDAutoPilotBackcourse)); + RegisterFunction(TFSXAutoPilotHeadingFunction.Create( Self, FSXFunctionDisplayNameAutoPilotHeading, FSXFunctionUIDAutoPilotHeading)); + RegisterFunction(TFSXAutoPilotNavFunction.Create( Self, FSXFunctionDisplayNameAutoPilotNav, FSXFunctionUIDAutoPilotNav)); { Radios } - RegisterFunction(TFSXAvionicsMasterFunction.Create( Self, FSXFunctionDisplayNameAvionicsMaster, FSXFunctionUIDAvionicsMaster)); + RegisterFunction(TFSXAvionicsMasterFunction.Create( Self, FSXFunctionDisplayNameAvionicsMaster, FSXFunctionUIDAvionicsMaster)); { Fuel } - RegisterFunction(TFSXFuelFunction.Create( Self, FSXFunctionDisplayNameFuel, FSXFunctionUIDFuel)); + RegisterFunction(TFSXFuelFunction.Create( Self, FSXFunctionDisplayNameFuel, FSXFunctionUIDFuel)); { ATC } RegisterFunction(TFSXATCVisibilityFunction.Create(FSXProviderUID)); @@ -245,11 +251,9 @@ begin end; -function TCustomFSXFunction.DoCreateWorker(ASettings: ILEDFunctionWorkerSettings; const APreviousState: string): TCustomLEDFunctionWorker; +procedure TCustomFSXFunction.InitializeWorker(AWorker: TCustomLEDMultiStateFunctionWorker); begin - Result := inherited DoCreateWorker(ASettings, APreviousState); - - (Result as TCustomFSXFunctionWorker).SimConnect := Provider.GetSimConnect; + (AWorker as TCustomFSXFunctionWorker).SimConnect := Provider.GetSimConnect; end; diff --git a/G940LEDControl/Units/FSXLEDFunctionWorker.pas b/G940LEDControl/Units/FSXLEDFunctionWorker.pas index 6c27288..5f77390 100644 --- a/G940LEDControl/Units/FSXLEDFunctionWorker.pas +++ b/G940LEDControl/Units/FSXLEDFunctionWorker.pas @@ -35,9 +35,15 @@ type end; TFSXGearFunctionWorker = class(TCustomFSXFunctionWorker) + private + FGearVariableName: string; + FGearPercentageFloat: Boolean; protected procedure RegisterVariables(ADefinition: IFSXSimConnectDefinition); override; procedure HandleData(AData: Pointer); override; + public + property GearVariableName: string read FGearVariableName write FGearVariableName; + property GearPercentageFloat: Boolean read FGearPercentageFloat write FGearPercentageFloat; end; TFSXParkingBrakeFunctionWorker = class(TCustomFSXOnOffFunctionWorker) @@ -103,6 +109,18 @@ type procedure HandleData(AData: Pointer); override; end; + TFSXFlapsHandleIndexFunctionWorker = class(TCustomFSXFunctionWorker) + protected + procedure RegisterVariables(ADefinition: IFSXSimConnectDefinition); override; + procedure HandleData(AData: Pointer); override; + end; + + TFSXFlapsHandlePercentageFunctionWorker = class(TCustomFSXFunctionWorker) + protected + procedure RegisterVariables(ADefinition: IFSXSimConnectDefinition); override; + procedure HandleData(AData: Pointer); override; + end; + TFSXSpoilersFunctionWorker = class(TCustomFSXFunctionWorker) protected procedure RegisterVariables(ADefinition: IFSXSimConnectDefinition); override; @@ -277,10 +295,10 @@ end; { TFSXGearFunctionWorker } procedure TFSXGearFunctionWorker.RegisterVariables(ADefinition: IFSXSimConnectDefinition); begin - ADefinition.AddVariable('IS GEAR RETRACTABLE', FSX_UNIT_BOOL, SIMCONNECT_DATAType_INT32); - ADefinition.AddVariable('GEAR TOTAL PCT EXTENDED', FSX_UNIT_PERCENT, SIMCONNECT_DATAType_FLOAT64); - ADefinition.AddVariable('GEAR DAMAGE BY SPEED', FSX_UNIT_BOOL, SIMCONNECT_DATAType_INT32); - ADefinition.AddVariable('GEAR SPEED EXCEEDED', FSX_UNIT_BOOL, SIMCONNECT_DATAType_INT32); + ADefinition.AddVariable('IS GEAR RETRACTABLE', FSX_UNIT_BOOL, SIMCONNECT_DATAType_INT32); + ADefinition.AddVariable(GearVariableName, FSX_UNIT_PERCENT, SIMCONNECT_DATAType_FLOAT64); + ADefinition.AddVariable('GEAR DAMAGE BY SPEED', FSX_UNIT_BOOL, SIMCONNECT_DATAType_INT32); + ADefinition.AddVariable('GEAR SPEED EXCEEDED', FSX_UNIT_BOOL, SIMCONNECT_DATAType_INT32); end; @@ -289,13 +307,14 @@ type PGearData = ^TGearData; TGearData = packed record IsGearRetractable: Cardinal; - TotalPctExtended: Double; + PercentageExtended: Double; DamageBySpeed: Integer; SpeedExceeded: Integer; end; var gearData: PGearData; + gearExtended: Double; begin gearData := AData; @@ -308,7 +327,12 @@ begin else if gearData^.IsGearRetractable <> 0 then begin - case Trunc(gearData ^.TotalPctExtended * 100) of + if GearPercentageFloat then + gearExtended := gearData^.PercentageExtended * 100 + else + gearExtended := gearData^.PercentageExtended; + + case Trunc(gearExtended) of 0: SetCurrentState(FSXStateUIDGearRetracted); 95..100: SetCurrentState(FSXStateUIDGearExtended); else SetCurrentState(FSXStateUIDGearBetween); @@ -651,6 +675,90 @@ begin end; +{ TFSXFlapsHandleIndexFunctionWorker } +procedure TFSXFlapsHandleIndexFunctionWorker.RegisterVariables(ADefinition: IFSXSimConnectDefinition); +begin + ADefinition.AddVariable('FLAPS AVAILABLE', FSX_UNIT_BOOL, SIMCONNECT_DATAType_INT32); + ADefinition.AddVariable('FLAPS HANDLE INDEX', FSX_UNIT_NUMBER, SIMCONNECT_DATAType_INT32); + ADefinition.AddVariable('FLAPS NUM HANDLE POSITIONS', FSX_UNIT_NUMBER, SIMCONNECT_DATAType_INT32); +end; + + +procedure TFSXFlapsHandleIndexFunctionWorker.HandleData(AData: Pointer); +type + PFlapsData = ^TFlapsData; + TFlapsData = packed record + FlapsAvailable: Cardinal; + FlapsHandleIndex: Cardinal; + FlapsNumHandles: Cardinal; + end; + +var + flapsData: PFlapsData; + +begin + flapsData := AData; + + if flapsData^.FlapsAvailable <> 0 then + begin + case flapsData^.FlapsHandleIndex of + 0: SetCurrentState(FSXStateUIDFlapsHandleIndex0); + 1: SetCurrentState(FSXStateUIDFlapsHandleIndex1); + 2: SetCurrentState(FSXStateUIDFlapsHandleIndex2); + 3: SetCurrentState(FSXStateUIDFlapsHandleIndex3); + 4: SetCurrentState(FSXStateUIDFlapsHandleIndex4); + 5: SetCurrentState(FSXStateUIDFlapsHandleIndex5); + 6: SetCurrentState(FSXStateUIDFlapsHandleIndex6); + else + SetCurrentState(FSXStateUIDFlapsHandleIndex7); + end; + end else + SetCurrentState(FSXStateUIDFlapsHandleIndexNotAvailable); +end; + + +{ TFSXFlapsHandlePercentageFunctionWorker } +procedure TFSXFlapsHandlePercentageFunctionWorker.RegisterVariables(ADefinition: IFSXSimConnectDefinition); +begin + ADefinition.AddVariable('FLAPS AVAILABLE', FSX_UNIT_BOOL, SIMCONNECT_DATAType_INT32); + ADefinition.AddVariable('FLAPS HANDLE PERCENT', FSX_UNIT_PERCENT, SIMCONNECT_DATAType_FLOAT64); +end; + + +procedure TFSXFlapsHandlePercentageFunctionWorker.HandleData(AData: Pointer); +type + PFlapsData = ^TFlapsData; + TFlapsData = packed record + FlapsAvailable: Cardinal; + FlapsHandlePercent: Double; + end; + +var + flapsData: PFlapsData; + +begin + flapsData := AData; + + if flapsData^.FlapsAvailable <> 0 then + begin + case Trunc(flapsData^.FlapsHandlePercent) of + 0..9: SetCurrentState(FSXStateUIDFlapsHandlePercentage0To10); + 10..19: SetCurrentState(FSXStateUIDFlapsHandlePercentage10To20); + 20..29: SetCurrentState(FSXStateUIDFlapsHandlePercentage20To30); + 30..39: SetCurrentState(FSXStateUIDFlapsHandlePercentage30To40); + 40..49: SetCurrentState(FSXStateUIDFlapsHandlePercentage40To50); + 50..59: SetCurrentState(FSXStateUIDFlapsHandlePercentage50To60); + 60..69: SetCurrentState(FSXStateUIDFlapsHandlePercentage60To70); + 70..79: SetCurrentState(FSXStateUIDFlapsHandlePercentage70To80); + 80..89: SetCurrentState(FSXStateUIDFlapsHandlePercentage80To90); + else + SetCurrentState(FSXStateUIDFlapsHandlePercentage90To100); + end; + end else + SetCurrentState(FSXStateUIDFlapsHandlePercentageNotAvailable); +end; + + { TFSXSpoilersFunctionWorker } procedure TFSXSpoilersFunctionWorker.RegisterVariables(ADefinition: IFSXSimConnectDefinition); begin diff --git a/G940LEDControl/Units/FSXResources.pas b/G940LEDControl/Units/FSXResources.pas index 4aa6b1c..0202250 100644 --- a/G940LEDControl/Units/FSXResources.pas +++ b/G940LEDControl/Units/FSXResources.pas @@ -75,6 +75,18 @@ const FSXStateDisplayNameGearSpeedExceeded = 'Speed exceeded'; FSXStateDisplayNameGearDamageBySpeed = 'Damage by speed'; + FSXFunctionUIDLeftGear = 'leftGear'; + FSXFunctionDisplayNameLeftGear = 'Left main landing gear'; + + FSXFunctionUIDRightGear = 'rightGear'; + FSXFunctionDisplayNameRightGear = 'Right main landing gear'; + + FSXFunctionUIDCenterGear = 'centerGear'; + FSXFunctionDisplayNameCenterGear = 'Nose landing gear'; + + FSXFunctionUIDTailGear = 'tailGear'; + FSXFunctionDisplayNameTailGear = 'Tail landing gear'; + FSXFunctionUIDLandingLights = 'landingLights'; FSXFunctionDisplayNameLandingLights = 'Landing lights'; @@ -147,6 +159,58 @@ const FSXStateDisplayNameFlapsDamageBySpeed = 'Damage by speed'; + FSXFunctionUIDFlapsHandleIndex = 'flapsHandleIndex'; + FSXFunctionDisplayNameFlapsHandleIndex = 'Flaps (handle position)'; + + FSXStateUIDFlapsHandleIndexNotAvailable = 'notAvailable'; + FSXStateUIDFlapsHandleIndex0 = '0'; + FSXStateUIDFlapsHandleIndex1 = '1'; + FSXStateUIDFlapsHandleIndex2 = '2'; + FSXStateUIDFlapsHandleIndex3 = '3'; + FSXStateUIDFlapsHandleIndex4 = '4'; + FSXStateUIDFlapsHandleIndex5 = '5'; + FSXStateUIDFlapsHandleIndex6 = '6'; + FSXStateUIDFlapsHandleIndex7 = '7'; + + FSXStateDisplayNameFlapsHandleIndexNotAvailable = 'notAvailable'; + FSXStateDisplayNameFlapsHandleIndex0 = 'Position 0 (Up)'; + FSXStateDisplayNameFlapsHandleIndex1 = 'Position 1'; + FSXStateDisplayNameFlapsHandleIndex2 = 'Position 2'; + FSXStateDisplayNameFlapsHandleIndex3 = 'Position 3'; + FSXStateDisplayNameFlapsHandleIndex4 = 'Position 4'; + FSXStateDisplayNameFlapsHandleIndex5 = 'Position 5'; + FSXStateDisplayNameFlapsHandleIndex6 = 'Position 6'; + FSXStateDisplayNameFlapsHandleIndex7 = 'Position 7'; + + + FSXFunctionUIDFlapsHandlePercentage = 'flapsHandlePercentage'; + FSXFunctionDisplayNameFlapsHandlePercentage = 'Flaps (handle position - percentage)'; + + FSXStateUIDFlapsHandlePercentageNotAvailable = 'notAvailable'; + FSXStateUIDFlapsHandlePercentage0To10 = '0To10'; + FSXStateUIDFlapsHandlePercentage10To20 = '10To20'; + FSXStateUIDFlapsHandlePercentage20To30 = '20To30'; + FSXStateUIDFlapsHandlePercentage30To40 = '30To40'; + FSXStateUIDFlapsHandlePercentage40To50 = '40To50'; + FSXStateUIDFlapsHandlePercentage50To60 = '50To60'; + FSXStateUIDFlapsHandlePercentage60To70 = '60To70'; + FSXStateUIDFlapsHandlePercentage70To80 = '70To80'; + FSXStateUIDFlapsHandlePercentage80To90 = '80To90'; + FSXStateUIDFlapsHandlePercentage90To100 = '90To100'; + + FSXStateDisplayNameFlapsHandlePercentageNotAvailable = 'No flaps'; + FSXStateDisplayNameFlapsHandlePercentage0To10 = '0% - 10%'; + FSXStateDisplayNameFlapsHandlePercentage10To20 = '10% - 20%'; + FSXStateDisplayNameFlapsHandlePercentage20To30 = '20% - 30%'; + FSXStateDisplayNameFlapsHandlePercentage30To40 = '30% - 40%'; + FSXStateDisplayNameFlapsHandlePercentage40To50 = '40% - 50%'; + FSXStateDisplayNameFlapsHandlePercentage50To60 = '50% - 60%'; + FSXStateDisplayNameFlapsHandlePercentage60To70 = '60% - 70%'; + FSXStateDisplayNameFlapsHandlePercentage70To80 = '70% - 80%'; + FSXStateDisplayNameFlapsHandlePercentage80To90 = '80% - 90%'; + FSXStateDisplayNameFlapsHandlePercentage90To100 = '90% - 100%'; + + FSXFunctionUIDSpoilers = 'spoilers'; FSXFunctionDisplayNameSpoilers = 'Spoilers'; diff --git a/G940LEDControl/Units/FSXSimConnectClient.pas b/G940LEDControl/Units/FSXSimConnectClient.pas index 6446d78..7f4f93a 100644 --- a/G940LEDControl/Units/FSXSimConnectClient.pas +++ b/G940LEDControl/Units/FSXSimConnectClient.pas @@ -436,6 +436,8 @@ begin if SimConnectHandle <> 0 then exit; + TFSXSimConnectStateMonitor.SetCurrentState(scsConnecting); + TrySimConnect('FSX-SimConnect.dll'); if SimConnectHandle = 0 then TrySimConnect('FSX-SE-SimConnect.dll'); diff --git a/G940LEDControl/Units/FSXSimConnectIntf.pas b/G940LEDControl/Units/FSXSimConnectIntf.pas index ec4b851..ad094c6 100644 --- a/G940LEDControl/Units/FSXSimConnectIntf.pas +++ b/G940LEDControl/Units/FSXSimConnectIntf.pas @@ -61,7 +61,7 @@ type end; - TFSXSimConnectState = (scsDisconnected, scsConnected, scsFailed); + TFSXSimConnectState = (scsDisconnected, scsConnecting, scsConnected, scsFailed); IFSXSimConnectStateObserver = interface ['{0508904F-8189-479D-AF70-E98B00C9D9B2}'] diff --git a/G940LEDControl/Units/LEDFunction.pas b/G940LEDControl/Units/LEDFunction.pas index 546abaa..2d465e7 100644 --- a/G940LEDControl/Units/LEDFunction.pas +++ b/G940LEDControl/Units/LEDFunction.pas @@ -11,6 +11,7 @@ uses type TCustomLEDFunctionWorker = class; + TCustomLEDMultiStateFunctionWorker = class; TCustomLEDMultiStateFunctionWorkerClass = class of TCustomLEDMultiStateFunctionWorker; @@ -53,6 +54,7 @@ type function GetWorkerClass: TCustomLEDMultiStateFunctionWorkerClass; virtual; abstract; function DoCreateWorker(ASettings: ILEDFunctionWorkerSettings; const APreviousState: string = ''): TCustomLEDFunctionWorker; virtual; + procedure InitializeWorker(AWorker: TCustomLEDMultiStateFunctionWorker); virtual; protected function CreateWorker(ASettings: ILEDFunctionWorkerSettings; const APreviousState: string = ''): ILEDFunctionWorker; override; @@ -185,8 +187,19 @@ end; function TCustomMultiStateLEDFunction.DoCreateWorker(ASettings: ILEDFunctionWorkerSettings; const APreviousState: string): TCustomLEDFunctionWorker; +var + worker: TCustomLEDMultiStateFunctionWorker; + +begin + worker := GetWorkerClass.Create(FProviderUID, GetUID, Self, ASettings, APreviousState); + InitializeWorker(worker); + + Result := worker; +end; + + +procedure TCustomMultiStateLEDFunction.InitializeWorker(AWorker: TCustomLEDMultiStateFunctionWorker); begin - Result := GetWorkerClass.Create(FProviderUID, GetUID, Self, ASettings, APreviousState); end; diff --git a/MSDN/SimConnect.html b/MSDN/SimConnect.html new file mode 100644 index 0000000..7cb9f6f --- /dev/null +++ b/MSDN/SimConnect.html @@ -0,0 +1,2054 @@ + + +SimConnect +
SimConnect


Table Of Contents
SimConnect
Simulation Variables
Event IDs

+
SimConnect
+ +
+ + + + + + + + + + +
+ + +
+ + + + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ +
+
+
+
+ +
+ +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + +
+

Overview

+ +
+
+ + Microsoft ESP 1.0 + +
+
+
+

Simulation Variables

There are two classes of simulation variables: aircraft and global data. The + following tables list all the variables that can appear in + XML based gauges, or used from the + SimConnect APIs.

See Also

Table of Contents

Aircraft Data

Notes (Gauges)
+ Aircraft data is referenced by A: in XML gauges. Some parameters + take an index to determine which of a multiple of system is being queried. In + XML gauges the syntax for adding an index is :N, for example:
+ + FUEL TANK SELECTOR:index
Notes (SimConnect)
+ Simulation variables are referenced from within SimConnect clients with the SimConnect_AddToDataDefinition + call (see the SimConnect document + for full details). When the units are listed as a structure or as a string, + enter the empty string, or simply NULL, in the units parameter of this function + call. +

+ For example:
+
+ hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "Kohlsman + setting hg", "inHg");
+ hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "Indicated + Altitude", "feet");
+ hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "Plane + Latitude", "degrees");
+ hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_1, "Plane + Longitude", "degrees");
+ hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_2, "Category", + null);       +         \\ string
+ hr = SimConnect_AddToDataDefinition(hSimConnect, DEFINITION_2, "AI Waypoint + List", null);       \\ structure

Unless the Units column in the following table identifies the units as a structure or a string, the data will be returned by default in + a signed 64 bit floating point value. The SimConnect_AddToDataDefinition has an optional parameter to change this to a signed 32 or 64 bit integer, + or a signed 32 bit floating point value.


Notes (Multiplayer)
+ When the simulation is running in multiplayer mode, only + a small number of variables are communicated between aircraft. This is noted + in the Multiplayer column (All aircraft or + Shared Cockpit).

Aircraft Engine Data

In the multiplayer Shared Cockpit mode the only supported index is 1, which + means that the data is assumed to be identical for all engines. In single player mode engine indexes are from 1 to 4.

Simulation Variable
Description                        
Units
Settable
Multiplayer
NUMBER OF ENGINES Number of engines (minimum 0, maximum 4) Number N -
ENGINE CONTROL SELECT + Selected engines (combination of bit flags)
+ 1 = Engine 1
+ 2 = Engine 2
+ 4 = Engine 3
+ 8 = Engine 4
Mask Y -
THROTTLE LOWER LIMIT Percent throttle defining lower limit (negative for reverse thrust equipped + airplanes) Percent N -
ENGINE TYPE + Engine type:
+ 0 = Piston
+ 1 = Jet
+ 2 = None
+ 3 = Helo(Bell) turbine
+ 4 = Unsupported
+ 5 = Turboprop
Enum N -
MASTER IGNITION SWITCH Aircraft master ignition switch (grounds all engines magnetos) Bool N -
GENERAL ENG COMBUSTION:index Combustion flag Bool Y Shared Cockpit (Index of 1 only).
GENERAL ENG MASTER ALTERNATOR:index Alternator (generator) switch Bool N Shared Cockpit (Index of 1 only).
GENERAL ENG FUEL PUMP SWITCH:index Fuel pump switch Bool N Shared Cockpit (Index of 1 only).
GENERAL ENG FUEL PUMP ON:index Fuel pump on/off Bool N -
GENERAL ENG RPM:index Engine rpm Rpm N -
GENERAL ENG PCT MAX RPM:index Percent of max rated rpm Percent N -
GENERAL ENG MAX REACHED RPM:index Maximum attained rpm Rpm N -
GENERAL ENG THROTTLE LEVER POSITION:index Percent of max throttle position Percent Y Shared Cockpit (Index of 1 only).
GENERAL ENG MIXTURE LEVER POSITION:index Percent of max mixture lever position Percent Y Shared Cockpit (Index of 1 only).
GENERAL ENG PROPELLER LEVER POSITION:index Percent of max prop lever position Percent Y Shared Cockpit (Index of 1 only).
GENERAL ENG STARTER:index Engine starter on/off Bool N -
GENERAL ENG EXHAUST GAS TEMPERATURE:index Engine exhaust gas temperature. Rankine Y -
GENERAL ENG OIL PRESSURE:index Engine oil pressure Psf Y -
GENERAL ENG OIL LEAKED PERCENT:index Percent of max oil capacity leaked Percent N -
GENERAL ENG COMBUSTION SOUND PERCENT:index Percent of maximum engine sound Percent N -
GENERAL ENG DAMAGE PERCENT:index Percent of total engine damage Percent N -
GENERAL ENG OIL TEMPERATURE:index Engine oil temperature Rankine Y -
GENERAL ENG FAILED:index Fail flag Bool N -
GENERAL ENG GENERATOR SWITCH:index Alternator (generator) switch Bool N -
GENERAL ENG GENERATOR ACTIVE:index Alternator (generator) on/off Bool Y -
GENERAL ENG ANTI ICE POSITION:index Engine anti-ice switch Bool N -
GENERAL ENG FUEL VALVE:index Fuel valve state Bool N Shared Cockpit (Index of 1 only).
GENERAL ENG FUEL PRESSURE:index Engine fuel pressure Psi Y -
GENERAL ENG ELAPSED TIME:index Total engine elapsed time Hours N -
RECIP ENG COWL FLAP POSITION:index Percent cowl flap opened Percent Y Shared Cockpit (Index of 1 only).
RECIP ENG PRIMER:index Engine primer position Bool Y -
RECIP ENG MANIFOLD PRESSURE:index Engine manifold pressure Psi Y -
RECIP ENG ALTERNATE AIR POSITION:index Alternate air control Position Y -
RECIP ENG COOLANT RESERVOIR PERCENT:index Percent coolant available Percent Y -
RECIP ENG LEFT MAGNETO:index Left magneto state Bool Y Shared Cockpit (Index of 1 only).
RECIP ENG RIGHT MAGNETO:index Right magneto state Bool Y Shared Cockpit (Index of 1 only).
RECIP ENG BRAKE POWER:index Brake power produced by engine Foot pounds per second Y -
RECIP ENG STARTER TORQUE:index Torque produced by engine Foot pound Y -
RECIP ENG TURBOCHARGER FAILED:index Turbo failed state Bool Y -
RECIP ENG EMERGENCY BOOST ACTIVE:index War emergency power active Bool Y -
RECIP ENG EMERGENCY BOOST ELAPSED TIME:index Elapsed time war emergency power active Hours Y -
RECIP ENG WASTEGATE POSITION:index Percent turbo wastegate closed Percent Y -
RECIP ENG TURBINE INLET TEMPERATURE:index Engine turbine inlet temperature Celsius Y -
RECIP ENG CYLINDER HEAD TEMPERATURE:index Engine cylinder head temperature Celsius Y -
RECIP ENG RADIATOR TEMPERATURE:index Engine radiator temperature Celsius Y -
RECIP ENG FUEL AVAILABLE:index True if fuel is available Bool Y -
RECIP ENG FUEL FLOW:index Engine fuel flow Pounds per hour Y -
RECIP ENG FUEL TANK SELECTOR:index Fuel tank selected for engine. See fuel tank list. Enum N -
RECIP ENG FUEL TANKS USED:index Fuel tanks used, one or more of the following bit flags:
+ Center 1 Bit 0
+ Center 2 Bit 1
+ Center 3 Bit 2
+ Left Main Bit 3
+ Left Aux Bit 4
+ Left Tip Bit 5
+ Right Main Bit 6
+ Right Aux Bit 7
+ Right Tip Bit 8
+ External 1 Bit 9
+ External 2 Bit 10
Mask Y -
RECIP ENG FUEL NUMBER TANKS USED:index Number of tanks currently being used Number N -
RECIP CARBURETOR TEMPERATURE:index Carburetor temperature Celsius Y -
RECIP MIXTURE RATIO:index Fuel / Air mixture ratio Ratio Y -
TURB ENG N1:index Turbine engine N1 Percent Y Shared Cockpit (Index of 1 only).
TURB ENG N2:index Turbine engine N2 Percent Y Shared Cockpit (Index of 1 only).
TURB ENG CORRECTED N1:index Turbine engine corrected N1 Percent Y Shared Cockpit (Index of 1 only).
TURB ENG CORRECTED N2:index Turbine engine corrected N2 Percent Y Shared Cockpit (Index of 1 only).
TURB ENG CORRECTED FF:index Corrected fuel flow Pounds per hour Y -
TURB ENG MAX TORQUE PERCENT:index Percent of max rated torque Percent Y -
TURB ENG PRESSURE RATIO:index Engine pressure ratio Ratio Y -
TURB ENG ITT:index Engine ITT Rankine Y -
TURB ENG AFTERBURNER:index Afterburner state Bool N -
TURB ENG JET THRUST:index Engine jet thrust Pounds N -
TURB ENG BLEED AIR:index Bleed air pressure Psi N -
TURB ENG TANK SELECTOR:index Fuel tank selected for engine. See fuel tank list. Enum N -
TURB ENG TANKS USED:index Fuel tanks used, one or more of the following bit flags:
+ Center 1 Bit 0
+ Center 2 Bit 1
+ Center 3 Bit 2
+ Left Main Bit 3
+ Left Aux Bit 4
+ Left Tip Bit 5
+ Right Main Bit 6
+ Right Aux Bit 7
+ Right Tip Bit 8
+ External 1 Bit 9
+ External 2 Bit 10
Mask N -
TURB ENG NUM TANKS USED:index Number of tanks currently being used Number N -
TURB ENG FUEL FLOW PPH:index Engine fuel flow Pounds per hour N -
TURB ENG FUEL AVAILABLE:index True if fuel is available Bool N -
TURB ENG REVERSE NOZZLE PERCENT:index Percent thrust reverser nozzles deployed Percent N -
TURB ENG VIBRATION:index Engine vibration value Number N -
ENG FAILED:index Failure flag Number N -
ENG RPM ANIMATION PERCENT:index Percent max rated rpm used for visual animation Percent N -
ENG ON FIRE:index On fire state Bool Y -
ENG FUEL FLOW BUG POSITION:index Fuel flow reference Pounds per hour N -
PROP RPM:index Propeller rpm Rpm Y -
PROP MAX RPM PERCENT:index Percent of max rated rpm Percent N -
PROP THRUST:index Propeller thrust Pounds N -
PROP BETA:index Prop blade pitch angle Radians N -
PROP FEATHERING INHIBIT:index Feathering inhibit flag Bool N -
PROP FEATHERED:index Feathered state Bool N -
PROP SYNC DELTA LEVER:index Corrected prop correction input on slaved engine Position N -
PROP AUTO FEATHER ARMED:index Auto-feather armed state Bool N -
PROP FEATHER SWITCH:index Prop feather switch Bool N -
PANEL AUTO FEATHER SWITCH:index Auto-feather arming switch Bool N -
PROP SYNC ACTIVE:index True if prop sync is active Bool N -
PROP DEICE SWITCH:index True if prop deice switch on Bool N -
ENG COMBUSTION True if the engine is running Bool N -
ENG N1 RPM:index Engine N1 rpm Rpm (0 to 16384 = 0 to 100%) N -
ENG N2 RPM:index Engine N2 rpm Rpm(0 to 16384 = 0 to 100%) N -
ENG FUEL FLOW GPH:index Engine fuel flow Gallons per hour N -
ENG FUEL FLOW PPH:index Engine fuel flow Pounds per hour N -
ENG TORQUE:index Torque Foot pounds N -
ENG ANTI ICE:index Anti-ice switch Bool N -
ENG PRESSURE RATIO:index Engine pressure ratio Ratio (0-16384) N -
ENG EXHAUST GAS TEMPERATURE:index Exhaust gas temperature Rankine N -
ENG EXHAUST GAS TEMPERATURE GES:index Governed engine setting Percent over 100 N -
ENG CYLINDER HEAD TEMPERATURE:index Engine cylinder head temperature Rankine N -
ENG OIL TEMPERATURE:index Engine oil temperature Rankine N -
ENG OIL PRESSURE:index Engine oil pressure Pounds per square foot N -
ENG OIL QUANTITY:index Engine oil quantitiy as a percentage of full capacity Percent over 100 N -
ENG HYDRAULIC PRESSURE:index Engine hydraulic pressure Pounds per square foot N -
ENG HYDRAULIC QUANTITY:index Engine hydraulic fluid quantity, as a percentage of total capacity Percent over 100 N -
ENG MANIFOLD PRESSURE:index Engine manifold pressure. inHG. N -
ENG VIBRATION:index Engine vibration Number N -
ENG RPM SCALER:index Obsolete Scalar N -
ENG MAX RPM Maximum rpm Rpm N -
GENERAL ENG STARTER ACTIVE True if engine starter is active Bool N -
GENERAL ENG FUEL USED SINCE START Fuel used since the engines were last started Pounds N -
TURB ENG PRIMARY NOZZLE PERCENT:index Percent thrust of primary nozzle Percent over 100 N -
TURB ENG IGNITION SWITCH True if the turbine engine ignition switch is on Bool N -
TURB ENG MASTER STARTER SWITCH True if the turbine engine master starter switch is on Bool N -
TURB ENG AFTERBURNER STAGE ACTIVE The stage of the afterburner, or 0 if the afterburner is not active. Number N -
TURB ENG AFTERBURNER PCT ACTIVE The percentage that the afterburner is running at. Percent_over_100 N -

Fuel Tank Selection

Number
Description                        
0 Off
1 All
2 Left
3 Right
4 Left auxiliary +
5 Right auxiliary
6 Center
7 Center2
8 Center3
9 External1
10 External2
11 Right tip
12 Left tip
13 Crossfeed
14 Crossfeed left to right
15 Crossfeed right to left
16 Both
17 External
18 Isolate
19 Left main +
20 Right main +

Aircraft Fuel Data

Simulation Variable
Description                        
Units
Settable
Multiplayer
FUEL TANK CENTER LEVEL Percent of maximum capacity Percent Over 100 Y -
FUEL TANK CENTER2 LEVEL Percent of maximum capacity Percent Over 100 Y -
FUEL TANK CENTER3 LEVEL Percent of maximum capacity Percent Over 100 Y -
FUEL TANK LEFT MAIN LEVEL Percent of maximum capacity Percent Over 100 Y -
FUEL TANK LEFT AUX LEVEL Percent of maximum capacity Percent Over 100 Y -
FUEL TANK LEFT TIP LEVEL Percent of maximum capacity Percent Over 100 Y -
FUEL TANK RIGHT MAIN LEVEL Percent of maximum capacity Percent Over 100 Y -
FUEL TANK RIGHT AUX LEVEL Percent of maximum capacity Percent Over 100 Y -
FUEL TANK RIGHT TIP LEVEL Percent of maximum capacity Percent Over 100 Y -
FUEL TANK EXTERNAL1 LEVEL Percent of maximum capacity Percent Over 100 Y -
FUEL TANK EXTERNAL2 LEVEL Percent of maximum capacity Percent Over 100 Y -
FUEL TANK CENTER CAPACITY Maximum capacity in volume Gallons N -
FUEL TANK CENTER2 CAPACITY Maximum capacity in volume Gallons N -
FUEL TANK CENTER3 CAPACITY Maximum capacity in volume Gallons N -
FUEL TANK LEFT MAIN CAPACITY Maximum capacity in volume Gallons N -
FUEL TANK LEFT AUX CAPACITY Maximum capacity in volume Gallons N -
FUEL TANK LEFT TIP CAPACITY Maximum capacity in volume Gallons N -
FUEL TANK RIGHT MAIN CAPACITY Maximum capacity in volume Gallons N -
FUEL TANK RIGHT AUX CAPACITY Maximum capacity in volume Gallons N -
FUEL TANK RIGHT TIP CAPACITY Maximum capacity in volume Gallons N -
FUEL TANK EXTERNAL1 CAPACITY Maximum capacity in volume Gallons N -
FUEL TANK EXTERNAL2 CAPACITY Maximum capacity in volume Gallons N -
FUEL LEFT CAPACITY Maximum capacity in volume Gallons N -
FUEL RIGHT CAPACITY Maximum capacity in volume Gallons N -
FUEL TANK CENTER QUANTITY Current quantity in volume Gallons Y -
FUEL TANK CENTER2 QUANTITY Current quantity in volume Gallons Y -
FUEL TANK CENTER3 QUANTITY Current quantity in volume Gallons Y -
FUEL TANK LEFT MAIN QUANTITY Current quantity in volume Gallons Y -
FUEL TANK LEFT AUX QUANTITY Current quantity in volume Gallons Y -
FUEL TANK LEFT TIP QUANTITY Current quantity in volume Gallons Y -
FUEL TANK RIGHT MAIN QUANTITY Current quantity in volume Gallons Y -
FUEL TANK RIGHT AUX QUANTITY Current quantity in volume Gallons Y -
FUEL TANK RIGHT TIP QUANTITY Current quantity in volume Gallons Y -
FUEL TANK EXTERNAL1 QUANTITY Current quantity in volume Gallons Y -
FUEL TANK EXTERNAL2 QUANTITY Current quantity in volume Gallons Y -
FUEL LEFT QUANTITY Current quantity in volume Gallons N -
FUEL RIGHT QUANTITY Current quantity in volume Gallons N -
FUEL TOTAL QUANTITY Current quantity in volume Gallons N -
FUEL WEIGHT PER GALLON Fuel weight per gallon Pounds + N -
FUEL TANK SELECTOR:index Which tank is selected. See fuel tank list. Enum N -
FUEL CROSS FEED + Cross feed valve:
+ 0 = Closed
+ 1 = Open +
Enum N -
FUEL TOTAL CAPACITY Total capacity of the aircraft Gallons N -
FUEL SELECTED QUANTITY PERCENT Percent or capacity for selected tank Percent Over 100 N -
FUEL SELECTED QUANTITY Quantity of selected tank Gallons N -
FUEL TOTAL QUANTITY WEIGHT Current total fuel weight of the aircraft Pounds N -
NUM FUEL SELECTORS Number of selectors on the aircraft Number N -
UNLIMITED FUEL Unlimited fuel flag Bool N -
ESTIMATED FUEL FLOW Estimated fuel flow at cruise Pounds per hour + N -

Aircraft Lights Data

Simulation Variable
Description                        
Units
Settable
Multiplayer
LIGHT STROBE Light switch state + Bool N All aircraft
LIGHT PANEL Light switch state Bool N All aircraft
LIGHT LANDING Light switch state Bool N All aircraft
LIGHT TAXI Light switch state Bool N All aircraft
LIGHT BEACON Light switch state Bool N All aircraft
LIGHT NAV Light switch state Bool N All aircraft
LIGHT LOGO Light switch state Bool N All aircraft
LIGHT WING Light switch state Bool N All aircraft
LIGHT RECOGNITION Light switch state Bool N All aircraft
LIGHT CABIN Light switch state Bool N All aircraft
LIGHT ON STATES Bit mask:
+ 0x0001: Nav
+ 0x0002: Beacon
+ 0x0004: Landing
+ 0x0008: Taxi
+ 0x0010: Strobe
+ 0x0020: Panel
+ 0x0040: Recognition
+ 0x0080: Wing
+ 0x0100: Logo
+ 0x0200: Cabin
Mask N -
LIGHT STATES Same as LIGHT ON STATES Mask N All aircraft
LANDING LIGHT PBH Landing light pitch bank and heading SIMCONNECT_DATA_XYZ structure N -
LIGHT TAXI ON Return true if the light is on. Bool N -
LIGHT STROBE ON Return true if the light is on. Bool N -
LIGHT PANEL ON Return true if the light is on. Bool N -
LIGHT RECOGNITION ON Return true if the light is on. Bool N -
LIGHT WING ON Return true if the light is on. Bool N -
LIGHT LOGO ON Return true if the light is on. Bool N -
LIGHT CABIN ON Return true if the light is on. Bool N -
LIGHT HEAD ON Return true if the light is on. Bool N -
LIGHT BRAKE ON Return true if the light is on. Bool N -
LIGHT NAV ON Return true if the light is on. Bool N -
LIGHT BEACON ON Return true if the light is on. Bool N -
LIGHT LANDING ON Return true if the light is on. Bool N -

Aircraft Position and Speed Data

Simulation Variable
Description                        
Units
Settable
Multiplayer
GROUND VELOCITY Speed relative to the earths surface Knots N -
TOTAL WORLD VELOCITY Speed relative to the earths center Feet per second N -
VELOCITY BODY Z True longitudinal speed, relative to aircraft axis Feet per second Y -
VELOCITY BODY X True lateral speed, relative to aircraft axis Feet per second Y -
VELOCITY BODY Y True vertical speed, relative to aircraft axis Feet per second Y -
VELOCITY WORLD Z Speed relative to earth, in North/South direction Feet per second + Y -
VELOCITY WORLD X Speed relative to earth, in East/West direction Feet per second + Y -
VELOCITY WORLD Y Speed relative to earth, in vertical direction Feet per second + Y -
ACCELERATION WORLD X Acceleration relative to earth, in east/west direction Feet per second squared Y -
ACCELERATION WORLD Y Acceleration relative to earch, in vertical direction Feet per second squared Y -
ACCELERATION WORLD Z Acceleration relative to earth, in north/south direction Feet per second squared Y -
ACCELERATION BODY X Acceleration relative to aircraft axix, in east/west direction Feet per second squared Y -
ACCELERATION BODY Y Acceleration relative to aircraft axis, in vertical direction Feet per second squared Y -
ACCELERATION BODY Z Acceleration relative to aircraft axis, in north/south direction Feet per second squared Y -
ROTATION VELOCITY BODY X Rotation relative to aircraft axis Feet per second + Y -
ROTATION VELOCITY BODY Y Rotation relative to aircraft axis Feet per second + Y -
ROTATION VELOCITY BODY Z Rotation relative to aircraft axis Feet per second + Y -
RELATIVE WIND VELOCITY BODY X Lateral speed relative to wind Feet per second N -
RELATIVE WIND VELOCITY BODY Y Vertical speed relative to wind Feet per second N -
RELATIVE WIND VELOCITY BODY Z Longitudinal speed relative to wind Feet per second N -
PLANE ALT ABOVE GROUND Altitude above the surface Feet Y -
PLANE LATITUDE Latitude of aircraft, North is positive, South negative Radians Y -
PLANE LONGITUDE Longitude of aircraft, East is positive, West negative Radians Y -
PLANE ALTITUDE Altitude of aircraft Feet Y -
PLANE PITCH DEGREES Pitch angle, although the name mentions degrees the units used are radians Radians Y -
PLANE BANK DEGREES Bank angle, although the name mentions degrees the units used are radians Radians Y -
PLANE HEADING DEGREES TRUE Heading relative to true north, although the name mentions degrees the units + used are radians Radians Y -
PLANE HEADING DEGREES MAGNETIC Heading relative to magnetic north, although the name mentions degrees the + units used are radians Radians Y -
MAGVAR Magnetic variation Degrees N -
GROUND ALTITUDE Altitude of surface Meters N -
SURFACE TYPE + Type of surface:
+ 0 = Concrete
+ 1 = Grass
+ 2 = Water
+ 3 = Grass_bumpy
+ 4 = Asphalt
+ 5 = Short_grass
+ 6 = Long_grass
+ 7 = Hard_turf
+ 8 = Snow
+ 9 = Ice
+ 10 = Urban
+ 11 = Forest
+ 12 = Dirt
+ 13 = Coral
+ 14 = Gravel
+ 15 = Oil_treated
+ 16 = Steel_mats
+ 17 = Bituminus
+ 18 = Brick
+ 19 = Macadam
+ 20 = Planks
+ 21 = Sand
+ 22 = Shale
+ 23 = Tarmac
+ 24 = Wright_flyer_track
Enum N -
SIM ON GROUND On ground flag Bool N -
INCIDENCE ALPHA Angle of attack Radians N -
INCIDENCE BETA Sideslip angle Radians N -
WING FLEX PCT:index The current wing flex. Different values can be set for each wing (for example, + during banking). Set an index of 1 for the left wing, and 2 for the right wing. Percent over 100 Y -
STRUCT LATLONALT Returns the latitude, longitude and altitude of the user aircraft. SIMCONNECT_DATA_LATLONALTstructure N -
STRUCT LATLONALTPBH Returns the pitch, bank and heading of the user aircraft. SIMCONNECT_DATA_LATLONALTstructure N -
STRUCT SURFACE RELATIVE VELOCITY The relative surface velocity. SIMCONNECT_DATA_XYZ structure, feet per second N -
STRUCT WORLDVELOCITY The world velocity. SIMCONNECT_DATA_XYZ structure, feet per second N -
STRUCT WORLD ROTATION VELOCITY The world rotation velocity. SIMCONNECT_DATA_XYZ structure, radians per second N -
STRUCT BODY VELOCITY The object body velocity. SIMCONNECT_DATA_XYZ structure, feet per second N -
STRUCT BODY ROTATION VELOCITY The body rotation velocity. Individual body rotation values are in the Aircraft Position and Speed section. SIMCONNECT_DATA_XYZ structure, radians per second N -
STRUCT WORLD ACCELERATION The world acceleration for each axis. Individual world acceleration values are + in the Aircraft Position and Speed section. SIMCONNECT_DATA_XYZ structure, feet per second squared N -
STRUCT ENGINE POSITION:index The engine position relative to the reference datum position for the aircraft. SIMCONNECT_DATA_XYZ structure, feet. N -
STRUCT EYEPOINT DYNAMIC ANGLE The angle of the eyepoint view. Zero, zero, zero is straight ahead. SIMCONNECT_DATA_XYZ structure, radians N -
STRUCT EYEPOINT DYNAMIC OFFSET A variable offset away from the EYEPOINT POSITION SIMCONNECT_DATA_XYZ structure, feet N -
EYEPOINT POSITION The eyepoint position relative to the reference datum position for the + aircraft. SIMCONNECT_DATA_XYZ structure, feet N -

Aircraft Flight Instrumentation Data

Simulation Variable
Description                        
Units
Settable
Multiplayer
AIRSPEED TRUE True airspeed Knots Y -
AIRSPEED INDICATED Indicated airspeed Knots Y -
AIRSPEED TRUE CALIBRATE Angle of True calibration scale on airspeed indicator Degrees Y Shared Cockpit
AIRSPEED BARBER POLE Redline airspeed (dynamic on some aircraft) Knots N -
AIRSPEED MACH Current mach Mach N -
VERTICAL SPEED Vertical speed indication Feet per second + Y -
MACH MAX OPERATE Maximum design mach Mach N -
STALL WARNING Stall warning state Bool N -
OVERSPEED WARNING Overspeed warning state Bool N -
BARBER POLE MACH Mach associated with maximum airspeed Mach N -
INDICATED ALTITUDE Altimeter indication Feet Y -
KOHLSMAN SETTING MB Altimeter setting Millibars Y -
KOHLSMAN SETTING HG Altimeter setting Inches of Mercury, inHg + N -
ATTITUDE INDICATOR PITCH DEGREES AI pitch indication Radians N -
ATTITUDE INDICATOR BANK DEGREES AI bank indication Radians N -
ATTITUDE BARS POSITION AI reference pitch reference bars + Percent Over 100 N -
ATTITUDE CAGE AI caged state Bool N -
WISKEY COMPASS INDICATION DEGREES Magnetic compass indication Degrees Y -
PLANE HEADING DEGREES GYRO Heading indicator (directional gyro) indication Radians Y -
HEADING INDICATOR Heading indicator (directional gyro) indication Radians N -
GYRO DRIFT ERROR Angular error of heading indicator Radians N -
DELTA HEADING RATE Rate of turn of heading indicator Radians per second + Y -
TURN COORDINATOR BALL Turn coordinator ball position + Position 128 (-127 to 127) + N -
ANGLE OF ATTACK INDICATOR AoA indication Radians N -
RADIO HEIGHT Radar altitude Feet N -
PARTIAL PANEL ADF Gauge fail flag (0 = ok, 1 = fail, 2 = blank) Enum Y -
PARTIAL PANEL AIRSPEED Gauge fail flag (0 = ok, 1 = fail, 2 = blank) Enum Y -
PARTIAL PANEL ALTIMETER Gauge fail flag (0 = ok, 1 = fail, 2 = blank) Enum Y -
PARTIAL PANEL ATTITUDE Gauge fail flag (0 = ok, 1 = fail, 2 = blank) Enum Y -
PARTIAL PANEL COMM Gauge fail flag (0 = ok, 1 = fail, 2 = blank) Enum Y -
PARTIAL PANEL COMPASS Gauge fail flag (0 = ok, 1 = fail, 2 = blank) Enum Y -
PARTIAL PANEL ELECTRICAL Gauge fail flag (0 = ok, 1 = fail, 2 = blank) Enum Y -
PARTIAL PANEL AVIONICS Gauge fail flag (0 = ok, 1 = fail, 2 = blank) Enum N -
PARTIAL PANEL ENGINE Gauge fail flag (0 = ok, 1 = fail, 2 = blank) Enum Y -
PARTIAL PANEL FUEL INDICATOR Gauge fail flag (0 = ok, 1 = fail, 2 = blank) Enum N -
PARTIAL PANEL HEADING Gauge fail flag (0 = ok, 1 = fail, 2 = blank) Enum Y -
PARTIAL PANEL VERTICAL VELOCITY Gauge fail flag (0 = ok, 1 = fail, 2 = blank) Enum Y -
PARTIAL PANEL TRANSPONDER Gauge fail flag (0 = ok, 1 = fail, 2 = blank) Enum Y -
PARTIAL PANEL NAV Gauge fail flag (0 = ok, 1 = fail, 2 = blank) Enum Y -
PARTIAL PANEL PITOT Gauge fail flag (0 = ok, 1 = fail, 2 = blank) Enum Y -
PARTIAL PANEL TURN COORDINATOR Gauge fail flag (0 = ok, 1 = fail, 2 = blank) Enum N -
PARTIAL PANEL VACUUM Gauge fail flag (0 = ok, 1 = fail, 2 = blank) Enum Y -
MAX G FORCE Maximum G force attained Gforce N -
MIN G FORCE Minimum G force attained Gforce N -
SUCTION PRESSURE Vacuum system suction pressure Inches of Mercury, inHg Y -

Aircraft Avionics Data

Simulation Variable
Description                        
Units
Settable
Multiplayer
AVIONICS MASTER SWITCH Avionics switch state Bool N All aircraft
NAV SOUND:index Nav audio flag. Index of 1 or 2. Bool N Shared Cockpit
DME SOUND DME audio flag Bool N Shared Cockpit
ADF SOUND:index ADF audio flag. Index of 0 or 1. Bool N Shared Cockpit
MARKER SOUND Marker audio flag Bool N Shared Cockpit
COM TRANSMIT:index Audio panel com transmit state. Index of 1 or 2. Bool N Shared Cockpit
COM RECIEVE ALL Flag if all Coms receiving Bool N Shared Cockpit
COM ACTIVE FREQUENCY:index Com frequency. Index is 1 or 2. Frequency BCD16 N All aircraft
COM STANDBY FREQUENCY:index Com standby frequency. Index is 1 or 2. Frequency BCD16 N All aircraft
COM STATUS:index + Radio status flag :
+ -1 =Invalid
+ 0 = OK
+ 1 = Does not exist
+ 2 = No electricity
+ 3 = Failed
Enum N -
NAV AVAILABLE:index Flag if Nav equipped on aircraft Bool N -
NAV ACTIVE FREQUENCY:index Nav active frequency. Index is 1 or 2. MHz N Shared Cockpit
NAV STANDBY FREQUENCY:index Nav standby frequency. Index is 1 or 2. MHz N Shared Cockpit
NAV SIGNAL:index Nav signal strength Number N -
NAV HAS NAV:index Flag if Nav has signal Bool N -
NAV HAS LOCALIZER:index Flag if tuned station is a localizer Bool N -
NAV HAS DME:index Flag if tuned station has a DME Bool N -
NAV HAS GLIDE SLOPE:index Flag if tuned station has a glideslope Bool N -
NAV BACK COURSE FLAGS:index Returns the following bit flags:
+ BIT0: 1=back course available
+ BIT1: 1=localizer tuned in
+ BIT2: 1=on course
+ BIT7: 1=station active
Flags N -
NAV MAGVAR:index Magnetic variation of tuned nav station Degrees N -
NAV RADIAL:index Radial that aircraft is on Degrees N -
NAV RADIAL ERROR:index Difference between current radial and OBS tuned radial Degrees N -
NAV LOCALIZER:index Localizer course heading Degrees N -
NAV GLIDE SLOPE ERROR:index Difference between current position and glideslope angle. Note that this + provides 32 bit floating point precision, rather than the 8 bit integer + precision of NAV GSI. Degrees N -
NAV CDI:index CDI needle deflection (+/- 127) Number N -
NAV GSI:index Glideslope needle deflection (+/- 119). Note that this provides only 8 bit + precision, whereas NAV GLIDE SLOPE ERROR provides 32 bit floating point + precision. Number N -
NAV TOFROM:index + Nav TO/FROM flag:
+ 0 = Off
+ 1 = TO
+ 2 = FROM
Enum N -
NAV GS FLAG:index Glideslope flag Bool N -
NAV OBS:index OBS setting. Index of 1 or 2. Degrees N Shared Cockpit
NAV DME:index DME distance Nautical miles N -
NAV DMESPEED:index DME speed Knots N -
ADF ACTIVE FREQUENCY:index ADF frequency. Index of 1 or 2. Frequency ADF BCD32 N Shared Cockpit
ADF STANDBY FREQUENCY:index ADF standby frequency Hz N -
ADF RADIAL:index Current direction from NDB station Degrees N -
ADF SIGNAL:index Signal strength Number N -
TRANSPONDER CODE:index 4-digit code BCO16 N All aircraft (Index of 1 only).
MARKER BEACON STATE Marker beacon state:
+ 0 = None
+ 1 = Outer
+ 2 = Middle
+ 3 = Inner
Enum Y -
INNER MARKER Inner marker state Bool Y -
MIDDLE MARKER Middle marker state Bool Y -
OUTER MARKER Outer marker state Bool Y -
NAV RAW GLIDE SLOPE:index Glide slope angle Degrees N -
ADF CARD ADF compass rose setting Degrees N Shared Cockpit
HSI CDI NEEDLE Needle deflection (+/- 127) Number N -
HSI GSI NEEDLE Needle deflection (+/- 119) Number N -
HSI CDI NEEDLE VALID Signal valid Bool N -
HSI GSI NEEDLE VALID Signal valid Bool N -
HSI TF FLAGS Nav TO/FROM flag:
+ 0 = Off
+ 1 = TO
+ 2 = FROM
Enum N -
HSI BEARING VALID This will return true if the HSI BEARING variable contains valid data. Bool N -
HSI BEARING If the GPS DRIVES NAV1 variable is true and the HSI BEARING VALID variable is true, this variable contains the HSI needle bearing. + If the GPS DRIVES NAV1 variable is false and the HSI BEARING VALID variable is true, this variable contains the ADF1 frequency. Degrees N -
HSI HAS LOCALIZER Station is a localizer Bool N -
HSI SPEED DME/GPS speed Knots N -
HSI DISTANCE DME/GPS distance Nautical miles N -
GPS POSITION LAT Current GPS latitude Degrees N -
GPS POSITION LON Current GPS longitude Degrees N -
GPS POSITION ALT Current GPS altitude Meters N -
GPS MAGVAR Current GPS magnetic variation Radians N -
GPS IS ACTIVE FLIGHT PLAN Flight plan mode active Bool N -
GPS IS ACTIVE WAY POINT Waypoint mode active Bool N -
GPS IS ARRIVED Is flight plan destination reached Bool N -
GPS IS DIRECTTO FLIGHTPLAN Is Direct To Waypoint mode active Bool N -
GPS GROUND SPEED Current ground speed Meters per second N -
GPS GROUND TRUE HEADING Current true heading Radians N -
GPS GROUND MAGNETIC TRACK Current magnetic ground track Radians N -
GPS GROUND TRUE TRACK Current true ground track Radians N -
GPS WP DISTANCE Distance to waypoint Meters N -
GPS WP BEARING Magnetic bearing to waypoint Radians N -
GPS WP TRUE BEARING True bearing to waypoint Radians N -
GPS WP CROSS TRK Cross track distance Meters N -
GPS WP DESIRED TRACK Desired track to waypoint Radians N -
GPS WP TRUE REQ HDG Required true heading to waypoint Radians N -
GPS WP VERTICAL SPEED Vertical speed to waypoint Meters per second N -
GPS WP TRACK ANGLE ERROR Tracking angle error to waypoint Radians N -
GPS ETE Estimated time enroute to destination Seconds N -
GPS ETA Estimated time of arrival at destination Seconds N -
GPS WP NEXT LAT Latitude of next waypoint Degrees N -
GPS WP NEXT LON Longitude of next waypoint Degrees N -
GPS WP NEXT ALT Altitude of next waypoint Meters N -
GPS WP PREV VALID Is previous waypoint valid (i.e. current waypoint is not the first waypoint) Bool N -
GPS WP PREV LAT Latitude of previous waypoint Degrees N -
GPS WP PREV LON Longitude of previous waypoint Degrees N -
GPS WP PREV ALT Altitude of previous waypoint Meters N -
GPS WP ETE Estimated time enroute to waypoint Seconds N -
GPS WP ETA Estimated time of arrival at waypoint Seconds N -
GPS COURSE TO STEER Suggested heading to steer (for autopilot) Radians N -
GPS FLIGHT PLAN WP INDEX Index of waypoint Number N -
GPS FLIGHT PLAN WP COUNT Number of waypoints Number N -
GPS IS ACTIVE WP LOCKED Is switching to next waypoint locked Bool N -
GPS IS APPROACH LOADED Is approach loaded Bool N -
GPS IS APPROACH ACTIVE Is approach mode active Bool N -
GPS APPROACH MODE + Sub mode within approach mode :
+ 0 = None
+ 1 = Transition
+ 2 = Final
+ 3 = Missed
Enum N -
GPS APPROACH WP TYPE + Waypoint type within approach mode :
+ 0 = None
+ 1 = Fix
+ 2 = Procedure turn left
+ 3 = Procedure turn right
+ 4 = Dme arc left
+ 5 = Dme arc right
+ 6 = Holding left
+ 7 = Holding right
+ 8 = Distance
+ 9 = Altitude
+ 10 = Manual sequence
+ 11 = Vector to final
Enum N -
GPS APPROACH IS WP RUNWAY Waypoint is the runway Bool N -
GPS APPROACH SEGMENT TYPE + Segment type within approach :
+ 0 = Line
+ 1 = Arc clockwise
+ 2 = Arc counter-clockwise
Enum N -
GPS APPROACH APPROACH INDEX Index of approach for given airport Number N -
GPS APPROACH APPROACH TYPE + Approach type :
+ 0 = None
+ 1 = GPS
+ 2 = VOR
+ 3 = NDB
+ 4 = ILS
+ 5 = Localizer
+ 6 = SDF
+ 7 = LDA
+ 8 = VOR/DME
+ 9 = NDB/DME
+ 10 = RNAV
+ 11 = Backcourse
Enum N -
GPS APPROACH TRANSITION INDEX Index of approach transition Number N -
GPS APPROACH IS FINAL Is approach transition final approach segment Bool N -
GPS APPROACH IS MISSED Is approach segment missed approach segment Bool N -
GPS APPROACH TIMEZONE DEVIATION Deviation of local time from GMT Seconds N -
GPS APPROACH WP INDEX Index of current waypoint Number N -
GPS APPROACH WP COUNT Number of waypoints Number N -
GPS DRIVES NAV1 GPS is driving Nav 1 indicator Bool N Shared Cockpit
COM RECEIVE ALL Toggles all COM radios to receive on Bool N -
COM AVAILABLE True if either COM1 or COM2 is available Bool N -
COM TEST:index Enter an index of 1 or 2. True if the COM system is working. Bool N -
TRANSPONDER AVAILABLE True if a transponder is available Bool N -
ADF AVAILABLE True if ADF is available Bool N -
ADF FREQUENCY:index Legacy, use ADF ACTIVE FREQUENCY Frequency BCD16 N -
ADF EXT FREQUENCY:index Legacy, use ADF ACTIVE FREQUENCY Frequency BCD16 N -
ADF IDENT ICAO code String N -
ADF NAME Descriptive name String N -
NAV IDENT ICAO code String N -
NAV NAME Descriptive name String N -
NAV CODES:index Returns bit flags with the following meaning:
+ BIT7: 0= VOR  1= Localizer
+ BIT6: 1= glideslope available
+ BIT5: 1= no localizer backcourse
+ BIT4: 1= DME transmitter at glide slope transmitter
+ BIT3: 1= no nav signal available
+ BIT2: 1= voice available
+ BIT1: 1 = TACAN available
+ BIT0: 1= DME available
Flags N -
NAV GLIDE SLOPE The glide slope gradient. Number N -
NAV RELATIVE BEARING TO STATION:index Relative bearing to station Degrees N -
SELECTED DME Selected DME Number N Shared Cockpit
GPS WP NEXT ID ID of next GPS waypoint String N -
GPS WP PREV ID ID of previous GPS waypoint String N -
GPS TARGET DISTANCE Distance to target Meters N -
GPS TARGET ALTITUDE Altitude of GPS target Meters N -
ADF LATLONALT:index Returns the latitude, longitude and altitude of the station the radio equipment + is currently tuned to, or zeros if the radio is not tuned to any ADF station. + Index of 1 or 2 for ADF 1 and ADF 2. SIMCONNECT_DATA_LATLONALTstructure N -
NAV VOR LATLONALT:index Returns the VOR station latitude, longitude and altitude. SIMCONNECT_DATA_LATLONALTstructure N -
NAV GS LATLONALT:index Returns the glide slope. SIMCONNECT_DATA_LATLONALTstructure N -
NAV DME LATLONALT:index Returns the DME station. SIMCONNECT_DATA_LATLONALTstructure N -
INNER MARKER LATLONALT Returns the latitude, longitude and altitude of the inner marker of an approach + to a runway, if the aircraft is within the required proximity, otherwise it + will return zeros. SIMCONNECT_DATA_LATLONALTstructure N -
MIDDLE MARKER LATLONALT Returns the latitude, longitude and altitude of the middle marker. SIMCONNECT_DATA_LATLONALTstructure N -
OUTER MARKER LATLONALT Returns the latitude, longitude and altitude of the outer marker. SIMCONNECT_DATA_LATLONALTstructure N -

Aircraft Controls Data

Simulation Variable
Description                        
Units
Settable
Multiplayer
YOKE Y POSITION Percent control deflection fore/aft (for animation) Position (-16K to 0) -16K = Yoke fully pushed in Y -
YOKE X POSITION Percent control deflection left/right (for animation) Position (-16K to 0) -16K = + Y -
RUDDER PEDAL POSITION Percent rudder pedal deflection (for animation) Position (-16K to 0) -16K = left pedal pushed full in + Y -
RUDDER POSITION Percent rudder input deflection Position (-16K to 0) -16K = full left + Y -
ELEVATOR POSITION Percent elevator input deflection Position (-16K to 0) -16K = full down + Y -
AILERON POSITION Percent aileron input left/right Position (-16K to 0) -16K = full left + Y -
ELEVATOR TRIM POSITION Elevator trim deflection Radians Y Shared Cockpit
ELEVATOR TRIM INDICATOR Percent elevator trim (for indication) Position (-16K to 0) -16K = full down + N -
ELEVATOR TRIM PCT Percent elevator trim Percent Over 100 N -
BRAKE LEFT POSITION Percent left brake Position (0 to 32K) 0 = off, 32K full + Y -
BRAKE RIGHT POSITION Percent right brake Position (0 to 32K) 0 = off, 32K full + Y -
BRAKE INDICATOR Brake on indication Position (0 to 16K) 0 = off, 16K full + N -
BRAKE PARKING POSITION Parking brake on Position (0 to 32K) 0 = off, 32K full + Y Shared Cockpit
BRAKE PARKING INDICATOR Parking brake indicator Bool N -
SPOILERS ARMED Auto-spoilers armed Bool N All aircraft
SPOILERS HANDLE POSITION Spoiler handle position Percent Over 100 or Position (16K = down, 0 = up) + Y All aircraft
SPOILERS LEFT POSITION Percent left spoiler deflected Percent Over 100 or Position (0 = retracted, 16K fully extended) + N -
SPOILERS RIGHT POSITION Percent right spoiler deflected Percent Over 100 or Position (0 = retracted, 16K fully extended) + N -
FLAPS HANDLE PERCENT Percent flap handle extended Percent Over 100 N -
FLAPS HANDLE INDEX Index of current flap position Number Y All aircraft
FLAPS NUM HANDLE POSITIONS Number of flap positions Number N -
TRAILING EDGE FLAPS LEFT PERCENT Percent left trailing edge flap extended Percent Over 100 Y -
TRAILING EDGE FLAPS RIGHT PERCENT Percent right trailing edge flap extended Percent Over 100 Y -
TRAILING EDGE FLAPS LEFT ANGLE Angle left trailing edge flap extended. Use TRAILING EDGE FLAPS LEFT PERCENT to + set a value. + Radians N -
TRAILING EDGE FLAPS RIGHT ANGLE Angle right trailing edge flap extended. Use TRAILING EDGE FLAPS RIGHT PERCENT + to set a value. + Radians N -
LEADING EDGE FLAPS LEFT PERCENT Percent left leading edge flap extended Percent Over 100 Y -
LEADING EDGE FLAPS RIGHT PERCENT Percent right leading edge flap extended Percent Over 100 Y -
LEADING EDGE FLAPS LEFT ANGLE Angle left leading edge flap extended. Use LEADING EDGE FLAPS LEFT PERCENT to + set a value. + Radians N -
LEADING EDGE FLAPS RIGHT ANGLE Angle right leading edge flap extended. Use LEADING EDGE FLAPS RIGHT PERCENT to + set a value. + Radians N -
AILERON LEFT DEFLECTION Angle deflection Radians N -
AILERON LEFT DEFLECTION PCT Percent deflection Percent Over 100 N -
AILERON RIGHT DEFLECTION Angle deflection Radians N -
AILERON RIGHT DEFLECTION PCT Percent deflection Percent Over 100 N -
AILERON AVERAGE DEFLECTION Angle deflection Radians N -
AILERON TRIM Angle deflection Radians N -
AILERON TRIM PCT Percent deflection Percent Over 100 Y Shared Cockpit
RUDDER DEFLECTION Angle deflection Radians N -
RUDDER DEFLECTION PCT Percent deflection Percent Over 100 N -
RUDDER TRIM Angle deflection Radians N -
RUDDER TRIM PCT Percent deflection Percent Over 100 Y Shared Cockpit
FLAPS AVAILABLE True if flaps available Bool N -
FLAP DAMAGE BY SPEED True if flagps are damaged by excessive speed Bool N -
FLAP SPEED EXCEEDED True if safe speed limit for flaps exceeded Bool N -
ELEVATOR DEFLECTION Angle deflection Radians N -
ELEVATOR DEFLECTION PCT Percent deflection Percent Over 100 N -
ALTERNATE STATIC SOURCE OPEN Alternate static air source Bool N All aircraft
AILERON TRIM PCT The trim position of the ailerons. Zero is fully retracted. Float. Percent over 100 Y -
RUDDER TRIM PCT The trim position of the rudder. Zero is no trim. Float. Percent over 100 Y -
FOLDING WING HANDLE POSITION True if the folding wing handle is engaged. Bool N -
FUEL DUMP SWITCH If true the aircraft is dumping fuel at the rate set in the configuration file. Bool N -

Aircraft Autopilot Data

Simulation Variable
Description                        
Units
Settable
Multiplayer
AUTOPILOT AVAILABLE Available flag Bool N -
AUTOPILOT MASTER On/off flag Bool N Shared Cockpit
AUTOPILOT NAV SELECTED Index of Nav radio selected Number N -
AUTOPILOT WING LEVELER Wing leveler active Bool N Shared Cockpit
AUTOPILOT NAV1 LOCK Lateral nav mode active Bool N -
AUTOPILOT HEADING LOCK Heading mode active Bool N Shared Cockpit
AUTOPILOT HEADING LOCK DIR Selected heading Degrees N Shared Cockpit
AUTOPILOT ALTITUDE LOCK Altitude hole active Bool N Shared Cockpit
AUTOPILOT ALTITUDE LOCK VAR Selected altitude Feet N Shared Cockpit
AUTOPILOT ATTITUDE HOLD Attitude hold active Bool N Shared Cockpit
AUTOPILOT GLIDESLOPE HOLD GS hold active Bool N Shared Cockpit
AUTOPILOT PITCH HOLD REF Current reference pitch Radians N -
AUTOPILOT APPROACH HOLD Approach mode active Bool N Shared Cockpit
AUTOPILOT BACKCOURSE HOLD Back course mode active Bool N Shared Cockpit
AUTOPILOT VERTICAL HOLD VAR Selected vertical speed Feet/minute N Shared Cockpit
AUTOPILOT PITCH HOLD Set to True if the autopilot pitch hold has is engaged. Bool N -
AUTOPILOT FLIGHT DIRECTOR ACTIVE Flight director active Bool N Shared Cockpit
AUTOPILOT FLIGHT DIRECTOR PITCH Reference pitch angle Radians N -
AUTOPILOT FLIGHT DIRECTOR BANK Reference bank angle Radians N -
AUTOPILOT AIRSPEED HOLD Airspeed hold active Bool N Shared Cockpit
AUTOPILOT AIRSPEED HOLD VAR Selected airspeed Knots N Shared Cockpit
AUTOPILOT MACH HOLD Mach hold active Bool N Shared Cockpit
AUTOPILOT MACH HOLD VAR Selected mach + Number N Shared Cockpit
AUTOPILOT YAW DAMPER Yaw damper active Bool N Shared Cockpit
AUTOPILOT RPM HOLD VAR Selected rpm Number N -
AUTOPILOT THROTTLE ARM Autothrottle armed Bool N Shared Cockpit
AUTOPILOT TAKEOFF POWER ACTIVE Takeoff / Go Around power mode active Bool N Shared Cockpit
AUTOTHROTTLE ACTIVE Auto-throttle active Bool N -
AUTOPILOT NAV1 LOCK True if autopilot nav1 lock applied Bool N Shared Cockpit
AUTOPILOT VERTICAL HOLD True if autopilot vertical hold applied Bool N -
AUTOPILOT RPM HOLD True if autopilot rpm hold applied Bool N -
AUTOPILOT MAX BANK True if autopilot max bank applied Radians N -
FLY BY WIRE ELAC SWITCH True if the fly by wire Elevators and Ailerons computer is on. Bool N -
FLY BY WIRE FAC SWITCH True if the fly by wire Flight Augmentation computer is on. Bool N -
FLY BY WIRE SEC SWITCH True if the fly by wire Spoilers and Elevators computer is on. Bool N -
FLY BY WIRE ELAC FAILED True if the Elevators and Ailerons computer has failed. Bool N -
FLY BY WIRE FAC FAILED True if the Flight Augmentation computer has failed. Bool N -
FLY BY WIRE SEC FAILED True if the Spoilers and Elevators computer has failed. Bool N -

Aircraft Landing Gear Data

Simulation Variable +
Description                        
Units
Settable
Multiplayer
IS GEAR RETRACTABLE True if gear can be retracted Bool N -
IS GEAR SKIS True if landing gear is skis Bool N -
IS GEAR FLOATS True if landing gear is floats Bool N -
IS GEAR SKIDS True if landing gear is skids Bool N -
IS GEAR WHEELS True if landing gear is wheels Bool N -
GEAR HANDLE POSITION True if gear handle is applied Bool Y All aircraft
GEAR HYDRAULIC PRESSURE Gear hydraulic pressure + Pound force per square foot (psf) + N -
TAILWHEEL LOCK ON True if tailwheel lock applied Bool N -
GEAR CENTER POSITION Percent center gear extended Percent Over 100 Y -
GEAR LEFT POSITION Percent left gear extended Percent Over 100 Y -
GEAR RIGHT POSITION Percent right gear extended Percent Over 100 Y -
GEAR TAIL POSITION Percent tail gear extended Percent Over 100 N -
GEAR AUX POSITION Percent auxiliary gear extended Percent Over 100 N -
GEAR POSITION:index Position of landing gear:
+ 0 = unknown
+ 1 = up
+ 2 = down + +
Enum Y -
GEAR ANIMATION POSITION:index Percent gear animation extended Number N -
GEAR TOTAL PCT EXTENDED Percent total gear extended Percentage N -
AUTO BRAKE SWITCH CB Auto brake switch position Number N -
WATER RUDDER HANDLE POSITION Position of the water rudder handle (0 handle retracted, 100 rudder handle applied) Percent Over 100 Y All aircraft
WATER LEFT RUDDER EXTENDED Percent extended Percentage N -
WATER RIGHT RUDDER EXTENDED Percent extended Percentage N -
GEAR CENTER STEER ANGLE Center wheel angle, negative to the left, positive to the right. Percent Over 100 N -
GEAR LEFT STEER ANGLE Left wheel angle, negative to the left, positive to the right. Percent Over 100 N -
GEAR RIGHT STEER ANGLE Right wheel angle, negative to the left, positive to the right. Percent Over 100 N -
GEAR AUX STEER ANGLE Aux wheel angle, negative to the left, positive to the right. The aux wheel is the fourth set of gear, sometimes used on helicopters. Percent Over 100 N -
GEAR STEER ANGLE:index Alternative method of getting the steer angle. Index is
0 = center
1 = left
2 = right
3 = aux
Percent Over 100 N -
WATER LEFT RUDDER STEER ANGLE Water left rudder angle, negative to the left, positive to the right. Percent Over 100 N -
WATER RIGHT RUDDER STEER ANGLE Water right rudder angle, negative to the left, positive to the right. Percent Over 100 N -
GEAR CENTER STEER ANGLE PCT Center steer angle as a percentage Percent Over 100 N -
GEAR LEFT STEER ANGLE PCT Left steer angle as a percentage Percent Over 100 N -
GEAR RIGHT STEER ANGLE PCT Right steer angle as a percentage Percent Over 100 N -
GEAR AUX STEER ANGLE PCT Aux steer angle as a percentage Percent Over 100 N -
GEAR STEER ANGLE PCT:index Alternative method of getting steer angle as a percentage. Index is
0 = center
1 = left
2 = right
3 = aux
Percent Over 100 N -
WATER LEFT RUDDER STEER ANGLE PCT Water left rudder angle as a percentage Percent Over 100 N -
WATER RIGHT RUDDER STEER ANGLE PCT Water right rudder as a percentage Percent Over 100 N -
WHEEL RPM:index Wheel rpm. Index is
0 = center
1 = left
2 = right
3 = aux
Rpm N -
CENTER WHEEL RPM Center landing gear rpm Rpm N -
LEFT WHEEL RPM Left landing gear rpm Rpm N -
RIGHT WHEEL RPM Right landing gear rpm Rpm N -
AUX WHEEL RPM Rpm of fourth set of gear wheels. Rpm N -
WHEEL ROTATION ANGLE:index Wheel rotation angle. Index is
0 = center
1 = left
2 = right
3 = aux
Radians N -
CENTER WHEEL ROTATION ANGLE Center wheel rotation angle Radians N -
LEFT WHEEL ROTATION ANGLE Left wheel rotation angle Radians N -
RIGHT WHEEL ROTATION ANGLE Right wheel rotation angle Radians N -
AUX WHEEL ROTATION ANGLE Aux wheel rotation angle Radians N -
GEAR EMERGENCY HANDLE POSITION True if gear emergency handle applied Bool N -
GEAR WARNING One of:
+ 0: unknown
+ 1: normal
+ 2: amphib +
Enum N -
ANTISKID BRAKES ACTIVE True if antiskid brakes active Bool N -
RETRACT FLOAT SWITCH True if retract float switch on Bool N -
RETRACT LEFT FLOAT EXTENDED If aircraft has retractable floats. + Percent (0 is fully retracted, 100 is fully extended) + N -
RETRACT RIGHT FLOAT EXTENDED If aircraft has retractable floats. + Percent (0 is fully retracted, 100 is fully extended) + N -
STEER INPUT CONTROL Position of steering tiller Percent over 100 + N -
GEAR DAMAGE BY SPEED True if gear has been damaged by excessive speed Bool N -
GEAR SPEED EXCEEDED True if safe speed limit for gear exceeded Bool N -
NOSEWHEEL LOCK ON True if the nosewheel lock is engaged. Bool N -

Aircraft Environment Data

Simulation Variable
Description                        
Units
Settable
Multiplayer
AMBIENT DENSITY Ambient density Slugs per cubic feet + N -
AMBIENT TEMPERATURE Ambient temperature Celsius N -
AMBIENT PRESSURE Ambient pressure Inches of mercury, inHg + N -
AMBIENT WIND VELOCITY Wind velocity Knots N -
AMBIENT WIND DIRECTION Wind direction Degrees N -
AMBIENT WIND X Wind component in East/West direction. Meters per second N -
AMBIENT WIND Y Wind component in vertical direction. Meters per second N -
AMBIENT WIND Z Wind component in North/South direction. Meters per second N -
STRUCT AMBIENT WIND X (latitude), Y (vertical) and Z (longitude) components of the wind. Feet_per_second N -
AMBIENT PRECIP STATE + Precip state (bit field)
+ 2 = None
+ 4 = Rain
+ 8 = Snow
Mask N -
AIRCRAFT WIND X Wind component in aircraft lateral axis Knots N -
AIRCRAFT WIND Y Wind component in aircraft vertical axis Knots N -
AIRCRAFT WIND Z Wind component in aircraft longitudinal axis Knots N -
BAROMETER PRESSURE Barometric pressure Millibars N -
SEA LEVEL PRESSURE Barometric pressure at sea level Millibars N -
TOTAL AIR TEMPERATURE Total air temperature is the air temperature at the front of the aircraft where the ram pressure from the speed of the aircraft is taken into account. Celsius N -
WINDSHIELD RAIN EFFECT AVAILABLE Is visual effect available on this aircraft Bool N -
AMBIENT IN CLOUD True if the aircraft is in a cloud. + Bool N -
AMBIENT VISIBILITY Ambient visibility Meters N -
STANDARD ATM TEMPERATURE Outside temperature on the standard ATM scale Rankine N -

Helicopter Specific Data

Note: Only variables that specifically mention the Bell helicopter apply to the Bell.
Simulation Variable
Description                        
Units
Settable
Multiplayer
ROTOR BRAKE HANDLE POS Percent actuated Percent Over 100 N -
ROTOR BRAKE ACTIVE Active Bool N -
ROTOR CLUTCH SWITCH POS Switch position Bool N -
ROTOR CLUTCH ACTIVE Active Bool N -
ROTOR TEMPERATURE Main rotor transmission temperature Rankine N -
ROTOR CHIP DETECTED Chip detection Bool N -
ROTOR GOV SWITCH POS Switch position Bool N -
ROTOR GOV ACTIVE Active Bool N -
ROTOR LATERAL TRIM PCT Trim percent Percent Over 100 N -
ROTOR RPM PCT Percent max rated rpm Percent Over 100 N -
ENG TURBINE TEMPERATURE Turbine temperature. Applies only to Bell helicopter. Celsius scalar 16K (degrees * 16384) N -
ENG TORQUE PERCENT:index Torque. Returns main rotor torque for Bell helicopter, or the indexed rotor torque of other helicopters. Percent scalar 16K (Ft/lbs * 16384) N -
ENG FUEL PRESSURE Fuel pressure. Applies only to Bell helicopter. PSI scalar 16K (Psi * 16384) N -
ENG ELECTRICAL LOAD Electrical load. Applies only to Bell helicopter. Percent scalar 16K (Max load * 16384) N -
ENG TRANSMISSION PRESSURE Transmission pressure. Applies only to Bell helicopter. PSI scalar 16K (Psi * 16384) N -
ENG TRANSMISSION TEMPERATURE Transmission temperature. Applies only to Bell helicopter. Celsius scalar 16K (Degrees * 16384) N -
ENG ROTOR RPM:index Rotor rpm. Returns main rotor rpm for Bell helicopter, or the indexed rotor rpm of other helicopters. Percent scalar 16K (Max rpm * 16384) N -
COLLECTIVE POSITION The position of the helicopter's collective. 0 is fully up, 100 fully depressed. Percent_over_100 N -
Slings and Hoists
       
NUM SLING CABLES The number of sling cables (not hoists) that are configured for the aircraft. Refer to the document Notes on Aircraft Systems. Number N -
PAYLOAD STATION OBJECT:index Places the named object at the payload station identified by the index (starting from 1). The string is the Container name (refer to the title property of Simulation Object Configuration Files). String Y- set only -
PAYLOAD STATION NUM SIMOBJECTS:index The number of objects at the payload station (indexed from 1). Number N -
SLING OBJECT ATTACHED:index If units are set as boolean, returns True if a sling object is attached. If units are set as a string, returns the container title of the object. + There can be multiple sling positions, indexed from 1. The sling positions are set in the Aircraft Configuration File. Bool/String N -
SLING CABLE BROKEN:index True if the cable is broken. Bool N -
SLING CABLE EXTENDED LENGTH:index The length of the cable extending from the aircraft. Feet Y -
SLING ACTIVE PAYLOAD STATION:index The payload station (identified by the parameter) where objects will be placed from the sling (identified by the index). Number Y -
SLING HOIST PERCENT DEPLOYED:index The percentage of the full length of the sling cable deployed. Percent_over_100 N -
SLING HOOK IN PICKUP MODE:index
A Boolean for whether or not the hook is in pickup mode, so capable of picking up another object.  Bool N -
IS ATTACHED TO SLING Set to true if this object is attached to a sling. Bool N -

Aircraft Miscellaneous Systems Data

Simulation Variable
Description                        
Units
Settable
Multiplayer
SMOKE ENABLE Set to True to activate the smoke system, if one is available (for example, on + the Extra). Bool Y All aircraft
SMOKESYSTEM AVAILABLE Smoke system available Bool N -
PITOT HEAT Pitot heat active Bool N All aircraft
FOLDING WING LEFT PERCENT Left folding wing position, 100 is fully folded Percent Over 100 Y -
FOLDING WING RIGHT PERCENT Right folding wing position, 100 is fully folded Percent Over 100 Y -
CANOPY OPEN Percent primary door/exit open Percent Over 100 Y -
TAILHOOK POSITION Percent tail hook extended Percent Over 100 Y -
EXIT OPEN:index Percent door/exit open Percent Over 100 Y -
STALL HORN AVAILABLE True if stall alarm available Bool N -
ENGINE MIXURE AVAILABLE True if engine mixture is available for prop engines. Obsolete value as mixture is always available. Spelling error in variable name. Bool N -
CARB HEAT AVAILABLE True if carb heat available Bool N -
SPOILER AVAILABLE True if spoiler system available Bool N -
IS TAIL DRAGGER True if the aircraft is a taildragger Bool N -
STROBES AVAILABLE True if strobe lights are available Bool N -
TOE BRAKES AVAILABLE True if toe brakes are available Bool N -
PUSHBACK STATE Type of pushback :
+ 0 = Straight
+ 1 = Left
+ 2 = Right
Enum Y -
ELECTRICAL MASTER BATTERY Battery switch position Bool Y All aircraft
ELECTRICAL TOTAL LOAD AMPS Total load amps Amperes Y -
ELECTRICAL BATTERY LOAD Battery load Amperes Y -
ELECTRICAL BATTERY VOLTAGE Battery voltage Volts Y -
ELECTRICAL MAIN BUS VOLTAGE Main bus voltage Volts Y -
ELECTRICAL MAIN BUS AMPS Main bus current Amperes Y -
ELECTRICAL AVIONICS BUS VOLTAGE Avionics bus voltage Volts Y -
ELECTRICAL AVIONICS BUS AMPS Avionics bus current Amperes Y -
ELECTRICAL HOT BATTERY BUS VOLTAGE Voltage available when battery switch is turned off Volts Y -
ELECTRICAL HOT BATTERY BUS AMPS Current available when battery switch is turned off Amperes Y -
ELECTRICAL BATTERY BUS VOLTAGE Battery bus voltage Volts Y -
ELECTRICAL BATTERY BUS AMPS Battery bus current Amperes Y -
ELECTRICAL GENALT BUS VOLTAGE:index Genalt bus voltage (takes engine index) Volts Y -
ELECTRICAL GENALT BUS AMPS:index Genalt bus current (takes engine index) Amperes Y -
CIRCUIT GENERAL PANEL ON Is electrical power available to this circuit Bool N -
CIRCUIT FLAP MOTOR ON Is electrical power available to this circuit Bool N -
CIRCUIT GEAR MOTOR ON Is electrical power available to this circuit Bool N -
CIRCUIT AUTOPILOT ON Is electrical power available to this circuit Bool N -
CIRCUIT AVIONICS ON Is electrical power available to this circuit Bool N -
CIRCUIT PITOT HEAT ON Is electrical power available to this circuit Bool N -
CIRCUIT PROP SYNC ON Is electrical power available to this circuit Bool N -
CIRCUIT AUTO FEATHER ON Is electrical power available to this circuit Bool N -
CIRCUIT AUTO BRAKES ON Is electrical power available to this circuit Bool N -
CIRCUIT STANDY VACUUM ON Is electrical power available to this circuit Bool N Shared Cockpit
CIRCUIT MARKER BEACON ON Is electrical power available to this circuit Bool N -
CIRCUIT GEAR WARNING ON Is electrical power available to this circuit Bool N -
CIRCUIT HYDRAULIC PUMP ON Is electrical power available to this circuit Bool N -
HYDRAULIC PRESSURE:index Hydraulic system pressure. Indexes start at 1. + Pound force per square foot + N -
HYDRAULIC RESERVOIR PERCENT:index Hydraulic pressure changes will follow changes to this variable. Indexes start + at 1. + Percent Over 100 Y -
HYDRAULIC SYSTEM INTEGRITY Percent system functional Percent Over 100 N -
STRUCTURAL DEICE SWITCH True if the aircraft structure deice switch is on Bool N -
APPLY HEAT TO SYSTEMS Used when too close to a fire. Bool Y -
DROPPABLE OBJECTS TYPE:index The type of droppable object at the station number identified by the index. String Y -
DROPPABLE OBJECTS COUNT:index The number of droppable objects at the station number identified by the index. Number N -

Aircraft Miscellaneous Data

Simulation Variable
Description                        
Units
Settable
Multiplayer
TOTAL WEIGHT Total weight of the aircraft Pounds N -
MAX GROSS WEIGHT Maximum gross weight of the aircaft Pounds N -
EMPTY WEIGHT Empty weight of the aircraft Pounds N -
IS USER SIM Is this the user loaded aircraft Bool N -
SIM DISABLED Is sim disabled + Bool Y -
G FORCE Current g force GForce Y All aircraft
ATC HEAVY Is this aircraft recognized by ATC as heavy Bool Y -
AUTO COORDINATION Is auto-coordination active Bool Y -
REALISM General realism percent Number Y -
TRUE AIRSPEED SELECTED True if True Airspeed has been selected + Bool Y -
DESIGN SPEED VS0 Design speed at VS0 Feet per second N -
DESIGN SPEED VS1 Design speed at VS1 Feet per second N -
DESIGN SPEED VC Design speed at VC Feet per second N -
MIN DRAG VELOCITY Minimum drag velocity Feet per second N -
ESTIMATED CRUISE SPEED Estimated cruise speed Feet per second N -
CG PERCENT Longitudinal CG position as a percent of reference chord + Percent over 100 + N -
CG PERCENT LATERAL Lateral CG position as a percent of reference chord Percent over 100 + N -
IS SLEW ACTIVE True if slew is active Bool Y Shared Cockpit
IS SLEW ALLOWED True if slew is enabled Bool Y Shared Cockpit
ATC SUGGESTED MIN RWY TAKEOFF Suggested minimum runway length for takeoff. Used by ATC  Feet N -
ATC SUGGESTED MIN RWY LANDING Suggested minimum runway length for landing. Used by ATC  Feet N -
PAYLOAD STATION WEIGHT:index Individual payload station weight Pounds Y -
PAYLOAD STATION COUNT Number of payload stations Number N -
USER INPUT ENABLED Is input allowed from the user Bool Y -
TYPICAL DESCENT RATE Normal descent rate Feet per minute N -
VISUAL MODEL RADIUS Model radius Meters N -
CATEGORY One of the following:
+ "Airplane",
+ "Helicopter",
+ "Boat",
+ "GroundVehicle",
+ "ControlTower",
+ "SimpleObject",
+ "Viewer" +
String N -
SIGMA SQRT Sigma sqrt Number N -
DYNAMIC PRESSURE Dynamic pressure Pounds per square foot + N -
TOTAL VELOCITY Velocity regardless of direction. For example, if a helicopter is ascending vertically at 100 fps, getting this variable will return 100. Feet per second + N -
AIRSPEED SELECT INDICATED OR TRUE The airspeed, whether true or indicated airspeed has been selected. + Knots N -
VARIOMETER RATE Variometer rate Feet per second + N -
VARIOMETER SWITCH True if the variometer switch is on Bool N -
PRESSURE ALTITUDE Altitude reading Meters N -
MAGNETIC COMPASS Compass reading Degrees N -
TURN INDICATOR RATE Turn indicator reading Radians per second + N -
TURN INDICATOR SWITCH True if turn indicator switch is on Bool N -
YOKE Y INDICATOR Yoke position in vertical direction Position N -
YOKE X INDICATOR Yoke position in horizontal direction Position N -
RUDDER PEDAL INDICATOR Rudder pedal position Position N -
BRAKE DEPENDENT HYDRAULIC PRESSURE Brake dependent hydraulic pressure reading Pounds per square foot + N -
PANEL ANTI ICE SWITCH True if panel anti-ice switch is on Bool N -
WING AREA Total wing area Square feet + N -
WING SPAN Total wing span Feet N -
BETA DOT Beta dot Radians per second + N -
LINEAR CL ALPHA Linear CL alpha Per radian + N -
STALL ALPHA Stall alpha Radians N -
ZERO LIFT ALPHA Zero lift alpha Radians N -
CG AFT LIMIT Aft limit of CG Percent over 100 + N -
CG FWD LIMIT Forward limit of CG Percent over 100 + N -
CG MAX MACH Max mach CG Machs N -
CG MIN MACH Min mach CG Machs N -
PAYLOAD STATION NAME Descriptive name for payload station String N -
ELEVON DEFLECTION Elevon deflection Radians N -
EXIT TYPE One of:
+ 0: Main
+ 1: Cargo
+ 2: Emergency
+ 3: Unknown + +
Enum N -
EXIT POSX Position of exit relative to datum reference point Feet N -
EXIT POSY Position of exit relative to datum reference point Feet N -
EXIT POSZ Position of exit relative to datum reference point Feet N -
DECISION HEIGHT Design decision height Feet N -
DECISION ALTITUDE MSL Design decision altitude above mean sea level Feet N -
EMPTY WEIGHT PITCH MOI Empty weight pitch moment of inertia Slugs per feet squared + N -
EMPTY WEIGHT ROLL MOI Empty weight roll moment of inertia Slugs per feet squared + N -
EMPTY WEIGHT YAW MOI Empty weight yaw moment of inertia Slugs per feet squared + N -
EMPTY WEIGHT CROSS COUPLED MOI Empty weigth cross coupled moment of inertia Slugs per feet squared + N -
TOTAL WEIGHT PITCH MOI Total weight pitch moment of inertia Slugs per feet squared + N -
TOTAL WEIGHT ROLL MOI Total weight roll moment of inertia Slugs per feet squared + N -
TOTAL WEIGHT YAW MOI Total weight yaw moment of inertia Slugs per feet squared + N -
TOTAL WEIGHT CROSS COUPLED MOI Total weight cross coupled moment of inertia Slugs per feet squared + N -
WATER BALLAST VALVE True if water ballast valve is available Bool N -
MAX RATED ENGINE RPM Maximum rated rpm Rpm N -
FULL THROTTLE THRUST TO WEIGHT RATIO Full throttle thrust to weight ratio Number N -
PROP AUTO CRUISE ACTIVE True if prop auto cruise active Bool N -
PROP ROTATION ANGLE Prop rotation angle Radians N -
PROP BETA MAX Prop beta max Radians N -
PROP BETA MIN Prop beta min Radians N -
PROP BETA MIN REVERSE Prop beta min reverse Radians N -
FUEL SELECTED TRANSFER MODE One of:
+ -1: off
+ 0: auto
+ 1: forward
+ 2: aft
+ 3: manual + +
Enum N -
DROPPABLE OBJECTS UI NAME Descriptive name, used in User Interface dialogs, of a droppable object String N -
MANUAL FUEL PUMP HANDLE Position of manual fuel pump handle. 100 is fully deployed. Percent over 100 + N -
BLEED AIR SOURCE CONTROL One of:
+ 0: min
+ 1: auto
+ 2: off
+ 3: apu
+ 4: engines + +
Enum N -
ELECTRICAL OLD CHARGING AMPS Legacy, use ELECTRICAL BATTERY LOAD Amps N -
HYDRAULIC SWITCH True if hydraulic switch is on Bool N -
CONCORDE VISOR NOSE HANDLE One of:
+ 0: visor up, nose down
+ 1: visor down, nose up
+ 2: visor down, nose 5 degrees
+ 3: visor down, nose 12.5 degrees
Enum N All aircraft
CONCORDE VISOR POSITION PERCENT 0 = up, 1.0 = extended/down + Percent over 100 + N -
CONCORDE NOSE ANGLE 0 = up + Radians N -
REALISM CRASH WITH OTHERS True indicates crashing with other aircraft is possible. + Bool N -
REALISM CRASH DETECTION True indicates crash detection is turned on. + Bool N -
MANUAL INSTRUMENT LIGHTS True if instrument lights are set manually Bool N -
PITOT ICE PCT Amount of pitot ice. 100 is fully iced. Percent over 100 + N -
SEMIBODY LOADFACTOR Y Semibody loadfactor x and z are not supported. + Number N -
SEMIBODY LOADFACTOR YDOT Semibody loadfactory ydot Per second + N -
RAD INS SWITCH True if Rad INS switch on Bool N -
SIMULATED RADIUS Simulated radius Feet N -
STRUCTURAL ICE PCT Amount of ice on aircraft structure. 100 is fully iced. Percent over 100 + N -
ARTIFICIAL GROUND ELEVATION In case scenery is not loaded for AI planes, this variable can be used to set a + default surface elevation. + Feet N -
SURFACE INFO VALID True indicates SURFACE CONDITION is meaningful. + Bool N -
SURFACE CONDITION One of:
+ 0: Normal
+ 1: Wet
+ 2: Icy
+ 3: Snow + +
Enum N -
PUSHBACK ANGLE Pushback angle (the heading of the tug) Radians N -
PUSHBACK CONTACTX The towpoint position, relative to the aircrafts datum reference point. + Feet N -
PUSHBACK CONTACTY Pushback contact position in vertical direction Feet N -
PUSHBACK CONTACTZ Pushback contact position in fore/aft direction Feet N -
PUSHBACK WAIT True if waiting for pushback. + Bool N -
YAW STRING ANGLE The yaw string angle. Yaw strings are attached to gliders as visible indicators of the yaw angle. An animation of this is not implemented in ESP. Radians N -
YAW STRING PCT EXTENDED Yaw string angle as a percentage Percent over 100 + N -
INDUCTOR COMPASS PERCENT DEVIATION Inductor compass deviation reading Percent over 100 + N -
INDUCTOR COMPASS HEADING REF Inductor compass heading Radians N -
ANEMOMETER PCT RPM Anemometer rpm as a percentage Percent over 100 + N -
ROTOR ROTATION ANGLE Main rotor rotation angle (helicopters only) Radians N -
DISK PITCH ANGLE Main rotor pitch angle (helicopters only) Radians N -
DISK BANK ANGLE Main rotor bank angle (helicopters only) Radians N -
DISK PITCH PCT Main rotor pitch percent (helicopters only) Percent over 100 + N -
DISK BANK PCT Main rotor bank percent (helicopters only) Percent over 100 + N -
DISK CONING PCT Main rotor coning percent (helicopters only) Percent over 100 + N -
NAV VOR LLAF64 Nav VOR latitude, longitude, altitude LLA structure + N -
NAV GS LLAF64 Nav GS latitude, longitude, altitude LLA structure + N -
STATIC CG TO GROUND Static CG to ground Feet N -
STATIC PITCH Static pitch Radians N -
CRASH SEQUENCE One of:
+ 0: off
+ 1: complete
+ 3: reset
+ 4: pause
+ 11: start + +
Enum N -
CRASH FLAG One of:
+ 0: None
+ 2: Mountain
+ 4: General
+ 6: Building
+ 8: Splash
+ 10: Gear up
+ 12: Overstress
+ 14: Building
+ 16: Aircraft
+ 18: Fuel Truck +
Enum N Shared Cockpit
TOW RELEASE HANDLE Position of tow release handle. 100 is fully deployed. Percent over 100 + N -
TOW CONNECTION True if a towline is connected to both tow plane and glider. + Bool N -
APU PCT RPM Auxiliary power unit rpm, as a percentage Percent over 100 + N -
APU PCT STARTER Auxiliary power unit starter, as a percentage Percent over 100 + N -
APU VOLTS Auxiliary power unit voltage Volts N -
APU GENERATOR SWITCH True if APU generator switch on Bool N -
APU GENERATOR ACTIVE True if APU generator active Bool N -
APU ON FIRE DETECTED True if APU on fire Bool N -
PRESSURIZATION CABIN ALTITUDE The current altitude of the cabin pressurization.. + Feet N -
PRESSURIZATION CABIN ALTITUDE GOAL The set altitude of the cabin pressurization. + Feet N -
PRESSURIZATION CABIN ALTITUDE RATE The rate at which cabin pressurization changes. + Feet per second + N -
PRESSURIZATION PRESSURE DIFFERENTIAL The difference in pressure between the set altitude pressurization and the + current pressurization. + Pounds per square foot + N -
PRESSURIZATION DUMP SWITCH True if the cabin pressurization dump switch is on. + Bool N -
FIRE BOTTLE SWITCH True if the fire bottle switch is on. Bool N -
FIRE BOTTLE DISCHARGED True if the fire bottle is discharged. Bool N -
CABIN NO SMOKING ALERT SWITCH True if the No Smoking switch is on. Bool Y -
CABIN SEATBELTS ALERT SWITCH True if the Seatbelts switch is on. Bool Y -
GPWS WARNING True if Ground Proximity Warning System installed. + Bool N -
GPWS SYSTEM ACTIVE True if the Ground Proximity Warning System is active + Bool Y -
IS LATITUDE LONGITUDE FREEZE ON True if the lat/lon of the aircraft (either user or AI controlled) is frozen. If this variable returns true, it + means that the latitude and longitude of the aircraft are not being + controlled by ESP, so enabling, for example, a + SimConnect client to control the position of the aircraft. This + can also apply to altitude and attitude. +
+ Also refer to the range of KEY_FREEZE..... Event IDs. +
Bool N -
IS ALTITUDE FREEZE ON True if the altitude of the aircraft is frozen. Bool N -
IS ATTITUDE FREEZE ON True if the attitude (pitch, bank and heading) of the aircraft is frozen. Bool N -

Aircraft String Data

Simulation Variable
Description                        
Units
Settable
Multiplayer
ATC TYPE Type used by ATC String (30) + N -
ATC MODEL Model used by ATC String (10) + N -
ATC ID ID used by ATC String (10) + Y -
ATC AIRLINE Airline used by ATC String (50) + Y -
ATC FLIGHT NUMBER Flight Number used by ATC String (6) + Y -
TITLE Title from aircraft.cfg Variable length string + N -
HSI STATION IDENT Tuned station identifier String(6) N -
GPS WP_PREV ID ID of previous GPS waypoint String N -
GPS WP_NEXT ID ID of next GPS waypoint String N -
GPS APPROACH AIRPORT ID + ID of airport String N -
GPS APPROACH APPROACH ID + ID of approach String N -
GPS APPROACH TRANSITION ID ID of approach transition String N -

AI Controlled Aircraft

Simulation Variable
Description                        
Units
Settable
Multiplayer
AI DESIRED SPEED Desired speed of the AI object. Knots Y -
AI WAYPOINT LIST List of waypoints that an AI controlled object should follow. SIMCONNECT_DATA_WAYPOINT structure list Y -
AI CURRENT WAYPOINT Current waypoint in the list Number Y -
AI DESIRED HEADING Desired heading of the AI object. Degrees Y -
AI GROUNDTURNTIME Time to make a 90 degree turn. Seconds Y -
AI GROUNDCRUISESPEED Cruising speed. Knots Y -
AI GROUNDTURNSPEED Turning speed. Knots Y -
AI TRAFFIC ISIFR Request whether this aircraft is IFR or VFR See Note 1. Boolean N -
AI TRAFFIC STATE English string describing an AI object's state.  If the object is an aircraft under ATC control the string will be one of:
"init"
+ "sleep"
+ "flt plan"
+ "startup"
+ "preflight support"
+ "clearance"
+ "push back 1"
+ "push back 2"
+ "pre taxi out"
+ "taxi out"
+ "takeoff 1"
+ "takeoff 2"
+ "T&G depart"
+ "enroute"
+ "pattern"
+ "landing"
+ "rollout"
+ "go around"
+ "taxi in"
+ "shutdown"
+ "postflight support"


+ If the AI object is not an aircraft under ATC control, the string is one of:

"Sleep"
"Waypoint"
"Takeoff"
"Landing"
"Taxi"

+ This string also appears in the State column of the Traffic Explorer tool dialog. See Note 1.
String N -
AI TRAFFIC CURRENT AIRPORT ICAO code of current airport. See Note 1. String N -
AI TRAFFIC ASSIGNED RUNWAY Assigned runway name (for example: "32R"). See Note 1. String N -
AI TRAFFIC ASSIGNED PARKING English assigned parking name. The string is the same as the one shown in the Parking column of the Traffic Explorer dialog, and is made up in the form:

+ Name + Number, Type ( radius )

+ For example:

Ramp 1, RAMP sml (10m)
Gate G 4, RAMP lrg (18m)

+ Refer also to the Taxiway Parking section of the Compiling BGL document.
+ See Note 1.
String N -
AI TRAFFIC FROMAIRPORT ICAO code of the departure airport in the current schedule. See Note 2. String N -
AI TRAFFIC TOAIRPORT ICAO code of the destination airport in the current schedule. See Note 2. String N -
AI TRAFFIC ETD Estimated time of departure for the current schedule entry, given as the number of seconds + difference from the current simulation time. This can be negative if ETD is earlier than + the current simulation time. See Note 2. Seconds N -
AI TRAFFIC ETA Estimated time of arrival for the current schedule entry, given as the number of seconds + difference from the current simulated time. This can be negative if ETA is earlier than + the current simulated time. See Note 2. Seconds N -
Notes
  1. These variables make most sense for aircraft with flight plans. If an aircraft does not have a flight plan, the value returned will be 0 (or false), or an empty string, depending on the units. +
  2. + These variables only make sense for aircraft generated by the traffic database, + and so have schedules. + If an aircraft does not have a schedule, the value returned will be 0 (or false), or an empty string, depending on the units. +

Carrier Operations

Simulation Variable
Description                        
Units
Settable
Multiplayer
LAUNCHBAR POSITION Installed on aircraft before takeoff from a carrier catapult. Note that gear cannot retract with this extended. 100 = fully extended. Refer to the document Notes on Aircraft Systems. Percent_over_100 N -
LAUNCHBAR SWITCH If this is set to True the launch bar switch has been engaged. Bool N -
LAUNCHBAR HELD EXTENDED This will be True if the launchbar is fully extended, and can be used, for example, to change the color of an instrument light. Bool N -
NUMBER OF CATAPULTS Maximum of 4. A model can contain more than 4 catapults, but only the first four will be read and recognized by the simulation. Number N -
CATAPULT STROKE POSITION:index Catapults are indexed from 1. This value will be 0 before the catapult fires, and then up to 100 as the aircraft is propelled down the catapult. The aircraft may takeoff before the value reaches 100 (depending on the aircraft weight, power applied, and other factors), in which case this value will not be further updated. This value could be used to drive a bogie animation. Number N -
HOLDBACK BAR INSTALLED Holdback bars allow build up of thrust before takeoff from a catapult, and are installed by the deck crew of an aircraft carrier. Bool N -
BLAST SHIELD POSITION:index Indexed from 1, 100 is fully deployed, 0 flat on deck Percent_over_100 N -
CABLE CAUGHT BY TAILHOOK A number 1 through 4 for the cable number caught by the tailhook. Cable 1 is the one closest to the stern of the carrier. A value of 0 indicates no cable was caught. Number N -
TAILHOOK HANDLE True if the tailhook handle is engaged. Bool N -
SURFACE RELATIVE GROUND SPEED The speed of the aircraft relative to the speed of the first surface directly underneath it. Use this to retrieve, for example, an aircraft's taxiing speed while it is moving on a moving carrier. It also applies to airborne aircraft, for example when a helicopter is successfully hovering above a moving ship, this value should be zero. The returned value will be the same as GROUND VELOCITY if the first surface beneath it is not moving. Feet_per_second N -

Racing

Simulation Variable
Description                        
Units
Settable
Multiplayer
RECIP ENG DETONATING:index Indexed from 1. Set to True if the engine is detonating. Bool N -
RECIP ENG CYLINDER HEALTH:index Index high 16 bits is engine number, low 16 cylinder number, both indexed from 1. Percent_over_100 N -
RECIP ENG NUM CYLINDERS Indexed from 1. The number of engine cylinders. Number N -
RECIP ENG NUM CYLINDERS FAILED Indexed from 1. The number of cylinders that have failed. Number N -
RECIP ENG ANTIDETONATION TANK VALVE:index Indexed from 1, each engine can have one antidetonation tank. Installed on racing aircraft. Refer to the document Notes on Aircraft Systems. Bool Y -
RECIP ENG ANTIDETONATION TANK QUANTITY:index Indexed from 1. Refer to the Mission Creation documentation for the procedure for refilling tanks. Gallons Y -
RECIP ENG ANTIDETONATION TANK MAX QUANTITY:index Indexed from 1. This value set in the Aircraft Configuration File. Gallons N -
RECIP ENG NITROUS TANK VALVE:index Indexed from 1. Each engine can have one Nitrous fuel tank installed. Bool Y -
RECIP ENG NITROUS TANK QUANTITY:index Indexed from 1. Refer to the Mission Creation documentation for the procedure for refilling tanks. Gallons Y -
RECIP ENG NITROUS TANK MAX QUANTITY:index Indexed from 1. This value set in the Aircraft Configuration File. Gallons N -

Environment Data

+ This data is referenced by E: in XML gauges. +
Simulation Variable
Description                        
Units
Settable
Multiplayer
ABSOLUTE TIME + Time, as referenced from 12:00 AM January 1, 0000 Seconds N -
ZULU TIME + Greenwich Mean Time (GMT) Seconds N -
ZULU DAY OF WEEK + GMT day of week Number N -
ZULU DAY OF MONTH + GMT day of month + Number N -
ZULU MONTH OF YEAR + GMT month of year Number N -
ZULU DAY OF YEAR + GMT day of year Number N -
ZULU YEAR + GMT year Number N -
LOCAL TIME + Local time Seconds N -
LOCAL DAY OF WEEK + Local day of week Number N -
LOCAL DAY OF MONTH + Local day of month Number N -
LOCAL MONTH OF YEAR Local month of year Number N -
LOCAL DAY OF YEAR + Local day of year Number N -
LOCAL YEAR + Local year Number N -
TIME ZONE OFFSET + Local time difference from GMT Seconds N -
TIME OF DAY + + General time of day:
+ 1 = Day
+ 2 = Dusk/Dawn
+ 3 = Night
Enum N -

Program Data 

+ This data is referenced by P: in XML gauges.
Simulation Variable
Description                        
Units
Settable
Multiplayer
SIMULATION RATE Time acceleration factor Number N -
UNITS OF MEASURE Units of measure:
+ 0 = English
+ 1 = Metric (with altitude in feet)
+ 2 = Metric (with altitude in meters) +
Enum N -

Units of Measurement

+ The following table gives the strings that are accepted by the SDK for units. + All the strings in the same row are identical in meaning. Note that some + strings have "per" spelled out, and some use "/", and note that a few contain + hyphens or underscores. +
Notes
+ When making object definitions in SimConnect, it is possible to request the + units that the values are to be received in. All the units in the tables below + under one heading (such as Frequency or Speed) can be used as appropriate to + the client application, except those under Miscellaneous Units. See the + SimConnect documentation for more details. +
Distance
Details
meter, meters, m ~
centimeter, centimeters, cm ~
kilometer, kilometers, km ~
millimeter, millimeters ~
mile, miles ~
decimile, decimiles One tenth of a mile
nautical mile, nautical miles, nmile, nmiles Nautical mile, 2024 yards
decinmile, decinmiles One tenth of a nautical mile
foot, feet, ft ~
inch, inches, in ~
yard, yards ~
 
Area
Details
square inch, square inches, sq in, in2 ~
square feet, square foot, sq ft, ft2 + ~
square yard, square yards, sq yd, yd2 ~
square meter, square meters, sq m, m2 ~
square centimeter, square centimeters, sq cm, cm2 ~
square kilometer, square kilometers, sq km, km2 ~
square millimeter, square millimeters, sq mm, mm2 ~
square mile, square miles ~
   
Volume
Details
cubic inch, cubic inches, cu in, in3 ~
cubic foot, cubic feet, cu ft, ft3 ~
cubic yard, cubic yards, cu yd, yd3 ~
cubic mile, cubic miles ~
cubic millimeter, cubic millimeters, cu mm, mm3 ~
cubic centimeter, cubic centimeters, cu cm, cm3 ~
meter cubed, meters cubed, cubic meter, cubic meters, cu m, m3 ~
cubic kilometer, cubic kilometers, cu km, km3 ~
liter, liters ~
gallon, gallons ~
quart, quarts ~
 
Temperature
Details
kelvin Same graduations as Centigrade but zero degrees Kelvin corresponds to a + temperature of -273.15C (Absolute Zero).
rankine Same graduations as Farenheit but zero degrees Rankine corresponds to a + temperature of -459.67F
farenheit, fahrenheit ~
celsius ~
 
Angle
Details
radian, radians ~
round, rounds ~
degree, degrees Float
degree latitude ~
degree longitude ~
grad, grads ~
 
Global position
Details
degree latitude, degrees latitude ~
degree longitude, degrees longitude ~
meter latitude, meters latitude ~
   
Angular velocity
Details
radian per second, radians per second ~
revolution per minute, revolutions per minute, rpm, rpms ~
minute per round, minutes per round ~
nice minute per round, nice minutes per round ~
degree per second, degrees per second ~
 
Speed
Details
meter per second, meters/second, m/s ~
meter per minute, meters per minute ~
feet/second ~
feet/minute, ft/min ~
kilometer/hour, kilometers/hour, kilometers per hour, kph ~
knot, knots Nautical mile per hour
mile per hour, miles per hour, mph ~
mach, machs ~
 
Acceleration
Details
meter per second squared meters per second squared ~
Gforce, G Force Unit of acceleration equal to the acceleration of gravity.
feet per second squared, foot per second squared ~
 
Time
Details
second, seconds ~
minute, minutes ~
hour, hours ~
day, days ~
hour over 10, hours over 10 ~
year, years ~
   
Power
Details
Watt, Watts ~
ft lb per second ~
 
Volume rate
Details
meter cubed per second, meters cubed per second ~
gallon per hour, gallons per hour, gph ~
liter per hour, liters per hour ~
 
Weight
Details
kilogram, kilograms, kg ~
slug, slugs, geepound, geepounds A unit of mass to which a force of one pound imparts an acceleration of one + foot per second squared. One geepound, or slug, equals about 14.59 kg or 32.2 + lb.
pound, pounds, lbs ~
 
Weight rate
Details
kilogram per second, kilograms per second ~
pound per hour, pounds per hour ~
 
Electrical Current
Details
ampere, amperes, amp, amps ~
 
Electrical Potential
Details
volt, volts ~
 
Frequency
Details
Hertz, Hz, ~
Kilohertz, KHz ~
Megahertz, MHz ~
Frequency BCD32 Frequency in 32 bit binary coded decimal
Frequency BCD16 Frequency in 16 bit binary coded decimal
Frequency ADF BCD32 ~
 
Density
Details
kilogram per cubic meter, kilograms per cubic meter ~
Slug per cubic feet, Slugs per cubic feet, Slug/ft3, slug per cubic foot, slugs + per cubic foot ~
pound per gallon, pounds per gallon, lbs/gallon ~
 
Pressure
Details
pascal, pascals, Pa ~
Newton per square meter, newtons per square meter ~
kilopascal, kpa ~
kilogram force per square centimeter, KgFSqCm ~
millimeter of mercury, millimeters of mercury, mmHg ~
centimeter of mercury, centimeters of mercury, cmHg ~
inch of mercury, inches of mercury, inHg ~
atmosphere, atmospheres, atm ~
millimeter of water, millimeters of water ~
pound-force per square inch, psi ~
pound-force per square foot, psf ~
bar, bars ~
millibar, millibars, mbar, mbars, hectopascal, hectopascals ~
boost cmHg ~
boost inHg ~
boost psi ~
slug feet squared, slugs feet squared ~
kilogram meter squared, kilograms meter squared ~
millibar, millibars, mbar, mbars, hectopascal, hectopascals ~
 
Torque
Details
Newton meter, Newton, meters, nm ~
foot-pound, foot pound, ft-lbs, foot-pounds ~
lbf-feet One lbf-foot equals 1.36 Newton meters
kilogram meter, kilogram meters, kgf meter, kgf meters ~
poundal feet One poundal foot equals 0.042 Newton meters
 
Miscellaneous Units
Details
part ~
half, halfs ~
third, thirds ~
percent, percentage Normally a value between 0 and 100, though sometimes values outside this range + are possible (reverse thrust, for example).
percent over 100 Normally a value between 0.0 and 1.0, though sometimes values outside this + range are possible (reverse thrust, for example).
bel, bels ~
decibel, decibels ~
more_than_a_half ~
times ~
ratio ~
number, numbers ~
scaler ~
position ~
Enum A positive or negative integer corresponding to the member of the enum
Bool, Boolean The only reliable numeric equivalent is that 0 is returned for False. Non-zero values, especially both 1 and -1, are used to indicate True.
Bco16 ~
mask ~
flags ~
string ~
per radian ~
per degree ~


+ + +
+ + +
+
+ + + + + + + + + + + + +
+
© 2015 Microsoft
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + + + +
+ + + + + + + + + + +
+ + +
+ + + + +
+
+
+
+ + +
+
+ + + +
+
+
+
+ +
+
+
+
+ +
+ +
+ + + + + + + + + + + + + +
+ + + + + + + + + + + + + +
+ + + + + + + + +
+

Overview

+ +
+
+ + Microsoft ESP 1.0 + +
+
+
+

Event IDs

This document lists tables of Event IDs that are used by + XML gauges, or from SimConnect.

See Also

Table of Contents

Key Events

Use the String Name entries for SimConnect + clients and XML authored gauges. Not all events apply to all aircraft and all situations. Events that require an argument have ranges or suggestions listed in + parenthesis in the Description column. For SimConnect clients to set + this value, it is passed in the dwData parameter of SimConnect_TransmitClientEvent, + when getting the value it is returned in the dwData parameter of the SIMCONNECT_RECV_EVENT + structure.


The Multiplayer column in the table below indicates what events are transmitted to other aircraft. In Shared Cockpit mode key events initiated by the co-pilot are not acted upon immediately, the key event is first transmitted to the pilot, and then if the key event is allowable (marked Shared Cockpit in the table below) it is then transmitted back to the co-pilot to be acted upon. Some key events are transmitted to all aircraft. + A few key events are disabled altogether. An aircraft flying in a multiplayer scenario that is not in shared cockpit mode will respond to all key events except those marked Disabled in the table below, and only those events marked as All aircraft will be transmitted to the other aircraft.

Aircraft Engine

Event ID
SimConnect Name +
Description
Multiplayer
KEY_THROTTLE_FULL  THROTTLE_FULL Set throttles max Shared Cockpit
KEY_THROTTLE_INCR  THROTTLE_INCR Increment throttles Shared Cockpit
KEY_THROTTLE_INCR_SMALL  THROTTLE_INCR_SMALL Increment throttles small Shared Cockpit
KEY_THROTTLE_DECR THROTTLE_DECR Decrement throttles Shared Cockpit
KEY_THROTTLE_DECR_SMALL THROTTLE_DECR_SMALL Decrease throttles small Shared Cockpit
KEY_THROTTLE_CUT THROTTLE_CUT Set throttles to idle Shared Cockpit
KEY_INCREASE_THROTTLE INCREASE_THROTTLE Increment throttles Shared Cockpit
KEY_DECREASE_THROTTLE DECREASE_THROTTLE Decrement throttles Shared Cockpit
KEY_THROTTLE_SET THROTTLE_SET Set throttles exactly (0- 16383) Shared Cockpit
KEY_AXIS_THROTTLE_SET AXIS_THROTTLE_SET Set throttles (0- 16383) Shared Cockpit (Pilot only, transmitted to Co-pilot if in a helicopter, not-transmitted otherwise).
KEY_THROTTLE1_SET THROTTLE1_SET Set throttle 1 exactly (0 to 16383) Shared Cockpit
KEY_THROTTLE2_SET THROTTLE2_SET Set throttle 2 exactly (0 to 16383) Shared Cockpit
KEY_THROTTLE3_SET THROTTLE3_SET Set throttle 3 exactly (0 to 16383) Shared Cockpit
KEY_THROTTLE4_SET THROTTLE4_SET Set throttle 4 exactly (0 to 16383) Shared Cockpit
KEY_THROTTLE1_FULL THROTTLE1_FULL Set throttle 1 max Shared Cockpit
KEY_THROTTLE1_INCR THROTTLE1_INCR Increment throttle 1 Shared Cockpit
KEY_THROTTLE1_INCR_SMALL THROTTLE1_INCR_SMALL Increment throttle 1 small Shared Cockpit
KEY_THROTTLE1_DECR THROTTLE1_DECR Decrement throttle 1 Shared Cockpit
KEY_THROTTLE1_CUT THROTTLE1_CUT Set throttle 1 to idle Shared Cockpit
KEY_THROTTLE2_FULL THROTTLE2_FULL Set throttle 2 max Shared Cockpit
KEY_THROTTLE2_INCR THROTTLE2_INCR Increment throttle 2 Shared Cockpit
KEY_THROTTLE2_INCR_SMALL THROTTLE2_INCR_SMALL Increment throttle 2 small Shared Cockpit
KEY_THROTTLE2_DECR THROTTLE2_DECR Decrement throttle 2 Shared Cockpit
KEY_THROTTLE2_CUT THROTTLE2_CUT Set throttle 2 to idle Shared Cockpit
KEY_THROTTLE3_FULL THROTTLE3_FULL Set throttle 3 max Shared Cockpit
KEY_THROTTLE3_INCR THROTTLE3_INCR Increment throttle 3 Shared Cockpit
KEY_THROTTLE3_INCR_SMALL THROTTLE3_INCR_SMALL Increment throttle 3 small Shared Cockpit
KEY_THROTTLE3_DECR THROTTLE3_DECR Decrement throttle 3 Shared Cockpit
KEY_THROTTLE3_CUT THROTTLE3_CUT Set throttle 3 to idle Shared Cockpit
KEY_THROTTLE4_FULL THROTTLE4_FULL Set throttle 1 max Shared Cockpit
KEY_THROTTLE4_INCR THROTTLE4_INCR Increment throttle 4 Shared Cockpit
KEY_THROTTLE4_INCR_SMALL THROTTLE4_INCR_SMALL Increment throttle 4 small Shared Cockpit
KEY_THROTTLE4_DECR THROTTLE4_DECR Decrement throttle 4 Shared Cockpit
KEY_THROTTLE4_CUT THROTTLE4_CUT Set throttle 4 to idle Shared Cockpit
KEY_THROTTLE_10 THROTTLE_10 Set throttles to 10% Shared Cockpit
KEY_THROTTLE_20 THROTTLE_20 Set throttles to 20% Shared Cockpit
KEY_THROTTLE_30 THROTTLE_30 Set throttles to 30% Shared Cockpit
KEY_THROTTLE_40 THROTTLE_40 Set throttles to 40% Shared Cockpit
KEY_THROTTLE_50 THROTTLE_50 Set throttles to 50% Shared Cockpit
KEY_THROTTLE_60 THROTTLE_60 Set throttles to 60% Shared Cockpit
KEY_THROTTLE_70 THROTTLE_70 Set throttles to 70% Shared Cockpit
KEY_THROTTLE_80 THROTTLE_80 Set throttles to 80% Shared Cockpit
KEY_THROTTLE_90 THROTTLE_90 Set throttles to 90% Shared Cockpit
KEY_AXIS_THROTTLE1_SET AXIS_THROTTLE1_SET Set throttle 1 exactly (-16383 - +16383) Shared Cockpit
KEY_AXIS_THROTTLE2_SET AXIS_THROTTLE2_SET Set throttle 2 exactly (-16383 - +16383) Shared Cockpit
KEY_AXIS_THROTTLE3_SET AXIS_THROTTLE3_SET Set throttle 3 exactly (-16383 - +16383) Shared Cockpit
KEY_AXIS_THROTTLE4_SET AXIS_THROTTLE4_SET Set throttle 4 exactly (-16383 - +16383) Shared Cockpit
KEY_THROTTLE1_DECR_SMALL THROTTLE1_DECR_SMALL Decrease throttle 1 small Shared Cockpit
KEY_THROTTLE2_DECR_SMALL THROTTLE2_DECR_SMALL Decrease throttle 2 small Shared Cockpit
KEY_THROTTLE3_DECR_SMALL THROTTLE3_DECR_SMALL Decrease throttle 3 small Shared Cockpit
KEY_THROTTLE4_DECR_SMALL THROTTLE4_DECR_SMALL Decrease throttle 4 small Shared Cockpit
KEY_PROP_PITCH_DECR_SMALL PROP_PITCH_DECR_SMALL Decrease prop levers small Shared Cockpit
KEY_PROP_PITCH1_DECR_SMALL PROP_PITCH1_DECR_SMALL Decrease prop lever 1 small Shared Cockpit
KEY_PROP_PITCH2_DECR_SMALL PROP_PITCH2_DECR_SMALL Decrease prop lever 2 small Shared Cockpit
KEY_PROP_PITCH3_DECR_SMALL PROP_PITCH3_DECR_SMALL Decrease prop lever 3 small Shared Cockpit
KEY_PROP_PITCH4_DECR_SMALL PROP_PITCH4_DECR_SMALL Decrease prop lever 4 small Shared Cockpit
KEY_MIXTURE1_RICH MIXTURE1_RICH Set mixture lever 1 to max rich Shared Cockpit
KEY_MIXTURE1_INCR MIXTURE1_INCR Increment mixture lever 1 Shared Cockpit
KEY_MIXTURE1_INCR_SMALL MIXTURE1_INCR_SMALL Increment mixture lever 1 small Shared Cockpit
KEY_MIXTURE1_DECR MIXTURE1_DECR Decrement mixture lever 1 Shared Cockpit
KEY_MIXTURE1_LEAN MIXTURE1_LEAN Set mixture lever 1 to max lean Shared Cockpit
KEY_MIXTURE2_RICH MIXTURE2_RICH Set mixture lever 2 to max rich Shared Cockpit
KEY_MIXTURE2_INCR MIXTURE2_INCR Increment mixture lever 2 Shared Cockpit
KEY_MIXTURE2_INCR_SMALL MIXTURE2_INCR_SMALL Increment mixture lever 2 small Shared Cockpit
KEY_MIXTURE2_DECR MIXTURE2_DECR Decrement mixture lever 2 Shared Cockpit
KEY_MIXTURE2_LEAN MIXTURE2_LEAN Set mixture lever 2 to max lean Shared Cockpit
KEY_MIXTURE3_RICH MIXTURE3_RICH Set mixture lever 3 to max rich Shared Cockpit
KEY_MIXTURE3_INCR MIXTURE3_INCR Increment mixture lever 3 Shared Cockpit
KEY_MIXTURE3_INCR_SMALL MIXTURE3_INCR_SMALL Increment mixture lever 3 small Shared Cockpit
KEY_MIXTURE3_DECR MIXTURE3_DECR Decrement mixture lever 3 Shared Cockpit
KEY_MIXTURE3_LEAN MIXTURE3_LEAN Set mixture lever 3 to max lean Shared Cockpit
KEY_MIXTURE4_RICH MIXTURE4_RICH Set mixture lever 4 to max rich Shared Cockpit
KEY_MIXTURE4_INCR MIXTURE4_INCR Increment mixture lever 4 Shared Cockpit
KEY_MIXTURE4_INCR_SMALL MIXTURE4_INCR_SMALL Increment mixture lever 4 small Shared Cockpit
KEY_MIXTURE4_DECR MIXTURE4_DECR Decrement mixture lever 4 Shared Cockpit
KEY_MIXTURE4_LEAN MIXTURE4_LEAN Set mixture lever 4 to max lean Shared Cockpit
KEY_MIXTURE_SET MIXTURE_SET Set mixture levers to exact value (0 to 16383) Shared Cockpit
KEY_MIXTURE_RICH MIXTURE_RICH Set mixture levers to max rich Shared Cockpit
KEY_MIXTURE_INCR MIXTURE_INCR Increment mixture levers Shared Cockpit
KEY_MIXTURE_INCR_SMALL MIXTURE_INCR_SMALL Increment mixture levers small Shared Cockpit
KEY_MIXTURE_DECR MIXTURE_DECR Decrement mixture levers Shared Cockpit
KEY_MIXTURE_LEAN MIXTURE_LEAN Set mixture levers to max lean Shared Cockpit
KEY_MIXTURE1_SET MIXTURE1_SET Set mixture lever 1 exact value (0 to 16383) Shared Cockpit
KEY_MIXTURE2_SET MIXTURE2_SET Set mixture lever 2 exact value (0 to 16383) Shared Cockpit
KEY_MIXTURE3_SET MIXTURE3_SET Set mixture lever 3 exact value (0 to 16383) Shared Cockpit
KEY_MIXTURE4_SET MIXTURE4_SET Set mixture lever 4 exact value (0 to 16383) Shared Cockpit
KEY_AXIS_MIXTURE_SET AXIS_MIXTURE_SET Set mixture lever 1 exact value (-16383 to +16383) Shared Cockpit
KEY_AXIS_MIXTURE1_SET AXIS_MIXTURE1_SET Set mixture lever 1 exact value (-16383 to +16383) Shared Cockpit
KEY_AXIS_MIXTURE2_SET AXIS_MIXTURE2_SET Set mixture lever 2 exact value (-16383 to +16383) Shared Cockpit
KEY_AXIS_MIXTURE3_SET AXIS_MIXTURE3_SET Set mixture lever 3 exact value (-16383 to +16383) Shared Cockpit
KEY_AXIS_MIXTURE4_SET AXIS_MIXTURE4_SET Set mixture lever 4 exact value (-16383 to +16383) Shared Cockpit
KEY_MIXTURE_SET_BEST MIXTURE_SET_BEST Set mixture levers to current best power setting Shared Cockpit
KEY_MIXTURE_DECR_SMALL MIXTURE_DECR_SMALL Decrement mixture levers small Shared Cockpit
KEY_MIXTURE1_DECR_SMALL MIXTURE1_DECR_SMALL Decrement mixture lever 1 small Shared Cockpit
KEY_MIXTURE2_DECR_SMALL MIXTURE2_DECR_SMALL Decrement mixture lever 4 small Shared Cockpit
KEY_MIXTURE3_DECR_SMALL MIXTURE3_DECR_SMALL Decrement mixture lever 4 small Shared Cockpit
KEY_MIXTURE4_DECR_SMALL MIXTURE4_DECR_SMALL Decrement mixture lever 4 small Shared Cockpit
KEY_PROP_PITCH_SET PROP_PITCH_SET Set prop pitch levers (0 to 16383) Shared Cockpit
KEY_PROP_PITCH_LO PROP_PITCH_LO Set prop pitch levers max (lo pitch) Shared Cockpit
KEY_PROP_PITCH_INCR PROP_PITCH_INCR Increment prop pitch levers Shared Cockpit
KEY_PROP_PITCH_INCR_SMALL PROP_PITCH_INCR_SMALL Increment prop pitch levers small Shared Cockpit
KEY_PROP_PITCH_DECR PROP_PITCH_DECR Decrement prop pitch levers Shared Cockpit
KEY_PROP_PITCH_HI PROP_PITCH_HI Set prop pitch levers min (hi pitch) Shared Cockpit
KEY_PROP_PITCH1_SET PROP_PITCH1_SET Set prop pitch lever 1 exact value (0 to 16383) Shared Cockpit
KEY_PROP_PITCH2_SET PROP_PITCH2_SET Set prop pitch lever 2 exact value (0 to 16383) Shared Cockpit
KEY_PROP_PITCH3_SET PROP_PITCH3_SET Set prop pitch lever 3 exact value (0 to 16383) Shared Cockpit
KEY_PROP_PITCH4_SET PROP_PITCH4_SET Set prop pitch lever 4 exact value (0 to 16383) Shared Cockpit
KEY_PROP_PITCH1_LO PROP_PITCH1_LO Set prop pitch lever 1 max (lo pitch) Shared Cockpit
KEY_PROP_PITCH1_INCR PROP_PITCH1_INCR Increment prop pitch lever 1 Shared Cockpit
KEY_PROP_PITCH1_INCR_SMALL PROP_PITCH1_INCR_SMALL Increment prop pitch lever 1 small Shared Cockpit
KEY_PROP_PITCH1_DECR PROP_PITCH1_DECR Decrement prop pitch lever 1 Shared Cockpit
KEY_PROP_PITCH1_HI PROP_PITCH1_HI Set prop pitch lever 1 min (hi pitch) Shared Cockpit
KEY_PROP_PITCH2_LO PROP_PITCH2_LO Set prop pitch lever 2 max (lo pitch) Shared Cockpit
KEY_PROP_PITCH2_INCR PROP_PITCH2_INCR Increment prop pitch lever 2 Shared Cockpit
KEY_PROP_PITCH2_INCR_SMALL PROP_PITCH2_INCR_SMALL Increment prop pitch lever 2 small Shared Cockpit
KEY_PROP_PITCH2_DECR PROP_PITCH2_DECR Decrement prop pitch lever 2 Shared Cockpit
KEY_PROP_PITCH2_HI PROP_PITCH2_HI Set prop pitch lever 2 min (hi pitch) Shared Cockpit
KEY_PROP_PITCH3_LO PROP_PITCH3_LO Set prop pitch lever 3 max (lo pitch) Shared Cockpit
KEY_PROP_PITCH3_INCR PROP_PITCH3_INCR Increment prop pitch lever 3 Shared Cockpit
KEY_PROP_PITCH3_INCR_SMALL PROP_PITCH3_INCR_SMALL Increment prop pitch lever 3 small Shared Cockpit
KEY_PROP_PITCH3_DECR PROP_PITCH3_DECR Decrement prop pitch lever 3 Shared Cockpit
KEY_PROP_PITCH3_HI PROP_PITCH3_HI Set prop pitch lever 3 min (hi pitch) Shared Cockpit
KEY_PROP_PITCH4_LO PROP_PITCH4_LO Set prop pitch lever 4 max (lo pitch) Shared Cockpit
KEY_PROP_PITCH4_INCR PROP_PITCH4_INCR Increment prop pitch lever 4 Shared Cockpit
KEY_PROP_PITCH4_INCR_SMALL PROP_PITCH4_INCR_SMALL Increment prop pitch lever 4 small Shared Cockpit
KEY_PROP_PITCH4_DECR PROP_PITCH4_DECR Decrement prop pitch lever 4 Shared Cockpit
KEY_PROP_PITCH4_HI PROP_PITCH4_HI Set prop pitch lever 4 min (hi pitch) Shared Cockpit
KEY_AXIS_PROPELLER_SET AXIS_PROPELLER_SET Set propeller levers exact value (-16383 to +16383) Shared Cockpit
KEY_AXIS_PROPELLER1_SET AXIS_PROPELLER1_SET Set propeller lever 1 exact value (-16383 to +16383) Shared Cockpit
KEY_AXIS_PROPELLER2_SET AXIS_PROPELLER2_SET Set propeller lever 2 exact value (-16383 to +16383) Shared Cockpit
KEY_AXIS_PROPELLER3_SET AXIS_PROPELLER3_SET Set propeller lever 3 exact value (-16383 to +16383) Shared Cockpit
KEY_AXIS_PROPELLER4_SET AXIS_PROPELLER4_SET Set propeller lever 4 exact value (-16383 to +16383) Shared Cockpit
KEY_JET_STARTER JET_STARTER Selects jet engine starter (for +/- sequence) Shared Cockpit
KEY_STARTER_SET MAGNETO_SET Sets magnetos (0,1) Shared Cockpit
KEY_TOGGLE_STARTER1 TOGGLE_STARTER1 Toggle starter 1 Shared Cockpit
KEY_TOGGLE_STARTER2 TOGGLE_STARTER2 Toggle starter 2 Shared Cockpit
KEY_TOGGLE_STARTER3 TOGGLE_STARTER3 Toggle starter 3 Shared Cockpit
KEY_TOGGLE_STARTER4 TOGGLE_STARTER4 Toggle starter 4 Shared Cockpit
KEY_TOGGLE_ALL_STARTERS TOGGLE_ALL_STARTERS Toggle starters Shared Cockpit
KEY_ENGINE_AUTO_START ENGINE_AUTO_START Triggers auto-start Shared Cockpit
KEY_ENGINE_AUTO_SHUTDOWN ENGINE_AUTO_SHUTDOWN Triggers auto-shutdown Shared Cockpit
KEY_MAGNETO MAGNETO Selects magnetos (for +/- sequence) Shared Cockpit
KEY_MAGNETO_DECR MAGNETO_DECR Decrease magneto switches positions Shared Cockpit
KEY_MAGNETO_INCR MAGNETO_INCR Increase magneto switches positions Shared Cockpit
KEY_MAGNETO1_OFF MAGNETO1_OFF Set engine 1 magnetos off Shared Cockpit
KEY_MAGNETO1_RIGHT MAGNETO1_RIGHT Toggle engine 1 right magneto All aircraft
KEY_MAGNETO1_LEFT MAGNETO1_LEFT Toggle engine 1 left magneto All aircraft
KEY_MAGNETO1_BOTH MAGNETO1_BOTH Set engine 1 magnetos on Shared Cockpit
KEY_MAGNETO1_START MAGNETO1_START Set engine 1 magnetos on and toggle starter Shared Cockpit
KEY_MAGNETO2_OFF MAGNETO2_OFF Set engine 2 magnetos off Shared Cockpit
KEY_MAGNETO2_RIGHT MAGNETO2_RIGHT Toggle engine 2 right magneto All aircraft
KEY_MAGNETO2_LEFT MAGNETO2_LEFT Toggle engine 2 left magneto All aircraft
KEY_MAGNETO2_BOTH MAGNETO2_BOTH Set engine 2 magnetos on Shared Cockpit
KEY_MAGNETO2_START MAGNETO2_START Set engine 2 magnetos on and toggle starter Shared Cockpit
KEY_MAGNETO3_OFF MAGNETO3_OFF Set engine 3 magnetos off Shared Cockpit
KEY_MAGNETO3_RIGHT MAGNETO3_RIGHT Toggle engine 3 right magneto All aircraft
KEY_MAGNETO3_LEFT MAGNETO3_LEFT Toggle engine 3 left magneto All aircraft
KEY_MAGNETO3_BOTH MAGNETO3_BOTH Set engine 3 magnetos on Shared Cockpit
KEY_MAGNETO3_START MAGNETO3_START Set engine 3 magnetos on and toggle starter Shared Cockpit
KEY_MAGNETO4_OFF MAGNETO4_OFF Set engine 4 magnetos off Shared Cockpit
KEY_MAGNETO4_RIGHT MAGNETO4_RIGHT Toggle engine 4 right magneto All aircraft
KEY_MAGNETO4_LEFT MAGNETO4_LEFT Toggle engine 4 left magneto All aircraft
KEY_MAGNETO4_BOTH MAGNETO4_BOTH Set engine 4 magnetos on Shared Cockpit
KEY_MAGNETO4_START MAGNETO4_START Set engine 4 magnetos on and toggle starter Shared Cockpit
KEY_MAGNETO_OFF MAGNETO_OFF Set engine magnetos off Shared Cockpit
KEY_MAGNETO_RIGHT MAGNETO_RIGHT Set engine right magnetos on Shared Cockpit
KEY_MAGNETO_LEFT MAGNETO_LEFT Set engine left magnetos on Shared Cockpit
KEY_MAGNETO_BOTH MAGNETO_BOTH Set engine magnetos on Shared Cockpit
KEY_MAGNETO_START MAGNETO_START Set engine magnetos on and toggle starters Shared Cockpit
KEY_MAGNETO1_DECR MAGNETO1_DECR Decrease engine 1 magneto switch position Shared Cockpit
KEY_MAGNETO1_INCR MAGNETO1_INCR Increase engine 1 magneto switch position Shared Cockpit
KEY_MAGNETO2_DECR MAGNETO2_DECR Decrease engine 2 magneto switch position Shared Cockpit
KEY_MAGNETO2_INCR MAGNETO2_INCR Increase engine 2 magneto switch position Shared Cockpit
KEY_MAGNETO3_DECR MAGNETO3_DECR Decrease engine 3 magneto switch position Shared Cockpit
KEY_MAGNETO3_INCR MAGNETO3_INCR Increase engine 3 magneto switch position Shared Cockpit
KEY_MAGNETO4_DECR MAGNETO4_DECR Decrease engine 4 magneto switch position Shared Cockpit
KEY_MAGNETO4_INCR MAGNETO4_INCR Increase engine 4 magneto switch position Shared Cockpit
KEY_MAGNETO_SET Not supported Set engine magneto switches Shared Cockpit
KEY_MAGNETO1_SET MAGNETO1_SET Set engine 1 magneto switch Shared Cockpit
KEY_MAGNETO2_SET MAGNETO2_SET Set engine 2 magneto switch Shared Cockpit
KEY_MAGNETO3_SET MAGNETO3_SET Set engine 3 magneto switch Shared Cockpit
KEY_MAGNETO4_SET MAGNETO4_SET Set engine 4 magneto switch Shared Cockpit
KEY_ANTI_ICE_ON ANTI_ICE_ON Sets anti-ice switches on Shared Cockpit
KEY_ANTI_ICE_OFF ANTI_ICE_OFF Sets anti-ice switches off Shared Cockpit
KEY_ANTI_ICE_SET ANTI_ICE_SET Sets anti-ice switches from argument (0,1) Shared Cockpit
KEY_ANTI_ICE_TOGGLE ANTI_ICE_TOGGLE Toggle anti-ice switches Shared Cockpit
KEY_ANTI_ICE_TOGGLE_ENG1 ANTI_ICE_TOGGLE_ENG1 Toggle engine 1 anti-ice switch Shared Cockpit
KEY_ANTI_ICE_TOGGLE_ENG2 ANTI_ICE_TOGGLE_ENG2 Toggle engine 2 anti-ice switch Shared Cockpit
KEY_ANTI_ICE_TOGGLE_ENG3 ANTI_ICE_TOGGLE_ENG3 Toggle engine 3 anti-ice switch Shared Cockpit
KEY_ANTI_ICE_TOGGLE_ENG4 ANTI_ICE_TOGGLE_ENG4 Toggle engine 4 anti-ice switch Shared Cockpit
KEY_ANTI_ICE_SET_ENG1 ANTI_ICE_SET_ENG1 Sets engine 1 anti-ice switch (0,1) Shared Cockpit
KEY_ANTI_ICE_SET_ENG2 ANTI_ICE_SET_ENG2 Sets engine 2 anti-ice switch (0,1) Shared Cockpit
KEY_ANTI_ICE_SET_ENG3 ANTI_ICE_SET_ENG3 Sets engine 3 anti-ice switch (0,1) Shared Cockpit
KEY_ANTI_ICE_SET_ENG4 ANTI_ICE_SET_ENG4 Sets engine 4 anti-ice switch (0,1) Shared Cockpit
KEY_TOGGLE_FUEL_VALVE_ALL TOGGLE_FUEL_VALVE_ALL Toggle engine fuel valves Shared Cockpit
KEY_TOGGLE_FUEL_VALVE_ENG1 TOGGLE_FUEL_VALVE_ENG1 Toggle engine 1 fuel valve All aircraft
KEY_TOGGLE_FUEL_VALVE_ENG2 TOGGLE_FUEL_VALVE_ENG2 Toggle engine 2 fuel valve All aircraft
KEY_TOGGLE_FUEL_VALVE_ENG3 TOGGLE_FUEL_VALVE_ENG3 Toggle engine 3 fuel valve All aircraft
KEY_TOGGLE_FUEL_VALVE_ENG4 TOGGLE_FUEL_VALVE_ENG4 Toggle engine 4 fuel valve All aircraft
KEY_COWLFLAP1_SET COWLFLAP1_SET Sets engine 1 cowl flap lever position (0 to 16383) Shared Cockpit
KEY_COWLFLAP2_SET COWLFLAP2_SET Sets engine 2 cowl flap lever position (0 to 16383) Shared Cockpit
KEY_COWLFLAP3_SET COWLFLAP3_SET Sets engine 3 cowl flap lever position (0 to 16383) Shared Cockpit
KEY_COWLFLAP4_SET COWLFLAP4_SET Sets engine 4 cowl flap lever position (0 to 16383) Shared Cockpit
KEY_INC_COWL_FLAPS INC_COWL_FLAPS Increment cowl flap levers Shared Cockpit
KEY_DEC_COWL_FLAPS DEC_COWL_FLAPS Decrement cowl flap levers Shared Cockpit
KEY_INC_COWL_FLAPS1 INC_COWL_FLAPS1 Increment engine 1 cowl flap lever Shared Cockpit
KEY_DEC_COWL_FLAPS1 DEC_COWL_FLAPS1 Decrement engine 1 cowl flap lever Shared Cockpit
KEY_INC_COWL_FLAPS2 INC_COWL_FLAPS2 Increment engine 2 cowl flap lever Shared Cockpit
KEY_DEC_COWL_FLAPS2 DEC_COWL_FLAPS2 Decrement engine 2 cowl flap lever Shared Cockpit
KEY_INC_COWL_FLAPS3 INC_COWL_FLAPS3 Increment engine 3 cowl flap lever Shared Cockpit
KEY_DEC_COWL_FLAPS3 DEC_COWL_FLAPS3 Decrement engine 3 cowl flap lever Shared Cockpit
KEY_INC_COWL_FLAPS4 INC_COWL_FLAPS4 Increment engine 4 cowl flap lever Shared Cockpit
KEY_DEC_COWL_FLAPS4 DEC_COWL_FLAPS4 Decrement engine 4 cowl flap lever Shared Cockpit
KEY_FUEL_PUMP FUEL_PUMP Toggle electric fuel pumps Shared Cockpit
KEY_TOGGLE_ELECT_FUEL_PUMP TOGGLE_ELECT_FUEL_PUMP Toggle electric fuel pumps Shared Cockpit
KEY_TOGGLE_ELECT_FUEL_PUMP1 TOGGLE_ELECT_FUEL_PUMP1 Toggle engine 1 electric fuel pump All aircraft
KEY_TOGGLE_ELECT_FUEL_PUMP2 TOGGLE_ELECT_FUEL_PUMP2 Toggle engine 2 electric fuel pump All aircraft
KEY_TOGGLE_ELECT_FUEL_PUMP3 TOGGLE_ELECT_FUEL_PUMP3 Toggle engine 3 electric fuel pump All aircraft
KEY_TOGGLE_ELECT_FUEL_PUMP4 TOGGLE_ELECT_FUEL_PUMP4 Toggle engine 4 electric fuel pump All aircraft
KEY_ENGINE_PRIMER ENGINE_PRIMER Trigger engine primers Shared Cockpit
KEY_TOGGLE_PRIMER TOGGLE_PRIMER Trigger engine primers Shared Cockpit
KEY_TOGGLE_PRIMER1 TOGGLE_PRIMER1 Trigger engine 1 primer Shared Cockpit
KEY_TOGGLE_PRIMER2 TOGGLE_PRIMER2 Trigger engine 2 primer Shared Cockpit
KEY_TOGGLE_PRIMER3 TOGGLE_PRIMER3 Trigger engine 3 primer Shared Cockpit
KEY_TOGGLE_PRIMER4 TOGGLE_PRIMER4 Trigger engine 4 primer Shared Cockpit
KEY_TOGGLE_FEATHER_SWITCHES TOGGLE_FEATHER_SWITCHES Trigger propeller switches Shared Cockpit
KEY_TOGGLE_FEATHER_SWITCH_1 TOGGLE_FEATHER_SWITCH_1 Trigger propeller 1 switch Shared Cockpit
KEY_TOGGLE_FEATHER_SWITCH_2 TOGGLE_FEATHER_SWITCH_2 Trigger propeller 2 switch Shared Cockpit
KEY_TOGGLE_FEATHER_SWITCH_3 TOGGLE_FEATHER_SWITCH_3 Trigger propeller 3 switch Shared Cockpit
KEY_TOGGLE_FEATHER_SWITCH_4 TOGGLE_FEATHER_SWITCH_4 Trigger propeller 4 switch Shared Cockpit
KEY_TOGGLE_PROP_SYNC TOGGLE_PROPELLER_SYNC Turns propeller synchronization switch on Shared Cockpit
KEY_TOGGLE_ARM_AUTOFEATHER TOGGLE_AUTOFEATHER_ARM Turns auto-feather arming switch on. Shared Cockpit
KEY_TOGGLE_AFTERBURNER TOGGLE_AFTERBURNER Toggles afterburners Shared Cockpit
KEY_TOGGLE_AFTERBURNER1 TOGGLE_AFTERBURNER1 Toggles engine 1 afterburner Shared Cockpit
KEY_TOGGLE_AFTERBURNER2 TOGGLE_AFTERBURNER2 Toggles engine 2 afterburner Shared Cockpit
KEY_TOGGLE_AFTERBURNER3 TOGGLE_AFTERBURNER3 Toggles engine 3 afterburner Shared Cockpit
KEY_TOGGLE_AFTERBURNER4 TOGGLE_AFTERBURNER4 Toggles engine 4 afterburner Shared Cockpit
KEY_ENGINE ENGINE Sets engines for 1,2,3,4 selection (to be followed by SELECT_n) Shared Cockpit

Aircraft Flight Controls

Event ID
String Name
Description
Multiplayer
KEY_SPOILERS_TOGGLE SPOILERS_TOGGLE Toggles spoiler handle  All aircraft
KEY_FLAPS_UP FLAPS_UP Sets flap handle to full retract position All aircraft
KEY_FLAPS_1 FLAPS_1 Sets flap handle to first extension position All aircraft
KEY_FLAPS_2 FLAPS_2 Sets flap handle to second extension position All aircraft
KEY_FLAPS_3 FLAPS_3 Sets flap handle to third extension position All aircraft
KEY_FLAPS_DOWN FLAPS_DOWN Sets flap handle to full extension position All aircraft
KEY_ELEV_TRIM_DN ELEV_TRIM_DN Increments elevator trim down Shared Cockpit
KEY_ELEV_DOWN ELEV_DOWN Increments elevator down Shared Cockpit (Pilot only).
KEY_AILERONS_LEFT AILERONS_LEFT Increments ailerons left Shared Cockpit (Pilot only).
KEY_CENTER_AILER_RUDDER CENTER_AILER_RUDDER Centers aileron and rudder positions Shared Cockpit
KEY_AILERONS_RIGHT AILERONS_RIGHT Increments ailerons right Shared Cockpit (Pilot only).
KEY_ELEV_TRIM_UP ELEV_TRIM_UP Increment elevator trim up Shared Cockpit
KEY_ELEV_UP ELEV_UP Increments elevator up Shared Cockpit (Pilot only).
KEY_ELEVATOR_DOWN Unsupported Increments elevator down Shared Cockpit
KEY_ELEVATOR_UP Unsupported Increments elevator up Shared Cockpit
KEY_AILERON_LEFT Unsupported Increments ailerons left Shared Cockpit
KEY_AILERON_CENTER Unsupported Centers aileron position Shared Cockpit
KEY_AILERON_RIGHT Unsupported Increments ailerons right Shared Cockpit
KEY_RUDDER_LEFT RUDDER_LEFT Increments rudder left Shared Cockpit
KEY_RUDDER_CENTER RUDDER_CENTER Centers rudder position Shared Cockpit
KEY_RUDDER_RIGHT RUDDER_RIGHT Increments rudder right Shared Cockpit
KEY_ELEVATOR_SET ELEVATOR_SET Sets elevator position (-16383 - +16383) Shared Cockpit
KEY_AILERON_SET AILERON_SET Sets aileron position (-16383 - +16383) Shared Cockpit
KEY_RUDDER_SET RUDDER_SET Sets rudder position (-16383 - +16383) Shared Cockpit
KEY_FLAPS_INCR FLAPS_INCR Increments flap handle position All aircraft
KEY_FLAPS_DECR FLAPS_DECR Decrements flap handle position All aircraft
KEY_AXIS_ELEVATOR_SET AXIS_ELEVATOR_SET Sets elevator position (-16383 - +16383) Shared Cockpit (Pilot only, and not transmitted to Co-pilot)
KEY_AXIS_AILERONS_SET AXIS_AILERONS_SET Sets aileron position (-16383 - +16383) Shared Cockpit (Pilot only, and not transmitted to Co-pilot)
KEY_AXIS_RUDDER_SET AXIS_RUDDER_SET Sets rudder position (-16383 - +16383) Shared Cockpit (Pilot only, and not transmitted to Co-pilot)
KEY_AXIS_ELEV_TRIM_SET AXIS_ELEV_TRIM_SET Sets elevator trim position (-16383 - +16383) Shared Cockpit
KEY_SPOILERS_SET SPOILERS_SET Sets spoiler handle position (0 to 16383) All aircraft
KEY_SPOILERS_ARM_TOGGLE SPOILERS_ARM_TOGGLE Toggles arming of auto-spoilers All aircraft
KEY_SPOILERS_ON SPOILERS_ON Sets spoiler handle to full extend position All aircraft
KEY_SPOILERS_OFF SPOILERS_OFF Sets spoiler handle to full retract position All aircraft
KEY_SPOILERS_ARM_ON SPOILERS_ARM_ON Sets auto-spoiler arming on All aircraft
KEY_SPOILERS_ARM_OFF SPOILERS_ARM_OFF Sets auto-spoiler arming off All aircraft
KEY_SPOILERS_ARM_SET SPOILERS_ARM_SET Sets auto-spoiler arming (0,1) All aircraft
KEY_AILERON_TRIM_LEFT AILERON_TRIM_LEFT Increments aileron trim left Shared Cockpit
KEY_AILERON_TRIM_RIGHT AILERON_TRIM_RIGHT Increments aileron trim right Shared Cockpit
KEY_RUDDER_TRIM_LEFT RUDDER_TRIM_LEFT Increments rudder trim left Shared Cockpit
KEY_RUDDER_TRIM_RIGHT RUDDER_TRIM_RIGHT Increments aileron trim right Shared Cockpit
KEY_AXIS_SPOILER_SET AXIS_SPOILER_SET Sets spoiler handle position (-16383 - +16383) All aircraft
KEY_FLAPS_SET FLAPS_SET Sets flap handle to closest increment (0 to 16383) All aircraft
KEY_ELEVATOR_TRIM_SET ELEVATOR_TRIM_SET Sets elevator trim position (0 to 16383) Shared Cockpit
KEY_AXIS_FLAPS_SET AXIS_FLAPS_SET Sets flap handle to closest increment (-16383 - +16383) Shared Cockpit

Aircraft Automatic Flight Systems / Autopilot

Event ID
String Name
Description
Multiplayer
KEY_AP_MASTER AP_MASTER Toggles AP on/off Shared Cockpit
KEY_AUTOPILOT_OFF AUTOPILOT_OFF Turns AP off Shared Cockpit
KEY_AUTOPILOT_ON AUTOPILOT_ON Turns AP on Shared Cockpit
KEY_YAW_DAMPER_TOGGLE YAW_DAMPER_TOGGLE Toggles yaw damper on/off Shared Cockpit
KEY_AP_PANEL_HEADING_HOLD AP_PANEL_HEADING_HOLD Toggles heading hold mode on/off Shared Cockpit
KEY_AP_PANEL_ALTITUDE_HOLD AP_PANEL_ALTITUDE_HOLD Toggles altitude hold mode on/off Shared Cockpit
KEY_AP_ATT_HOLD_ON AP_ATT_HOLD_ON Turns on AP wing leveler and pitch hold mode Shared Cockpit
KEY_AP_LOC_HOLD_ON AP_LOC_HOLD_ON Turns AP localizer hold on/armed and glide-slope hold mode off Shared Cockpit
KEY_AP_APR_HOLD_ON AP_APR_HOLD_ON Turns both AP localizer and glide-slope modes on/armed Shared Cockpit
KEY_AP_HDG_HOLD_ON AP_HDG_HOLD_ON Turns heading hold mode on Shared Cockpit
KEY_AP_ALT_HOLD_ON AP_ALT_HOLD_ON Turns altitude hold mode on Shared Cockpit
KEY_AP_WING_LEVELER_ON AP_WING_LEVELER_ON Turns wing leveler mode on Shared Cockpit
KEY_AP_BC_HOLD_ON AP_BC_HOLD_ON Turns localizer back course hold mode on/armed Shared Cockpit
KEY_AP_NAV1_HOLD_ON AP_NAV1_HOLD_ON Turns lateral hold mode on Shared Cockpit
KEY_AP_ATT_HOLD_OFF AP_ATT_HOLD_OFF Turns off attitude hold mode Shared Cockpit
KEY_AP_LOC_HOLD_OFF AP_LOC_HOLD_OFF Turns off localizer hold mode Shared Cockpit
KEY_AP_APR_HOLD_OFF AP_APR_HOLD_OFF Turns off approach hold mode Shared Cockpit
KEY_AP_HDG_HOLD_OFF AP_HDG_HOLD_OFF Turns off heading hold mode Shared Cockpit
KEY_AP_ALT_HOLD_OFF AP_ALT_HOLD_OFF Turns off altitude hold mode Shared Cockpit
KEY_AP_WING_LEVELER_OFF AP_WING_LEVELER_OFF Turns off wing leveler mode Shared Cockpit
KEY_AP_BC_HOLD_OFF AP_BC_HOLD_OFF Turns off backcourse mode for localizer hold Shared Cockpit
KEY_AP_NAV1_HOLD_OFF AP_NAV1_HOLD_OFF Turns off nav hold mode Shared Cockpit
KEY_AP_AIRSPEED_HOLD AP_AIRSPEED_HOLD Toggles airspeed hold mode Shared Cockpit
KEY_AUTO_THROTTLE_ARM AUTO_THROTTLE_ARM Toggles autothrottle arming mode Shared Cockpit
KEY_AUTO_THROTTLE_TO_GA AUTO_THROTTLE_TO_GA Toggles Takeoff/Go Around mode Shared Cockpit
KEY_HEADING_BUG_INC HEADING_BUG_INC Increments heading hold reference bug Shared Cockpit
KEY_HEADING_BUG_DEC HEADING_BUG_DEC Decrements heading hold reference bug Shared Cockpit
KEY_HEADING_BUG_SET HEADING_BUG_SET Set heading hold reference bug (degrees) Shared Cockpit
KEY_AP_PANEL_SPEED_HOLD AP_PANEL_SPEED_HOLD Toggles airspeed hold mode Shared Cockpit
KEY_AP_ALT_VAR_INC AP_ALT_VAR_INC Increments reference altitude Shared Cockpit
KEY_AP_ALT_VAR_DEC AP_ALT_VAR_DEC Decrements reference altitude Shared Cockpit
KEY_AP_VS_VAR_INC AP_VS_VAR_INC Increments vertical speed reference Shared Cockpit
KEY_AP_VS_VAR_DEC AP_VS_VAR_DEC Decrements vertical speed reference Shared Cockpit
KEY_AP_SPD_VAR_INC AP_SPD_VAR_INC Increments airspeed hold reference Shared Cockpit
KEY_AP_SPD_VAR_DEC AP_SPD_VAR_DEC Decrements airspeed hold reference Shared Cockpit
KEY_AP_PANEL_MACH_HOLD AP_PANEL_MACH_HOLD Toggles mach hold Shared Cockpit
KEY_AP_MACH_VAR_INC AP_MACH_VAR_INC Increments reference mach Shared Cockpit
KEY_AP_MACH_VAR_DEC AP_MACH_VAR_DEC Decrements reference mach Shared Cockpit
KEY_AP_MACH_HOLD AP_MACH_HOLD Toggles mach hold Shared Cockpit
KEY_AP_ALT_VAR_SET_METRIC AP_ALT_VAR_SET_METRIC Sets reference altitude in meters Shared Cockpit
KEY_AP_VS_VAR_SET_ENGLISH AP_VS_VAR_SET_ENGLISH Sets reference vertical speed in feet per minute Shared Cockpit
KEY_AP_SPD_VAR_SET AP_SPD_VAR_SET Sets airspeed reference in knots Shared Cockpit
KEY_AP_MACH_VAR_SET AP_MACH_VAR_SET Sets mach reference Shared Cockpit
KEY_YAW_DAMPER_ON YAW_DAMPER_ON Turns yaw damper on Shared Cockpit
KEY_YAW_DAMPER_OFF YAW_DAMPER_OFF Turns yaw damper off Shared Cockpit
KEY_YAW_DAMPER_SET YAW_DAMPER_SET Sets yaw damper on/off (1,0) Shared Cockpit
KEY_AP_AIRSPEED_ON AP_AIRSPEED_ON Turns airspeed hold on Shared Cockpit
KEY_AP_AIRSPEED_OFF AP_AIRSPEED_OFF Turns airspeed hold off Shared Cockpit
KEY_AP_AIRSPEED_SET AP_AIRSPEED_SET Sets airspeed hold on/off (1,0) Shared Cockpit
KEY_AP_MACH_ON AP_MACH_ON Turns mach hold on Shared Cockpit
KEY_AP_MACH_OFF AP_MACH_OFF Turns mach hold off Shared Cockpit
KEY_AP_MACH_SET AP_MACH_SET Sets mach hold on/off (1,0) Shared Cockpit
KEY_AP_PANEL_ALTITUDE_ON AP_PANEL_ALTITUDE_ON Turns altitude hold mode on (without capturing current altitude) Shared Cockpit
KEY_AP_PANEL_ALTITUDE_OFF AP_PANEL_ALTITUDE_OFF Turns altitude hold mode off Shared Cockpit
KEY_AP_PANEL_ALTITUDE_SET AP_PANEL_ALTITUDE_SET Sets altitude hold mode on/off (1,0) Shared Cockpit
KEY_AP_PANEL_HEADING_ON AP_PANEL_HEADING_ON Turns heading mode on (without capturing current heading) Shared Cockpit
KEY_AP_PANEL_HEADING_OFF AP_PANEL_HEADING_OFF Turns heading mode off Shared Cockpit
KEY_AP_PANEL_HEADING_SET AP_PANEL_HEADING_SET Set heading mode on/off (1,0) Shared Cockpit
KEY_AP_PANEL_MACH_ON AP_PANEL_MACH_ON Turns on mach hold Shared Cockpit
KEY_AP_PANEL_MACH_OFF AP_PANEL_MACH_OFF Turns off mach hold Shared Cockpit
KEY_AP_PANEL_MACH_SET AP_PANEL_MACH_SET Sets mach hold on/off (1,0) Shared Cockpit
KEY_AP_PANEL_SPEED_ON AP_PANEL_SPEED_ON Turns on speed hold mode Shared Cockpit
KEY_AP_PANEL_SPEED_OFF AP_PANEL_SPEED_OFF Turns off speed hold mode Shared Cockpit
KEY_AP_PANEL_SPEED_SET AP_PANEL_SPEED_SET Set speed hold mode on/off (1,0) Shared Cockpit
KEY_AP_ALT_VAR_SET_ENGLISH AP_ALT_VAR_SET_ENGLISH Sets altitude reference in feet Shared Cockpit
KEY_AP_VS_VAR_SET_METRIC AP_VS_VAR_SET_METRIC Sets vertical speed reference in meters per minute Shared Cockpit
KEY_TOGGLE_FLIGHT_DIRECTOR TOGGLE_FLIGHT_DIRECTOR Toggles flight director on/off Shared Cockpit
KEY_SYNC_FLIGHT_DIRECTOR_PITCH SYNC_FLIGHT_DIRECTOR_PITCH Synchronizes flight director pitch with current aircraft pitch Shared Cockpit
KEY_INC_AUTOBRAKE_CONTROL INCREASE_AUTOBRAKE_CONTROL Increments autobrake level Shared Cockpit
KEY_DEC_AUTOBRAKE_CONTROL DECREASE_AUTOBRAKE_CONTROL Decrements autobrake level Shared Cockpit
KEY_AUTOPILOT_AIRSPEED_HOLD_CURRENT AP_PANEL_SPEED_HOLD_TOGGLE Turns airspeed hold mode on with current airspeed Shared Cockpit
KEY_AUTOPILOT_PANEL_AIRSPEED_SET Unsupported Sets airspeed reference to current airspeed Shared Cockpit
KEY_AUTOPILOT_MACH_HOLD_CURRENT AP_PANEL_MACH_HOLD_TOGGLE Sets mach hold reference to current mach Shared Cockpit
KEY_AP_NAV_SELECT_SET AP_NAV_SELECT_SET Sets the nav (1 or 2) which is used by the Nav hold modes Shared Cockpit
KEY_HEADING_BUG_SELECT HEADING_BUG_SELECT Selects the heading bug for use with +/- Shared Cockpit
KEY_ALTITUDE_BUG_SELECT ALTITUDE_BUG_SELECT Selects the altitude reference for use with +/- Shared Cockpit
KEY_VSI_BUG_SELECT VSI_BUG_SELECT Selects the vertical speed reference for use with +/- Shared Cockpit
KEY_AIRSPEED_BUG_SELECT AIRSPEED_BUG_SELECT Selects the airspeed reference for use with +/- Shared Cockpit
KEY_AP_PITCH_REF_INC_UP AP_PITCH_REF_INC_UP Increments the pitch reference for pitch hold mode Shared Cockpit
KEY_AP_PITCH_REF_INC_DN AP_PITCH_REF_INC_DN Decrements the pitch reference for pitch hold mode Shared Cockpit
KEY_AP_PITCH_REF_SELECT AP_PITCH_REF_SELECT Selects pitch reference for use with +/- Shared Cockpit
KEY_AP_ATT_HOLD AP_ATT_HOLD Toggle attitude hold mode Shared Cockpit
KEY_AP_LOC_HOLD AP_LOC_HOLD Toggles localizer (only) hold mode Shared Cockpit
KEY_AP_APR_HOLD AP_APR_HOLD Toggles approach hold (localizer and glide-slope) Shared Cockpit
KEY_AP_HDG_HOLD AP_HDG_HOLD Toggles heading hold mode Shared Cockpit
KEY_AP_ALT_HOLD AP_ALT_HOLD Toggles altitude hold mode Shared Cockpit
KEY_AP_WING_LEVELER AP_WING_LEVELER Toggles wing leveler mode Shared Cockpit
KEY_AP_BC_HOLD AP_BC_HOLD Toggles the backcourse mode for the localizer hold Shared Cockpit
KEY_AP_NAV1_HOLD AP_NAV1_HOLD Toggles the nav hold mode Shared Cockpit
KEY_AP_MAX_BANK_INC AP_MAX_BANK_INC Autopilot max bank angle increment. Shared Cockpit
KEY_AP_MAX_BANK_DEC AP_MAX_BANK_DEC Autopilot max bank angle decrement. Shared Cockpit
KEY_AP_N1_HOLD AP_N1_HOLD Autopilot, hold the N1 percentage at its current level. Shared Cockpit
KEY_AP_N1_REF_INC AP_N1_REF_INC Increment the autopilot N1 reference. Shared Cockpit
KEY_AP_N1_REF_DEC AP_N1_REF_DEC Decrement the autopilot N1 reference. Shared Cockpit
KEY_AP_N1_REF_SET AP_N1_REF_SET Sets the autopilot N1 reference. Shared Cockpit
KEY_FLY_BY_WIRE_ELAC_TOGGLE FLY_BY_WIRE_ELAC_TOGGLE Turn on or off the fly by wire Elevators and Ailerons computer. Shared Cockpit
KEY_FLY_BY_WIRE_FAC_TOGGLE FLY_BY_WIRE_FAC_TOGGLE Turn on or off the fly by wire Flight Augmentation computer. Shared Cockpit
KEY_FLY_BY_WIRE_SEC_TOGGLE FLY_BY_WIRE_SEC_TOGGLE Turn on or off the fly by wire Spoilers and Elevators computer. Shared Cockpit
G1000 Keys (Primary Flight Display) +
     
KEY_G1000_PFD_FLIGHTPLAN_BUTTON G1000_PFD_FLIGHTPLAN_BUTTON The primary flight display (PFD) should display its current flight plan. Shared Cockpit
KEY_G1000_PFD_PROCEDURE_BUTTON G1000_PFD_PROCEDURE_BUTTON Turn to the Procedure page. Shared Cockpit
KEY_G1000_PFD_ZOOMIN_BUTTON G1000_PFD_ZOOMIN_BUTTON Zoom in on the current map. Shared Cockpit
KEY_G1000_PFD_ZOOMOUT_BUTTON G1000_PFD_ZOOMOUT_BUTTON Zoom out on the current map. Shared Cockpit
KEY_G1000_PFD_DIRECTTO_BUTTON G1000_PFD_DIRECTTO_BUTTON Turn to the Direct To page. Shared Cockpit
KEY_G1000_PFD_MENU_BUTTON G1000_PFD_MENU_BUTTON If a segmented flight plan is highlighted, activates the associated menu. Shared Cockpit
KEY_G1000_PFD_CLEAR_BUTTON G1000_PFD_CLEAR_BUTTON Clears the current input. Shared Cockpit
KEY_G1000_PFD_ENTER_BUTTON G1000_PFD_ENTER_BUTTON Enters the current input. Shared Cockpit
KEY_G1000_PFD_CURSOR_BUTTON G1000_PFD_CURSOR_BUTTON Turns on or off a screen cursor. Shared Cockpit
KEY_G1000_PFD_GROUP_KNOB_INC G1000_PFD_GROUP_KNOB_INC Step up through the page groups. Shared Cockpit
KEY_G1000_PFD_GROUP_KNOB_DEC G1000_PFD_GROUP_KNOB_DEC Step down through the page groups. Shared Cockpit
KEY_G1000_PFD_PAGE_KNOB_INC G1000_PFD_PAGE_KNOB_INC Step up through the individual pages. Shared Cockpit
KEY_G1000_PFD_PAGE_KNOB_DEC G1000_PFD_PAGE_KNOB_DEC Step down through the individual pages. Shared Cockpit
KEY_G1000_PFD_SOFTKEY1, to
+ + KEY_G1000_PFD_SOFTKEY12
G1000_PFD_SOFTKEY1, to
+ G1000_PFD_SOFTKEY12
Initiate the action for the icon displayed in the softkey position. Shared Cockpit
G1000 (Multi-function Display) +
     
KEY_G1000_MFD_FLIGHTPLAN_BUTTON G1000_MFD_FLIGHTPLAN_BUTTON The multifunction display (MFD) should display its current flight plan. Shared Cockpit
KEY_G1000_MFD_PROCEDURE_BUTTON G1000_MFD_PROCEDURE_BUTTON Turn to the Procedure page. Shared Cockpit
KEY_G1000_MFD_ZOOMIN_BUTTON G1000_MFD_ZOOMIN_BUTTON Zoom in on the current map. Shared Cockpit
KEY_G1000_MFD_ZOOMOUT_BUTTON G1000_MFD_ZOOMOUT_BUTTON Zoom out on the current map. Shared Cockpit
KEY_G1000_MFD_DIRECTTO_BUTTON G1000_MFD_DIRECTTO_BUTTON Turn to the Direct To page. Shared Cockpit
KEY_G1000_MFD_MENU_BUTTON G1000_MFD_MENU_BUTTON If a segmented flight plan is highlighted, activates the associated menu. Shared Cockpit
KEY_G1000_MFD_CLEAR_BUTTON G1000_MFD_CLEAR_BUTTON Clears the current input. Shared Cockpit
KEY_G1000_MFD_ENTER_BUTTON G1000_MFD_ENTER_BUTTON Enters the current input. Shared Cockpit
KEY_G1000_MFD_CURSOR_BUTTON G1000_MFD_CURSOR_BUTTON Turns on or off a screen cursor. Shared Cockpit
KEY_G1000_MFD_GROUP_KNOB_INC G1000_MFD_GROUP_KNOB_INC Step up through the page groups. Shared Cockpit
KEY_G1000_MFD_GROUP_KNOB_DEC G1000_MFD_GROUP_KNOB_DEC Step down through the page groups. Shared Cockpit
KEY_G1000_MFD_PAGE_KNOB_INC G1000_MFD_PAGE_KNOB_INC Step up through the individual pages. Shared Cockpit
KEY_G1000_MFD_PAGE_KNOB_DEC G1000_MFD_PAGE_KNOB_DEC Step down through the individual pages. Shared Cockpit
KEY_G1000_MFD_SOFTKEY1, to
+ KEY_G1000_MFD_SOFTKEY12
G1000_MFD_SOFTKEY1, to
+ G1000_MFD_SOFTKEY2
Initiate the action for the icon displayed in the softkey position. Shared Cockpit

Aircraft Fuel System

Event ID
String Name
Description
Multiplayer
KEY_FUEL_SELECTOR_OFF FUEL_SELECTOR_OFF Turns selector 1 to OFF position Shared Cockpit
KEY_FUEL_SELECTOR_ALL FUEL_SELECTOR_ALL Turns selector 1 to ALL position Shared Cockpit
KEY_FUEL_SELECTOR_LEFT FUEL_SELECTOR_LEFT Turns selector 1 to LEFT position (burns from tip then aux then main) Shared Cockpit
KEY_FUEL_SELECTOR_RIGHT FUEL_SELECTOR_RIGHT Turns selector 1 to RIGHT position (burns from tip then aux then main) Shared Cockpit
KEY_FUEL_SELECTOR_LEFT_AUX FUEL_SELECTOR_LEFT_AUX Turns selector 1 to LEFT AUX position Shared Cockpit
KEY_FUEL_SELECTOR_RIGHT_AUX FUEL_SELECTOR_RIGHT_AUX Turns selector 1 to RIGHT AUX position Shared Cockpit
KEY_FUEL_SELECTOR_CENTER FUEL_SELECTOR_CENTER Turns selector 1 to CENTER position Shared Cockpit
KEY_FUEL_SELECTOR_SET FUEL_SELECTOR_SET Sets selector 1 position (see code list below) Shared Cockpit
KEY_FUEL_SELECTOR_2_OFF FUEL_SELECTOR_2_OFF Turns selector 2 to OFF position Shared Cockpit
KEY_FUEL_SELECTOR_2_ALL FUEL_SELECTOR_2_ALL Turns selector 2 to ALL position Shared Cockpit
KEY_FUEL_SELECTOR_2_LEFT FUEL_SELECTOR_2_LEFT Turns selector 2 to LEFT position (burns from tip then aux then main) Shared Cockpit
KEY_FUEL_SELECTOR_2_RIGHT FUEL_SELECTOR_2_RIGHT Turns selector 2 to RIGHT position (burns from tip then aux then main) Shared Cockpit
KEY_FUEL_SELECTOR_2_LEFT_AUX FUEL_SELECTOR_2_LEFT_AUX Turns selector 2 to LEFT AUX position Shared Cockpit
KEY_FUEL_SELECTOR_2_RIGHT_AUX FUEL_SELECTOR_2_RIGHT_AUX Turns selector 2 to RIGHT AUX position Shared Cockpit
KEY_FUEL_SELECTOR_2_CENTER FUEL_SELECTOR_2_CENTER Turns selector 2 to CENTER position Shared Cockpit
KEY_FUEL_SELECTOR_2_SET FUEL_SELECTOR_2_SET Sets selector 2 position (see code list below) Shared Cockpit
KEY_FUEL_SELECTOR_3_OFF FUEL_SELECTOR_3_OFF Turns selector 3 to OFF position Shared Cockpit
KEY_FUEL_SELECTOR_3_ALL FUEL_SELECTOR_3_ALL Turns selector 3 to ALL position Shared Cockpit
KEY_FUEL_SELECTOR_3_LEFT FUEL_SELECTOR_3_LEFT Turns selector 3 to LEFT position (burns from tip then aux then main) Shared Cockpit
KEY_FUEL_SELECTOR_3_RIGHT FUEL_SELECTOR_3_RIGHT Turns selector 3 to RIGHT position (burns from tip then aux then main) Shared Cockpit
KEY_FUEL_SELECTOR_3_LEFT_AUX FUEL_SELECTOR_3_LEFT_AUX Turns selector 3 to LEFT AUX position Shared Cockpit
KEY_FUEL_SELECTOR_3_RIGHT_AUX FUEL_SELECTOR_3_RIGHT_AUX Turns selector 3 to RIGHT AUX position Shared Cockpit
KEY_FUEL_SELECTOR_3_CENTER FUEL_SELECTOR_3_CENTER Turns selector 3 to CENTER position Shared Cockpit
KEY_FUEL_SELECTOR_3_SET FUEL_SELECTOR_3_SET Sets selector 3 position (see code list below) Shared Cockpit
KEY_FUEL_SELECTOR_4_OFF FUEL_SELECTOR_4_OFF Turns selector 4 to OFF position Shared Cockpit
KEY_FUEL_SELECTOR_4_ALL FUEL_SELECTOR_4_ALL Turns selector 4 to ALL position Shared Cockpit
KEY_FUEL_SELECTOR_4_LEFT FUEL_SELECTOR_4_LEFT Turns selector 4 to LEFT position (burns from tip then aux then main) Shared Cockpit
KEY_FUEL_SELECTOR_4_RIGHT FUEL_SELECTOR_4_RIGHT Turns selector 4 to RIGHT position (burns from tip then aux then main) Shared Cockpit
KEY_FUEL_SELECTOR_4_LEFT_AUX FUEL_SELECTOR_4_LEFT_AUX Turns selector 4 to LEFT AUX position Shared Cockpit
KEY_FUEL_SELECTOR_4_RIGHT_AUX FUEL_SELECTOR_4_RIGHT_AUX Turns selector 4 to RIGHT AUX position Shared Cockpit
KEY_FUEL_SELECTOR_4_CENTER FUEL_SELECTOR_4_CENTER Turns selector 4 to CENTER position Shared Cockpit
KEY_FUEL_SELECTOR_4_SET FUEL_SELECTOR_4_SET Sets selector 4 position (see code list below) Shared Cockpit
KEY_CROSS_FEED_OPEN CROSS_FEED_OPEN Opens cross feed valve (when used in conjunction with "isolate" tank) Shared Cockpit
KEY_CROSS_FEED_TOGGLE CROSS_FEED_TOGGLE Toggles crossfeed valve (when used in conjunction with "isolate" tank) Shared Cockpit
KEY_CROSS_FEED_OFF CROSS_FEED_OFF Closes crossfeed valve (when used in conjunction with "isolate" tank) Shared Cockpit
KEY_FUEL_DUMP_SWITCH_SET FUEL_DUMP_SWITCH_SET Set to True or False. The switch can only be set to True if fuel_dump_rate is specified in the aircraft configuration file, which indicates that a fuel dump system exists. + Shared Cockpit
KEY_TOGGLE_ANTIDETONATION_TANK_VALVE ANTIDETONATION_TANK_VALVE_TOGGLE Toggle the antidetonation valve. Pass a value to determine which tank, if there are multiple tanks, to use. Tanks are indexed from 1. Refer to the document Notes on Aircraft Systems. Shared Cockpit
KEY_TOGGLE_NITROUS_TANK_VALVE NITROUS_TANK_VALVE_TOGGLE Toggle the nitrous valve. Pass a value to determine which tank, if there are multiple tanks, to use. Tanks are indexed from 1. Shared Cockpit
KEY_REPAIR_AND_REFUEL REPAIR_AND_REFUEL Fully repair and refuel the user aircraft. Ignored if flight realism is + enforced. Shared Cockpit
KEY_FUEL_DUMP_TOGGLE FUEL_DUMP_TOGGLE Turns on or off the fuel dump switch. Shared Cockpit
KEY_REQUEST_FUEL REQUEST_FUEL_KEY Request a fuel truck. The aircraft must be in a parking spot for this to be + successful. Shared Cockpit
Fuel Selection Keys +
     
KEY_FUEL_SELECTOR_LEFT_MAIN FUEL_SELECTOR_LEFT_MAIN Sets the fuel selector. Fuel will be taken in the order left tip, left aux, + then main fuel tanks. Shared Cockpit
KEY_FUEL_SELECTOR_2_LEFT_MAIN FUEL_SELECTOR_2_LEFT_MAIN Sets the fuel selector for engine 2. Shared Cockpit
KEY_FUEL_SELECTOR_3_LEFT_MAIN FUEL_SELECTOR_3_LEFT_MAIN Sets the fuel selector for engine 3. Shared Cockpit
KEY_FUEL_SELECTOR_4_LEFT_MAIN FUEL_SELECTOR_4_LEFT_MAIN Sets the fuel selector for engine 4. Shared Cockpit
KEY_FUEL_SELECTOR_RIGHT_MAIN FUEL_SELECTOR_RIGHT_MAIN Sets the fuel selector. Fuel will be taken in the order right tip, right aux, + then main fuel tanks. Shared Cockpit
KEY_FUEL_SELECTOR_2_RIGHT_MAIN FUEL_SELECTOR_2_RIGHT_MAIN Sets the fuel selector for engine 2. Shared Cockpit
KEY_FUEL_SELECTOR_3_RIGHT_MAIN FUEL_SELECTOR_3_RIGHT_MAIN Sets the fuel selector for engine 3. Shared Cockpit
KEY_FUEL_SELECTOR_4_RIGHT_MAIN FUEL_SELECTOR_4_RIGHT_MAIN Sets the fuel selector for engine 4. Shared Cockpit

Fuel selector codes

FUEL_TANK_SELECTOR_OFF = 0 +
FUEL_TANK_SELECTOR_ALL = 1 +
FUEL_TANK_SELECTOR_LEFT = 2 +
FUEL_TANK_SELECTOR_RIGHT = 3 +
FUEL_TANK_SELECTOR_LEFT_AUX = 4 +
FUEL_TANK_SELECTOR_RIGHT_AUX = 5 +
FUEL_TANK_SELECTOR_CENTER = 6 +
FUEL_TANK_SELECTOR_CENTER2 = 7 +
FUEL_TANK_SELECTOR_CENTER3 = 8 +
FUEL_TANK_SELECTOR_EXTERNAL1 = 9 +
FUEL_TANK_SELECTOR_EXTERNAL2 = 10 +
FUEL_TANK_SELECTOR_RIGHT_TIP = 11 +
FUEL_TANK_SELECTOR_LEFT_TIP = 12 +
FUEL_TANK_SELECTOR_CROSSFEED = 13 +
FUEL_TANK_SELECTOR_CROSSFEED_L2R = 14
FUEL_TANK_SELECTOR_CROSSFEED_R2L = 15
FUEL_TANK_SELECTOR_BOTH = 16 +
FUEL_TANK_SELECTOR_EXTERNAL_ALL = 17 +
FUEL_TANK_SELECTOR_ISOLATE = 18 +

Aircraft Avionics

Event ID
String Name
Description
Multiplayer
KEY_XPNDR XPNDR Sequentially selects the transponder digits for use with +/-. Shared Cockpit
KEY_ADF ADF Sequentially selects the ADF tuner digits for use with +/-. Follow by + KEY_SELECT_2 for ADF 2. Shared Cockpit
KEY_DME DME Selects the DME for use with +/- Shared Cockpit
KEY_COM_RADIO COM_RADIO Sequentially selects the COM tuner digits for use with +/-. Follow by + KEY_SELECT_2 for COM 2. All aircraft
KEY_VOR_OBS VOR_OBS Sequentially selects the VOR OBS for use with +/-. Follow by KEY_SELECT_2 for + VOR 2. Shared Cockpit
KEY_NAV_RADIO NAV_RADIO Sequentially selects the NAV tuner digits for use with +/-. Follow by + KEY_SELECT_2 for NAV 2. Shared Cockpit
KEY_COM_RADIO_WHOLE_DEC COM_RADIO_WHOLE_DEC Decrements COM by one MHz All aircraft
KEY_COM_RADIO_WHOLE_INC COM_RADIO_WHOLE_INC Increments COM by one MHz All aircraft
KEY_COM_RADIO_FRACT_DEC COM_RADIO_FRACT_DEC Decrements COM by 25 KHz All aircraft
KEY_COM_RADIO_FRACT_INC COM_RADIO_FRACT_INC Increments COM by 25 KHz All aircraft
KEY_NAV1_RADIO_WHOLE_DEC NAV1_RADIO_WHOLE_DEC Decrements Nav 1 by one MHz Shared Cockpit
KEY_NAV1_RADIO_WHOLE_INC NAV1_RADIO_WHOLE_INC Increments Nav 1 by one MHz Shared Cockpit
KEY_NAV1_RADIO_FRACT_DEC NAV1_RADIO_FRACT_DEC Decrements Nav 1 by 25 KHz Shared Cockpit
KEY_NAV1_RADIO_FRACT_INC NAV1_RADIO_FRACT_INC Increments Nav 1 by 25 KHz Shared Cockpit
KEY_NAV2_RADIO_WHOLE_DEC NAV2_RADIO_WHOLE_DEC Decrements Nav 2 by one MHz Shared Cockpit
KEY_NAV2_RADIO_WHOLE_INC NAV2_RADIO_WHOLE_INC Increments Nav 2 by one MHz Shared Cockpit
KEY_NAV2_RADIO_FRACT_DEC NAV2_RADIO_FRACT_DEC Decrements Nav 2 by 25 KHz Shared Cockpit
KEY_NAV2_RADIO_FRACT_INC NAV2_RADIO_FRACT_INC Increments Nav 2 by 25 KHz Shared Cockpit
KEY_ADF_100_INC ADF_100_INC Increments ADF by 100 KHz Shared Cockpit
KEY_ADF_10_INC ADF_10_INC Increments ADF by 10 KHz Shared Cockpit
KEY_ADF_1_INC ADF_1_INC Increments ADF by 1 KHz Shared Cockpit
KEY_XPNDR_1000_INC XPNDR_1000_INC Increments first digit of transponder Shared Cockpit
KEY_XPNDR_100_INC XPNDR_100_INC Increments second digit of transponder Shared Cockpit
KEY_XPNDR_10_INC XPNDR_10_INC Increments third digit of transponder Shared Cockpit
KEY_XPNDR_1_INC XPNDR_1_INC Increments fourth digit of transponder Shared Cockpit
KEY_VOR1_OBI_DEC VOR1_OBI_DEC Decrements the VOR 1 OBS setting Shared Cockpit
KEY_VOR1_OBI_INC VOR1_OBI_INC Increments the VOR 1 OBS setting Shared Cockpit
KEY_VOR2_OBI_DEC VOR2_OBI_DEC Decrements the VOR 2 OBS setting Shared Cockpit
KEY_VOR2_OBI_INC VOR2_OBI_INC Increments the VOR 2 OBS setting Shared Cockpit
KEY_ADF_100_DEC ADF_100_DEC Decrements ADF by 100 KHz Shared Cockpit
KEY_ADF_10_DEC ADF_10_DEC Decrements ADF by 10 KHz Shared Cockpit
KEY_ADF_1_DEC ADF_1_DEC Decrements ADF by 1 KHz Shared Cockpit
KEY_COM_RADIO_SET COM_RADIO_SET Sets COM frequency (BCD Hz) All aircraft
KEY_NAV1_RADIO_SET NAV1_RADIO_SET Sets NAV 1 frequency (BCD Hz) Shared Cockpit
KEY_NAV2_RADIO_SET NAV2_RADIO_SET Sets NAV 2 frequency (BCD Hz) Shared Cockpit
KEY_ADF_SET ADF_SET Sets ADF frequency (BCD Hz) Shared Cockpit
KEY_XPNDR_SET XPNDR_SET Sets transponder code (BCD) All aircraft
KEY_VOR1_SET VOR1_SET Sets OBS 1 (0 to 360) Shared Cockpit
KEY_VOR2_SET VOR2_SET Sets OBS 2 (0 to 360) Shared Cockpit
KEY_DME1_TOGGLE DME1_TOGGLE Sets DME display to Nav 1 Shared Cockpit
KEY_DME2_TOGGLE DME2_TOGGLE Sets DME display to Nav 2 Shared Cockpit
KEY_RADIO_VOR1_IDENT_DISABLE RADIO_VOR1_IDENT_DISABLE Turns NAV 1 ID off Shared Cockpit
KEY_RADIO_VOR2_IDENT_DISABLE RADIO_VOR2_IDENT_DISABLE Turns NAV 2 ID off Shared Cockpit
KEY_RADIO_DME1_IDENT_DISABLE RADIO_DME1_IDENT_DISABLE Turns DME 1 ID off Shared Cockpit
KEY_RADIO_DME2_IDENT_DISABLE RADIO_DME2_IDENT_DISABLE Turns DME 2 ID off Shared Cockpit
KEY_RADIO_ADF_IDENT_DISABLE RADIO_ADF_IDENT_DISABLE Turns ADF 1 ID off Shared Cockpit
KEY_RADIO_VOR1_IDENT_ENABLE RADIO_VOR1_IDENT_ENABLE Turns NAV 1 ID on Shared Cockpit
KEY_RADIO_VOR2_IDENT_ENABLE RADIO_VOR2_IDENT_ENABLE Turns NAV 2 ID on Shared Cockpit
KEY_RADIO_DME1_IDENT_ENABLE RADIO_DME1_IDENT_ENABLE Turns DME 1 ID on Shared Cockpit
KEY_RADIO_DME2_IDENT_ENABLE RADIO_DME2_IDENT_ENABLE Turns DME 2 ID on Shared Cockpit
KEY_RADIO_ADF_IDENT_ENABLE RADIO_ADF_IDENT_ENABLE Turns ADF 1 ID on Shared Cockpit
KEY_RADIO_VOR1_IDENT_TOGGLE RADIO_VOR1_IDENT_TOGGLE Toggles NAV 1 ID Shared Cockpit
KEY_RADIO_VOR2_IDENT_TOGGLE RADIO_VOR2_IDENT_TOGGLE Toggles NAV 2 ID Shared Cockpit
KEY_RADIO_DME1_IDENT_TOGGLE RADIO_DME1_IDENT_TOGGLE Toggles DME 1 ID Shared Cockpit
KEY_RADIO_DME2_IDENT_TOGGLE RADIO_DME2_IDENT_TOGGLE Toggles DME 2 ID Shared Cockpit
KEY_RADIO_ADF_IDENT_TOGGLE RADIO_ADF_IDENT_TOGGLE Toggles ADF 1 ID Shared Cockpit
KEY_RADIO_VOR1_IDENT_SET RADIO_VOR1_IDENT_SET Sets NAV 1 ID (on/off) Shared Cockpit
KEY_RADIO_VOR2_IDENT_SET RADIO_VOR2_IDENT_SET Sets NAV 2 ID (on/off) Shared Cockpit
KEY_RADIO_DME1_IDENT_SET RADIO_DME1_IDENT_SET Sets DME 1 ID (on/off) Shared Cockpit
KEY_RADIO_DME2_IDENT_SET RADIO_DME2_IDENT_SET Sets DME 2 ID (on/off) Shared Cockpit
KEY_RADIO_ADF_IDENT_SET RADIO_ADF_IDENT_SET Sets ADF 1 ID (on/off) Shared Cockpit
KEY_ADF_CARD_INC ADF_CARD_INC Increments ADF card Shared Cockpit
KEY_ADF_CARD_DEC ADF_CARD_DEC Decrements ADF card Shared Cockpit
KEY_ADF_CARD_SET ADF_CARD_SET Sets ADF card (0-360) Shared Cockpit
KEY_DME_TOGGLE TOGGLE_DME Toggles between NAV 1 and NAV 2 Shared Cockpit
KEY_AVIONICS_MASTER_SET AVIONICS_MASTER_SET Sets the avionics master switch All aircraft
KEY_TOGGLE_AVIONICS_MASTER TOGGLE_AVIONICS_MASTER Toggles the avionics master switch All aircraft
KEY_COM_STBY_RADIO_SET COM_STBY_RADIO_SET Sets COM 1 standby frequency (BCD Hz) All aircraft
KEY_COM_STBY_RADIO_SWITCH_TO, or
+ KEY_COM_RADIO_SWAP
COM_STBY_RADIO_SWAP Swaps COM 1 frequency with standby All aircraft
KEY_COM_RADIO_FRACT_DEC_CARRY COM_RADIO_FRACT_DEC_CARRY Decrement COM 1 frequency by 25 KHz, and carry when digit wraps All aircraft
KEY_COM_RADIO_FRACT_INC_CARRY COM_RADIO_FRACT_INC_CARRY Increment COM 1 frequency by 25 KHz, and carry when digit wraps All aircraft
KEY_COM2_RADIO_WHOLE_DEC COM2_RADIO_WHOLE_DEC Decrement COM 2 frequency by 1 MHz, with no carry when digit wraps All aircraft
KEY_COM2_RADIO_WHOLE_INC COM2_RADIO_WHOLE_INC Increment COM 2 frequency by 1 MHz, with no carry when digit wraps All aircraft
KEY_COM2_RADIO_FRACT_DEC COM2_RADIO_FRACT_DEC Decrement COM 2 frequency by 25 KHz, with no carry when digit wraps All aircraft
KEY_COM2_RADIO_FRACT_DEC_CARRY COM2_RADIO_FRACT_DEC_CARRY Decrement COM 2 frequency by 25 KHz, and carry when digit wraps All aircraft
KEY_COM2_RADIO_FRACT_INC COM2_RADIO_FRACT_INC Increment COM 2 frequency by 25 KHz, with no carry when digit wraps All aircraft
KEY_COM2_RADIO_FRACT_INC_CARRY COM2_RADIO_FRACT_INC_CARRY Increment COM 2 frequency by 25 KHz, and carry when digit wraps All aircraft
KEY_COM2_RADIO_SET COM2_RADIO_SET Sets COM 2 frequency (BCD Hz) All aircraft
KEY_COM2_STBY_RADIO_SET COM2_STBY_RADIO_SET Sets COM 2 standby frequency (BCD Hz) All aircraft
KEY_COM2_RADIO_SWAP COM2_RADIO_SWAP Swaps COM 2 frequency with standby All aircraft
KEY_NAV1_RADIO_FRACT_DEC_CARRY NAV1_RADIO_FRACT_DEC_CARRY Decrement NAV 1 frequency by 50 KHz, and carry when digit wraps Shared Cockpit
KEY_NAV1_RADIO_FRACT_INC_CARRY NAV1_RADIO_FRACT_INC_CARRY Increment NAV 1 frequency by 50 KHz, and carry when digit wraps Shared Cockpit
KEY_NAV1_STBY_SET NAV1_STBY_SET Sets NAV 1 standby frequency (BCD Hz) Shared Cockpit
KEY_NAV1_RADIO_SWAP NAV1_RADIO_SWAP Swaps NAV 1 frequency with standby Shared Cockpit
KEY_NAV2_RADIO_FRACT_DEC_CARRY NAV2_RADIO_FRACT_DEC_CARRY Decrement NAV 2 frequency by 50 KHz, and carry when digit wraps Shared Cockpit
KEY_NAV2_RADIO_FRACT_INC_CARRY NAV2_RADIO_FRACT_INC_CARRY Increment NAV 2 frequency by 50 KHz, and carry when digit wraps Shared Cockpit
KEY_NAV2_STBY_SET NAV2_STBY_SET Sets NAV 2 standby frequency (BCD Hz) Shared Cockpit
KEY_NAV2_RADIO_SWAP NAV2_RADIO_SWAP Swaps NAV 2 frequency with standby Shared Cockpit
KEY_ADF1_RADIO_TENTHS_DEC ADF1_RADIO_TENTHS_DEC Decrements ADF 1 by 0.1 KHz. Shared Cockpit
KEY_ADF1_RADIO_TENTHS_INC ADF1_RADIO_TENTHS_INC Increments ADF 1 by 0.1 KHz. Shared Cockpit
KEY_XPNDR_1000_DEC XPNDR_1000_DEC Decrements first digit of transponder Shared Cockpit
KEY_XPNDR_100_DEC XPNDR_100_DEC Decrements second digit of transponder Shared Cockpit
KEY_XPNDR_10_DEC XPNDR_10_DEC Decrements third digit of transponder Shared Cockpit
KEY_XPNDR_1_DEC XPNDR_1_DEC Decrements fourth digit of transponder Shared Cockpit
KEY_XPNDR_DEC_CARRY XPNDR_DEC_CARRY Decrements fourth digit of transponder, and with carry. Shared Cockpit
KEY_XPNDR_INC_CARRY XPNDR_INC_CARRY Increments fourth digit of transponder, and with carry. Shared Cockpit
KEY_ADF_FRACT_DEC_CARRY ADF_FRACT_DEC_CARRY Decrements ADF 1 frequency by 0.1 KHz, with carry Shared Cockpit
KEY_ADF_FRACT_INC_CARRY ADF_FRACT_INC_CARRY Increments ADF 1 frequency by 0.1 KHz, with carry Shared Cockpit
KEY_COM1_TRANSMIT_SELECT COM1_TRANSMIT_SELECT Selects COM 1 to transmit All aircraft
KEY_COM2_TRANSMIT_SELECT COM2_TRANSMIT_SELECT Selects COM 2 to transmit All aircraft
KEY_COM_RECEIVE_ALL_TOGGLE COM_RECEIVE_ALL_TOGGLE Toggles all COM radios to receive on All aircraft
KEY_COM_RECEIVE_ALL_SET COM_RECEIVE_ALL_SET Sets whether to receive on all COM radios (1,0) All aircraft
KEY_MARKER_SOUND_TOGGLE MARKER_SOUND_TOGGLE Toggles marker beacon sound on/off Shared Cockpit
KEY_MARKER_SOUND_SET Unsupported Sets marker beacon sound (1, 0) Shared Cockpit
KEY_ADF_COMPLETE_SET ADF_COMPLETE_SET Sets ADF 1 frequency (BCD Hz) Shared Cockpit
KEY_ADF_WHOLE_INC ADF1_WHOLE_INC Increments ADF 1 by 1 KHz, with carry as digits wrap. Shared Cockpit
KEY_ADF_WHOLE_DEC ADF1_WHOLE_DEC Decrements ADF 1 by 1 KHz, with carry as digits wrap. Shared Cockpit
KEY_ADF2_100_INC ADF2_100_INC Increments the ADF 2 frequency 100 digit, with wrapping Shared Cockpit
KEY_ADF2_10_INC ADF2_10_INC Increments the ADF 2 frequency 10 digit, with wrapping Shared Cockpit
KEY_ADF2_1_INC ADF2_1_INC Increments the ADF 2 frequency 1 digit, with wrapping Shared Cockpit
KEY_ADF2_RADIO_TENTHS_INC ADF2_RADIO_TENTHS_INC Increments ADF 2 frequency 1/10 digit, with wrapping Shared Cockpit
KEY_ADF2_100_DEC ADF2_100_DEC Decrements the ADF 2 frequency 100 digit, with wrapping Shared Cockpit
KEY_ADF2_10_DEC ADF2_10_DEC Decrements the ADF 2 frequency 10 digit, with wrapping Shared Cockpit
KEY_ADF2_1_DEC ADF2_1_DEC Decrements the ADF 2 frequency 1 digit, with wrapping Shared Cockpit
KEY_ADF2_RADIO_TENTHS_DEC ADF2_RADIO_TENTHS_DEC Decrements ADF 2 frequency 1/10 digit, with wrapping Shared Cockpit
KEY_ADF2_WHOLE_INC ADF2_WHOLE_INC Increments ADF 2 by 1 KHz, with carry as digits wrap. Shared Cockpit
KEY_ADF2_WHOLE_DEC ADF2_WHOLE_DEC Decrements ADF 2 by 1 KHz, with carry as digits wrap. Shared Cockpit
KEY_ADF2_FRACT_INC_CARRY ADF2_FRACT_DEC_CARRY Decrements ADF 2 frequency by 0.1 KHz, with carry Shared Cockpit
KEY_ADF2_FRACT_DEC_CARRY ADF2_FRACT_INC_CARRY Increments ADF 2 frequency by 0.1 KHz, with carry Shared Cockpit
KEY_ADF2_COMPLETE_SET ADF2_COMPLETE_SET Sets ADF 1 frequency (BCD Hz) Shared Cockpit
KEY_RADIO_ADF2_IDENT_DISABLE RADIO_ADF2_IDENT_DISABLE Turns ADF 2 ID off Shared Cockpit
KEY_RADIO_ADF2_IDENT_ENABLE RADIO_ADF2_IDENT_ENABLE Turns ADF 2 ID on Shared Cockpit
KEY_RADIO_ADF2_IDENT_TOGGLE RADIO_ADF2_IDENT_TOGGLE Toggles ADF 2 ID Shared Cockpit
KEY_RADIO_ADF2_IDENT_SET RADIO_ADF2_IDENT_SET Sets ADF 2 ID on/off (1,0) Shared Cockpit
KEY_FREQUENCY_SWAP FREQUENCY_SWAP Swaps frequency with standby on whichever NAV or COM radio is selected. Shared Cockpit
KEY_TOGGLE_GPS_DRIVES_NAV1 TOGGLE_GPS_DRIVES_NAV1 Toggles between GPS and NAV 1 driving NAV 1 OBS display (and AP) Shared Cockpit
KEY_GPS_POWER_BUTTON GPS_POWER_BUTTON Toggles power button Shared Cockpit
KEY_GPS_NEAREST_BUTTON GPS_NEAREST_BUTTON Selects Nearest Airport Page Shared Cockpit
KEY_GPS_OBS_BUTTON GPS_OBS_BUTTON Toggles automatic sequencing of waypoints Shared Cockpit
KEY_GPS_MSG_BUTTON GPS_MSG_BUTTON Toggles the Message Page Shared Cockpit
KEY_GPS_MSG_BUTTON_DOWN GPS_MSG_BUTTON_DOWN Triggers the pressing of the message button. Shared Cockpit
KEY_GPS_MSG_BUTTON_UP GPS_MSG_BUTTON_UP Triggers the release of the message button Shared Cockpit
KEY_GPS_FLIGHTPLAN_BUTTON GPS_FLIGHTPLAN_BUTTON Displays the programmed flightplan. Shared Cockpit
KEY_GPS_TERRAIN_BUTTON GPS_TERRAIN_BUTTON Displays terrain information on default display Shared Cockpit
KEY_GPS_PROCEDURE_BUTTON GPS_PROCEDURE_BUTTON Displays the approach procedure page. Shared Cockpit
KEY_GPS_ZOOMIN_BUTTON GPS_ZOOMIN_BUTTON Zooms in default display Shared Cockpit
KEY_GPS_ZOOMOUT_BUTTON GPS_ZOOMOUT_BUTTON Zooms out default display Shared Cockpit
KEY_GPS_DIRECTTO_BUTTON GPS_DIRECTTO_BUTTON Brings up the "Direct To" page Shared Cockpit
KEY_GPS_MENU_BUTTON GPS_MENU_BUTTON Brings up page to select active legs in a flightplan. Shared Cockpit
KEY_GPS_CLEAR_BUTTON GPS_CLEAR_BUTTON Clears entered data on a page Shared Cockpit
KEY_GPS_CLEAR_ALL_BUTTON GPS_CLEAR_ALL_BUTTON Clears all data immediately Shared Cockpit
KEY_GPS_CLEAR_BUTTON_DOWN GPS_CLEAR_BUTTON_DOWN Triggers the pressing of the Clear button Shared Cockpit
KEY_GPS_CLEAR_BUTTON_UP GPS_CLEAR_BUTTON_UP Triggers the release of the Clear button. Shared Cockpit
KEY_GPS_ENTER_BUTTON GPS_ENTER_BUTTON Approves entered data. Shared Cockpit
KEY_GPS_CURSOR_BUTTON GPS_CURSOR_BUTTON Selects GPS cursor Shared Cockpit
KEY_GPS_GROUP_KNOB_INC GPS_GROUP_KNOB_INC Increments cursor Shared Cockpit
KEY_GPS_GROUP_KNOB_DEC GPS_GROUP_KNOB_DEC Decrements cursor Shared Cockpit
KEY_GPS_PAGE_KNOB_INC GPS_PAGE_KNOB_INC Increments through pages Shared Cockpit
KEY_GPS_PAGE_KNOB_DEC GPS_PAGE_KNOB_DEC Decrements through pages Shared Cockpit
KEY_DME_SELECT DME_SELECT Selects one of the two DME systems (1,2). Shared Cockpit
KEY_RADIO_SELECTED_DME_IDENT_ENABLE RADIO_SELECTED_DME_IDENT_ENABLE Turns on the identification sound for the selected DME. Shared Cockpit
KEY_RADIO_SELECTED_DME_IDENT_DISABLE RADIO_SELECTED_DME_IDENT_DISABLE Turns off the identification sound for the selected DME. Shared Cockpit
KEY_RADIO_SELECTED_DME_IDENT_SET RADIO_SELECTED_DME_IDENT_SET Sets the DME identification sound to the given filename. Shared Cockpit
KEY_RADIO_SELECTED_DME_IDENT_TOGGLE RADIO_SELECTED_DME_IDENT_TOGGLE Turns on or off the identification sound for the selected DME. Shared Cockpit

Aircraft Instruments

Event ID
String Name
Description
Multiplayer
KEY_EGT EGT Selects EGT bug for +/- Shared Cockpit
KEY_EGT_INC EGT_INC Increments EGT bugs Shared Cockpit
KEY_EGT_DEC EGT_DEC Decrements EGT bugs Shared Cockpit
KEY_EGT_SET EGT_SET Sets EGT bugs (0 to 32767) Shared Cockpit
KEY_BAROMETRIC BAROMETRIC Syncs altimeter setting to sea level pressure, or 29.92 if above 18000 feet Shared Cockpit
KEY_GYRO_DRIFT_INC GYRO_DRIFT_INC Increments heading indicator Shared Cockpit
KEY_GYRO_DRIFT_DEC GYRO_DRIFT_DEC Decrements heading indicator Shared Cockpit
KEY_KOHLSMAN_INC KOHLSMAN_INC Increments altimeter setting Shared Cockpit
KEY_KOHLSMAN_DEC KOHLSMAN_DEC Decrements altimeter setting Shared Cockpit
KEY_KOHLSMAN_SET KOHLSMAN_SET Sets altimeter setting (Millibars * 16) Shared Cockpit
KEY_TRUE_AIRSPEED_CALIBRATE_INC TRUE_AIRSPEED_CAL_INC Increments airspeed indicators true airspeed reference card Shared Cockpit
KEY_TRUE_AIRSPEED_CALIBRATE_DEC TRUE_AIRSPEED_CAL_DEC Decrements airspeed indicators true airspeed reference card Shared Cockpit
KEY_TRUE_AIRSPEED_CAL_SET TRUE_AIRSPEED_CAL_SET Sets airspeed indicators true airspeed reference card (degrees, where 0 is + standard sea level conditions) Shared Cockpit
KEY_EGT1_INC EGT1_INC Increments EGT bug 1 Shared Cockpit
KEY_EGT1_DEC EGT1_DEC Decrements EGT bug 1 Shared Cockpit
KEY_EGT1_SET EGT1_SET Sets EGT bug 1 (0 to 32767) Shared Cockpit
KEY_EGT2_INC EGT2_INC Increments EGT bug 2 Shared Cockpit
KEY_EGT2_DEC EGT2_DEC Decrements EGT bug 2 Shared Cockpit
KEY_EGT2_SET EGT2_SET Sets EGT bug 2 (0 to 32767) Shared Cockpit
KEY_EGT3_INC EGT3_INC Increments EGT bug 3 Shared Cockpit
KEY_EGT3_DEC EGT3_DEC Decrements EGT bug 3 Shared Cockpit
KEY_EGT3_SET EGT3_SET Sets EGT bug 3 (0 to 32767) Shared Cockpit
KEY_EGT4_INC EGT4_INC Increments EGT bug 4 Shared Cockpit
KEY_EGT4_DEC EGT4_DEC Decrements EGT bug 4 Shared Cockpit
KEY_EGT4_SET EGT4_SET Sets EGT bug 4 (0 to 32767) Shared Cockpit
KEY_ATTITUDE_BARS_POSITION_INC ATTITUDE_BARS_POSITION_UP Increments attitude indicator pitch reference bars Shared Cockpit
KEY_ATTITUDE_BARS_POSITION_DEC ATTITUDE_BARS_POSITION_DOWN Decrements attitude indicator pitch reference bars Shared Cockpit
KEY_TOGGLE_ATTITUDE_CAGE ATTITUDE_CAGE_BUTTON Cages attitude indicator at 0 pitch and bank Shared Cockpit
KEY_RESET_G_FORCE_INDICATOR RESET_G_FORCE_INDICATOR Resets max/min indicated G force to 1.0. Shared Cockpit
KEY_RESET_MAX_RPM_INDICATOR RESET_MAX_RPM_INDICATOR Reset max indicated engine rpm to 0. Shared Cockpit
KEY_HEADING_GYRO_SET HEADING_GYRO_SET Sets heading indicator to 0 drift error. Shared Cockpit
KEY_GYRO_DRIFT_SET GYRO_DRIFT_SET Sets heading indicator drift angle (degrees). Shared Cockpit

Aircraft Lights

Event ID
String Name
Description
Multiplayer
KEY_STROBES_TOGGLE STROBES_TOGGLE Toggle strobe lights  All aircraft
KEY_ALL_LIGHTS_TOGGLE ALL_LIGHTS_TOGGLE Toggle all lights Shared Cockpit
KEY_PANEL_LIGHTS_TOGGLE PANEL_LIGHTS_TOGGLE Toggle panel lights All aircraft
KEY_LANDING_LIGHTS_TOGGLE LANDING_LIGHTS_TOGGLE Toggle landing lights All aircraft
KEY_LANDING_LIGHT_UP LANDING_LIGHT_UP Rotate landing light up Shared Cockpit
KEY_LANDING_LIGHT_DOWN LANDING_LIGHT_DOWN Rotate landing light down Shared Cockpit
KEY_LANDING_LIGHT_LEFT LANDING_LIGHT_LEFT Rotate landing light left Shared Cockpit
KEY_LANDING_LIGHT_RIGHT LANDING_LIGHT_RIGHT Rotate landing light right Shared Cockpit
KEY_LANDING_LIGHT_HOME LANDING_LIGHT_HOME Return landing light to default position Shared Cockpit
KEY_STROBES_ON STROBES_ON Turn strobe lights on All aircraft
KEY_STROBES_OFF STROBES_OFF Turn strobe light off All aircraft
KEY_STROBES_SET STROBES_SET Set strobe lights on/off (1,0) All aircraft
KEY_PANEL_LIGHTS_ON PANEL_LIGHTS_ON Turn panel lights on All aircraft
KEY_PANEL_LIGHTS_OFF PANEL_LIGHTS_OFF Turn panel lights off All aircraft
KEY_PANEL_LIGHTS_SET PANEL_LIGHTS_SET Set panel lights on/off (1,0) All aircraft
KEY_LANDING_LIGHTS_ON LANDING_LIGHTS_ON Turn landing lights on All aircraft
KEY_LANDING_LIGHTS_OFF LANDING_LIGHTS_OFF Turn landing lights off All aircraft
KEY_LANDING_LIGHTS_SET LANDING_LIGHTS_SET Set landing lights on/off (1,0) All aircraft
KEY_TOGGLE_BEACON_LIGHTS TOGGLE_BEACON_LIGHTS Toggle beacon lights All aircraft
KEY_TOGGLE_TAXI_LIGHTS TOGGLE_TAXI_LIGHTS Toggle taxi lights All aircraft
KEY_TOGGLE_LOGO_LIGHTS TOGGLE_LOGO_LIGHTS Toggle logo lights All aircraft
KEY_TOGGLE_RECOGNITION_LIGHTS TOGGLE_RECOGNITION_LIGHTS Toggle recognition lights All aircraft
KEY_TOGGLE_WING_LIGHTS TOGGLE_WING_LIGHTS Toggle wing lights All aircraft
KEY_TOGGLE_NAV_LIGHTS TOGGLE_NAV_LIGHTS Toggle navigation lights All aircraft
KEY_TOGGLE_CABIN_LIGHTS TOGGLE_CABIN_LIGHTS Toggle cockpit/cabin lights All aircraft

Aircraft Failures

Event ID
String Name
Description
Multiplayer
KEY_TOGGLE_VACUUM_FAILURE TOGGLE_VACUUM_FAILURE Toggle vacuum system failure Shared Cockpit
KEY_TOGGLE_ELECTRICAL_FAILURE TOGGLE_ELECTRICAL_FAILURE Toggle electrical system failure Shared Cockpit
KEY_TOGGLE_PITOT_BLOCKAGE TOGGLE_PITOT_BLOCKAGE Toggles blocked pitot tube Shared Cockpit
KEY_TOGGLE_STATIC_PORT_BLOCKAGE TOGGLE_STATIC_PORT_BLOCKAGE  Toggles blocked static port Shared Cockpit
KEY_TOGGLE_HYDRAULIC_FAILURE TOGGLE_HYDRAULIC_FAILURE Toggles hydraulic system failure Shared Cockpit
KEY_TOGGLE_TOTAL_BRAKE_FAILURE TOGGLE_TOTAL_BRAKE_FAILURE Toggles brake failure (both) Shared Cockpit
KEY_TOGGLE_LEFT_BRAKE_FAILURE TOGGLE_LEFT_BRAKE_FAILURE Toggles left brake failure Shared Cockpit
KEY_TOGGLE_RIGHT_BRAKE_FAILURE TOGGLE_RIGHT_BRAKE_FAILURE Toggles right brake failure Shared Cockpit
KEY_TOGGLE_ENGINE1_FAILURE TOGGLE_ENGINE1_FAILURE Toggle engine 1 failure Shared Cockpit
KEY_TOGGLE_ENGINE2_FAILURE TOGGLE_ENGINE2_FAILURE Toggle engine 2 failure Shared Cockpit
KEY_TOGGLE_ENGINE3_FAILURE TOGGLE_ENGINE3_FAILURE Toggle engine 3 failure Shared Cockpit
KEY_TOGGLE_ENGINE4_FAILURE TOGGLE_ENGINE4_FAILURE Toggle engine 4 failure Shared Cockpit

Aircraft Miscellaneous Systems

Event ID
String Name
Description
Multiplayer
KEY_SMOKE_TOGGLE SMOKE_TOGGLE Toggle smoke system switch All aircraft
KEY_GEAR_TOGGLE GEAR_TOGGLE Toggle gear handle All aircraft
KEY_BRAKES BRAKES Increment brake pressure  Shared Cockpit
KEY_GEAR_SET GEAR_SET Sets gear handle position up/down (0,1) All aircraft
KEY_BRAKES_LEFT BRAKES_LEFT Increments left brake pressure Shared Cockpit
KEY_BRAKES_RIGHT BRAKES_RIGHT Increments right brake pressure Shared Cockpit
KEY_PARKING_BRAKES PARKING_BRAKES Toggles parking brake on/off Shared Cockpit
KEY_GEAR_PUMP GEAR_PUMP Increments emergency gear extension Shared Cockpit
KEY_PITOT_HEAT_TOGGLE PITOT_HEAT_TOGGLE Toggles pitot heat switch All aircraft
KEY_SMOKE_ON SMOKE_ON Turns smoke system on All aircraft
KEY_SMOKE_OFF SMOKE_OFF Turns smoke system off All aircraft
KEY_SMOKE_SET SMOKE_SET Sets smoke system on/off (1,0) All aircraft
KEY_PITOT_HEAT_ON PITOT_HEAT_ON Turns pitot heat switch on Shared Cockpit
KEY_PITOT_HEAT_OFF PITOT_HEAT_OFF Turns pitot heat switch off Shared Cockpit
KEY_PITOT_HEAT_SET PITOT_HEAT_SET Sets pitot heat switch on/off (1,0) Shared Cockpit
KEY_GEAR_UP GEAR_UP Sets gear handle in UP position All aircraft
KEY_GEAR_DOWN GEAR_DOWN Sets gear handle in DOWN position All aircraft
KEY_TOGGLE_MASTER_BATTERY TOGGLE_MASTER_BATTERY Toggles main battery switch All aircraft
KEY_TOGGLE_MASTER_ALTERNATOR TOGGLE_MASTER_ALTERNATOR Toggles main alternator/generator switch All aircraft
KEY_TOGGLE_ELECTRIC_VACUUM_PUMP TOGGLE_ELECTRIC_VACUUM_PUMP Toggles backup electric vacuum pump Shared Cockpit
KEY_TOGGLE_ALTERNATE_STATIC TOGGLE_ALTERNATE_STATIC Toggles alternate static pressure port All aircraft
KEY_DECISION_HEIGHT_DEC DECREASE_DECISION_HEIGHT Decrements decision height reference Shared Cockpit
KEY_DECISION_HEIGHT_INC INCREASE_DECISION_HEIGHT Increments decision height reference Shared Cockpit
KEY_TOGGLE_STRUCTURAL_DEICE TOGGLE_STRUCTURAL_DEICE Toggles structural deice switch Shared Cockpit
KEY_TOGGLE_PROPELLER_DEICE TOGGLE_PROPELLER_DEICE Toggles propeller deice switch Shared Cockpit
KEY_TOGGLE_ALTERNATOR1 TOGGLE_ALTERNATOR1 Toggles alternator/generator 1 switch All aircraft
KEY_TOGGLE_ALTERNATOR2 TOGGLE_ALTERNATOR2 Toggles alternator/generator 2 switch All aircraft
KEY_TOGGLE_ALTERNATOR3 TOGGLE_ALTERNATOR3 Toggles alternator/generator 3 switch All aircraft
KEY_TOGGLE_ALTERNATOR4 TOGGLE_ALTERNATOR4 Toggles alternator/generator 4 switch All aircraft
+ KEY_TOGGLE_MASTER_BATTERY_ALTERNATOR + TOGGLE_MASTER_BATTERY_ALTERNATOR Toggles master battery and alternator switch Shared Cockpit
KEY_AXIS_LEFT_BRAKE_SET AXIS_LEFT_BRAKE_SET Sets left brake position from axis controller (e.g. joystick). -16383 (0 + brakes) to +16383 (max brakes) Shared Cockpit
KEY_AXIS_RIGHT_BRAKE_SET AXIS_RIGHT_BRAKE_SET Sets right brake position from axis controller (e.g. joystick). -16383 (0 + brakes) to +16383 (max brakes) Shared Cockpit
KEY_TOGGLE_AIRCRAFT_EXIT TOGGLE_AIRCRAFT_EXIT Toggles primary door open/close. Follow by KEY_SELECT_2, etc for subsequent + doors. Shared Cockpit
KEY_TOGGLE_WING_FOLD TOGGLE_WING_FOLD Toggles wing folding Shared Cockpit
KEY_SET_WING_FOLD SET_WING_FOLD Sets the wings into the folded position suitable for storage, typically on a carrier. Takes a value:
+ 1 - fold wings,
+ 0 - unfold wings
Shared Cockpit
KEY_TOGGLE_TAIL_HOOK_HANDLE TOGGLE_TAIL_HOOK_HANDLE Toggles tail hook Shared Cockpit
KEY_SET_TAIL_HOOK_HANDLE SET_TAIL_HOOK_HANDLE Sets the tail hook handle. Takes a value:
+ 1 - set tail hook,
+ 0 - retract tail hook
Shared Cockpit
KEY_TOGGLE_WATER_RUDDER TOGGLE_WATER_RUDDER Toggles water rudders Shared Cockpit
KEY_PUSHBACK_SET TOGGLE_PUSHBACK Toggles pushback. Shared Cockpit
KEY_TUG_HEADING KEY_TUG_HEADING Triggers tug and sets the desired heading. The units are a 32 bit integer (0 to + 4294967295) which represent 0 to 360 degrees. To set a 45 degree angle, for + example, set the value to 4294967295 / 8. Shared Cockpit
KEY_TUG_SPEED KEY_TUG_SPEED Triggers tug, and sets desired speed, in feet per second. The speed can be both + positive (forward movement) and negative (backward movement). Shared Cockpit
KEY_TUG_DISABLE TUG_DISABLE Disables tug Shared Cockpit
+ KEY_TOGGLE_MASTER_IGNITION_SWITCH + TOGGLE_MASTER_IGNITION_SWITCH Toggles master ignition switch Shared Cockpit
KEY_TOGGLE_TAILWHEEL_LOCK TOGGLE_TAILWHEEL_LOCK Toggles tail wheel lock Shared Cockpit
KEY_ADD_FUEL_QUANTITY ADD_FUEL_QUANTITY Adds fuel to the aircraft, 25% of capacity by default. 0 to 65535 (max fuel) can + be passed. Shared Cockpit
KEY_TOW_PLANE_RELEASE TOW_PLANE_RELEASE Release a towed aircraft, usually a glider. Shared Cockpit
KEY_REQUEST_TOW_PLANE TOW_PLANE_REQUEST Request a tow plane. The user aircraft must be tow-able, stationary, on the + ground and not already attached for this to succeed. Shared Cockpit
KEY_RELEASE_DROPPABLE_OBJECTS RELEASE_DROPPABLE_OBJECTS Release one droppable object. Multiple key events will release multiple + objects. Shared Cockpit
KEY_RETRACT_FLOAT_SWITCH_DEC RETRACT_FLOAT_SWITCH_DEC If the plane has retractable floats, moves the retract position from Extend to + Neutral, or Neutral to Retract. Shared Cockpit
KEY_RETRACT_FLOAT_SWITCH_INC RETRACT_FLOAT_SWITCH_INC If the plane has retractable floats, moves the retract position from Retract to + Neutral, or Neutral to Extend. Shared Cockpit
KEY_TOGGLE_WATER_BALLAST_VALVE TOGGLE_WATER_BALLAST_VALVE Turn the water ballast valve on or off. Shared Cockpit
KEY_TOGGLE_VARIOMETER_SWITCH TOGGLE_VARIOMETER_SWITCH Turn the variometer on or off. Shared Cockpit
KEY_TOGGLE_TURN_INDICATOR_SWITCH TOGGLE_TURN_INDICATOR_SWITCH Turn the turn indicator on or off. Shared Cockpit
KEY_APU_STARTER APU_STARTER Start up the auxiliary power unit (APU). Shared Cockpit
KEY_APU_OFF_SWITCH APU_OFF_SWITCH Turn the APU off. Shared Cockpit
KEY_APU_GENERATOR_SWITCH_TOGGLE APU_GENERATOR_SWITCH_TOGGLE Turn the auxiliary generator on or off. Shared Cockpit
KEY_APU_GENERATOR_SWITCH_SET APU_GENERATOR_SWITCH_SET Set the auxiliary generator switch (0,1). Shared Cockpit
KEY_EXTINGUISH_ENGINE_FIRE EXTINGUISH_ENGINE_FIRE Takes a two digit argument.  The first digit represents the fire extinguisher index, and the second represents the engine index.  For example,  11 would represent using bottle 1 on engine 1.  21 would represent using bottle 2 on engine 1.  Typical entries for a twin engine aircraft would be 11 and 22. + Shared Cockpit
KEY_HYDRAULIC_SWITCH_TOGGLE HYDRAULIC_SWITCH_TOGGLE Turn the hydraulic switch on or off. Shared Cockpit
KEY_BLEED_AIR_SOURCE_CONTROL_INC BLEED_AIR_SOURCE_CONTROL_INC Increases the bleed air source control. Shared Cockpit
KEY_BLEED_AIR_SOURCE_CONTROL_DEC BLEED_AIR_SOURCE_CONTROL_DEC Decreases the bleed air source control. Shared Cockpit
KEY_BLEED_AIR_SOURCE_CONTROL_SET BLEED_AIR_SOURCE_CONTROL_SET Set to one of:
0: auto
1: off
2: apu
3: engines +
Shared Cockpit
KEY_TURBINE_IGNITION_SWITCH_TOGGLE TURBINE_IGNITION_SWITCH_TOGGLE Turn the turbine ignition switch on or off. Shared Cockpit
KEY_CABIN_NO_SMOKING_ALERT_
+ SWITCH_TOGGLE
CABIN_NO_SMOKING_ALERT_
+ SWITCH_TOGGLE
Turn the "No smoking" alert on or off. Shared Cockpit
KEY_CABIN_SEATBELTS_ALERT_
+ SWITCH_TOGGLE
CABIN_SEATBELTS_ALERT_
+ SWITCH_TOGGLE
Turn the "Fasten seatbelts" alert on or off. Shared Cockpit
KEY_ANTISKID_BRAKES_TOGGLE ANTISKID_BRAKES_TOGGLE Turn the anti-skid braking system on or off. Shared Cockpit
KEY_GPWS_SWITCH_TOGGLE GPWS_SWITCH_TOGGLE Turn the g round proximity warning system (GPWS) on or off. Shared Cockpit
KEY_MANUAL_FUEL_PRESSURE_PUMP MANUAL_FUEL_PRESSURE_PUMP Activate the manual fuel pressure pump. Shared Cockpit
Nose wheel steering +
     
KEY_STEERING_INC STEERING_INC Increments the nose wheel steering position by 5 percent. Shared Cockpit
KEY_STEERING_DEC STEERING_DEC Decrements the nose wheel steering position by 5 percent. Shared Cockpit
KEY_STEERING_SET STEERING_SET Sets the value of the nose wheel steering position. Zero is straight ahead + (-16383, far left +16383, far right). Shared Cockpit
Cabin pressurization +
     
KEY_PRESSURIZATION_PRESSURE_ALT_INC KEY_PRESSURIZATION_PRESSURE_ALT_INC Increases the altitude that the cabin is pressurized to. Shared Cockpit
KEY_PRESSURIZATION_PRESSURE_ALT_DEC KEY_PRESSURIZATION_PRESSURE_ALT_DEC Decreases the altitude that the cabin is pressurized to. Shared Cockpit
KEY_PRESSURIZATION_CLIMB_RATE_INC PRESSURIZATION_CLIMB_RATE_INC Sets the rate at which cabin pressurization is increased. Shared Cockpit
KEY_PRESSURIZATION_CLIMB_RATE_DEC PRESSURIZATION_CLIMB_RATE_DEC Sets the rate at which cabin pressurization is decreased. Shared Cockpit
KEY_PRESSURIZATION_PRESSURE_DUMP
+ _SWTICH
PRESSURIZATION_PRESSURE_DUMP
+ _SWTICH
Sets the cabin pressure to the outside air pressure. Shared Cockpit
Catapult Launches
     
KEY_TAKEOFF_ASSIST_ARM_TOGGLE TAKEOFF_ASSIST_ARM_TOGGLE Deploy or remove the assist arm. Refer to the document Notes on Aircraft Systems. Shared Cockpit
KEY_TAKEOFF_ASSIST_ARM_SET TAKEOFF_ASSIST_ARM_SET Value:
+ TRUE request set
+ FALSE request unset
Shared Cockpit
KEY_TAKEOFF_ASSIST_FIRE TAKEOFF_ASSIST_FIRE If everything is set up correctly. Launch from the catapult. Shared Cockpit
KEY_TOGGLE_LAUNCH_BAR_SWITCH TOGGLE_LAUNCH_BAR_SWITCH Toggle the request for the launch bar to be installed or removed. Shared Cockpit
KEY_SET_LAUNCHBAR_SWITCH SET_LAUNCH_BAR_SWITCH Value:
+ TRUE request set
+ FALSE request unset
Shared Cockpit

Helicopter Specific Systems

Event ID
String Name
Description
Multiplayer
KEY_ROTOR_BRAKE ROTOR_BRAKE  Triggers rotor braking input Shared Cockpit
+ KEY_ROTOR_CLUTCH_SWITCH_TOGGLE + ROTOR_CLUTCH_SWITCH_TOGGLE Toggles on electric rotor clutch switch Shared Cockpit
KEY_ROTOR_CLUTCH_SWITCH_SET ROTOR_CLUTCH_SWITCH_SET Sets electric rotor clutch switch on/off (1,0) Shared Cockpit
KEY_ROTOR_GOV_SWITCH_TOGGLE ROTOR_GOV_SWITCH_TOGGLE Toggles the electric rotor governor switch Shared Cockpit
KEY_ROTOR_GOV_SWITCH_SET ROTOR_GOV_SWITCH_SET Sets the electric rotor governor switch on/off (1,0) Shared Cockpit
KEY_ROTOR_LATERAL_TRIM_INC ROTOR_LATERAL_TRIM_INC Increments the lateral (right) rotor trim Shared Cockpit
KEY_ROTOR_LATERAL_TRIM_DEC ROTOR_LATERAL_TRIM_DEC Decrements the lateral (right) rotor trim Shared Cockpit
KEY_ROTOR_LATERAL_TRIM_SET ROTOR_LATERAL_TRIM_SET Sets the lateral (right) rotor trim (0 to 16383) Shared Cockpit
Slings and Hoists
     
KEY_SLING_PICKUP_RELEASE SLING_PICKUP_RELEASE Toggle between pickup and release mode. Hold mode is automatic and cannot be selected. Refer to the document Notes on Aircraft Systems. + Shared Cockpit
KEY_HOIST_SWITCH_EXTEND HOIST_SWITCH_EXTEND The rate at which a hoist cable extends is set in the Aircraft Configuration File. Shared Cockpit
KEY_HOIST_SWITCH_RETRACT HOIST_SWITCH_RETRACT The rate at which a hoist cable retracts is set in the Aircraft Configuration File. Shared Cockpit
KEY_HOIST_SWITCH_SET HOIST_SWITCH_SET The data value should be set to one of:
+ <0 up
+ =0 off
+ >0 down
Shared Cockpit
KEY_HOIST_DEPLOY_TOGGLE HOIST_DEPLOY_TOGGLE Toggles the hoist arm switch, extend or retract. Shared Cockpit
KEY_HOIST_DEPLOY_SET HOIST_DEPLOY_SET The data value should be set to:
+ 0 - set hoist switch to retract the arm
+ 1 - set hoist switch to extend the arm
Shared Cockpit

Aircraft Slew System

Event ID
String Name
Description
Multiplayer
KEY_SLEW_TOGGLE SLEW_TOGGLE Toggles slew on/off Shared Cockpit (Pilot only)
KEY_SLEW_OFF SLEW_OFF Turns slew off Shared Cockpit (Pilot only)
KEY_SLEW_ON SLEW_ON Turns slew on Shared Cockpit (Pilot only)
KEY_SLEW_SET SLEW_SET Sets slew on/off (1,0) Shared Cockpit (Pilot only)
KEY_SLEW_RESET SLEW_RESET Stop slew and reset pitch, bank, and heading all to zero. Shared Cockpit (Pilot only)
KEY_SLEW_ALTIT_UP_FAST SLEW_ALTIT_UP_FAST Slew upward fast Shared Cockpit (Pilot only)
KEY_SLEW_ALTIT_UP_SLOW SLEW_ALTIT_UP_SLOW Slew upward slow Shared Cockpit (Pilot only)
KEY_SLEW_ALTIT_FREEZE SLEW_ALTIT_FREEZE Stop vertical slew Shared Cockpit (Pilot only)
KEY_SLEW_ALTIT_DN_SLOW SLEW_ALTIT_DN_SLOW Slew downward slow Shared Cockpit (Pilot only)
KEY_SLEW_ALTIT_DN_FAST SLEW_ALTIT_DN_FAST Slew downward fast Shared Cockpit (Pilot only)
KEY_SLEW_ALTIT_PLUS SLEW_ALTIT_PLUS Increase upward slew Shared Cockpit (Pilot only)
KEY_SLEW_ALTIT_MINUS SLEW_ALTIT_MINUS Decrease upward slew  Shared Cockpit (Pilot only)
KEY_SLEW_PITCH_DN_FAST SLEW_PITCH_DN_FAST Slew pitch downward fast Shared Cockpit (Pilot only)
KEY_SLEW_PITCH_DN_SLOW SLEW_PITCH_DN_SLOW Slew pitch downward slow Shared Cockpit (Pilot only)
KEY_SLEW_PITCH_FREEZE SLEW_PITCH_FREEZE Stop pitch slew Shared Cockpit (Pilot only)
KEY_SLEW_PITCH_UP_SLOW SLEW_PITCH_UP_SLOW Slew pitch up slow Shared Cockpit (Pilot only)
KEY_SLEW_PITCH_UP_FAST SLEW_PITCH_UP_FAST Slew pitch upward fast Shared Cockpit (Pilot only)
KEY_SLEW_PITCH_PLUS SLEW_PITCH_PLUS Increase pitch up slew Shared Cockpit (Pilot only)
KEY_SLEW_PITCH_MINUS SLEW_PITCH_MINUS Decrease pitch up slew Shared Cockpit (Pilot only)
KEY_SLEW_BANK_MINUS SLEW_BANK_MINUS Increase left bank slew Shared Cockpit (Pilot only)
KEY_SLEW_AHEAD_PLUS SLEW_AHEAD_PLUS Increase forward slew Shared Cockpit (Pilot only)
KEY_SLEW_BANK_PLUS SLEW_BANK_PLUS Increase right bank slew Shared Cockpit (Pilot only)
KEY_SLEW_LEFT SLEW_LEFT Slew to the left Shared Cockpit (Pilot only)
KEY_SLEW_FREEZE SLEW_FREEZE Stop all slew Shared Cockpit (Pilot only)
KEY_SLEW_RIGHT SLEW_RIGHT Slew to the right Shared Cockpit (Pilot only)
KEY_SLEW_HEADING_MINUS SLEW_HEADING_MINUS Increase slew heading to the left Shared Cockpit (Pilot only)
KEY_SLEW_AHEAD_MINUS SLEW_AHEAD_MINUS Decrease forward slew Shared Cockpit (Pilot only)
KEY_SLEW_HEADING_PLUS SLEW_HEADING_PLUS Increase slew heading to the right Shared Cockpit (Pilot only)
KEY_AXIS_SLEW_AHEAD_SET AXIS_SLEW_AHEAD_SET Sets forward slew (+/- 16383) Shared Cockpit (Pilot only)
KEY_AXIS_SLEW_SIDEWAYS_SET AXIS_SLEW_SIDEWAYS_SET Sets sideways slew (+/- 16383) Shared Cockpit (Pilot only)
KEY_AXIS_SLEW_HEADING_SET AXIS_SLEW_HEADING_SET Sets heading slew (+/- 16383) Shared Cockpit (Pilot only)
KEY_AXIS_SLEW_ALT_SET AXIS_SLEW_ALT_SET Sets vertical slew (+/- 16383) Shared Cockpit (Pilot only)
KEY_AXIS_SLEW_BANK_SET AXIS_SLEW_BANK_SET Sets roll slew (+/- 16383) Shared Cockpit (Pilot only)
KEY_AXIS_SLEW_PITCH_SET AXIS_SLEW_PITCH_SET Sets pitch slew (+/- 16383) Shared Cockpit (Pilot only)

View System

Event ID
String Name
Description
Multiplayer
KEY_VIEW_MODE VIEW_MODE Selects next view Shared Cockpit
KEY_VIEW_WINDOW_TO_FRONT VIEW_WINDOW_TO_FRONT Sets active window to front Shared Cockpit
KEY_VIEW_RESET VIEW_RESET Resets the view to the default Shared Cockpit
KEY_VIEW_ALWAYS_PAN_UP VIEW_ALWAYS_PAN_UP   Shared Cockpit
KEY_VIEW_ALWAYS_PAN_DOWN VIEW_ALWAYS_PAN_DOWN   Shared Cockpit
KEY_NEXT_SUB_VIEW NEXT_SUB_VIEW   Shared Cockpit
KEY_PREV_SUB_VIEW PREV_SUB_VIEW   Shared Cockpit
KEY_VIEW_TRACK_PAN_TOGGLE VIEW_TRACK_PAN_TOGGLE   Shared Cockpit
KEY_VIEW_PREVIOUS_TOGGLE VIEW_PREVIOUS_TOGGLE   Shared Cockpit
KEY_VIEW_CAMERA_SELECT_STARTING VIEW_CAMERA_SELECT_START   Shared Cockpit
KEY_PANEL_HUD_NEXT PANEL_HUD_NEXT   Shared Cockpit
KEY_PANEL_HUD_PREVIOUS PANEL_HUD_PREVIOUS   Shared Cockpit
KEY_ZOOM_IN ZOOM_IN Zooms view in Shared Cockpit
KEY_ZOOM_OUT ZOOM_OUT Zooms view out Shared Cockpit
KEY_MAP_ZOOM_FINE_IN MAP_ZOOM_FINE_IN Fine zoom in map view Shared Cockpit
KEY_PAN_LEFT PAN_LEFT Pans view left Shared Cockpit
KEY_PAN_RIGHT PAN_RIGHT Pans view right Shared Cockpit
KEY_MAP_ZOOM_FINE_OUT MAP_ZOOM_FINE_OUT Fine zoom out in map view Shared Cockpit
KEY_VIEW_FORWARD VIEW_FORWARD Sets view direction forward Shared Cockpit
KEY_VIEW_FORWARD_RIGHT VIEW_FORWARD_RIGHT Sets view direction forward and right Shared Cockpit
KEY_VIEW_RIGHT VIEW_RIGHT Sets view direction to the right Shared Cockpit
KEY_VIEW_REAR_RIGHT VIEW_REAR_RIGHT Sets view direction to the rear and right Shared Cockpit
KEY_VIEW_REAR VIEW_REAR Sets view direction to the rear Shared Cockpit
KEY_VIEW_REAR_LEFT VIEW_REAR_LEFT Sets view direction to the rear and left Shared Cockpit
KEY_VIEW_LEFT VIEW_LEFT Sets view direction to the left Shared Cockpit
KEY_VIEW_FORWARD_LEFT VIEW_FORWARD_LEFT Sets view direction forward and left Shared Cockpit
KEY_VIEW_DOWN VIEW_DOWN Sets view direction down Shared Cockpit
KEY_ZOOM_MINUS ZOOM_MINUS Decreases zoom Shared Cockpit
KEY_ZOOM_PLUS ZOOM_PLUS Increase zoom Shared Cockpit
KEY_PAN_UP PAN_UP Pan view up Shared Cockpit
KEY_PAN_DOWN PAN_DOWN Pan view down Shared Cockpit
KEY_VIEW_MODE_REV VIEW_MODE_REV Reverse view cycle Shared Cockpit
KEY_ZOOM_IN_FINE ZOOM_IN_FINE Zoom in fine Shared Cockpit
KEY_ZOOM_OUT_FINE ZOOM_OUT_FINE Zoom out fine Shared Cockpit
KEY_CLOSE_VIEW CLOSE_VIEW Close current view Shared Cockpit
KEY_NEW_VIEW NEW_VIEW Open new view Shared Cockpit
KEY_NEXT_VIEW NEXT_VIEW Select next view Shared Cockpit
KEY_PREV_VIEW PREV_VIEW Select previous view Shared Cockpit
KEY_PAN_LEFT_UP PAN_LEFT_UP Pan view left Shared Cockpit
KEY_PAN_LEFT_DOWN PAN_LEFT_DOWN Pan view left and down Shared Cockpit
KEY_PAN_RIGHT_UP PAN_RIGHT_UP Pan view right and up Shared Cockpit
KEY_PAN_RIGHT_DOWN PAN_RIGHT_DOWN Pan view right and down Shared Cockpit
KEY_PAN_TILT_LEFT PAN_TILT_LEFT Tilt view left Shared Cockpit
KEY_PAN_TILT_RIGHT PAN_TILT_RIGHT Tilt view right Shared Cockpit
KEY_PAN_RESET PAN_RESET Reset view to forward Shared Cockpit
KEY_VIEW_FORWARD_UP VIEW_FORWARD_UP Sets view forward and up Shared Cockpit
KEY_VIEW_FORWARD_RIGHT_UP VIEW_FORWARD_RIGHT_UP Sets view forward, right, and up Shared Cockpit
KEY_VIEW_RIGHT_UP VIEW_RIGHT_UP Sets view right and up Shared Cockpit
KEY_VIEW_REAR_RIGHT_UP VIEW_REAR_RIGHT_UP Sets view rear, right, and up Shared Cockpit
KEY_VIEW_REAR_UP VIEW_REAR_UP Sets view rear and up Shared Cockpit
KEY_VIEW_REAR_LEFT_UP VIEW_REAR_LEFT_UP Sets view rear left and up Shared Cockpit
KEY_VIEW_LEFT_UP VIEW_LEFT_UP Sets view left and up Shared Cockpit
KEY_VIEW_FORWARD_LEFT_UP VIEW_FORWARD_LEFT_UP Sets view forward left and up Shared Cockpit
KEY_VIEW_UP VIEW_UP Sets view up Shared Cockpit
KEY_VIEW_RESET VIEW_RESET Reset view forward Shared Cockpit
KEY_PAN_RESET_COCKPIT PAN_RESET_COCKPIT Reset panning to forward, if in cockpit view Shared Cockpit
KEY_CHASE_VIEW_NEXT KEY_CHASE_VIEW_NEXT Cycle view to next target Shared Cockpit
KEY_CHASE_VIEW_PREV KEY_CHASE_VIEW_PREV Cycle view to previous target Shared Cockpit
KEY_CHASE_VIEW_TOGGLE CHASE_VIEW_TOGGLE Toggles chase view on/off Shared Cockpit
KEY_EYEPOINT_UP EYEPOINT_UP Move eyepoint up Shared Cockpit
KEY_EYEPOINT_DOWN EYEPOINT_DOWN Move eyepoint down Shared Cockpit
KEY_EYEPOINT_RIGHT EYEPOINT_RIGHT Move eyepoint right Shared Cockpit
KEY_EYEPOINT_LEFT EYEPOINT_LEFT Move eyepoint left Shared Cockpit
KEY_EYEPOINT_FORWARD EYEPOINT_FORWARD Move eyepoint forward Shared Cockpit
KEY_EYEPOINT_BACK EYEPOINT_BACK Move eyepoint backward Shared Cockpit
KEY_EYEPOINT_RESET EYEPOINT_RESET Move eyepoint to default position Shared Cockpit
KEY_NEW_MAP NEW_MAP Opens new map view Shared Cockpit
KEY_VIEW_COCKPIT_FORWARD VIEW_COCKPIT_FORWARD Switch immediately to the forward view, in 2D mode. Shared Cockpit
KEY_VIEW_VIRTUAL_COCKPIT_FORWARD VIEW_VIRTUAL_COCKPIT_FORWARD Switch immediately to the forward view, in virtual cockpit mode. + Shared Cockpit
KEY_VIEW_PANEL_ALPHA_SET VIEW_PANEL_ALPHA_SET Sets the alpha-blending value for the panel. Takes a parameter in the range 0 + to 255. The alpha-blending can be changed from the keyboard using Ctrl-Shift-T, + and the plus and minus keys. Shared Cockpit
KEY_VIEW_PANEL_ALPHA_SELECT VIEW_PANEL_ALPHA_SELECT Sets the mode to change the alpha-blending, so the keys KEY_PLUS and KEY_MINUS + increment and decrement the value. Shared Cockpit
KEY_VIEW_PANEL_ALPHA_INC VIEW_PANEL_ALPHA_INC Increment alpha-blending for the panel. Shared Cockpit
KEY_VIEW_PANEL_ALPHA_DEC VIEW_PANEL_ALPHA_DEC Decrement alpha-blending for the panel. Shared Cockpit
KEY_VIEW_LINKING_SET VIEW_LINKING_SET Links all the views from one camera together, so that panning the view will + change the view of all the linked cameras. Shared Cockpit
KEY_VIEW_LINKING_TOGGLE VIEW_LINKING_TOGGLE Turns view linking on or off. Shared Cockpit
KEY_VIEW_CHASE_DISTANCE_ADD VIEW_CHASE_DISTANCE_ADD Increments the distance of the view camera from the chase object (such as in + Spot Plane view, or viewing an AI controlled aircraft). Shared Cockpit
KEY_VIEW_CHASE_DISTANCE_SUB VIEW_CHASE_DISTANCE_SUB Decrements the distance of the view camera from the chase object. Shared Cockpit

Miscellaneous Events

Event ID
String Name
Description
Multiplayer
KEY_PAUSE_TOGGLE PAUSE_TOGGLE Toggles pause on/off Disabled
KEY_PAUSE_ON PAUSE_ON Turns pause on Disabled
KEY_PAUSE_OFF PAUSE_OFF Turns pause off Disabled
KEY_PAUSE_SET PAUSE_SET Sets pause on/off (1,0) Disabled
KEY_DEMO_STOP DEMO_STOP Stops demo system playback Shared Cockpit
KEY_SELECT_1 SELECT_1 Sets "selected" index (for other events) to 1 Shared Cockpit
KEY_SELECT_2 SELECT_2 Sets "selected" index (for other events) to 2 Shared Cockpit
KEY_SELECT_3 SELECT_3 Sets "selected" index (for other events) to 3 Shared Cockpit
KEY_SELECT_4 SELECT_4 Sets "selected" index (for other events) to 4 Shared Cockpit
KEY_MINUS MINUS Used in conjunction with "selected" parameters to decrease their value (e.g., + radio frequency) Shared Cockpit
KEY_PLUS PLUS Used in conjunction with "selected" parameters to increase their value (e.g., + radio frequency) Shared Cockpit
KEY_ZOOM_1X ZOOM_1X Sets zoom level to 1 Shared Cockpit
KEY_SOUND_TOGGLE SOUND_TOGGLE Toggles sound on/off Shared Cockpit
KEY_SIM_RATE SIM_RATE Selects simulation rate (use KEY_MINUS, KEY_PLUS to change) Shared Cockpit
KEY_JOYSTICK_CALIBRATE JOYSTICK_CALIBRATE Toggles joystick on/off Shared Cockpit
KEY_SITUATION_SAVE SITUATION_SAVE Saves flight situation Shared Cockpit
KEY_SITUATION_RESET SITUATION_RESET Resets flight situation Shared Cockpit
KEY_SOUND_SET SOUND_SET Sets sound on/off (1,0) Shared Cockpit
KEY_EXIT EXIT Quit ESP with a message Shared Cockpit
KEY_ABORT ABORT Quit ESP without a message Shared Cockpit
KEY_READOUTS_SLEW READOUTS_SLEW Cycle through information readouts while in slew Shared Cockpit
KEY_READOUTS_FLIGHT READOUTS_FLIGHT Cycle through information readouts Shared Cockpit
KEY_MINUS_SHIFT MINUS_SHIFT Used with other events Shared Cockpit
KEY_PLUS_SHIFT PLUS_SHIFT Used with other events Shared Cockpit
KEY_SIM_RATE_INCR SIM_RATE_INCR Increase sim rate Shared Cockpit
KEY_SIM_RATE_DECR SIM_RATE_DECR Decrease sim rate Shared Cockpit
KEY_KNEEBOARD KNEEBOARD_VIEW Toggles kneeboard Shared Cockpit
KEY_PANEL_1 PANEL_1 Toggles panel 1 Shared Cockpit
KEY_PANEL_2 PANEL_2 Toggles panel 2 Shared Cockpit
KEY_PANEL_3 PANEL_3 Toggles panel 3 Shared Cockpit
KEY_PANEL_4 PANEL_4 Toggles panel 4 Shared Cockpit
KEY_PANEL_5 PANEL_5 Toggles panel 5 Shared Cockpit
KEY_PANEL_6 PANEL_6 Toggles panel 6 Shared Cockpit
KEY_PANEL_7 PANEL_7 Toggles panel 7 Shared Cockpit
KEY_PANEL_8 PANEL_8 Toggles panel 8 Shared Cockpit
KEY_PANEL_9 PANEL_9 Toggles panel 9 Shared Cockpit
KEY_SOUND_ON SOUND_ON Turns sound on Shared Cockpit
KEY_SOUND_OFF SOUND_OFF Turns sound off Shared Cockpit
KEY_INVOKE_HELP INVOKE_HELP Brings up Help system Shared Cockpit
KEY_TOGGLE_AIRCRAFT_LABELS TOGGLE_AIRCRAFT_LABELS Toggles aircraft labels Shared Cockpit
KEY_FLIGHT_MAP FLIGHT_MAP Brings up flight map Shared Cockpit
KEY_RELOAD_PANELS RELOAD_PANELS Reload panel data Shared Cockpit
KEY_PANEL_ID_TOGGLE PANEL_ID_TOGGLE Toggles indexed panel (1 to 9) Shared Cockpit
KEY_PANEL_ID_OPEN PANEL_ID_OPEN Opens indexed panel (1 to 9) Shared Cockpit
KEY_PANEL_ID_CLOSE PANEL_ID_CLOSE Closes indexed panel (1 to 9) Shared Cockpit
KEY_CONTROL_RELOAD_USER_AIRCRAFT RELOAD_USER_AIRCRAFT Reloads the user aircraft data (from cache if same type loaded as an AI, + otherwise from disk) Shared Cockpit
KEY_SIM_RESET SIM_RESET Resets aircraft state Shared Cockpit
KEY_VIRTUAL_COPILOT_TOGGLE VIRTUAL_COPILOT_TOGGLE Turns Flying Tips on/off Shared Cockpit
KEY_VIRTUAL_COPILOT_SET VIRTUAL_COPILOT_SET Sets Flying Tips on/off (1,0) Shared Cockpit
KEY_VIRTUAL_COPILOT_ACTION VIRTUAL_COPILOT_ACTION Triggers action noted in Flying Tips Shared Cockpit
KEY_REFRESH_SCENERY REFRESH_SCENERY Reloads scenery Shared Cockpit
KEY_CLOCK_HOURS_DEC CLOCK_HOURS_DEC Decrements time by hours Shared Cockpit
KEY_CLOCK_HOURS_INC CLOCK_HOURS_INC Increments time by hours Shared Cockpit
KEY_CLOCK_MINUTES_DEC CLOCK_MINUTES_DEC Decrements time by minutes Shared Cockpit
KEY_CLOCK_MINUTES_INC CLOCK_MINUTES_INC Increments time by minutes Shared Cockpit
KEY_CLOCK_SECONDS_ZERO CLOCK_SECONDS_ZERO Zeros seconds Shared Cockpit
KEY_CLOCK_HOURS_SET CLOCK_HOURS_SET Sets hour of day Shared Cockpit
KEY_CLOCK_MINUTES_SET CLOCK_MINUTES_SET Sets minutes of the hour Shared Cockpit
KEY_ZULU_HOURS_SET ZULU_HOURS_SET Sets hours, zulu time Shared Cockpit
KEY_ZULU_MINUTES_SET ZULU_MINUTES_SET Sets minutes, in zulu time Shared Cockpit
KEY_ZULU_DAY_SET ZULU_DAY_SET Sets day, in zulu time Shared Cockpit
KEY_ZULU_YEAR_SET ZULU_YEAR_SET Sets year, in zulu time Shared Cockpit
KEY_GAUGE_KEYSTROKE GAUGE_KEYSTROKE Enables a keystroke to be sent to a gauge that is in focus. The keystrokes can + only be in the range 0 to 9, A to Z, and the four keys: plus, minus, comma and + period. This is typically used to allow some keyboard entry to a complex device + such as a GPS to enter such things as ICAO codes using the keyboard, rather + than turning dials. Shared Cockpit
KEY_SIMUI_WINDOW_HIDESHOW SIMUI_WINDOW_HIDESHOW Display the ATC window. Shared Cockpit
KEY_WINDOW_TITLES_TOGGLE VIEW_WINDOW_TITLES_TOGGLE Turn window titles on or off. Shared Cockpit
KEY_AXIS_PAN_PITCH AXIS_PAN_PITCH Sets the pitch of the axis. Requires an angle. Shared Cockpit
KEY_AXIS_PAN_HEADING AXIS_PAN_HEADING Sets the heading of the axis. Requires an angle. Shared Cockpit
KEY_AXIS_PAN_TILT AXIS_PAN_TILT Sets the tilt of the axis. Requires an angle. Shared Cockpit
KEY_AXIS_INDICATOR_CYCLE VIEW_AXIS_INDICATOR_CYCLE Step through the view axes. Shared Cockpit
+ KEY_MAP_ORIENTATION_CYCLE VIEW_MAP_ORIENTATION_CYCLE Step through the map orientations. Shared Cockpit
KEY_TOGGLE_JETWAY TOGGLE_JETWAY Requests a jetway, which will only be answered if the aircraft is at a parking + spot. Shared Cockpit
KEY_VIDEO_RECORD_TOGGLE VIDEO_RECORD_TOGGLE Turn on or off the video recording feature. This records uncompressed AVI format + files to:
My Documents\My Videos\
Shared Cockpit
KEY_TOGGLE_AIRPORT_NAME_DISPLAY TOGGLE_AIRPORT_NAME_DISPLAY Turn on or off the airport name. Shared Cockpit
KEY_CAPTURE_SCREENSHOT CAPTURE_SCREENSHOT Capture the current view as a screenshot. Which will be saved to a bmp file in:
My Documents\My Pictures\
Shared Cockpit
KEY_MOUSE_LOOK_TOGGLE MOUSE_LOOK_TOGGLE Switch Mouse Look mode on or off. Mouse Look mode enables a user to control + their view using the mouse, and holding down the space bar. Shared Cockpit
KEY_YAXIS_INVERT_TOGGLE YAXIS_INVERT_TOGGLE Switch inversion of Y axis controls on or off. Shared Cockpit
KEY_AUTOCOORD_TOGGLE AUTORUDDER_TOGGLE Turn the automatic rudder control feature on or off. Shared Cockpit
Freezing position +
     
KEY_FREEZE_LATITUDE_LONGITUDE_TOGGLE FREEZE_LATITUDE_LONGITUDE_TOGGLE Turns the freezing of the lat/lon position of the aircraft (either user or AI controlled) on or off. If + this key event is set, it means that the latitude and longitude of the aircraft are + not being controlled by ESP, so enabling, for example, a + SimConnect client to control the position of the aircraft. This + can also apply to altitude and attitude. Refer to the + simulation variables: +
+ IS LATITUDE LONGITUDE FREEZE ON,
+ IS ALTITUDE FREEZE ON, and
+ IS ATTITUDE FREEZE ON

+ Refer also to the SimConnect_AIReleaseControl function.
Shared Cockpit
KEY_FREEZE_LATITUDE_LONGITUDE_SET FREEZE_LATITUDE_LONGITUDE_SET Freezes the lat/lon position of the aircraft. Shared Cockpit
KEY_FREEZE_ALTITUDE_TOGGLE FREEZE_ALTITUDE_TOGGLE Turns the freezing of the altitude of the aircraft on or off. Shared Cockpit
KEY_FREEZE_ALTITUDE_SET FREEZE_ALTITUDE_SET Freezes the altitude of the aircraft.. Shared Cockpit
KEY_FREEZE_ATTITUDE_TOGGLE FREEZE_ATTITUDE_TOGGLE Turns the freezing of the attitude (pitch, bank and heading) of the + aircraft on or off. Shared Cockpit
KEY_FREEZE_ATTITUDE_SET FREEZE_ATTITUDE_SET Freezes the attitude (pitch, bank and heading) of the aircraft. Shared Cockpit
Mission Keys +
     
KEY_POINT_OF_INTEREST_TOGGLE_POINTER POINT_OF_INTEREST_TOGGLE_POINTER Turn the point-of-interest indicator (often a light beam) on or off. Refer to + the Missions system + documentation. Shared Cockpit
+ KEY_POINT_OF_INTEREST_CYCLE_PREVIOUS POINT_OF_INTEREST_CYCLE_PREVIOUS Change the current point-of-interest to the previous point-of-interest. Shared Cockpit
+ KEY_POINT_OF_INTEREST_CYCLE_NEXT POINT_OF_INTEREST_CYCLE_NEXT Change the current point-of-interest to the next point-of-interest. Shared Cockpit

ATC

Event ID
String Name
Description
Multiplayer
KEY_ATC ATC Activates ATC window Shared Cockpit
KEY_ATC_MENU_1 ATC_MENU_1 Selects ATC option 1 Shared Cockpit
KEY_ATC_MENU_2 ATC_MENU_2 Selects ATC option 2 Shared Cockpit
KEY_ATC_MENU_3 ATC_MENU_3 Selects ATC option 3 Shared Cockpit
KEY_ATC_MENU_4 ATC_MENU_4 Selects ATC option 4 Shared Cockpit
KEY_ATC_MENU_5 ATC_MENU_5 Selects ATC option 5 Shared Cockpit
KEY_ATC_MENU_6 ATC_MENU_6 Selects ATC option 6 Shared Cockpit
KEY_ATC_MENU_7 ATC_MENU_7 Selects ATC option 7 Shared Cockpit
KEY_ATC_MENU_8 ATC_MENU_8 Selects ATC option 8 Shared Cockpit
KEY_ATC_MENU_9 ATC_MENU_9 Selects ATC option 9 Shared Cockpit
KEY_ATC_MENU_0 ATC_MENU_0 Selects ATC option 10 Shared Cockpit

Multiplayer

Event ID
String Name
Description
Multiplayer
KEY_MULTIPLAYER_TRANSFER_CONTROL MP_TRANSFER_CONTROL Toggle to the next player to track -
KEY_MULTIPLAYER_PLAYER_CYCLE MP_PLAYER_CYCLE Cycle through the current user aircraft. Shared Cockpit
KEY_MULTIPLAYER_PLAYER_FOLLOW MP_PLAYER_FOLLOW Set the view to follow the selected user aircraft. Shared Cockpit
KEY_MULTIPLAYER_CHAT MP_CHAT Toggles chat window visible/invisible Shared Cockpit
KEY_MULTIPLAYER_ACTIVATE_CHAT MP_ACTIVATE_CHAT Activates chat window Shared Cockpit
KEY_MULTIPLAYER_VOICE_CAPTURE_START MP_VOICE_CAPTURE_START Start capturing audio from the users computer and transmitting it to all other + players in the multiplayer session who are turned to the same radio frequency. Shared Cockpit
KEY_MULTIPLAYER_VOICE_CAPTURE_STOP MP_VOICE_CAPTURE_STOP Stop capturing radio audio. Shared Cockpit
KEY_MULTIPLAYER_BROADCAST_VOICE_
+ CAPTURE_START
MP_BROADCAST_VOICE_
+ CAPTURE_START
Start capturing audio from the users computer and transmitting it to all other + players in the multiplayer session. Shared Cockpit
KEY_MULTIPLAYER_BROADCAST_VOICE_
+ CAPTURE_STOP
MP_BROADCAST_VOICE_
+ CAPTURE_STOP
Stop capturing broadcast audio. Shared Cockpit
KEY_TOGGLE_RACERESULTS_WINDOW TOGGLE_RACERESULTS_WINDOW Show or hide multi-player race results. Disabled

+ + +
+ + +
+
+ + + + + + + + + + + + +
+
© 2015 Microsoft
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ +
+ + +
+ + + + + + + + + + + + + \ No newline at end of file diff --git a/MSDN/SimConnect_files/BrandLogoMsdn.png b/MSDN/SimConnect_files/BrandLogoMsdn.png new file mode 100644 index 0000000000000000000000000000000000000000..88492dbfce6025b2f9bd2cb0a5e1dc8fabd3be93 GIT binary patch literal 3341 zcmbVPc{G%JA16ygH%peR*ED0uItzoDY-7eUH1;ed-7y|a%wm>|648`>$*wC=C^t!E zyF^SRRI(IG3DIInE2ZTf-RiyXIrrQ@-sha>`7P)B`Fy_XA5XHotK&v#HE9tMk&Q$r zf~Rn;623+tN#XbITbD`UqRO%N<9IPbI8kI4Ac6~K1OZ?ojT{Pi0_5Q6$R5B_L`1BP z>g~tzBW=f07&K$@nvF4!#uTDOL@aH1Ofn@L;DCdGP%7OD^0MVB1WXOKg7~6I2oe(y zgi)RLvjDICuHKaW;S@|T#KszI$-@c>XaI){=FuYPY%I?T@{JcO+^=23A>eN&oNz11 zUrzav+`)JT3jm{y5k?e*84_$}YK$~RU`#QFU=#w0fFn_Ggt-wCfkm5R5lHa&2O?Bs z1&3fg2@c=2geNOV7>C2e!r@U-QN~dw#tc>{9ErhT;0P2Pg)$Oa7_p=295T;{&W8SA zAOLI%i^}9s8FcU(BRPn{zmD5 zd_Pbm(!V2Uw4c^&jwkS6=l_wP?H$bo;GO`R!DUf|RSbdtP3qr;)(pSLfF+Sx;efD; z-YhQg?Vd!!x(R)!(#a7728Bxl=o})!3L-=p2UCNwNR$N*XNR`4FhQ8un;?-E_BeYy z4vE6xa2N-aoyiZ5f5KWI>@jFNj0MV^fJ7qgO)SuOJO*K6f+5%u(0Ft6A6O!t%^}k% zzzB+TC4r7^?qCl`+05qbC86GpQ8xSg_UCo2kpu&y1s}A=p~VW^XA>34+xL&wpT29 zK&R?S1pJyJnNS0dAq?LI?Tx8X(b`%VLD^0~REB*bJ9pYcZMM5NOlhT`+NJP$%h@sK z>Xfr}p6Owx5eo8Y_nOjGYC#nnDlD7lSyq&*sY7E$eGl_1b`|Hu%s<-3e#&jbuy2p; zs$Rszzf`3>H6iv6!8A$ci$$%G*B|xw9T*e;^HbPS+Ss6Aac=-w>$fwdqYbyx6cblK z#fPR90Y|4D-gLL}mtTrKQ`5gL?}0i<8^ZW$m1z@=^)n5xVWHI5eqD zBzg+?vY<>gtRkG~R&MFKlD@RD%v1k&=h2kcE>g>zVs&n+3O@A1I;C=?prBB>grmw` zQRA`!EZJ3k0q?PlK&@;ZCs2&ha(Udw;zE2Pu!VI*!O>ZY;}jcWe^zDX{S+@#62e@c2v& zS$9%X;1&i=iq(&d6Psn)Oq$u{FCixt{FsTw{T=6v94rXD?4|57$75L>PIJp)f1euJ zqK19>Aw#NzqcSc1_upnN8a0@B2_lZH-of)UQ?6#+acIh6DwAPOy~#|~Ns@pIeqX>p zC$(qtjhA47-^E`5k8b7zd>7D!U=wTew2s`DZ~=TJ)}ZXjlG)^zVXch`HWKIJ%rc_e zL^DnmD}1uX4?-Z%2cM_ThMwPaGG^Z@N-6Pn(da00+XK{@x|g7N-OfTzMVHL^dR}wo zo&hJpUX7UzAQwsov4~m)DdcLXx}oU;0e!HS*d-IFZ=SH~1VvDxJlTnaK@DO30i(59M=f zIpazz3gR=DQkOK7c5M*EI)#BPMSbI?$^nbTmpJg#h+I$do5H%C10TwtFA~9r2}8(f zXUDf6=XKg>ejwlPlwajWxs+CtR8o4U1 zd_W#0y$#`tWIo}Ffm@CVD|84DALt&L*fo<+Z)9rX#oN?I#)B$t+f3UErg^j0(=h@a zf&RT^17GO{j7*pQO3rv9NiNVK>-yp1H_U2wDps|_Lp|np6;qz~_?^KbW_m&KddsHY zfz~pIS4mwy6*9Hsoh_v9gVU)y>g!V-TeC~gjZZAn-j7t8nbGbIMZ_(4P#O)$Cz@>y zH;DEIcI?qS9DXK3%c*Z>yFh#8_%=Dv4$uO!>JgprC1Vdp;>n|& zRUM=g4QLM@?S1B9XkCSs-HUs!%pJdtXQ{tWNjBJd>NGEzs0d7W7k7CsE_(dU)!TLAOTG_Q)Nvk$?(IuerBjI>TXUB-cjk1Dfv(-w zoe|%??$YaI^u}%}87LLTx2?2u3TskRgU2iAhFj@`Wqc73t?pri(mL8t9axkuH_f1V zPj-Ji^04n^m+69zl4#bh1A!TJI?q3xor)gt$gKVP=w{R${1ECQEqX}uh&9yC3jUSr zCavo$(tjXtI^9LaxtWi|_Dh(~d7U00*&b&HlwB_EJKil}GfoR6p2=vcrB7|0fMecB zk!^7Sx-iHek_tYCXA9nQ1`ci?2vq6sZ7aO|8?i@r_^xcJ+rUg!M{83;`R?eI0#vew z#8FFe*T8OA!(4$`eM%ZJJ@Qz(b9xYEy?71ZR5a*`Mfl^*JcXNy<&i!51hkKx&Pn4| zxdO<}3ky|FYWMui9)2oD!d{PB5(~Vvx4z5MAbjk~`~b7c8lG$7XmdZN5IY-{XzRh|<%dEuALXT``>C1;k46cR`DsJsoG z%e5H=|Dmd^^9=Pgrn>^_WqZdBw0s;UCa1{Jt8qK$(tbDLTg$Rw#*}jgws9NE?)b%b-vwtOz**jA#$~t?xxn(>+;uz{ zHJxKwDRSZKWQ3TcoU-yM-2L4j>IyE*u&Ql)r;onfppL4z2%6X4S}jA#Y`TeIuKP$$ zbhQg>#6<@8Iq1Xuy-!pyZcz-mkNwi0z2I%B%Bid>NP=l81SY9_(@v}BH$t%BW_bDBlokDv} zDLlG$+2SQ*lsD3 z3}WIvhk>)_Yn(LJ)ip3&ENg4>@4Sd6Iva@-XGrL*$R2fn^mXIP*dEwy&{@vs?!r~s zt$`!$)a5w6z$9|HQ|Fbp5kE%zXt_h$FZG|G?IM?#)Ng5SzIc7@2ZdE#W_} C_Mj{P literal 0 HcmV?d00001 diff --git a/MSDN/SimConnect_files/Combined(1).js b/MSDN/SimConnect_files/Combined(1).js new file mode 100644 index 0000000..3c644aa --- /dev/null +++ b/MSDN/SimConnect_files/Combined(1).js @@ -0,0 +1,7 @@ +epx=window.epx||{};epx.printExportButton=function(){function init(){initialized||(initialized=!0,epx.utilities&&epx.utilities.supportsHtml5())&&($pabLink=$("#isd_printABook, #isd_printABook2"),$toolbar=$("#exportToolBar"),$pabLink.click(pabLinkClicked),$toolbar.length>0&&$toolbar.is(":visible")&&($pabLink.addClass("exportToolBarShown"),$pabLink.css("cursor","text")),refreshExportCount(),$pabLink.show(),$("#isd_archiveControl").click(function(){var control=$("#isd_archiveControl");control.text()!=""&&($("#tocnav").hasClass("hide-archive")?control.text(control.attr("data-exclude-archive")):control.text(control.attr("data-include-archive")),$("#tocnav, #content.bumper").toggleClass("hide-archive"))}))}function pabLinkClicked(event){if($toolbar.length>0&&$toolbar.is(":visible")){event.preventDefault();return}getTopicCount()>0&&(window.epx.utilities.setCookie("ShowPrintToolBar","true",365,"/"),location.reload(!0),event.preventDefault())}function getTopicCount(){var topicsCount=0,book,c,t;if(typeof localStorage.book!="undefined"){book=JSON.parse(localStorage.book);for(c in book.Chapters)for(t in book.Chapters[c].Topics)if(topicsCount=topicsCount+book.Chapters[c].Topics[t].Count,book.Chapters[c].Topics[t].Count<=0||book.Chapters[c].Topics[t].Type==="node"&&book.Chapters[c].Topics[t].Count===1||book.Chapters[c].Topics[t].Type==="topic"&&book.Chapters[c].Topics[t].Count!==1||book.Chapters[c].Topics[t].Type!=="topic"&&book.Chapters[c].Topics[t].Type!=="node")return 0}return topicsCount}function refreshExportCount(count){localStorage.book&&(count||(count=getTopicCount()),initialized||init(),$pabLink.find(".count").text(count))}function removeExportBorder(){$pabLink.removeClass("exportToolBarShown");$pabLink.css("cursor","pointer")}var $pabLink,$toolbar,initialized=!1;return{init:init,refreshExportCount:refreshExportCount,removeExportBorder:removeExportBorder}}();$(document).ready(function(){epx.printExportButton.init()});; +(function(){var tocFixedModule=function(w,d,$){function init(){var $rtlDirAttribute,$parameters,param;window.epx&&window.epx.topic&&window.epx.topic.isPrintExperience()===!0||($rtlDirAttribute=$('html[dir="rtl"]'),isRtl=$rtlDirAttribute&&$rtlDirAttribute.length>0,$parameters=$("#fixLeftNavParameters"),param=$parameters.length>0?$parameters.val().split(","):null,$leftNav=param!=null&¶m[1]!=null?$(param[1]):$("#leftNav"),$toc=param!=null&¶m[2]!=null?$(param[2]):$("#tocnav"),$mainContent=param!=null&¶m[3]!=null?$(param[3]):$leftNav.next(),$footer=$("#lib-footer"),$footer.length===0&&($footer=$("#ux-footer")),w&&d&&$leftNav.length!==0&&$toc.length!==0&&$footer.length!==0)&&(param!=null&¶m[0]!=null&&(fixedTocTop=Number(param[0])),setPosition(),setHorizontalPosition(),$(w).scroll(function(){setPosition();setHorizontalPosition()}),$(w).resize(function(){setPosition();setHorizontalPosition()}))}function setHorizontalPosition(){if(isDesktopView()){var positionToChange=isRtl?"right":"left",documentScrollLeft=$(d).scrollLeft();lastScrollLeft!=documentScrollLeft?(lastScrollLeft=documentScrollLeft,$toc.css(positionToChange,isRtl?documentScrollLeft:-documentScrollLeft)):documentScrollLeft==0&&$toc.css(positionToChange,"")}}function isDesktopView(){return epx.library!=undefined&&epx.library!=null&&epx.library.responsive!=undefined&&epx.library.responsive!=null?epx.library.responsive.getCurrentViewType()==epx.library.responsive.viewTypes.Desktop:!0}function setPosition(){var nonFooterViewable,visibleContentHeight;if(isDesktopView()){var windowHeight=$(w).height(),documentHeight=$(d).height(),tocHeight=$toc.height(),mainContentHeight=$mainContent.height();windowHeight>tocHeight+fixedTocTop&&mainContentHeight>tocHeight+fixedTocTop&&$(w).scrollTop()+fixedTocTop>$leftNav.offset().top?($toc.width($leftNav.width()).css("position","fixed"),$leftNav.css("height",tocHeight),nonFooterViewable=$footer.offset().top-$(w).scrollTop()-60,nonFooterViewable>=tocHeight+fixedTocTop?$toc.css("top",fixedTocTop+"px"):$toc.css("top",(tocHeight-nonFooterViewable)*-1)):windowHeighttocHeight+fixedTocTop&&$(w).scrollTop()+windowHeight>tocHeight+$leftNav.offset().top?($toc.width($leftNav.width()).css("position","fixed"),$leftNav.css("height",tocHeight),visibleContentHeight=$footer.offset().top-$(w).scrollTop()-60,visibleContentHeight>=windowHeight?$toc.css("top",(tocHeight-windowHeight)*-1):$toc.css("top",(tocHeight-visibleContentHeight)*-1)):($toc.css("width","").css("position","").css("top",""),$leftNav.css("height","auto"))}}var $leftNav,$toc,$footer,$mainContent,fixedTocTop=60,lastScrollLeft=0,isRtl=!1;return $(document).ready(function(){init()}),{init:init,setPosition:setPosition}};typeof define=="function"&&window.mtpsAmd?define("tocFixed",["jquery"],function($){return tocFixedModule(window,document,$)}):(window.epx=window.epx||{},window.epx.library=window.epx.library||{},window.epx.library.tocFixed=tocFixedModule(window,document,$))})();; +epx=window.epx||{};epx.codeSnippetModule=function(w,d){function init(){scrollOnLoad();initCopyLinks()}function initCopyLinks(){w.clipboardData&&$("a[name=CodeSnippetCopyLink]").css("display","block")}function copyCode(id){if(w.clipboardData){var obj=d.getElementById(id);w.clipboardData.setData("Text",obj.innerText)}}function scrollOnLoad(){var hash=location.hash,hashY;hash.length>1&&hash.substr(1,1)==="Y"&&(hashY=Number(hash.substr(2)),isNaN(hashY)||w.scrollTo(0,hashY))}return{init:init,initCopyLinks:initCopyLinks,copyCode:copyCode,scrollOnLoad:scrollOnLoad}};epx.codeSnippet=epx.codeSnippetModule(window,document);$(document).ready(function(){epx.codeSnippet.init()});; +function TopicNotInScope_ShowPicker(){var topicNotInScopePicker=document.getElementById("topicNotInScopeCollectionPicker");topicNotInScopePicker&&(topicNotInScopePicker.style.display=topicNotInScopePicker.style.display!="block"?"block":"none")}function TopicNotInScope_HidePicker(e){var topicNotInScopePicker=document.getElementById("topicNotInScopeCollectionPicker"),src,e;topicNotInScopePicker&&(e=e||window.event,e.target?src=e.target:e.srcElement&&(src=e.srcElement),src.tagName=="A"&&src.parentNode.parentNode&&src.parentNode.parentNode.id=="topicNotInScopeCollectionPicker"||src.id=="topicNotInScopeSwitchCollection"||src.id=="topicNotInScopeDropdownImage"||src.id=="topicNotInScopeSwitchCollectionContainer"||topicNotInScopePicker.style.display!="block"||(topicNotInScopePicker.style.display="none"))}document.addEventListener?document.addEventListener("mouseup",TopicNotInScope_HidePicker,!1):document.attachEvent&&document.attachEvent("onmouseup",TopicNotInScope_HidePicker);; +epx=window.epx||{};epx.collapsibleArea=function(){function init(){$expandCollapseAllButton=$("a#expandCollapseAll");$titleAnchor=$("a.LW_CollapsibleArea_TitleAhref");$titleAnchor.length===0&&(isEnhanced=!1);$expandCollapseAllButton.length===0&&(isEnhanced=!1);isEnhanced||$expandCollapseAllButton.hide();expandedCaretClass="cl_CollapsibleArea_expanding LW_CollapsibleArea_Img";collapsedCaretClass="cl_CollapsibleArea_collapsing LW_CollapsibleArea_Img";expandedCaretSelector="span.cl_CollapsibleArea_expanding.LW_CollapsibleArea_Img";collapsedCaretSelector="span.cl_CollapsibleArea_collapsing.LW_CollapsibleArea_Img";var stringsAvailable=typeof window.MTPS!="undefined"&&typeof window.MTPS.LocalizedStrings!="undefined";stringsAvailable&&(isEnhanced?(expandTooltip=window.MTPS.LocalizedStrings.EnhancedExpandTooltip,collapseTooltip=window.MTPS.LocalizedStrings.EnhancedCollapseTooltip):(expandTooltip=window.MTPS.LocalizedStrings.ExpandButtonTooltip,collapseTooltip=window.MTPS.LocalizedStrings.CollapseButtonTooltip),$(".cl_CollapsibleArea_expanding").parent().attr("title",collapseTooltip),$(".cl_CollapsibleArea_collapsing").parent().attr("title",expandTooltip),$(collapsedCaretSelector).length===0&&$expandCollapseAllButton.text(window.MTPS.LocalizedStrings.CollapseAllButtonTooltip));setupEventHandlers()}function titleAnchorClicked(){var $this=$(this),$image=$this.children("span").first(),$content=$this.parent().parent().next();$image&&$content&&($this.removeAttr("title"),$content.attr("class")==="sectionblock"?($image.attr("class",collapsedCaretClass),$content.attr("class","sectionnone"),$this.attr("title",expandTooltip),$image.attr("title",expandTooltip)):($image.attr("class",expandedCaretClass),$content.attr("class","sectionblock"),$this.attr("title",collapseTooltip),$image.attr("title",collapseTooltip)),setECAButtonText())}function expandCollapseAllButtonClicked(){$(this).text()===window.MTPS.LocalizedStrings.ExpandAllButtonTooltip?expandAll():collapseAll()}function collapseAll(){$(expandedCaretSelector).parent().click();$expandCollapseAllButton.text(window.MTPS.LocalizedStrings.ExpandAllButtonTooltip)}function expandAll(){$(collapsedCaretSelector).parent().click();$expandCollapseAllButton.text(window.MTPS.LocalizedStrings.CollapseAllButtonTooltip)}function expandCollapseAll(){if(isEnhanced){var $eca=$(this);$eca.hasClass("LW_CollapsibleArea_Title")&&($eca=$($eca.parent().children().first()));$eca.hasClass("cl_CollapsibleArea_collapsing")?expandAll():$eca.hasClass("cl_CollapsibleArea_expanding")&&collapseAll();$("html, body").scrollTop($eca.offset().top-10)}}function setupEventHandlers(){$titleAnchor.click(titleAnchorClicked);$expandCollapseAllButton.click(expandCollapseAllButtonClicked);$("span.LW_CollapsibleArea_Img").dblclick(expandCollapseAll);$("span.LW_CollapsibleArea_Title").dblclick(expandCollapseAll);$(window).keyup(function(e){return e.keyCode==69&&e.shiftKey&&e.ctrlKey?($expandCollapseAllButton.trigger("click"),!1):!0})}function setECAButtonText(){$(collapsedCaretSelector).length===0?$expandCollapseAllButton.text(window.MTPS.LocalizedStrings.CollapseAllButtonTooltip):$(expandedCaretSelector).length===0&&$expandCollapseAllButton.text(window.MTPS.LocalizedStrings.ExpandAllButtonTooltip)}var isEnhanced=!0,expandTooltip="",collapseTooltip="",expandedCaretClass="",collapsedCaretClass="",expandedCaretSelector="",collapsedCaretSelector="",$expandCollapseAllButton,$titleAnchor;return{init:init}}();$(document).ready(function(){epx.collapsibleArea.init()});; +epx=window.epx||{};epx.versionSelector=function(){function init(){$link<=0||$arrow<=0||$list<=0||$expand<=0||($list.find("li.archived").length>0&&($expand.show(),$expand.click(function(){$expand.hide();$list.find("li.archived").show();open()})),$link.click(function(){epx.versionSelector.open()}),$arrow.click(function(){epx.versionSelector.open()}),$(document).mouseup(function(){epx.versionSelector.close()}))}function open(){$list.show()}function close(){$list.hide()}var $link=$("#vsLink"),$arrow=$("#vsArrow"),$list=$("#vsPanel"),$expand=$("#vsExpand");return{init:init,open:open,close:close}}();$(document).ready(function(){epx.versionSelector.init()});; +var isMetroIE10=navigator.userAgent.indexOf("MSIE 10.0")!=-1&&window.innerWidth==screen.width&&window.innerHeight==screen.height,brokerScript;isMetroIE10||(brokerScript=document.createElement("script"),brokerScript.src=window.location.protocol=="https:"?"https://www.microsoft.com/library/svy/sto/https/broker.js":"//js.microsoft.com/library/svy/sto/broker.js",document.getElementsByTagName("head")[0].appendChild(brokerScript));; diff --git a/MSDN/SimConnect_files/Combined.css b/MSDN/SimConnect_files/Combined.css new file mode 100644 index 0000000..048df3d --- /dev/null +++ b/MSDN/SimConnect_files/Combined.css @@ -0,0 +1,18 @@ +body{font:.875em/1.35 'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;}h1{color:#707070;font:100 2.571em/1.167 'Segoe UI Light','Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;margin-top:0;}h2,h3,.contentWrapper h2 a,.contentWrapper h3 a,.heading{color:#db7100;font-family:'Segoe UI Light','Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;font-size:1.286em;font-weight:normal;margin:0;padding-bottom:5px;padding-top:5px;}h4,.subheading{color:#2a2a2a;font-size:.857em;font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;font-weight:bold;margin:0;}h5,h6{font-size:.857em;font-weight:normal;line-height:130%;margin:0;}a:link,a:hover,a:visited{text-decoration:none;}img{border:0;}div#body{padding-top:35px;clear:both;}div#content{overflow-x:auto!important;min-height:300px;word-wrap:break-word;}.BostonPostCard>div+div+div{width:auto!important;}*:first-child+html .BostonPostCard>div+div+div{width:740px!important;height:30px!important;}*:first-child+html #contentFeedback{height:20px!important;}*:first-child+html div#content{overflow:hidden;}*:first-child+html div#nstext img[usemap="#excel2"]{border:none;}div#nstext img[usemap="#excel2"]{border:none 0\0/IE8/IE9;}.clear{clear:both;}.majorTitle{display:none;}.parameter{font-style:italic;}.multicol th,.multicol td,td.innercol,.innercol table td{border:none;padding:0 12px 0 0;}#mainBody ul li{list-style-image:none;}p{color:#2a2a2a;margin-top:0;margin-bottom:0;padding-bottom:15px;line-height:18px;}.topic a,.topic a:link{text-decoration:none;color:#00709f;}.topic a:visited,.topic a:active{text-decoration:none;color:#03697a;}.topic a:hover{text-decoration:none;color:#3390b1;}.topic a.active,.topic a.active:link,.topic a.active:hover,.topic a.active:visited,.topic a.active:active{color:#2a2a2a;}table{border-collapse:collapse;margin-bottom:20px;margin-top:20px;}div#content table{width:100%;}div#content table,div#content th,div#content td{border:1px solid #bbb;}td,th{padding-top:10px;padding-bottom:10px;padding-right:8px;padding-left:8px;}th{background-color:#ededed;color:#636363;text-align:left;}td{color:#2a2a2a;vertical-align:top;}table p:last-child{padding-bottom:0;}.errorMessage{font-size:36px;font-family:'Segoe UI Light','Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;color:#707070;}.errormessageSpacing{margin-top:3px;}table .BostonPostCard p{padding-bottom:5px;}table.members{width:100%;}table.members td{min-width:72px;}span.sup{vertical-align:super;}span.sub{vertical-align:sub;font-size:smaller;}.summary{margin-top:15px;}div.mtps-table{display:inline-table;border-collapse:collapse;width:100%;}div.mtps-thead{display:table-header-group;}span.mtps-caption{display:table-caption;padding:4pt;}div.mtps-row{display:table-row;padding:4pt;border:1px solid #dbdbdb;}span.mtps-cell{display:table-cell;padding:4pt;}span.mtps-th{display:table-cell;padding:4pt;background-color:#ededed;}div#content div.alert table{border-bottom:none;border-right:none;border-collapse:separate;border-spacing:0;width:100%;margin:0;}div#content div.alert td,div#content div.alert th{border-top:none;border-left:none;background-clip:padding-box;}div.alert th{background-color:#ededed;font-weight:bold;}div.alert img{padding-right:5px;border:0;}div.alert p{margin:0;}div.FVB_date{font-style:italic;color:#555;font-size:smaller;margin-bottom:5px;}.controlPlaceholder{color:#aaa;background-color:#eee;padding:10px;font-style:italic;}.input,.label{font-weight:700;}div.footerPrintView{font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;clear:both;padding-top:10px;display:none;}.code{font-family:Consolas,Courier,monospace;color:#006400;}.multiViewItemHeading{margin-top:15px;font-style:italic;margin-bottom:3px;}.topic .title{font-family:Segoe UI,Verdana,Arial;}#curversion{font-size:13px;color:#5d5d5d;}ol ol{list-style-type:lower-alpha;}ol ol ol{list-style-type:lower-roman;} +.codeSnippetContainer{min-width:260px;clear:both;}.codeSnippetContainerTabs{vertical-align:middle;height:23px;position:relative;z-index:1;}.codeSnippetContainerTabs>div:first-child{border-left:1px solid #939393;}.codeSnippetContainerTab{font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif!important;font-size:13px;line-height:17px;font-style:normal!important;height:22px;float:left;width:auto;padding:0 15px 0 15px;vertical-align:baseline;color:#2a2a2a;background-color:transparent;border-top:solid 1px #939393;border-right:solid 1px #939393;}.codeSnippetContainerTabActive{font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif!important;font-size:13px;line-height:17px;font-style:normal!important;height:22px;float:left;width:auto;padding:0 15px 0 15px;vertical-align:baseline;color:#707070;border-top:solid 1px #939393;border-right:solid 1px #939393;border-bottom:solid 1px #fff;background-color:transparent;}.codeSnippetContainerTabPhantom{font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif!important;font-size:13px;line-height:17px;font-style:normal!important;height:22px;float:left;width:auto;padding:0 15px 0 15px;vertical-align:baseline;color:#c2c2c2;background:#f8f8f8;border-top:solid 1px #939393;border-right:solid 1px #939393;}.codeSnippetContainerTabSingle{font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif!important;font-size:13px;line-height:17px;font-style:normal!important;height:23px;float:left;width:auto;vertical-align:baseline;color:#707070;position:relative;background-color:#fff;}.codeSnippetContainerTabSingle{border-top:1px solid #939393;border-bottom:1px solid #fff;border-left:1px solid #939393;border-top-left-radius:4px;border-right:1px solid #939393;border-top-right-radius:4px;}.codeSnippetContainerTabSingle a{padding:0 8px 0 8px;display:inline-block;}.codeSnippetContainerTab a,.codeSnippetContainerTab a:link,.codeSnippetContainerTab a:visited,.codeSnippetContainerTab a:active{font-weight:bold;text-decoration:none;position:relative;top:2px;}.codeSnippetContainerTabActive a,.codeSnippetContainerTabActive a:link,.codeSnippetContainerTabActive a:visited,.codeSnippetContainerTabActive a:active{color:#000;font-weight:bold;text-decoration:none;position:relative;top:2px;}.codeSnippetContainerTabPhantom a,.codeSnippetContainerTabPhantom a:link,.codeSnippetContainerTabPhantom a:visited,.codeSnippetContainerTabPhantom a:active{color:#8b8b8b!important;text-decoration:none;position:relative;top:2px;}.codeSnippetContainerTabSingle a,.codeSnippetContainerTabSingle a:link,.codeSnippetContainerTabSingle a:visited,.codeSnippetContainerTabSingle a:active{color:#000;font-weight:bold;text-decoration:none;position:relative;top:2px;}.codeSnippetContainerTab a:hover{color:#707070;position:relative;top:2px;}.codeSnippetContainerTabActive a:hover{color:#707070;position:relative;top:2px;}.codeSnippetContainerTabPhantom a:hover{color:#c2c2c2;position:relative;top:2px;}.codeSnippetContainerTabSingle a:hover{color:#707070;position:relative;top:2px;}.codeSnippetContainerCodeContainer{border-left:solid 1px #939393;border-bottom:solid 1px #939393;border-right:solid 1px #939393;border-top:solid 1px #939393;clear:both;margin-bottom:12px;position:relative;top:-1px;}.codeSnippetToolBar{width:auto;height:auto;}.codeSnippetToolBarText{float:right;top:-8px;position:relative;background-color:#fff;width:auto;padding-left:0;padding-right:0;height:0;vertical-align:top;}.codeSnippetToolBarText a:link,.codeSnippetToolBarText a:visited,.codeSnippetToolBarText a:active{margin-left:15px;margin-right:15px;font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif!important;font-size:10px;font-style:normal!important;color:#2a2a2a;text-decoration:none;background-color:#fff;padding-left:8px;padding-right:8px;}.codeSnippetToolBarText a:hover{color:#3390b1;}.codeSnippetToolBarText a,.codeSnippetToolBarText a:link{text-decoration:none;color:#1364c4;}.codeSnippetToolBarText a:visited,.codeSnippetToolBarText a:active{text-decoration:none;color:#03697a;}.codeSnippetContainerCode{width:auto;margin:0;padding-right:21px;padding-left:21px;padding-top:10px;padding-bottom:10px;}.codeSnippetContainerCode div{padding:0;margin:0;}.codeSnippetContainerCode pre{padding:5px;margin:0;font-family:Consolas,Courier,monospace!important;font-style:normal;font-weight:normal;overflow:auto;word-wrap:normal;}.highlight{background:#ffffc6;} +.programmingSelector{display:none;font-size:14px;color:#2a2a2a;float:right;padding-bottom:10px;}.programmingSelector .selectorSeparator{padding-left:8px;padding-right:8px;}.programmingSelector .selectorCurrent{font-family:'Segoe UI Semibold','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;}.programmingSelector .selectorAvailable{color:#0095c4;}.programmingSelector .selectorDisabled{color:#c2c2c2;}.programmingSelector .selectortitle{padding-right:4px;}#mainSection{clear:both;} +.LW_CollapsibleArea_TitleDiv{font-family:'Segoe UI Semibold','Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif!important;font-size:18px;font-style:normal!important;padding-top:20px;padding-bottom:5px;}.LW_CollapsibleArea_TitleDiv_Collapsed{font-family:'Segoe UI Semibold','Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif!important;font-size:18px;font-style:normal!important;padding-top:20px;padding-bottom:20px;}.LW_CollapsibleArea_TitleDiv a:hover{color:#db7100;text-decoration:none;}.LW_CollapsibleArea_TitleDiv_Collapsed a:hover{color:#db7100;text-decoration:none;}.LW_CollapsibleArea_HrDiv{padding-top:0;}.LW_CollapsibleArea_Hr{border-style:none;color:#e5e5e5;display:none;}.sectionblock{padding-left:15px;display:block;padding-bottom:20px;}.sectionblock ol{list-style-type:decimal;}.sectionblock ol ol{list-style-type:lower-alpha;}.sectionblock ol ol ol{list-style-type:lower-roman;}.sectionnone{padding-left:15px;display:none;}.LW_CollapsibleArea_TitleAhref{cursor:hand;outline:none;}.LW_CollapsibleArea_Img{border-width:0;vertical-align:middle;margin-bottom:0;float:left;margin-top:7px;display:inline-block;}.LW_CollapsibleArea_TitleDiv DIV a:link,.LW_CollapsibleArea_TitleDiv DIV a:hover,.LW_CollapsibleArea_TitleDiv DIV a:visited,.LW_CollapsibleArea_TitleDiv DIV a:focus{color:#000;text-decoration:none;}.LW_CollapsibleArea_TitleDiv_Collapsed DIV a:link,.LW_CollapsibleArea_TitleDiv_Collapsed DIV a:hover,.LW_CollapsibleArea_TitleDiv_Collapsed DIV a:visited,.LW_CollapsibleArea_TitleDiv_Collapsed DIV a:focus{color:#db7100;text-decoration:none;}.LW_CollapsibleArea_Img{display:block;padding:0 5px 0 0;}.LW_CollapsibleArea_Title{display:inline-block;}.LongTitle .LW_CollapsibleArea_Title,.ActualLongTitle .LW_CollapsibleArea_Title{display:block;width:98%;}.ActualLongTitle .LW_CollapsibleArea_TitleDiv:before,.ActualLongTitle .LW_CollapsibleArea_TitleDiv:after{content:" ";display:table;}.ActualLongTitle .LW_CollapsibleArea_TitleDiv:after{clear:both;}.TitleEmpty .sectionblock div,.NoTitle .sectionblock div{padding-top:8px;}.LW_CollapsibleArea_Anchor_Img{display:inline-block;}html[dir="ltr"] .LW_CollapsibleArea_Anchor_Div{visibility:hidden;width:20px;height:20px;float:right;padding-top:7px;}html[dir="rtl"] .LW_CollapsibleArea_Anchor_Div{visibility:hidden;width:20px;height:20px;float:left;padding-top:7px;}html[dir="ltr"] .LW_CollapsibleArea_Anchor_Div.active{visibility:visible;}html[dir="rtl"] .LW_CollapsibleArea_Anchor_Div.active{visibility:visible;} +.communityContentContainer{clear:both;border-top:1px solid #dbdbdb;min-height:40px;margin-top:34px;}.communityContentHeader{padding:16px 0;border-bottom:1px solid #d5d5d5;}.communityContentHeaderTitle{font-family:'Segoe UI Light','Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;font-size:18px;color:#db7100;}.communityContentAddButton{border-style:none;float:left;padding:12px 16px 0;text-align:center;cursor:pointer;color:#2c729c;}a.communityContentAddLink,.communityContentAnnotationTitle,.communityContentAnnotationBody,.communityContentAnnotationUserContainer,.communityContentAnnotationDateContainer,a.communityContentCommentEditLink,a.communityContentDeleteLink{font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;}a.communityContentAddLink{font-size:12px;color:#fff;display:block;cursor:pointer;}.communityContentAnnotation{border-bottom:1px solid #dbdbdb;padding-top:20px;padding-bottom:10px;color:#2a2a2a;}.communityContentAnnotationTitle{font-size:14px;padding-bottom:5px;}.communityContentAnnotationBody{font-size:12px;line-height:18px;padding-bottom:10px;word-wrap:break-word;}.communityContentAnnotationBody>pre{white-space:pre-wrap;}.communityContentAnnotationAvatarContainer{float:left;padding-right:5px;width:34px;}.communityContentAnnotationAvatar IMG{border:0;}.communityContentAnnotationUserDateContainer{padding-top:3px;}.communityContentAnnotationUserContainer{font-size:10px;padding-bottom:5px;line-height:1.35;}.communityContentAnnotationUserContainer,.communityContentAnnotationUserContainer A{color:#2c729c;}.communityContentAnnotationDateContainer{font-size:10px;line-height:1.35;}a.communityContentCommentEditLink,a.communityContentDeleteLink{font-size:10px;color:#2c729c;padding-left:20px;}.communityContentHeaderTitleContainer h2{color:green;float:left;font-size:18px;} +.topicNotInScope{position:relative;padding-bottom:10px;clear:both;}.topicNotInScopeDisclaimer{background-color:#efeeef;font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;font-size:12px;color:#2a2a2a;border:1px solid #939393;padding-left:10px;padding-right:10px;padding-top:9px;padding-bottom:9px;}.topicNotInScopeDisclaimerText{padding-left:26px;padding-right:0;}.topicNotInScopeSwitchCollectionContainer{float:right;}.topicNotInScopeSwitchCollection{float:left;padding-left:5px;padding-right:5px;}.topicNotInScopeCollectionPicker{display:none;width:auto;right:10px;position:absolute;list-style-type:none;z-index:2;border:1px solid #939393;background-color:#fff;padding-left:10px;padding-right:10px;padding-top:5px;margin:0;top:30px;}.topicNotInScopeCollectionPickerItem{height:20px;margin-bottom:2px;}.topicNotInScopeImageContainer{float:left;}.topicNotInScopeImageContainer2{float:left;margin-top:5px;}html[dir="rtl"] .topicNotInScopeImageContainer,html[dir="rtl"] .topicNotInScopeImageContainer2{float:right;}.topicNotInScopeImageContainer>img{max-width:none!important;}.CustomizedCenter_link{float:right;margin-right:10px;} +.feedViewerBulletList ul{padding-top:0;padding-bottom:0;}.feedViewerBulletList ul li{padding-bottom:0;}.feedViewerBasic{}.feedViewerItem{padding-bottom:15px;}A.feedViewerLink{font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;font-size:12px;}A.feedViewerLink,A:active.feedViewerLink{color:#00709f;}A:hover.feedViewerLink{color:#3390b1;}A:visited.feedViewerLink{color:#03697a;}.feedViewerDescription{padding-top:5px;}.feedViewerDescription,.feedViewerDateAuthor{font-size:12px;font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;color:#2a2a2a;margin-top:0;margin-bottom:0;line-height:18px;}.feedViewerDate{}.feedViewerAuthor{} +.clip10x10,.clip10x46,.clip11x6,.clip11x12,.clip16x16,.clip20x20,.clip20x21,.clip22x30,.clip23x23,.clip25x25,.clip26x23,.clip29x29,.clip30x24,.clip30x25,.clip31x24,.clip32x24,.clip38x23,.clip51x24{position:relative;overflow:hidden;}.clip10x10{width:10px;height:10px;}.clip10x46{width:10px;height:46px;}.clip11x6{width:11px;height:6px;}.clip11x12{width:11px;height:12px;}.clip16x16{width:16px;height:16px;}.clip20x20{width:20px;height:20px;}.clip20x21{width:20px;height:21px;}.clip22x30{width:22px;height:30px;}.clip23x23{width:23px;height:23px;}.clip25x25{width:25px;height:25px;}.clip26x23{width:26px;height:23px;}.clip29x29{width:29px;height:29px;}.clip30x24{width:30px;height:24px;}.clip30x25{width:30px;height:25px;}.clip31x24{width:31px;height:24px;}.clip32x24{width:32px;height:24px;}.clip38x23{width:38px;height:23px;}.clip51x24{width:51px;height:24px;}.clip10x10 img,.clip10x10 input,.clip10x46 img,.clip10x46 input,.clip11x6 img,.clip11x6 input,.clip11x12 img,.clip11x12 input,.clip16x16 img,.clip16x16 input,.clip20x20 img,.clip20x20 input,.clip20x21 img,.clip20x21 input,.clip22x30 img,.clip22x30 input,.clip23x23 img,.clip23x23 input,.clip25x25 img,.clip25x25 input,.clip26x23 img,.clip26x23 input,.clip29x29 img,.clip29x29 input,.clip30x24 img,.clip30x24 input,.clip30x25 img,.clip30x25 input,.clip31x24 img,.clip31x24 input,.clip32x24 img,.clip32x24 input,.clip38x23 img,.clip38x23 input,.clip51x24 img,.clip51x24 input{position:absolute;margin:0;padding:0;width:auto;height:auto;}.cl_footer_logo{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -3px -3px;width:90px;height:16px;overflow:hidden;}.isd_search{top:-3px;left:-100px;}.search_icon_technet{top:-3px;left:-127px;}.search_gray{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -163px -3px;width:17px;height:17px;overflow:hidden;}.cl_footer_feedback_icon{top:-3px;left:-187px;}.cl_ContentFallback_Alert{top:-3px;left:-214px;}.cl_msdn_close{top:-3px;left:-246px;}.cl_printhelp_logo{top:-3px;left:-275px;}.cl_nav_resize_close{top:-3px;left:-305px;}.cl_nav_resize_open{top:-3px;left:-322px;}.toc_collapsed{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -339px -3px;width:17px;height:17px;overflow:hidden;}.toc_expanded{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -363px -3px;width:17px;height:17px;overflow:hidden;}.toc_empty{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -387px -3px;width:17px;height:17px;overflow:hidden;}.cl_rss_button{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -411px -3px;width:17px;height:17px;overflow:hidden;}.tocSearchFilter{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -435px -3px;width:12px;height:14px;overflow:hidden;}.tocSearchTagClose{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -454px -3px;width:9px;height:9px;overflow:hidden;}.cl_CollapsibleArea_expanding{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -470px -3px;width:9px;height:12px;overflow:hidden;}.cl_CollapsibleArea_collapsing{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -486px -3px;width:9px;height:12px;overflow:hidden;}.LW_CollapsibleArea_Anchor_Img{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -502px -3px;width:20px;height:20px;overflow:hidden;}.topicNotInScopeInformationImage{top:-3px;left:-529px;}.cl_lw_vs_seperator{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -552px -3px;width:1px;height:17px;overflow:hidden;}.cl_lw_vs_arrow{top:-3px;left:-560px;}.isd_settings{top:-3px;left:-577px;}.isd_print{top:-3px;left:-610px;}.isd_print_arrow{top:-3px;left:-643px;}.closedCaptionImage{top:-3px;left:-688px;}.muteImage{top:-3px;left:-727px;}.pausedImage{top:-3px;left:-765px;}.playImage{top:-3px;left:-823px;}.restartImage{top:-3px;left:-881px;}.rewindImage{top:-3px;left:-920px;}.skipImage{top:-3px;left:-957px;}.soundImage{top:-3px;left:-995px;}.tickImage{top:-3px;left:-1032px;}.topicNotInScopeDropdownImage{top:-3px;left:-1050px;}#threeColumns>.right #navigationButtons ins.gitBranch{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1068px -3px;width:20px;height:20px;overflow:hidden;}#threeColumns>.right #navigationButtons ins.contribute{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1095px -3px;width:20px;height:20px;overflow:hidden;}#threeColumns>.right #navigationButtons ins.share{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1122px -3px;width:20px;height:20px;overflow:hidden;}#threeColumns>.right #navigationButtons ins.facebook{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1149px -3px;width:14px;height:14px;overflow:hidden;}#threeColumns>.right #navigationButtons ins.twitter{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1170px -3px;width:14px;height:14px;overflow:hidden;}#threeColumns>.right #navigationButtons ins.googlePlus{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1191px -3px;width:14px;height:14px;overflow:hidden;}#tocMenuTogglerIcon{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1212px -3px;width:16px;height:16px;overflow:hidden;}.tocCollapsed #tocMenuTogglerIcon{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1235px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC46226{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1258px -3px;width:11px;height:11px;overflow:hidden;}.cl_IC28506{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1276px -3px;width:11px;height:11px;overflow:hidden;}.cl_IC90381{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1294px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC131682{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1317px -3px;width:15px;height:15px;overflow:hidden;}.cl_IC160177{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1339px -3px;width:10px;height:10px;overflow:hidden;}.cl_IC131792{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1356px -3px;width:17px;height:11px;overflow:hidden;}.cl_IC128933{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1380px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC169559{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1403px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC116110{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1426px -3px;width:12px;height:10px;overflow:hidden;}.cl_IC101471{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1445px -3px;width:16px;height:14px;overflow:hidden;}.cl_IC103139{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1468px -3px;width:10px;height:10px;overflow:hidden;}.cl_IC6709{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1485px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC115567{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1508px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC155188{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1531px -3px;width:17px;height:16px;overflow:hidden;}.cl_IC9948{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1555px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC100399{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1578px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC166620{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1601px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC29808{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1624px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC11304{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1647px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC134134{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1670px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC90369{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1693px -3px;width:10px;height:12px;overflow:hidden;}.cl_IC79755{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1710px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC157541{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1733px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC141795{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1756px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC89523{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1779px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC157062{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1802px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC34952{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1825px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC91302{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1848px -3px;width:16px;height:11px;overflow:hidden;}.cl_IC53205{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1871px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC148674{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1894px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC74937{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1917px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC82306{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1940px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC36774{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1963px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC169559{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -1986px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC101171{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -2009px -3px;width:7px;height:10px;overflow:hidden;}.cl_IC130242{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -2023px -3px;width:13px;height:10px;overflow:hidden;}.cl_IC150820{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -2043px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC25161{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -2066px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC64394{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -2089px -3px;width:16px;height:16px;overflow:hidden;}.cl_IC153696{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -2112px -3px;width:14px;height:18px;overflow:hidden;}.cl_IC37116{background:url('/Areas/Epx/Content/Images/ImageSprite.png?v=635859243972980325') no-repeat scroll -2133px -3px;width:16px;height:16px;overflow:hidden;} +body.IE #ux-header header:not(.mobile) div.bottom,body.IE7 #ux-header header:not(.mobile) div.bottom{height:45px;}body.IE #ux-header header:not(.mobile) ul.navL1>li,body.IE7 #ux-header header:not(.mobile) ul.navL1>li{height:16px;}.bg_default{background-color:#232323;}#ux-header header div#drawer div.toc{left:-360px;transition:left .6s;-webkit-transition:left .6s;-moz-transition:left .6s;-ms-transition:left .6s;}#ux-header header div#drawer div.toc.open{left:0;}#ux-header header div.bg_yellow1 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_yellow1 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_yellow2 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_yellow2 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_yellow3 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_yellow3 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_orange1 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_orange1 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_orange2 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_orange2 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_red1 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_red1 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_magenta1 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_magenta1 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_magenta2 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_magenta2 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_cyan1 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_cyan1 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_cyan2 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_cyan2 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_teal1 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_teal1 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_teal2 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_teal2 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_green1 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_green1 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_green2 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_green2 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_lime1 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_lime1 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_lime2 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_lime2 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_gray3 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_gray3 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_gray4 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_gray4 div.left div.toc nav ul.navL1>li.current>a{color:#000;}#ux-header header div.bg_orange3 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_orange3 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_red2 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_red2 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_red3 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_red3 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_magenta3 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_magenta3 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_purple1 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_purple1 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_purple2 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_purple2 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_purple3 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_purple3 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_blue1 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_blue1 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_blue2 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_blue2 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_blue3 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_blue3 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_cyan3 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_cyan3 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_teal3 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_teal3 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_green3 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_green3 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_lime3 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_lime3 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_black div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_black div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_gray1 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_gray1 div.left div.toc nav ul.navL1>li.current>a,#ux-header header div.bg_gray2 div.left div.toc nav ul.navL1>li>a,#ux-header header div.bg_gray2 div.left div.toc nav ul.navL1>li.current>a{color:#fff;}#ux-header header div.bg_yellow1 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_yellow2 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_yellow3 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_orange1 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_orange2 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_red1 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_magenta1 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_magenta2 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_cyan1 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_cyan2 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_teal1 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_teal2 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_green1 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_green2 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_lime1 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_lime2 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_gray3 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_gray4 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_orange3 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_red2 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_red3 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_magenta3 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_purple1 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_purple2 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_purple3 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_blue1 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_blue2 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_blue3 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_cyan3 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_teal3 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_green3 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_lime3 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_black div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_gray1 div.left div.toc nav ul.navL1>li.active>a,#ux-header header div.bg_gray2 div.left div.toc nav ul.navL1>li.active>a{color:#555;}.bg_yellow1{background:#fffc9e;}.bg_yellow2{background:#fff100;}.bg_yellow3{background:#fcd116;}.bg_orange1{background:#ffb900;}.bg_orange2{background:#ff8c00;}.bg_orange3{background:#dc3c00;}.bg_red1{background:#dd5900;}.bg_red2{background:#e81123;}.bg_red3{background:#ba141a;}.bg_magenta1{background:#f472d0;}.bg_magenta2{background:#ec008c;}.bg_magenta3{background:#b4009e;}.bg_purple1{background:#9b4f96;}.bg_purple2{background:#68217a;}.bg_purple3{background:#442359;}.bg_blue1{background:#4668c5;}.bg_blue2{background:#00188f;}.bg_blue3{background:#002050;}.bg_cyan1{background:#6dc2e9;}.bg_cyan2{background:#00bcf2;}.bg_cyan3{background:#0072c6;}.bg_teal1{background:#00d8cc;}.bg_teal2{background:#00b294;}.bg_teal3{background:#008272;}.bg_green1{background:#55d455;}.bg_green2{background:#009e49;}.bg_green3{background:#007233;}.bg_lime1{background:#bad80a;}.bg_lime2{background:#7fba00;}.bg_lime3{background:#008a00;}.bg_black{background:#000;}.bg_gray1{background:#505050;}.bg_gray2{background:#737373;}.bg_gray3{background:#969696;}.bg_gray4{background:#d2d2d2;}#ux-header{background-color:#000;display:block;width:100%;margin:0 auto;position:relative;z-index:1000;font-size:.8125rem;font-size:13px;line-height:.8125rem;line-height:13px;font-family:'Segoe UI',Tahoma,Helvetica,Sans-Serif;font-weight:400;}#ux-header a{text-decoration:none;}#ux-header a:focus{outline:1px dotted;}#ux-header img{border:none;}#ux-header div.left{float:left;}#ux-header div.right{float:right;}#ux-header header{display:block;width:100%;}#ux-header header #singleCol,#ux-header header #doubleCol,#ux-header header #isMobile{display:none;}#ux-header header div.row{margin:0 auto;}#ux-header header div.row:after{content:" ";display:table;clear:both;}#ux-header header div.row #grip{display:none;cursor:pointer;margin-top:10px;}#ux-header header div.row #Fragment_SocialLinks{overflow:hidden;}#ux-header header div.row #Fragment_SocialLinks .linkList{margin-left:0;}#ux-header header div.row #Fragment_SocialLinks .linkList .linkListTitle{display:none;}#ux-header header div.row #Fragment_SocialLinks .linkList ul{display:inline-block;line-height:inherit;vertical-align:bottom;}#ux-header header div.row #Fragment_SocialLinks .linkList ul li{margin-left:14px;height:14px;}#ux-header header div.row #Fragment_SocialLinks .linkList ul li:first-child{margin-left:30px;}#ux-header header div.row #Fragment_SocialLinks .linkList ul li>a{display:inline-block;color:transparent;text-indent:-100000px;}#ux-header header div.row div.SearchBox{z-index:10;width:auto;height:auto;padding:0;border:0;font-size:.8125rem;font-size:13px;font-family:'Segoe UI',Tahoma,Helvetica,Sans-Serif;font-weight:400;background-color:#232323;}#ux-header header div.row div.SearchBox:after{content:" ";display:table;clear:both;}#ux-header header div.row div.SearchBox form#HeaderSearchForm{display:inline-block;float:right;height:45px;margin-bottom:0;max-width:300px;}#ux-header header div.row div.SearchBox form#HeaderSearchForm input{border:0;height:45px;width:255px;color:#fff;display:inline-block;margin:0 0 0 0;padding:0 40px 0 20px;float:left;background-color:rgba(255,255,255,.15);font-size:16px;box-sizing:border-box;}#ux-header header div.row div.SearchBox form#HeaderSearchForm input:focus{outline:none;}#ux-header header div.row div.SearchBox form#HeaderSearchForm input::-ms-clear{display:none;}#ux-header header div.row div.SearchBox form#HeaderSearchForm button{border:0;padding:0;cursor:pointer;color:#3b3b3b;display:inline-block;float:right;width:45px;height:45px;margin:0;min-width:0;background-color:rgba(255,255,255,.15);}#ux-header header div.row div.SearchBox form#HeaderSearchForm #searchCloseIcon{visibility:hidden;opacity:0;right:25px;transition:visibility 0s linear .5s,opacity .5s linear,right .5s linear;margin-top:13px;position:absolute;}#ux-header header div.row div.SearchBox form#HeaderSearchForm #searchSplitter{position:absolute;right:45px;top:13px;border-right:1px solid #fff;height:19px;vertical-align:middle;width:0;visibility:hidden;transition:visibility 0s linear .5s;}#ux-header header div.row div.SearchBox form#HeaderSearchForm.clearable #searchCloseIcon{visibility:visible;opacity:1;right:62px;transition-delay:0s;}#ux-header header div.row div.SearchBox form#HeaderSearchForm.clearable #searchSplitter{visibility:visible;transition-delay:0s;}#ux-header header div.row div.SearchBox form#HeaderSearchForm #searchTextContainer{display:none;}#ux-header header div.row div.SearchBox form#HeaderSearchForm.opened>#searchTextContainer{display:inline-block;}#ux-header header div.row #drawer{font-family:wf_segoe-ui_light,'Segoe UI Light','Segoe WP Light',wf_segoe-ui_normal,'Segoe UI',Segoe,'Segoe WP',Tahoma,Verdana,Arial,sans-serif!important;font-weight:400;}#ux-header header div.row #drawer *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;}#ux-header header div.row #drawer .auxNav{font-size:.8125rem;font-size:13px;}#ux-header header div.row #drawer .auxNav a{color:#fff;line-height:1.5em;font-size:.6875rem;font-size:11px;}#ux-header header div.row #drawer .auxNav a:hover{color:#9c9c9c;}#ux-header header div.top{min-height:21px;}#ux-header header div.top:after{content:" ";display:table;clear:both;}#ux-header header div.top .left a.msdnLogoImg{display:inline-block;vertical-align:top;margin:10px 0 9px 0;}#ux-header header div.top .left a.msdnLogoImg img{border:none;}#ux-header header div.top .left a.msdnLogoTxt{font-size:.75rem;font-size:12px;color:#fff;display:inline-block;}#ux-header header div.top .left div.GrayPipe{margin:9px -4px 10px 18px;vertical-align:top;display:inline-block;}#ux-header header div.top .left a.DevCenterFullNameNonMegaBlade{margin:0 18px 0 18px;line-height:37px;font-size:1rem;font-size:16px;color:#a0a0a0;}#ux-header header div.top .left div.MegaBladeNavigation{font-size:.875rem;font-size:14px;color:#a0a0a0;}#ux-header header div.top .left a.DevCenterFullName{font-size:.875rem;font-size:14px;color:#a0a0a0;margin:18px 0 14px 0;}#ux-header header div.top .left a.DevCenterShortName{font-size:.875rem;font-size:14px;color:#a0a0a0;}#ux-header header div.top .left a.DevCenterFullName,#ux-header header div.top .left a.DevCenterShortName{display:none;}#ux-header header div.top .left a.DevCenterFullNameNonMegaBlade,#ux-header header div.top .left div.MegaBladeNavigation{display:inline-block;}#ux-header header div.top .right{font-size:.8125rem;font-size:13px;max-width:700px;text-align:right;margin:11px 0 0 0;}#ux-header header div.top .right a{color:#fff;line-height:1.5em;font-size:.6875rem;font-size:11px;display:inline;}#ux-header header div.top .right a:hover{color:#9c9c9c;}#ux-header header div.top .right span.profileName{color:#fff;line-height:1.5em;font-size:.6875rem;font-size:11px;display:none;}#ux-header header div.top .right a.createViewProfileLink,#ux-header header div.top .right img.profileImage{display:none;}#ux-header header div.top .right div{display:inline-block;}#ux-header header div.top .right div.auxNav{margin:0 0 10px 0;}#ux-header header div.top .right div.auxNav #Fragment_Subscriptions,#ux-header header div.top .right div.auxNav #Fragment_GetTools{margin-left:27px;}#ux-header header div.top .right div.auxNav #Fragment_SocialLinks{margin-left:0;}#ux-header header div.expandTop{display:none;}#ux-header header div.expandTop .left a{color:#fff;line-height:1.5em;font-size:.6875rem;font-size:11px;}#ux-header header div.expandTop .left a:hover{color:#9c9c9c;}#ux-header header div.expandTop .right div{display:block;}#ux-header header div.expandTop .right a{color:#fff;line-height:1.5em;font-size:.6875rem;font-size:11px;}#ux-header header div.expandTop .right a:hover{color:#9c9c9c;}#ux-header header div.bottom{position:relative;}#ux-header header div.bottom .left{float:none;display:inline-block;}#ux-header header div.bottom .left #Fragment_SiteLogo{margin-right:30px;height:45px;vertical-align:top;}#ux-header header div.bottom .left #Fragment_SiteLogo .LinkWithImage{line-height:45px;}#ux-header header div.bottom .left #Fragment_SiteLogo .LinkWithImage>a{display:inline-block;font-size:1.5rem;font-size:24px;line-height:1.5rem;line-height:24px;color:#fff;letter-spacing:.5px;text-decoration:none;margin:0;}#ux-header header div.bottom .left #Fragment_SiteLogo .LinkWithImage>a>img{vertical-align:middle;border:none;max-height:28px;}#ux-header header div.bottom .left #Fragment_SiteLogo span{display:inline-block;vertical-align:middle;}#ux-header header div.bottom .left>div{display:inline-block;vertical-align:top;}#ux-header header div.bottom .right{float:none;position:absolute;top:0;right:0;}#ux-header header div.bottom .right #search-finder{vertical-align:bottom;margin-left:14px;margin-right:14px;}#ux-header header div.toc nav li{list-style-type:none;background:transparent;padding:0;}#ux-header header div.toc nav li>a{color:#737373;display:inline-block;font-size:20px;padding:0 15px;}#ux-header header div.toc nav ul.navL1{position:relative;vertical-align:top;}#ux-header header div.toc nav ul.navL1>li>a{color:#fff;padding:12px 0 12px 15px;display:inline-block;border-bottom:solid 5px transparent;}#ux-header header div.toc nav ul.navL1>li>a:hover{text-decoration:none;border-bottom:solid 5px #fff;}#ux-header header div.toc nav ul.navL1>li.active>a{background-color:#fff;border-bottom:solid 5px #fff;}#ux-header header div.toc nav ul.navL1>li>a:after{content:"";display:inline-block;margin:0 15px 0 10px;}#ux-header header div.toc nav ul.navL1>li.current>a{color:#fff;border-bottom:solid 5px rgba(255,255,255,.7);}#ux-header header div.toc nav ul.navL1>li.current>a:hover{border-bottom:solid 5px #fff;}#ux-header header div.toc nav ul.navL1>li.current.active>a{border-bottom:solid 5px #fff;}#ux-header header div.toc nav ul.navL1>li>a,#ux-header header div.toc nav ul.navL2>li>a,#ux-header header div.toc nav ul.navL3>li>a{font-weight:lighter;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;}#ux-header header div.toc nav ul.navL1>li.active>a,#ux-header header div.toc nav ul.navL2>li.active>a,#ux-header header div.toc nav ul.navL3>li.active>a{color:#555;text-decoration:none;}#ux-header header div.toc nav ul.navL2>li>a:hover,#ux-header header div.toc nav ul.navL3>li>a:hover{background-color:#f2f2f2;}#ux-header header div.toc nav ul.navL2>li.current>a,#ux-header header div.toc nav ul.navL3>li.current>a{color:#1570a6;}#ux-header header div.toc nav ul.navL2>li.active>a,#ux-header header div.toc nav ul.navL3>li.active>a{background-color:#ddd;}#ux-header header div.toc nav ul.navL2>li.inactive>a:hover,#ux-header header div.toc nav ul.navL3>li.inactive>a:hover{color:#555;text-decoration:none;}#ux-header header div.toc nav ul.navL3>li>a:hover{background-color:#ddd;}#ux-header header div.toc nav ul{padding:0;margin:0;line-height:1rem;line-height:16px;}#ux-header header div.toc nav ul:after{content:" ";display:table;clear:both;}#ux-header header div.toc nav>ul>li{float:left;position:relative;padding:0;}#ux-header header div.toc nav ul.navL2,#ux-header header div.toc nav ul.navL3{display:none;position:absolute;z-index:200;background-color:#fff;padding:20px 0;line-height:1rem;line-height:16px;}#ux-header header div.toc nav ul.navL2 a,#ux-header header div.toc nav ul.navL3 a{padding:7px 20px;font-size:18px;color:#555;line-height:34px;}#ux-header header div.toc nav ul.navL2{left:-1px;border:1px solid #bbb;border-top:none;box-shadow:0 1px 1px 0 rgba(10,10,10,.25);font-size:.8125rem;font-size:13px;}#ux-header header div.toc nav ul.navL2 a{width:300px;}#ux-header header div.toc nav ul.navL2>li>a:after{content:"";display:inline;float:right;margin-top:16px;}#ux-header header div.toc nav ul.navL3{top:0;left:340px;border:1px solid #bbb;border-top:none;box-shadow:1px 1px 1px 0 rgba(10,10,10,.25);}#ux-header header div.toc nav ul.navL3 a{width:283px;}#ux-header header div.megaBladeToc nav li{list-style-type:none;background:transparent;padding:0;}#ux-header header div.megaBladeToc nav li>a{color:#737373;display:inline-block;padding:10px 0 9px 0;}#ux-header header div.megaBladeToc nav ul.navL1{position:relative;}#ux-header header div.megaBladeToc nav ul.navL1>li>a{color:#999;display:inline-block;padding:10px 20px 9px 20px;font-size:16px;font-family:'Segoe UI';}#ux-header header div.megaBladeToc nav ul.navL1>li.active>a{background-color:#fff;}#ux-header header div.megaBladeToc nav ul.navL1>li>a:after{content:"";display:inline-block;margin:0 0 0 10px;}#ux-header header div.megaBladeToc nav ul.navL1>li.current>a{color:#fff;}#ux-header header div.megaBladeToc nav ul.navL1>li.inactive>a:hover{color:#999;text-decoration:none;}#ux-header header div.megaBladeToc nav ul.navL1>li.active>a,#ux-header header div.megaBladeToc nav ul.navL2>li.active>a,#ux-header header div.megaBladeToc nav ul.navL3>li.active>a{color:#555;text-decoration:none;}#ux-header header div.megaBladeToc nav ul.navL2>li>a:hover,#ux-header header div.megaBladeToc nav ul.navL3>li>a:hover{background-color:#ddd;}#ux-header header div.megaBladeToc nav ul.navL2>li.current>a,#ux-header header div.megaBladeToc nav ul.navL3>li.current>a{color:#1570a6;}#ux-header header div.megaBladeToc nav ul.navL2>li.active>a,#ux-header header div.megaBladeToc nav ul.navL3>li.active>a{background-color:#ddd;}#ux-header header div.megaBladeToc nav ul.navL2>li.inactive>a:hover,#ux-header header div.megaBladeToc nav ul.navL3>li.inactive>a:hover{color:#555;text-decoration:none;}#ux-header header div.megaBladeToc nav ul{padding:0;margin:0;line-height:1rem;line-height:16px;}#ux-header header div.megaBladeToc nav ul:after{content:" ";display:table;clear:both;}#ux-header header div.megaBladeToc nav>ul>li{float:left;position:relative;padding:0 8px 0 0;}#ux-header header div.megaBladeToc nav ul.navL2,#ux-header header div.megaBladeToc nav ul.navL3{display:none;position:absolute;z-index:200;background-color:#fff;padding:10px 0;line-height:1rem;line-height:16px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;}#ux-header header div.megaBladeToc nav ul.navL2 a,#ux-header header div.megaBladeToc nav ul.navL3 a{padding:7px 20px;font-size:18px;color:#555;line-height:34px;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;}#ux-header header div.megaBladeToc nav ul.navL2{left:-1px;border:1px solid #bbb;border-top:none;box-shadow:0 1px 1px 0 rgba(10,10,10,.25);font-size:.8125rem;font-size:13px;}#ux-header header div.megaBladeToc nav ul.navL2 a{width:200px;}#ux-header header div.megaBladeToc nav ul.navL2>li>a:after{content:"";display:inline;float:right;margin-top:18px;}#ux-header header div.megaBladeToc nav ul.navL3{top:0;left:240px;border:1px solid #bbb;border-top:none;box-shadow:1px 1px 1px 0 rgba(10,10,10,.25);}#ux-header header div.megaBladeToc nav ul.navL3 a{width:283px;}#ux-header .SignedOutProfileElement{display:none;}#ux-header .ProfileElement{display:none;}#ux-header a.createProfileLink{max-width:250px;-ms-text-overflow:ellipsis;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;margin-right:23px;}#ux-header #SearchFlyoutContainer{color:#3b3b3b!important;padding:0!important;width:100%!important;border-left:solid 1px #ccc!important;border-right:solid 1px #ccc!important;border-bottom:solid 1px #ccc!important;box-shadow:0 3px 2px rgba(0,0,0,.08);-moz-box-shadow:0 3px 2px rgba(0,0,0,.08);-webkit-box-shadow:0 3px 2px rgba(0,0,0,.08);}#ux-header #SearchFlyoutContainer ul{margin:0!important;padding:0!important;}#ux-header #SearchFlyoutContainer ul li{font-size:16px!important;padding-top:10px!important;padding-bottom:13px!important;padding-left:10px!important;}#ux-header #SearchFlyoutContainer ul li span{color:#555;font-size:14px;}#ux-header #SearchFlyoutContainer ul li:hover{background-color:#f2f2f2!important;text-decoration:none!important;}#ux-header[dir="rtl"] div.left{float:right;}#ux-header[dir="rtl"] div.right{float:left;}#ux-header[dir="rtl"] header div#drawer div.toc{left:calc(100%);}#ux-header[dir="rtl"] header div#drawer div.toc.open{left:calc(100% - 320px);}#ux-header[dir="rtl"] header div.row div.right div.auxNav div#Fragment_Subscriptions,#ux-header[dir="rtl"] header div.row div.right div.auxNav div#Fragment_GetTools{margin-right:27px;margin-left:0;}#ux-header[dir="rtl"] header div.row div.right div.auxNav #Fragment_SocialLinks{margin-right:0;margin-left:0;}#ux-header[dir="rtl"] header div.row div.right div.SearchBox{background-color:#232323;}#ux-header[dir="rtl"] header div.row div.right div.SearchBox form#HeaderSearchForm{float:left;height:45px;}#ux-header[dir="rtl"] header div.row div.right div.SearchBox form#HeaderSearchForm input{padding:0 20px 0 40px;float:right;border:0;color:#fff;}#ux-header[dir="rtl"] header div.row div.right div.SearchBox form#HeaderSearchForm input::-ms-clear{display:none;}#ux-header[dir="rtl"] header div.row div.right div.SearchBox form#HeaderSearchForm button{float:left;}#ux-header[dir="rtl"] header div.row div.right div.SearchBox form#HeaderSearchForm #searchCloseIcon{visibility:hidden;opacity:0;left:25px;right:auto;transition:visibility 0s linear .5s,opacity .5s linear,left .5s linear;margin-top:13px;position:absolute;}#ux-header[dir="rtl"] header div.row div.right div.SearchBox form#HeaderSearchForm #searchSplitter{position:absolute;left:45px;right:auto;top:13px;width:2px;visibility:hidden;transition:visibility 0s linear .5s;}#ux-header[dir="rtl"] header div.row div.right div.SearchBox form#HeaderSearchForm.clearable #searchCloseIcon{visibility:visible;opacity:1;left:62px;transition-delay:0s;}#ux-header[dir="rtl"] header div.row div.right div.SearchBox form#HeaderSearchForm.clearable #searchSplitter{visibility:visible;transition-delay:0s;}#ux-header[dir="rtl"] header div.row div.right div.SearchBox form#HeaderSearchForm #searchTextContainer{display:none;}#ux-header[dir="rtl"] header div.row div.right div.SearchBox form#HeaderSearchForm.opened>#searchTextContainer{display:inline-block;}#ux-header[dir="rtl"] header div.row div.bottom div.right{right:auto;left:0;}#ux-header[dir="rtl"] header div.row nav>ul>li{float:right;padding:0 0 0 0;}#ux-header[dir="rtl"] header div.row nav ul.navL1>li>a{padding:12px 15px 12px 0;}#ux-header[dir="rtl"] header div.row nav ul.navL1>li>a:after{content:"";display:inline-block;margin:0 10px 0 15px;}#ux-header[dir="rtl"] header div.row nav ul.navL2{right:-1px;left:auto;}#ux-header[dir="rtl"] header div.row nav ul.navL2>li>a:after{float:left;margin-top:16px;}#ux-header[dir="rtl"] header div.row nav ul.navL3{left:auto;right:340px;box-shadow:-1px 1px 1px 0 rgba(10,10,10,.25);}#ux-header[dir="rtl"] header div.row #Fragment_SocialLinks{margin-left:0;}#ux-header[dir="rtl"] header div.row #Fragment_SocialLinks .linkList{margin-right:0;}#ux-header[dir="rtl"] header div.row #Fragment_SocialLinks .linkList ul li{margin-left:0;margin-right:14px;}#ux-header[dir="rtl"] header div.row #Fragment_SocialLinks .linkList ul li:first-child{margin-right:30px;}#ux-header[dir="rtl"] header div.top div.left{margin-right:-3px;}#ux-header[dir="rtl"] header div.top div.left div.GrayPipe{margin:9px 18px 10px -4px;vertical-align:top;display:inline-block;}#ux-header[dir="rtl"] header div.top div.left #Fragment_SiteLogo{margin:0 0 0 30px;}#ux-header[dir="rtl"] header div.megaBladeToc nav li{list-style-type:none;background:transparent;padding:0;}#ux-header[dir="rtl"] header div.megaBladeToc nav li>a{color:#737373;display:inline-block;padding:10px 0 9px 0;}#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL1{position:relative;}#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL1>li>a{color:#999;display:inline-block;padding:10px 20px 9px 20px;font-size:16px;font-family:'Segoe UI';}#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL1>li.active>a{background-color:#fff;}#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL1>li>a:after{content:"";display:inline-block;margin:0 10px 0 0;}#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL1>li.current>a{color:#fff;}#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL1>li.inactive>a:hover{color:#999;text-decoration:none;}#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL1>li.active>a,#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL2>li.active>a,#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL3>li.active>a{color:#555;text-decoration:none;}#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL2>li>a:hover,#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL3>li>a:hover{background-color:#ddd;}#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL2>li.current>a,#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL3>li.current>a{color:#1570a6;}#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL2>li.active>a,#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL3>li.active>a{background-color:#ddd;}#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL2>li.inactive>a:hover,#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL3>li.inactive>a:hover{color:#555;text-decoration:none;}#ux-header[dir="rtl"] header div.megaBladeToc nav ul{padding:0;margin:0;line-height:1rem;line-height:16px;}#ux-header[dir="rtl"] header div.megaBladeToc nav ul:after{content:" ";display:table;clear:both;}#ux-header[dir="rtl"] header div.megaBladeToc nav>ul>li{float:left;position:relative;padding:0 0 0 8px;}#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL2,#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL3{display:none;position:absolute;z-index:200;background-color:#fff;padding:10px 0;line-height:1rem;line-height:16px;}#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL2 a,#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL3 a{padding:7px 20px;font-size:18px;color:#555;line-height:34px;}#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL2{border:1px solid #bbb;border-top:none;box-shadow:0 1px 1px 0 rgba(10,10,10,.25);font-size:.8125rem;font-size:13px;}#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL2 a{width:200px;}#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL2>li>a:after{content:"";display:inline;float:left;margin-top:18px;}#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL3{top:0;right:240px;border:1px solid #bbb;border-top:none;box-shadow:1px 1px 1px 0 rgba(10,10,10,.25);}#ux-header[dir="rtl"] header div.megaBladeToc nav ul.navL3 a{width:283px;}#ux-header[dir="rtl"] a.createProfileLink{margin-right:0;margin-left:23px;}#ux-header[dir="rtl"] #SearchFlyoutContainer{left:1px!important;}#ux-header[dir="rtl"] #SearchFlyoutContainer ul li{padding-right:10px!important;padding-left:0!important;} +#ux-header .topRow .instagram,#ux-footer .instagram{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -3px -3px;width:14px;height:14px;overflow:hidden;}#ux-header .topRow .wechatShare,#ux-footer .wechatShare{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -24px -3px;width:14px;height:14px;overflow:hidden;}#ux-header .topRow .weiboShare,#ux-footer .weiboShare{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -45px -3px;width:14px;height:14px;overflow:hidden;}#ux-header .topRow .cnContactShare,#ux-footer .cnContactShare{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -66px -3px;width:14px;height:14px;overflow:hidden;}#ux-header .topRow .facebook,#ux-footer .facebook{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -87px -3px;width:14px;height:14px;overflow:hidden;}#ux-header .topRow .googlePlus,#ux-footer .googlePlus{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -108px -3px;width:14px;height:14px;overflow:hidden;}#ux-header .topRow .twitter,#ux-footer .twitter{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -129px -3px;width:14px;height:14px;overflow:hidden;}#ux-header .topRow .linkedin,#ux-footer .linkedin{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -150px -3px;width:14px;height:14px;overflow:hidden;}#ux-header .topRow .youtube,#ux-footer .youtube{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -171px -3px;width:45px;height:14px;overflow:hidden;}#ux-header .topRow .vkOne,#ux-footer .vkOne{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -223px -3px;width:14px;height:14px;overflow:hidden;}#ux-header .middleRow .instagram,#ux-footer .instagram{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -244px -3px;width:27px;height:27px;overflow:hidden;}#ux-header .middleRow .wechatShare,#ux-footer .wechatShare{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -278px -3px;width:27px;height:27px;overflow:hidden;}#ux-header .middleRow .weiboShare,#ux-footer .weiboShare{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -312px -3px;width:27px;height:27px;overflow:hidden;}#ux-header .middleRow .cnContactShare,#ux-footer .cnContactShare{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -346px -3px;width:27px;height:27px;overflow:hidden;}#ux-header .middleRow .facebook,#ux-footer .facebook{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -380px -3px;width:27px;height:27px;overflow:hidden;}#ux-header .middleRow .googlePlus,#ux-footer .googlePlus{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -414px -3px;width:27px;height:27px;overflow:hidden;}#ux-header .middleRow .twitter,#ux-footer .twitter{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -448px -3px;width:27px;height:27px;overflow:hidden;}#ux-header .middleRow .linkedin,#ux-footer .linkedin{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -482px -3px;width:27px;height:27px;overflow:hidden;}#ux-header .middleRow .youtube,#ux-footer .youtube{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -516px -3px;width:86px;height:27px;overflow:hidden;}#ux-header .middleRow .vkOne,#ux-footer .vkOne{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -609px -3px;width:27px;height:27px;overflow:hidden;}#ux-header .logo,#ux-footer .logo{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -643px -3px;width:68px;height:14px;overflow:hidden;}.selectLocale a:after{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -718px -3px;width:24px;height:24px;overflow:hidden;}.office:after{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -749px -3px;width:17px;height:20px;overflow:hidden;}.windowsBlue:after{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -773px -3px;width:19px;height:19px;overflow:hidden;}.visualStudio:after{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -799px -3px;width:19px;height:19px;overflow:hidden;}.nokia:after{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -825px -3px;width:19px;height:19px;overflow:hidden;}.rtl .navL2>li.toggle>a:after{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -851px -3px;width:9px;height:12px;overflow:hidden;}.navL2>li.toggle>a:after{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -867px -3px;width:9px;height:12px;overflow:hidden;}.navL1>li.toggle.active>a:after{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -883px -3px;width:10px;height:6px;overflow:hidden;}.navL1>li.toggle.inactive>a:after{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -900px -3px;width:10px;height:6px;overflow:hidden;}.mobile .navL1>li.toggle.inactive>a:after,.mobile .navL2>li.toggle.inactive>a:after{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -917px -3px;width:7px;height:5px;overflow:hidden;}.mobile .navL1>li.toggle.active>a:after,.mobile .navL2>li.toggle.active>a:after{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -931px -3px;width:7px;height:5px;overflow:hidden;}#ux-header .GrayPipe,#ux-footer .GrayPipe{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -945px -3px;width:1px;height:18px;overflow:hidden;}#ux-header .tablet-msft-logo,#ux-footer .tablet-msft-logo{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -953px -3px;width:88px;height:19px;overflow:hidden;}#ux-header .search-finder,#ux-footer .search-finder{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1048px -3px;width:16px;height:20px;overflow:hidden;}#ux-header .search-clear-x,#ux-footer .search-clear-x{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1071px -3px;width:16px;height:20px;overflow:hidden;}#ux-header .msft-logo,#ux-footer .msft-logo{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1094px -3px;width:70px;height:15px;overflow:hidden;}#ux-header .mobile-search-finder,#ux-footer .mobile-search-finder{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1171px -3px;width:30px;height:36px;overflow:hidden;}#ux-header .mobile-search-clear-x,#ux-footer .mobile-search-clear-x{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1208px -3px;width:30px;height:36px;overflow:hidden;}#ux-header .mobile-msft-logo,#ux-footer .mobile-msft-logo{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1245px -3px;width:112px;height:24px;overflow:hidden;}#ux-header .mobile-menu-icon,#ux-footer .mobile-menu-icon{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1364px -3px;width:30px;height:28px;overflow:hidden;}#ux-header[data-device-type='mobile'] .navL1>li.toggle.current>a:after,#ux-header[data-device-type='mobile'] .navL2>li.toggle.current>a:after{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1401px -3px;width:27px;height:15px;overflow:hidden;}#ux-header[data-device-type='mobile'] .navL1>li.toggle>a:after,#ux-header[data-device-type='mobile'] .navL2>li.toggle>a:after{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1435px -3px;width:27px;height:15px;overflow:hidden;}#ux-header .menu-icon,#ux-footer .menu-icon{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1469px -3px;width:18px;height:17px;overflow:hidden;}#ux-header .arrow-white,#ux-footer .arrow-white{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1494px -3px;width:10px;height:6px;overflow:hidden;}#ux-header[data-device-type='tablet'] .navL1>li.toggle.current>a:after,#ux-header[data-device-type='tablet'] .navL2>li.toggle.current>a:after{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1511px -3px;width:17px;height:9px;overflow:hidden;}#ux-header[data-device-type='tablet'] .navL1>li.toggle>a:after,#ux-header[data-device-type='tablet'] .navL2>li.toggle>a:after{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1535px -3px;width:17px;height:9px;overflow:hidden;}#ux-header .arrow-grey-right,#ux-footer .arrow-grey-right{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1559px -3px;width:6px;height:10px;overflow:hidden;}#ux-header .arrow-grey-down,#ux-footer .arrow-grey-down{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1572px -3px;width:10px;height:6px;overflow:hidden;}#ux-header header div.bg_yellow1 div.toc nav ul.navL1>li.toggle.inactive>a::after,#ux-header header div.bg_yellow2 div.toc nav ul.navL1>li.toggle.inactive>a::after,#ux-header header div.bg_yellow3 div.toc nav ul.navL1>li.toggle.inactive>a::after,#ux-header header div.bg_orange1 div.toc nav ul.navL1>li.toggle.inactive>a::after,#ux-header header div.bg_orange2 div.toc nav ul.navL1>li.toggle.inactive>a::after,#ux-header header div.bg_red1 div.toc nav ul.navL1>li.toggle.inactive>a::after,#ux-header header div.bg_magenta1 div.toc nav ul.navL1>li.toggle.inactive>a::after,#ux-header header div.bg_magenta2 div.toc nav ul.navL1>li.toggle.inactive>a::after,#ux-header header div.bg_cyan1 div.toc nav ul.navL1>li.toggle.inactive>a::after,#ux-header header div.bg_cyan2 div.toc nav ul.navL1>li.toggle.inactive>a::after,#ux-header header div.bg_teal1 div.toc nav ul.navL1>li.toggle.inactive>a::after,#ux-header header div.bg_teal2 div.toc nav ul.navL1>li.toggle.inactive>a::after,#ux-header header div.bg_green1 div.toc nav ul.navL1>li.toggle.inactive>a::after,#ux-header header div.bg_green2 div.toc nav ul.navL1>li.toggle.inactive>a::after,#ux-header header div.bg_lime1 div.toc nav ul.navL1>li.toggle.inactive>a::after,#ux-header header div.bg_lime2 div.toc nav ul.navL1>li.toggle.inactive>a::after,#ux-header header div.bg_gray3 div.toc nav ul.navL1>li.toggle.inactive>a::after,#ux-header header div.bg_gray4 div.toc nav ul.navL1>li.toggle.inactive>a::after,#ux-header header div.bg_white div.toc nav ul.navL1>li.toggle.inactive>a::after{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1589px -3px;width:10px;height:6px;overflow:hidden;}#ux-footer .footerSockLeft .instagram{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1606px -3px;width:33px;height:33px;overflow:hidden;}#ux-footer .footerSockLeft .facebook{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1646px -3px;width:32px;height:32px;overflow:hidden;}#ux-footer .footerSockLeft .googlePlus{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1685px -3px;width:32px;height:32px;overflow:hidden;}#ux-footer .footerSockLeft .linkedin{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1724px -3px;width:33px;height:33px;overflow:hidden;}#ux-footer .footerSockLeft .twitter{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1764px -3px;width:33px;height:32px;overflow:hidden;}#ux-footer .footerSockLeft .vkOne{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1804px -3px;width:33px;height:33px;overflow:hidden;}#ux-footer .footerSockLeft .wechatShare{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1844px -3px;width:33px;height:33px;overflow:hidden;}#ux-footer .footerSockLeft .weiboShare{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1884px -3px;width:33px;height:33px;overflow:hidden;}#ux-footer .footerSockLeft .cnContactShare{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1924px -3px;width:33px;height:33px;overflow:hidden;}#ux-footer .footerSockLeft .youtube{background:url('/Areas/Centers/Themes/StandardDevCenter/Content/HeaderFooterSprite.png?v=635859243904073923') no-repeat scroll -1964px -3px;width:33px;height:33px;overflow:hidden;} +.linkList>ul{margin:0;padding:0;list-style-type:none;}.linkList>ul>li{list-style-type:none;background:none;padding:0;margin:0;}.linkList ul.horizontal>li{float:left;}.rtl .linkList>ul.horizontal>li{float:right;}.linkList ul.horizontal>li.divider:last-child{display:none;} +div.printExportMenus{float:right;font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;font-size:10px;margin-right:9px;}div.printExportMenus a,div.printExportMenus a:visited,div.printExportMenus a:link,div.printExportMenus a:hover,div.printExportMenus a:active{color:#fff;padding:0 7px;background-color:#666;margin:3px 3px 0 3px;}div.printExportMenus a#isd_printABook{display:none;}div.printExportMenus a.exportToolBarShown{margin:0;border:solid 3px #e5e5e5;border-bottom:solid 5px #e5e5e5;}div.rtl.printExportMenus{float:left;}div.rtl.printExportMenus{margin-right:0;margin-left:9px;}#isd_archiveControl{cursor:pointer;display:none;} +body,div#page{width:auto!important;}div.ux-header-main-container,div#ux-header,header.ux-header,div#uhf-header-wrapper{display:none;}div#leftNav,div#rightNavigationMenu{display:none;}div#content{margin-left:0!important;margin-right:0!important;}#exportToolBar{display:none!important;}#page,#ux-banner{-moz-min-width:0!important;-ms-min-width:0!important;-o-min-width:0!important;-webkit-min-width:0!important;min-width:0!important;}div#content,body.library div#content,div#body{float:none!important;width:auto!important;overflow-x:visible!important;overflow-y:visible!important;border-left:none!important;}div#versionclick{display:none;}span#rateThisPrefix{display:none;}a#rateThisTopic{display:none;}div#contentFeedback{display:none;}div.feedbackContainer{display:none;}div.codeSnippetContainerTab{display:none;}div.codeSnippetContainerTabActive{display:block;margin-left:0;border-left:1px solid #939393;border-top-left-radius:4px;}div.codeSnippetToolBarText{display:none;}span.communityContentAddButton{display:none;}div.breadCrumb{display:none;}a#TocResize{display:none;}div.codeSnippetContainerTabPhantom{margin-left:0!important;}div.topicNotInScope{display:none;}div.ux-footer,footer.ux-footer,footer#ux-footer,div#ux-footer,div#breadcrumbs,div#ux-banner{display:none!important;}div.footerPrintView{display:block;}div.footerCopyrightPrintView{font-size:12px;color:#707070;}.highlight{background:0;font-weight:bold;}div#megabladeContainer{display:none!important;}div.printExportMenus{display:none;}div#skinnyRating{display:none;}div#ratingCounter{display:none;}.LW_CollapsibleArea_Anchor_Div{display:none;} +.lw_vs{position:relative;margin-top:-8px;margin-bottom:10px;padding-bottom:2px;}.lw_vs div{float:left;}.cl_lw_vs_seperator{margin-left:10px;}.cl_lw_vs_seperatorhide{width:8px;height:17px;overflow:hidden;}#vsLink{margin-left:10px;margin-right:4px;font-size:1em;}#vsPanel{min-width:200px;}#vsPanel>li.archived{display:none;}#vsExpand{display:none;padding-top:10px;padding-bottom:5px;cursor:pointer;}#vsExpand a{display:block;}.cl_vs_arrow{margin-top:5px;margin-right:5px;cursor:pointer;}#vsPanel{position:absolute;top:20px;border:#bdbdbd 1px solid;padding-bottom:10px;background-color:#fff;margin:0 0 0 10px;padding-left:10px;padding-right:10px;display:none;padding-top:10px;list-style-type:none;z-index:2;}#vsPanel a:visited{color:#960bb4;}#vsPanel LI{margin-bottom:2px;font-size:1em;} +div#ux-footer{display:block;background-color:#eee;width:100%;margin:0 auto;font-size:16px;font-family:'Segoe UI',Tahoma,Helvetica,Sans-Serif;}div#ux-footer a{text-decoration:none;}div#ux-footer a:focus{outline:1px dotted #000;}div#ux-footer .clear{clear:both;}div#ux-footer footer.top{display:block;width:97%;margin:0 auto;position:relative;}div#ux-footer footer.top .linkListTitle{font-size:.8125em;color:#000;line-height:1.875em;margin-top:35px;}div#ux-footer footer.top ul>li>a{font-size:.6875em;color:#1570a6;line-height:1.875em;}div#ux-footer footer.top div#rightLinks>div{float:left;width:33.3%;}div#ux-footer footer.top div#rightLinks>div.nth-child-4n{clear:both;}div#ux-footer footer.top div#rightLinks>div.feedbackContainer{width:66.6%;font-size:100%;color:#000;}div#ux-footer footer.top div.feedbackContainer div#feedbackSection3 div{margin-bottom:3px;}div#ux-footer footer.top div.feedbackContainer div#feedbackSection3 div div.ui-checkbox input{vertical-align:middle;margin-top:-2px;}div#ux-footer footer.top div.feedbackContainer div#feedbackSection1,div#ux-footer footer.top div.feedbackContainer div#feedbackSection2,div#ux-footer footer.top div.feedbackContainer div#feedbackSection3,div#ux-footer footer.top div.feedbackContainer div#feedbackSection4 div.left span.counter,div#ux-footer footer.top div.feedbackContainer div#feedbackSection5{font-size:.8125em;color:#000;}div#ux-footer footer.top div.feedbackContainer div textarea#feedbackTextArea.TellUsMoreTextBoxSearchLoaded{color:#949494;font-size:.75em;}div#ux-footer footer.top div.feedbackContainer div textarea#feedbackTextArea.TellUsMoreTextBoxSearch{font-size:.8125em;}div#ux-footer #Fragment_LeftLinks{width:25%;float:left;}div#ux-footer #Fragment_LeftLinks>.linkList>ul>li>a{font-size:.8125em;height:30px;display:inline-block;margin-top:10px;color:#000;line-height:1.25em;}div#ux-footer #Fragment_LeftLinks>.linkList>ul>li>a:after{content:" ";display:block;float:left;margin:0 10px 0 0;}div#ux-footer #rightLinks{float:left;width:75%;}div#ux-footer footer.bottom{display:block;width:97%;margin:0 auto;padding:45px 0;position:relative;line-height:1;clear:both;}div#ux-footer footer.bottom span.localeContainer{width:25%;float:left;display:inline-block;}div#ux-footer footer.bottom span.localeContainer a{font-size:.6875em;background-color:#4d4d4d;color:#fff;display:inline-block;text-decoration:none;line-height:2em;padding-left:9px;}div#ux-footer footer.bottom span.localeContainer a:after{content:" ";display:block;float:right;margin-left:9px;background-color:#1570a6;}div#ux-footer footer.bottom span.copyright{font-size:.6875em;line-height:1.7em;float:left;margin-right:20px;display:inline-block;}div#ux-footer footer.bottom span.logo{display:inline-block;margin-right:20px;}div#ux-footer #Fragment_BottomLinks>.linkList>ul{float:left;width:50%;}div#ux-footer #Fragment_BottomLinks>.linkList>ul>li{display:inline-block;margin-right:20px;}div#ux-footer #Fragment_BottomLinks>.linkList>ul>li>a{color:#1570a6;font-size:.6875em;line-height:1.5em;}div#ux-footer[dir="rtl"] div#footerSock div#footerSockInner div.rating{float:right;margin-right:25%;margin-left:0;}div#ux-footer[dir="rtl"] div#footerSock div#footerSockInner div.buttons>.button{margin:0 0 0 10px;}div#ux-footer[dir="rtl"] .right{float:left;}div#ux-footer[dir="rtl"] .left{float:right;}div#ux-footer[dir="rtl"] #Fragment_LeftLinks{float:right;}div#ux-footer[dir="rtl"] #Fragment_LeftLinks>.linkList>ul>li>a:after{float:right;margin:0 0 0 10px;}div#ux-footer[dir="rtl"] #rightLinks{float:right;}div#ux-footer[dir="rtl"] footer.top div#rightLinks>div{float:right;}div#ux-footer[dir="rtl"] footer.bottom span.localeContainer{float:right;}div#ux-footer[dir="rtl"] footer.bottom span.localeContainer a{padding-right:9px;padding-left:0;}div#ux-footer[dir="rtl"] footer.bottom span.localeContainer a:after{float:left;margin:0 9px 0 0;}div#ux-footer[dir="rtl"] footer.bottom span.logo{margin-right:0;margin-left:20px;}div#ux-footer[dir="rtl"] footer.bottom span.copyright{float:right;margin-right:0;margin-left:20px;}div#ux-footer[dir="rtl"] #Fragment_BottomLinks>.linkList>ul{float:right;}div#ux-footer[dir="rtl"] #Fragment_BottomLinks>.linkList>ul>li{float:right;margin-right:0;margin-left:20px;}body.IE8 div#ux-footer #Fragment_LeftLinks{min-width:180px;}body.IE8 div#ux-footer footer.top div#rightLinks>div div{padding-right:10px;}body.IE8 div#ux-footer footer.bottom span.localeContainer{min-width:170px;}body.IE8 div#ux-footer #Fragment_BottomLinks>.linkList>ul{display:block;min-width:370px;}body.IE8 div#ux-footer[dir="rtl"] footer.top div#rightLinks>div div{padding-right:0;padding-left:10px;} +div#footerSock{background-color:#d2d2d2;color:#000;line-height:16px;}div#footerSock div#footerSockInner{width:1180px;margin:auto;}div#footerSock div#footerSockInner div.rating,div#footerSock div#footerSockInner div.userVoice{margin:27px 0 32px 25%;float:left;}div#footerSock div#footerSockInner div.rating div.buttons,div#footerSock div#footerSockInner div.userVoice div.buttons{margin-top:10px;min-width:150px;}div#footerSock div#footerSockInner div.rating div.buttons>div,div#footerSock div#footerSockInner div.userVoice div.buttons>div{display:inline-block;}div#footerSock div#footerSockInner div.rating div.buttons>.button,div#footerSock div#footerSockInner div.userVoice div.buttons>.button,div#footerSock div#footerSockInner div.rating div.buttons>div>.button,div#footerSock div#footerSockInner div.userVoice div.buttons>div>.button{cursor:pointer;font-size:14px;font-weight:600;line-height:16px;border:none;background-color:#00bcf2;color:#000;margin:0 10px 0 0;}div#footerSock div#footerSockInner div.rating div.buttons>.button:hover,div#footerSock div#footerSockInner div.userVoice div.buttons>.button:hover,div#footerSock div#footerSockInner div.rating div.buttons>div>.button:hover,div#footerSock div#footerSockInner div.userVoice div.buttons>div>.button:hover{background-color:#000;color:#fff;}div#footerSock div#footerSockInner div.rating div.buttons>.button:focus,div#footerSock div#footerSockInner div.userVoice div.buttons>.button:focus,div#footerSock div#footerSockInner div.rating div.buttons>div>.button:focus,div#footerSock div#footerSockInner div.userVoice div.buttons>div>.button:focus{outline:1px dotted #000;border:none;}div#footerSock div#footerSockInner div.rating div.buttons>.button::-moz-focus-inner,div#footerSock div#footerSockInner div.userVoice div.buttons>.button::-moz-focus-inner,div#footerSock div#footerSockInner div.rating div.buttons>div>.button::-moz-focus-inner,div#footerSock div#footerSockInner div.userVoice div.buttons>div>.button::-moz-focus-inner{border:0;}div#footerSock div#footerSockInner div.rating div.title,div#footerSock div#footerSockInner div.userVoice div.title{line-height:20px;margin:0 0 15px 0;font-size:18px;font-weight:600;color:#000;font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;clear:none;}div#footerSock div#footerSockInner div.rating div.description,div#footerSock div#footerSockInner div.userVoice div.description{font-size:14px;}div#footerSock div#footerSockInner div.userVoice{min-width:231px;width:27%;}div#footerSock div#footerSockInner div.userVoice div.description{margin-bottom:32px;}div#footerSock div#footerSockInner div.userVoice>div.buttons>.button{padding:4px 18px 8px 18px;}div#footerSock div#footerSockInner div.rating{min-width:290px;width:38%;}div#footerSock div#footerSockInner div.rating div.description{margin-bottom:26px;}div#footerSock div#footerSockInner div.rating div.buttons>.button,div#footerSock div#footerSockInner div.rating div.buttons>div>.button{padding:7px 18px;}div#footerSock div#footerSockInner div.rating textarea{margin-bottom:6px;width:95%;height:160px;border:0;resize:none;}div#footerSock div#footerSockInner div.rating div#ratingSection2,div#footerSock div#footerSockInner div.rating div#ratingSection3{display:none;}div#footerSock div#footerSockInner div.rating div#ratingSection2{width:460px;}div#footerSock div#footerSockInner div.rating div#ratingSection2 div.title{margin:0 0 15px 0;}div#footerSock div#footerSockInner div.rating div#ratingSection2 div.counter{font-size:14px;color:#505050;padding:0 5%;}div#footerSock div#footerSockInner div.rating div#ratingSection2 div.buttons{margin-top:8px;}div#footerSock.both div#footerSockInner div.rating,div#footerSock.both div#footerSockInner div.userVoice{margin-left:0;width:50%;}div#footerSock.librarySock div#footerSockInner{width:97%;}body:not(.FF) div#ux-footer div#footerSock.both div.userVoice>div.buttons>.button{padding-top:5px;padding-bottom:6px;} +body{font-size:12px;max-width:1220px;padding-left:12px;padding-right:12px;margin:0;margin-left:auto;margin-right:auto;}body.library #megabladeContainer #megabladeContainerCenter{width:1220px;}div#body{margin:0;padding-top:19px;}table{padding:0;}div#content table,div#content th,div#content td{border:1px solid #bbb;}.contentWrapper h2 a,.contentWrapper h3 a,.heading{color:#000;}h1,h1.heading{font-size:3em;color:#707070;}h2,h3,h4{color:#2a2a2a;}h2{font-size:1.833em;}.subheading{font-size:1.833em;}h3{font-size:1.5em;}h4{font-size:1.33em;}.topic a,.topic a:link{text-decoration:none;color:#1364c4;}.topic a:visited,.topic a:active{text-decoration:none;color:#03697a;}.topic a:hover{text-decoration:none;color:#3390b1;}.topic a.active,.topic a.active:link,.topic a.active:hover,.topic a.active:visited,.topic a.active:active{color:#2a2a2a;}.communityContentHeaderTitle,.communityEditor .additionTopicTitle{color:#000;}div#leftNav{width:280px;}div#tocnav{margin:-20px 0 0 -4px;font-size:1.0803em;}.toclevel0:first-child{margin-top:16px;}div#tocnav div{margin-bottom:5px;margin-left:18px;}div#tocnav>div.current>a,div#tocnav>div.current>a:link,div#tocnav>div.current>a:hover,div#tocnav>div.current>a:focus,div#tocnav>div.current>a:visited{color:#000;font-weight:bold;}div#tocnav>div.toclevel1{padding-left:17px;}div#tocnav>div.toclevel2{padding-left:34px;}div#tocnav>div.toclevel3{padding-left:51px;}div#tocnav>div.toclevel4{padding-left:68px;}div#tocnav>div.toclevel5{padding-left:85px;}div#tocnav>div.toclevel6{padding-left:102px;}div#tocnav>div.toclevel7{padding-left:119px;}div#tocnav>div.toclevel8{padding-left:136px;}div#tocnav>div.toclevel9{padding-left:153px;}div#tocnav>div.toclevel10{padding-left:170px;}a#NavigationResize{top:44px;}.LW_CollapsibleArea_Title{font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;}.LW_CollapsibleArea_TitleDiv{margin-top:9px;margin-bottom:19px;padding:0;}.LW_CollapsibleArea_TitleDiv div a,.LW_CollapsibleArea_TitleDiv div a:link,.LW_CollapsibleArea_TitleDiv div a:hover,.LW_CollapsibleArea_TitleDiv div a:visited,.LW_CollapsibleArea_TitleDiv div a:focus{color:#000;}.codeSnippetContainerTab{border:1px solid #939393;border-left:none;background-color:#eff5ff;font-size:1em;}.codeSnippetContainerTab a,.codeSnippetContainerTab a:link,.codeSnippetContainerTab a:hover,.codeSnippetContainerTab a:visited,.codeSnippetContainerTab a:focus{color:#1364c4;font-weight:bold;}.codeSnippetContainerTabActive{border-left:none;background-color:#fff;border-bottom:1px solid #fff;font-size:1em;}.codeSnippetContainerTabActive a,.codeSnippetContainerTabActive a:link,.codeSnippetContainerTabActive a:hover,.codeSnippetContainerTabActive a:visited,.codeSnippetContainerTabActive a:focus{color:#000;font-weight:bold;}.codeSnippetContainerTabSingle{padding:-1px 15px 0 15px;background-color:#fff;border-top:1px solid #939393;border-right:1px solid #939393;font-size:1em;top:auto;left:auto;}.codeSnippetContainerTabSingle a,.codeSnippetContainerTabSingle a:link,.codeSnippetContainerTabSingle a:hover,.codeSnippetContainerTabSingle a:visited,.codeSnippetContainerTabSingle a:focus{color:#000;font-weight:bold;}.codeSnippetContainerTabPhantom{border-left:none;font-size:1em;font-weight:bold;background-color:#f8f8f8;color:#8b8b8b!important;border-bottom:1px solid #fff;}.codeSnippetContainerTabs>div:first-child{border-left:1px solid #939393;border-top-left-radius:4px;}html[dir="rtl"] .codeSnippetContainerTabs>div:first-child{border-left:none;border-top-left-radius:0;border-top-right-radius:4px;}.codeSnippetContainerTabs>div:last-child{border-right:1px solid #939393;border-top-right-radius:4px;}html[dir="rtl"] .codeSnippetContainerTabs>div:last-child{border-top-right-radius:0;border-left:1px solid #939393;border-top-left-radius:4px;}div.lw_vs{margin-bottom:35px;} +body{font-size:13px;color:#000;max-width:none;padding:0;}#page,#ux-banner{min-width:1120px;}#body{padding-left:12px;padding-right:12px;margin-top:6px;}h1,h1.title,.topic h1.title{font-size:2.769em;font-weight:normal;font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;color:#000;}h1.heading,h2,h2.heading,h2.subheading,h3,h3.subheading,h4,h4.subheading,h5,h5.subheading,.LW_CollapsibleArea_Title{font-family:'Segoe UI Semibold','Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;color:#000;}h1.heading,h2,h2.heading,h2.subheading,.LW_CollapsibleArea_Title{font-size:1.769em;}.LW_CollapsibleArea_TitleDiv{font-family:'Segoe UI Semibold','Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;font-size:13px;}.LW_CollapsibleArea_Img{margin-top:12px;}a#expandCollapseAll,a#isd_print,a#isd_printABook{display:inline-block;margin-top:10px;margin-right:6px;font-family:'Segoe UI','Lucida Grande',Verdana,Arial,Helvetica,sans-serif;font-size:10px;color:#fff;padding:0 7px;background-color:#666;}h3,h3.subheading{font-size:1.231em;}h4,h4.subheading{font-size:1.077em;font-weight:normal;}h5,h5.subheading{font-size:1em;}.exportToolBar{margin-top:26px;}body.library div#ux-banner div.left{padding-left:15px;}body.library div#ux-banner div.banner div.right{float:right;padding-right:15px;}body.library #ux-footer{margin-top:30px;}#ux-header,#ux-footer{line-height:1;width:auto;}#ux-header header div.row{width:98%;padding:0 1% 0 1%;}#ux-header ul{margin:0;} diff --git a/MSDN/SimConnect_files/Combined.js b/MSDN/SimConnect_files/Combined.js new file mode 100644 index 0000000..4c87995 --- /dev/null +++ b/MSDN/SimConnect_files/Combined.js @@ -0,0 +1,172 @@ +(function(){var utilitiesModule=function($){function htmlEncode(value){return $("
").text(value).html()}function htmlDecode(value){return $("
").html(value).text()}function updateQueryStringParameter(uri,key,value){var hash=uri.split("#"),newParamStr;uri=hash[0];var result,re=new RegExp("([?&])"+key+"=.*?(&|$)","i"),separator=uri.indexOf("?")!==-1?"&":"?",newParamObj={};return newParamObj[key]=value,newParamStr=$.param(newParamObj),result=uri.match(re)?uri.replace(re,"$1"+newParamStr+"$2"):uri+separator+newParamStr,typeof hash[1]!="undefined"&&hash[1]!==null&&(result+="#"+hash[1]),result}function endsWith(string,suffix){return!string||!suffix||string.length0,$contentLoadedHiddenInput=$("#contentLoaded"),isContentLoaded=$contentLoadedHiddenInput.val()===undefined||$contentLoadedHiddenInput.val().toLowerCase()=="true"&&contentDivHasChildren;isContentLoaded?func():$contentLoadedHiddenInput.change(func)}function displayHiddenElements(){$(".contextAwareHidden").each(function(){$(this).css("display","")})}function dedupe(array){var i,j;if(array&&array.length>1)for(i=0;imaxHeight&&(maxHeight=$(this).height())});$elements.each(function(){$(this).css("height",maxHeight+"px")})}function isdefined(variable){return typeof window[variable]=="undefined"?!1:!0}var timeoutMilliSecond=5e3,noop;return typeof window.console=="undefined"&&(noop=function(){},window.console={debug:noop,log:noop,warn:noop,assert:noop,clear:noop,dir:noop,error:noop,info:noop}),{htmlEncode:htmlEncode,htmlDecode:htmlDecode,updateQueryStringParameter:updateQueryStringParameter,endsWith:endsWith,padLeft:padLeft,log:log,error:error,getDateTime:getDateTime,setCookie:setCookie,getCookie:getCookie,getSplicedHostname:getSplicedHostname,supportsHtml5:supportsHtml5,innerText:innerText,executeWhenContentIsLoaded:executeWhenContentIsLoaded,displayHiddenElements:displayHiddenElements,dedupe:dedupe,fixUnevenElementHeights:fixUnevenElementHeights,timeoutMilliSecond:timeoutMilliSecond,isdefined:isdefined}};typeof define=="function"&&window.mtpsAmd?define("utilities",["jquery"],function($){var utilities=utilitiesModule($);return window.epx=window.epx||{},window.epx.utilities=utilities,utilities}):(window.epx=window.epx||{},window.epx.utilities=utilitiesModule($))})();; +(function(){var layoutModule=function($){function checkIsSingleCol(){var singleColSpan=$("#ux-header span#singleCol");return singleColSpan.length>0?singleColSpan.css("display")!="none":!1}function checkIsSingleColInThreeColLayout(){var singleColSpan=$("#content .threeCol span#singleColInThreeColLayout");return singleColSpan.length>0?singleColSpan.css("display")!="none":!1}function checkIsDoubleCol(){var doubleColSpan=$("#ux-header span#doubleCol");return doubleColSpan.length>0?doubleColSpan.css("display")!="none":!1}return{checkIsSingleCol:checkIsSingleCol,checkIsDoubleCol:checkIsDoubleCol,checkIsSingleColInThreeColLayout:checkIsSingleColInThreeColLayout}};typeof define=="function"&&window.mtpsAmd?define("layout",["jquery"],function($){return layoutModule($)}):(window.epx=window.epx||{},window.epx.layout=layoutModule($))})();; +(function(){var headerModule=function($){function initVars(){isAuxNavMoved=!1;userNameWidth=0;ellipsisEnabled=!1;lastWindowWidth=$(window).width();isRTL=$("#ux-header").hasClass("rtl");minGap=40;$siteLogo=$("#ux-header header div.topRow div.top div.left");$auxNav=$("#ux-header div.auxNav");$signInLinks=$("#ux-header #signIn");$topRight=$("#ux-header header .top .right");$bottomRight=$("#ux-header header .bottom .right");$bottomLeft=$("#ux-header header .bottom .left");$drawer=$("#ux-header #drawer");$searchBox=$("#ux-header #Fragment_SearchBox");$buttomRow=$("#ux-header header .buttomRow");$expandTop=$("#ux-header header .expandTop");$expandTopLeft=$("#ux-header header .expandTop .left");$expandTopRight=$("#ux-header header .expandTop .right");$viewCreateProfileLink=$("#ux-header header .createViewProfileLink");$scarabLink=$("#ux-header header .scarabLink")}function closeSearchBox(){$("#HeaderSearchForm").removeClass("clearable");$("#searchTextContainer").css("display","none");$("#searchTextContainer").animate({width:"0"},200,function(){$("#HeaderSearchForm").removeClass("opened")})}function clearSearchText(){$("#HeaderSearchTextBox").val("");$("#HeaderSearchTextBox").focus();updateCloseIconStyle()}function getSearchText(){return $.trim($("#HeaderSearchTextBox").val())}function updateCloseIconStyle(){getSearchText()?$("#HeaderSearchForm").addClass("clearable"):$("#HeaderSearchForm").removeClass("clearable")}function clearHeight($object){$object.css("height","")}function bindDropdownEventHandlers(){$("#ux-header .navL1 > li.toggle > a").each(function(){$(this).click(function(e){addActiveClassForL1($(this));e.stopPropagation()})});$("#ux-header .navL2 > li.toggle > a").each(function(){$(this).bind("click",function(e){addActiveClassForL2($(this));e.stopPropagation()});$(this).bind("focus mouseover",function(e){isAuxNavMoved||(addActiveClassForL2($(this),!0),e.stopPropagation())})});$("#ux-header .navL2 > li:not(.toggle) > a").each(function(){$(this).bind("focus mouseover",function(e){isAuxNavMoved||(closeAllL3(!0),e.stopPropagation())})});$("html, body").bind("click",function(){isAuxNavMoved||(closeAllL2(),closeAllL3())})}function addActiveClassForL1($this){var selfActive=$this.parent().hasClass("active");closeAllL3();closeAllL2();clearHeight($this.next());selfActive||(isAuxNavMoved?$this.next().animate({height:"toggle"},200,"swing",function(){$(this).parent().removeClass("inactive").addClass("active")}):($this.parent().removeClass("inactive").addClass("active"),$this.next().animate({height:"toggle"},66,"swing")))}function tuneHeight($object1,$object2){clearHeight($object1);clearHeight($object2);var minHeight=Math.max($object1.height(),$object2.height());$object1.css("height",minHeight);$object2.css("height",minHeight)}function addActiveClassForL2($this,isHover){var selfActive=$this.parent().hasClass("active"),visibleL3;if(selfActive){isAuxNavMoved&&(clearHeight($this.next()),closeAllL3());return}visibleL3=closeAllL3(!isHover);isAuxNavMoved?(clearHeight($this.next()),$this.next().animate({height:"toggle"},200,"swing",function(){$(this).parent().removeClass("inactive").addClass("active")})):($this.parent().removeClass("inactive").addClass("active"),visibleL3?$this.next().css("display","block"):$this.next().animate({width:"toggle"},200,"swing"),tuneHeight($this.next(),$this.parent().parent()))}function closeAllL2(){var $l2=$("#ux-header .navL1 > li.active"),subSelector=".navL2";isAuxNavMoved?$l2.find(subSelector).animate({height:"toggle"},200,"swing",function(){$(this).parent().removeClass("active").addClass("inactive")}):($l2.removeClass("active").addClass("inactive"),$("#ux-header "+subSelector).css("display","none"))}function closeAllL3(toggleAnimationEnabled){var $l3=$("#ux-header .navL2 > li.active"),subSelector=".navL3",$l3Menu=$l3.find(subSelector),visibleL3=$l3.length;return isAuxNavMoved?$l3Menu.animate({height:"toggle"},200,"swing",function(){$(this).parent().removeClass("active").addClass("inactive")}):($l3.removeClass("active").addClass("inactive"),toggleAnimationEnabled?$l3Menu.animate({width:"toggle"},200,"swing",function(){clearHeight($l3.parent());clearHeight($l3Menu)}):$("#ux-header "+subSelector).css("display","none")),visibleL3>0}function addLocale(){var $canonical=$('link[rel="canonical"]'),locale="",metaName="WT.seg_1",$localeMeta=$('meta[name="'+metaName+'"]');$localeMeta&&$localeMeta.length!=0||($localeMeta=$("").attr("name",metaName).attr("content","en-us"));$("head").prepend($localeMeta);$canonical&&$canonical.length>0&&(locale=$canonical.attr("href").split("/"),locale.length>3&&(locale=locale[3],locale!=""&&$localeMeta.attr("content",locale)))}function changeToEllipsis(leftPos,rightPos){rightPos-leftPos<=minGap&&($userName.text($userName.text()[0]+$userName.text()[1]+$userName.text()[2]+"..."),ellipsisEnabled=!0,ellipsisWidth=$userName.width())}function changeBackToUserName(leftPos,rightPos){rightPos-leftPos>userNameWidth-ellipsisWidth+minGap&&($userName.text(userNameText),ellipsisEnabled=!1)}function changeUserName(){var currentWindowWidth=$(window).width();isRTL?!ellipsisEnabled&&lastWindowWidth>=currentWindowWidth?changeToEllipsis($topRight.offset().left+$topRight.width()-Number($signInLinks.css("margin-right").replace(/px/ig,"")),$siteLogo.offset().left):ellipsisEnabled&&changeBackToUserName($topRight.offset().left+$topRight.width()-Number($signInLinks.css("margin-right").replace(/px/ig,"")),$siteLogo.offset().left):!ellipsisEnabled&&lastWindowWidth>=currentWindowWidth?changeToEllipsis($siteLogo.offset().left+$siteLogo.width(),$topRight.offset().left+Number($signInLinks.css("margin-left").replace(/px/ig,""))):ellipsisEnabled&&changeBackToUserName($siteLogo.offset().left+$siteLogo.width(),$topRight.offset().left+Number($signInLinks.css("margin-left").replace(/px/ig,"")));lastWindowWidth=currentWindowWidth}function setUserNameAndWidth(){userNameWidth!=0||ellipsisEnabled||(userNameText=$userName.text(),userNameLength=$userName.text().length,userNameWidth=$userName.width())}function ellipsisFeature(){$userName=$("#ux-header #signIn > span.profileName");$userName.length>0&&($userName.text()==""?setTimeout(ellipsisFeature,500):(setUserNameAndWidth(),userNameLength>3&&changeUserName()))}function userNameTransformation(){isAuxNavMoved?ellipsisFeature():($userName=$("#ux-header #signIn > a.createProfileLink"),$userName.length>0&&(ellipsisEnabled?($userName.text(userNameText),ellipsisEnabled=!1):setUserNameAndWidth()))}function closeExpandTop(){$expandTop.hide()}function resize(){openMenu||showMenu(!1);$("#ux-header #SearchFlyoutContainer").hide();closeSearchBox();isAuxNavMoved!=auxNavShouldMove()&&(isAuxNavMoved?($drawer.css("display","inline-block"),expandTopEnabled=!1,$("header").removeClass("mobile")):(closeAllL3(),closeAllL2(),closeExpandTop(),$drawer.css("display","none"),expandTopEnabled=!0,$("header").addClass("mobile")),moveAuxNav(isAuxNavMoved));$("#msft-logo").removeClass("msft-logo");$("#msft-logo").removeClass("tablet-msft-logo");$("#msft-logo").removeClass("mobile-msft-logo");$("#search-finder").removeClass("search-finder");$("#search-finder").removeClass("mobile-search-finder");$("#searchCloseIcon").removeClass("search-clear-x");$("#searchCloseIcon").removeClass("mobile-search-clear-x");var deviceType;auxNavShouldMove()?($("#msft-logo").addClass("tablet-msft-logo"),$("#search-finder").addClass("search-finder"),$("#searchCloseIcon").addClass("search-clear-x"),$("#grip").removeClass("mobile-menu-icon"),$("#grip").addClass("menu-icon"),deviceType="tablet"):($("#msft-logo").addClass("msft-logo"),$("#search-finder").addClass("search-finder"),$("#searchCloseIcon").addClass("search-clear-x"),deviceType="desktop");$("#ux-header").attr("data-device-type",deviceType);isAuxNavMoved||(closeAllL3(),closeAllL2(),closeExpandTop());userNameTransformation()}function moveAuxNav(restoreOriginalPosition){restoreOriginalPosition?($auxNav.appendTo($topRight),$viewCreateProfileLink.appendTo($signInLinks),$scarabLink.appendTo($signInLinks),$drawer.appendTo($bottomLeft)):($auxNav.appendTo($expandTopLeft),$viewCreateProfileLink.appendTo($expandTopRight),$scarabLink.appendTo($expandTopRight),$drawer.appendTo($buttomRow));isAuxNavMoved=!restoreOriginalPosition}function auxNavShouldMove(){return $("#ux-header #grip:visible").length>0}function isTabletOrMobile(){return $("#ux-header header span#isMobile:visible").length>0}var isAuxNavMoved,userNameText,userNameWidth,userNameLength,ellipsisWidth,ellipsisEnabled,lastWindowWidth,isRTL,minGap,$siteLogo,$userName,$auxNav,$signInLinks,$topRight,$bottomRight,$bottomLeft,$drawer,$searchBox,$buttomRow,$expandTop,$expandTopLeft,$expandTopRight,$viewCreateProfileLink,$scarabLink,$mask,openMenu=!0,showMenu=function(show){$("div#drawer>div.toc").toggleClass("open");show?($mask.show(),$mask.height($(document).height())):$mask.hide();openMenu=!show};$(document).ready(function(){var touchScroll=!1,windowWidth=0,bodyScrollTop=0;initVars();addLocale();bindDropdownEventHandlers();$("#ux-header").append('
');$(document.body.appendChild($('
')[0]));$mask=$("#overlayMaskHeader, #overlayMask");$mask.on("touchstart",function(){bodyScrollTop=$("body")[0].srollTop});$mask.on("touchmove",function(){Math.abs(bodyScrollTop-$("body")[0].srollTop)>=10&&(touchScroll=!0)});$mask.click(function(){touchScroll||showMenu(!1);touchScroll=!1});$("#ux-header #grip").click(function(){$drawer.show();showMenu(openMenu)});$("#ux-header .top").click(function(event){(event.target===$("#ux-header .top")[0]||event.target===$("#ux-header .profileName")[0]||event.target===$("#ux-header .profileImage")[0])&&($("#ux-header header .expandTop:visible").length>0?$expandTop.fadeOut(200):$expandTop.fadeIn(200))});$(document).click(function(e){clearSearchText();closeSearchBox()});$("#searchTextContainer").click(function(e){return e.stopPropagation(),!1});$("#FakeHeaderSearchButton").click(function(e){if($("#HeaderSearchForm").hasClass("opened"))$("#HeaderSearchButton").click();else{$("#HeaderSearchForm").addClass("opened");$("#searchTextContainer").stop(!0);var width=0;width=isTabletOrMobile()?Math.min(255,$("#ux-header").width()-90):255;$("#searchTextContainer").css("display","inline-block");$("#searchTextContainer").animate({width:width+"px"},200,function(){var textBox=$("#HeaderSearchTextBox");textBox=textBox.length>0?textBox[0]:null;$("#HeaderSearchTextBox").focus();!textBox||textBox==document.activeElement||textBox.focus()})}return e.stopPropagation(),!1});$("#searchCloseIcon").click(function(e){return clearSearchText(),!1});$("#HeaderSearchTextBox").on("input propertychange keyup",function(){updateCloseIconStyle()});$(window).resize(function(){windowWidth!=$(window).width()&&(resize(),windowWidth=$(window).width())});resize();windowWidth=$(window).width()})};typeof define=="function"&&window.mtpsAmd?define("header",["jquery"],function($){return headerModule($)}):headerModule($)})();; +(function(){var ratingModule=function($,utilities){function initWedcs(){$("#ratingYes").bind("click",function(){utilities.isdefined("MscomCustomEvent")&&MscomCustomEvent("ms.title=yes","ms.cmpgrp=feedbackform")});$("#ratingNo").bind("click",function(){utilities.isdefined("MscomCustomEvent")&&MscomCustomEvent("ms.title=no","ms.cmpgrp=feedbackform")});$("#ratingSubmit").bind("click",function(){if(utilities.isdefined("MscomCustomEvent")){var feedbackCharacterCount=Number($("#ratingText").attr("maxLength"))-Number($("#feedbackTextCounter").text());MscomCustomEvent("ms.title=submit","ms.feedbackid="+feedbackCharacterCount,"ms.cmpgrp=feedbackform")}});$("#ratingSkipThis").bind("click",function(){utilities.isdefined("MscomCustomEvent")&&MscomCustomEvent("ms.title=skip this","ms.cmpgrp=feedbackform")})}function toggleRatingEnablement(){$("#isTopicRated").val()==="true"&&showSection($thankYouSection)}function setupEventHandlers(){$("#ux-footer #ratingYes").click(function(){$("#ux-footer #ratingValue").val(yesRating);showSection($submitSection);$("#ux-footer #ratingText").focus()});$("#ux-footer #ratingNo").click(function(){$("#ux-footer #ratingValue").val(noRating);showSection($submitSection);$("#ux-footer #ratingText").focus()});$submitButton.click(function(){submitRating($("#ux-footer div.rating textarea").val())});$skipThisButton.click(function(){submitRating(null)});var maxChars=$("#feedbackTextCounter").text();maxChars||(maxChars=1500);$("#ratingText").on("keyup blur keydown",function(){textBoxCharactersCounter($(this),$("#feedbackTextCounter"),maxChars)})}function showSection($section){$yesNoSection.hide();$submitSection.hide();$thankYouSection.hide();$section.show();$section===$thankYouSection&&($("#rateThisTopic").hide(),$("#rateThisPrefix").hide())}function submitRating(text){$submitButton.attr("disabled","disabled");$skipThisButton.attr("disabled","disabled");var data={__RequestVerificationToken:$("input[name='__RequestVerificationToken']").last().val(),rdIsUseful:$("#ux-footer #ratingValue").val(),feedbackText:text,onePubTopicId:$("#onePubTopicId").val(),returnUrl:window.location.href,isAsync:!0},url=$("#ratingSubmitUrl").val();$.ajax({type:"POST",url:url,data:data,async:!0,success:function(){epx.utilities.log("Rating successfully submitted");showSection($thankYouSection)},error:function(response){epx.utilities.log("Rating submission failed: HTTP "+response.status);showSection($thankYouSection)}})}function textBoxCharactersCounter(control,counter,max){control.val().length>max?control.val(control.val().substring(0,max)):counter.html((max-control.val().length).toString())}var yesRating=1,noRating=0,$yesNoSection,$submitSection,$thankYouSection,$submitButton,$skipThisButton;$(document).ready(function(){($("#tocnav>div.current.archive").length==1&&$("#footerSock").hide(),$("#ux-footer #footerSock div.rating:visible").length!=0)&&($yesNoSection=$("#ux-footer #ratingSection1"),$submitSection=$("#ux-footer #ratingSection2"),$thankYouSection=$("#ux-footer #ratingSection3"),$submitButton=$("#ux-footer #ratingSubmit"),$skipThisButton=$("#ux-footer #ratingSkipThis"),toggleRatingEnablement(),setupEventHandlers(),initWedcs())})};typeof define=="function"&&window.mtpsAmd?define("rating",["jquery","utilities"],function($,utilities){return ratingModule($,utilities)}):(window.epx=window.epx||{},window.epx.windowsRating=ratingModule($,window.epx.utilities))})();; +(function(){var footerModule=function($){function fixNthChild(){$("div#ux-footer footer.top div#rightLinks > div:nth-child(4n)").addClass("nth-child-4n")}$(document).ready(function(){fixNthChild()})};typeof define=="function"&&window.mtpsAmd?define("footer",["jquery"],function($){return footerModule($)}):footerModule($)})();; +function WatermarkFocus(control,defaultValue,cssValue){control.value==defaultValue&&(control.value="",control.className=cssValue);document.onkeydown=""}function WatermarkBlur(control,defaultValue,cssValue){control.value==""&&(control.value=defaultValue,control.className=cssValue);typeof Presskey!="undefined"&&Presskey&&(document.onkeydown=Presskey)}function AddWatermark(controlName,defaultValue,cssValue){document.getElementById(controlName).value==""&&(document.getElementById(controlName).value=defaultValue,document.getElementById(controlName).className=cssValue)}function WatermarkOnSubmit(control,defaultValue,cssValue){control.value==defaultValue&&(control.value="",control.className=cssValue)}function TextBoxCharactersCounter(control,counter,max){control.value.length>max?control.value=control.value.substring(0,max):counter.innerHTML=(max-control.value.length).toString()}function SiteFeedbackNewWindow(url){window.open(url,"_blank","width=750,height=836,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,directories=no,status=no")}function SearchBoxOnSubmit(textValue){return document.getElementById("HeaderSearchTextBox").value!=textValue&&document.getElementById("HeaderSearchTextBox").value!=""?(document.getElementById("HeaderSearchForm").submit(),!0):!1}epx=window.epx||{};epx.topicModule=function(w){function isPrintExperience(){return $("#MtpsDevice").val()=="Printer"}function setPrintableExperience(){var $printCss,isPrint;$("#printForPab").val()!="true"&&($printCss=document.createElement("link"),$printCss.setAttribute("href","/Areas/Epx/Content/Css/PrintView.css"),$printCss.setAttribute("rel","stylesheet"),$printCss.setAttribute("type","text/css"),isPrint=isPrintExperience(),isPrint!==!0&&$printCss.setAttribute("media","print"),$("head")[0].appendChild($printCss),isPrint===!0&&w.print&&($(".TranslationViewSwitcher").remove(),setTimeout(function(){w.print()},500)))}return{isPrintExperience:isPrintExperience,setPrintableExperience:setPrintableExperience}};epx.topic=epx.topicModule(window);$(document).ready(function(){epx.topic.setPrintableExperience()});; +epx=window.epx||{};epx.topicModule=function(){function isPrintExperience(){return $("#MtpsDevice").val()=="Printer"}function setPrintableExperience(){return}return{isPrintExperience:isPrintExperience,setPrintableExperience:setPrintableExperience}};epx.topic=epx.topicModule();; +function dcsCookie(){typeof dcsOther=="function"?dcsOther():typeof dcsPlugin=="function"?dcsPlugin():typeof dcsFPC=="function"&&dcsFPC(gTimeZone)}function dcsGetCookie(name){var pos=document.cookie.indexOf(name+"="),start,end;return pos!=-1?(start=pos+name.length+1,end=document.cookie.indexOf(";",start),end==-1&&(end=document.cookie.length),unescape(document.cookie.substring(start,end))):null}function dcsGetCrumb(name,crumb){for(var aCookie=dcsGetCookie(name).split(":"),aCrumb,i=0;idLst.getTime()+18e5||dCur.getTime()>dSes.getTime()+288e5)&&(WTBI.vt_f_tlv=Math.floor((dSes.getTime()-adj)/1e3),dSes.setTime(dCur.getTime()),WTBI.vt_f_s="1");(dCur.getDay()!=dLst.getDay()||dCur.getMonth()!=dLst.getMonth()||dCur.getYear()!=dLst.getYear())&&(WTBI.vt_f_d="1")}WTBI.co_f=escape(WTBI.co_f);WTBI.vt_sid=WTBI.co_f+"."+(dSes.getTime()-adj);expiry="; expires="+dExp.toGMTString();document.cookie=name+"=id="+WTBI.co_f+":lv="+dCur.getTime().toString()+":ss="+dSes.getTime().toString()+expiry+"; path=/"+(typeof gFpcDom!="undefined"&&gFpcDom!=""?"; domain="+gFpcDom:"");document.cookie.indexOf(name+"=")==-1&&(WTBI.co_f=WTBI.vt_sid=WTBI.vt_f_s=WTBI.vt_f_d=WTBI.vt_f_tlh=WTBI.vt_f_tlv="",WTBI.vt_f=WTBI.vt_f_a="2")}}function dcsEvt(evt,tag){for(var e=evt.target||evt.srcElement;e.tagName&&e.tagName!=tag;)e=e.parentElement||e.parentNode;return e}function dcsBind(event,func){typeof window[func]=="function"&&document.body&&(document.body.addEventListener?document.body.addEventListener(event,window[func],!0):document.body.attachEvent&&document.body.attachEvent("on"+event,window[func]))}function dcsET(){dcsBind("click","dcsDownload");dcsBind("click","dcsFormButton");dcsBind("keypress","dcsFormButton");dcsBind("click","dcsImageMap")}function dcsMultiTrack(){var i,dCurrent;if(arguments.length%2==0){for(i=0;i3&&(navigator.appName=="Microsoft Internet Explorer"&&document.body?WTBI.bs=document.body.offsetWidth+"x"+document.body.offsetHeight:navigator.appName=="Netscape"&&(WTBI.bs=window.innerWidth+"x"+window.innerHeight)),WTBI.fi="No",window.ActiveXObject)for(i=10;i>0;i--)try{flash=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+i);WTBI.fi="Yes";WTBI.fv=i+".0";break}catch(e){}else if(navigator.plugins&&navigator.plugins.length)for(i=0;i0))for(i=0;i')}function dcsMeta(){var elems,i,meta;if(document.all?elems=document.all.tags("meta"):document.documentElement&&(elems=document.getElementsByTagName("meta")),typeof elems!="undefined")for(i=1;i<=elems.length;i++)meta=elems.item(i-1),meta.name&&(meta.name.indexOf("WT.")==0?WTBI[meta.name.substring(3)]=gI18n&&meta.name.indexOf("WT.ti")==0?dcsEscape(dcsEncode(meta.content),I18NRE):meta.content:meta.name.indexOf("DCSext.")==0?DCSext[meta.name.substring(7)]=meta.content:meta.name.indexOf("DCS.")==0&&(DCS[meta.name.substring(4)]=gI18n&&meta.name.indexOf("DCS.dcsref")==0?dcsEscape(meta.content,I18NRE):meta.content))}function dcsTag(){if(document.cookie.indexOf("WTLOPTOUT=")==-1){var P="http"+(window.location.protocol.indexOf("https:")==0?"s":"")+"://"+gDomain+(gDcsId==""?"":"/"+gDcsId)+"/dcs.gif?";for(N in DCS)DCS[N]&&(P+=dcsA(N,DCS[N]));for(N in WTBI)WTBI[N]&&(P+=dcsA("WT."+N,WTBI[N]));for(N in DCSext)DCSext[N]&&(P+=dcsA(N,DCSext[N]));P.length>2048&&navigator.userAgent.indexOf("MSIE")>=0&&(P=P.substring(0,2040)+"&WTBI.tu=1");dcsCreateImage(P)}}function dcsJV(){var agt=navigator.userAgent.toLowerCase(),major=parseInt(navigator.appVersion),mac=agt.indexOf("mac")!=-1,nn=agt.indexOf("mozilla")!=-1&&agt.indexOf("compatible")==-1,nn4=nn&&major==4,nn6up=nn&&major>=5,ie=agt.indexOf("msie")!=-1&&agt.indexOf("opera")==-1,ie4=ie&&major==4&&agt.indexOf("msie 4")!=-1,ie5up=ie&&!ie4,op=agt.indexOf("opera")!=-1,op5=agt.indexOf("opera 5")!=-1||agt.indexOf("opera/5")!=-1,op6=agt.indexOf("opera 6")!=-1||agt.indexOf("opera/6")!=-1,op7up=op&&!op5&&!op6,jv="1.1";return nn6up||op7up?jv="1.5":mac&&ie5up||op6?jv="1.4":ie5up||nn4||op5?jv="1.3":ie4&&(jv="1.2"),jv}function dcsFunc(func){typeof window[func]=="function"&&window[func]()}function dcsNvrRu(){if(document.cookie.indexOf("WTLOPTOUT=")==-1){var gc=function(name){var c=document.cookie,pos=c.indexOf(name+"="),start,end;return pos!=-1?(start=pos+name.length+1,end=c.indexOf(";",start),end==-1&&(end=c.length),c.substring(start,end)):null},cur=new Date,exp=new Date(cur.getTime()+31536e7),nvrRu=new DcsNvrRu(gc,exp),nvr=new DcsNvr(gc,exp);nvrRu.run();nvr.run()}}function DcsNvrRu(gc,exp){function read(){for(var num=0,value=gc(cfg.fpcname),levels,level,crumbs,curlevel,leveldata;value;){for(levels=value.split(":"),level=0;level0&&(leveldata=crumbs[1].split("|")),data[curlevel]=typeof data[curlevel]!="object"?leveldata:data[curlevel].concat(leveldata);num++;value=gc(cfg.fpcname+num)}}function process(){var rc=0,rudom=getRuDom(),rupath=getRuPath(),ruparam=getRuParam();return data.length>0?(rudom.length>0&&update(0,rudom)&&(rc|=1),rupath.length>0&&update(1,rupath)&&(rc|=2),ruparam.length>2&&updateParam(2,ruparam)&&(rc|=4)):(rudom.length>0?(data[0]=[rudom],rc|=1):data[0]=[],rupath.length>0?(data[1]=[rupath],rc|=2):data[1]=[],ruparam.length>0?(data[2]=[ruparam],rc|=4):data[2]=[]),rc}function compose(){for(var cookies=[],attr={name:cfg.fpcname,value:"",expiry:"; expires="+exp.toGMTString(),path:"; path=/",domain:"; domain="+cfg.fpcdom},num=0,maxval=4e3,newcrumb,j,i=0;i0&&(attr.value+=":"),attr.value+=newcrumb):(cookies[num]=attr.name+(num||"")+"="+attr.value+attr.expiry+attr.path+attr.domain,attr.value=newcrumb,num++)}return cookies[num]=attr.name+(num||"")+"="+attr.value+attr.expiry+attr.path+attr.domain,cookies}function getRuDom(){for(var curdom=getCurDom(),doms=getDoms(),i=0;i0)return params[i]+"&"+value;for(curparams=getCurParams(),i=0;i1&&(p.charAt(0)=="/"&&(p=p.substr(1)),p.charAt(p.length-1)=="/"&&(p=p.substr(0,p.length-1))),p.length!=paths[i].length&&(paths[i]=p),cfg.siteid.length>0&&(paths[i]=cfg.siteid+"&"+paths[i]);return paths}function getCurPath(){var p=window.location.pathname,badchars,ch;p=p.substring(p.indexOf("/")+1,p.lastIndexOf("/")).toLowerCase();badchars={"%09":/\t/g,"%20":/ /g,"%2C":/,/g,"%3B":/;/g};for(ch in badchars)p=p.replace(badchars[ch],ch);return cfg.siteid.length>0?cfg.siteid+"&"+p:p}function getCurParams(){return typeof DCS.dcsqry!="undefined"?DCS.dcsqry.substring(1).split("&"):[]}function getParams(){return cfg.paramlist.split(",")}var cfg={fpcname:wt_nvr_ru,fpcdom:wt_fpcdom,domlist:wt_domlist,pathlist:wt_pathlist,paramlist:wt_paramlist,siteid:wt_siteid},data=[];this.run=function(){read();var rc=process(),c,i,val;if(rc){for(c=compose(),i=0;i1&&(splitp=curpath.split("/",cfg.maxlevel),curlevel=splitp.length,curpath=splitp.join("/")),found=!1,data.length>0)if(data.length>curlevel){for(i=0;i0&&j===0&&(attr.value+=":"),attr.value+=newpath):attr.value.length>0&&(cookies[num]=attr.name+(num||"")+"="+attr.value+attr.expiry+attr.path+attr.domain,attr.value=i+"="+paths[j],++num>maxnum-1&&(maxed=!0)),newpath="";return maxed||(cookies[num]=attr.name+(num||"")+"="+attr.value+attr.expiry+attr.path+attr.domain),cookies}var cfg={fpcname:"WT_NVR",fpcdom:window.location.hostname,maxlevel:3},data=[];this.run=function(){read();var c,i,val;if(process()){for(c=compose(),i=0;i'))};window.hasOwnProperty("AmbientContext")&&(typeof define=="function"&&window.mtpsAmd?define("ABTest",["jquery"],function($){extractMetaFromAmbientContext($)}):extractMetaFromAmbientContext($))})();; +window.pmc=window.pmc||{};window.pmc.debugConsoleLogEnabled=!1;window.pmc.debugLogMsgs=[];window.pmc.debugLog=function(inMsg){window.pmc.debugLogMsgs.push(inMsg);window.pmc.debugConsoleLogEnabled&&console.log(inMsg)};window.pmc.formatString=function(inValue){var newStr;if(typeof inValue=="undefined")return"";else newStr=typeof inValue=="string"?inValue.toLowerCase().trim():inValue.toString().toLowerCase().trim();return newStr.replace(/"/g,"'")};window.pmc.passScriptCheck=function(inText){return typeof inText!="undefined"&&inText.match(/