Flightsim.toFlightsim.to
    PilotsDeck - A StreamDeck Plugin - Image 1

    Description

    Introduction

     

    PilotsDeck is a Plugin for Elegato's StreamDeck with the Ability to trigger Cockpit-Controls in different Ways and especially reading & displaying a Control's State on the StreamDeck as Text, Image, Bar/Arc or a Combination thereof. It is lean & mean, flexible, completely Open-Source and Free-to-Use.

    StreamDeck-wise it behaves like any other StreamDeck Plugin: it runs alongside other Plugins and you can Drag, Drop, Copy, Paste the Actions like any other Action in the StreamDeck Software between your Folders, Pages or even different StreamDecks. The Action Configuration is done through the standard "Property Inspector" of the StreamDeck UI (for the "classic" Actions) or it's own "Action Designer" UI (for the new Composite Action). But regardless of the UI: the Configuration is stored in the StreamDeck Profile - You can create, export and share Profiles with the Plugin's Actions. On Top of the StreamDeck builtin Copy & Paste, it has also it's own Mechanic allowing to share single Actions via Text with someone else.

    Installation is done through its own Installer which will check all Requirements and installs them for you if necessary. With the included Profile Manager App you can easily install Profile Packages (containing the Profiles, Images and Scripts) and can map your existing StreamDeck Profiles for specific Airplanes or Simulators so that the Plugin automatically switches the Profile(s) on the StreamDeck(s). You can write Scripts to directly read Values from a Function, or trigger a Function as Command - all in its own internal Lua Engine (Credits to: Neolithos for NeoLua!).
    The Plugin supports different StreamDeck Models: Mini, Standard/15-Key, XL, Mobile and Plus. Other Models might work, but an indented Support for Non-Display Models is not planned. The Plugin runs only on Windows. There are no Plans for Linux or macOS Support (the first is not supported by StreamDeck at all, both do not run or support all Sims and some essential .NET Libraries are only available on Windows).


    Simulator-wise it supports all major Platforms on Windows - MS Flight Simulator, X-Plane and Prepar3D. Depending on the Sim, it either uses SimConnect, FSUIPC or UDP Connection (remote capable). Either way it will connect automatically as soon as a Simulator is running. All Variables and Commands these Connections allow are usable with the Plugin. You can can directly switch from one Sim to another without reconfiguring anything.
    For Prepar3D (and theoretically FSX) FSUIPC is a Requirement, for MSFS it is Optional and for X-Plane not used at all. Either Way: you do not need a registered (bought) Copy of FSUIPC to make the Plugin in Work! (Though some old Profiles may require a registered Copy).

    It is designed for advanced Sim-Users which "know how to do Stuff": it does not give you any Lists to select Stuff from. If you know how to read Control-States for your Plane (e.g. which Variables to use) and how to trigger these Controls (e.g. which Command to use), you can quickly define Actions for that on the StreamDeck. Since it does not limit your Selection by a predefined List, you can do everything the Connection/Simulator currently allows 😉
    If you don't: be eager to read & learn! 😅 I'll try to give some Background in the Readme, but you have to take it from there!


    Note: PilotsDeck is 100% free and Open-Source. The Software and the Developer do not have any Affiliation to Flight Panels. You basically spend Money instead of Time to let a Power-User create the Profile(s) for you. That is totally fine - IF you knew you had the Option. Choose the Approach that suits you best! 😃

     

    Supported Simulator Versions

    • X-Plane 12 / 11 / <=10
      • Requirement: None - does not use XUIPC

    • Flight Simulator 2020-2024 / X / 2004
      • Requirement: MobiFlight WASM & FSUIPC 7 (secondary)  / FSUIPC 4 / FSUIPC 3

    • Prepar3D v5 / v4 / v1-3
      • Requirement: FSUIPC 6 / 5 / 4 

    Supported is understood as "technical and basically supported by the Connection Method". Support in Terms of ensured Compatibility, Fixing Issues and giving Support exists only for the latest Version of the three Major Simulators: X-Plane 12, MSFS2020, P3D v5. I'm happy if it works for older Versions, but I won't make any Effort for them. It is time to go back to the Future! 😅
    And yes: the latest Version for Prepar3D is still considered v5, since v6 was just DOA with nearly every Addon-Dev announcing to not support it.

     

    Supported Sim-Commands & -Variables

    Here a quick Overview of what you can send to the Simulator ("Command") or from what you can read Values from the Simulator ("Variable"). One of the Things which make the Plugin flexible: Variables can also be used as Commands. For Example to move a Cockpit-Control by writing a different Value to a Variable.
    How Commands and Variables are configured and the different Options how they can be executed is described under 2.1 - Defining Commands & Variables.

    • MACRO | Command | MSFS, P3D, FSX
      • Execute any Macro known to FSUIPC

    • SCRIPT | Command | MSFS, P3D, FSX
      • Run any Lua-Code known to FSUIPC

    • CONTROL | Command | MSFS, P3D, FSX, FS9
      • Send any SimEvent defined by its numerical ID (also known as FS-Controls, Control-Codes. Numerical Variant of a K-Variable/K-Event)

    • LVAR | Command & Variable | MSFS, P3D, FSX
      • Read from / Write to any L-Var ("Local Variable")

    • OFFSET | Command & Variable | MSFS, P3D, FSX, FS9
      • Read from / Write to any FSUIPC Offset

    • VJOY | Command | MSFS, P3D, FSX
      • Toggle/Clear/Set a Button of a virtual Joystick from *FSUIPC*

    • VJOYDRV | Command | ALL
      • Toggle/Clear/Set a Button of a virtual Joystick from the known *vJoy Device Driver* (if installed, not required)

    • AVAR | Command & Variable | MSFS
      • Read from / Write to any Simulation Variable (also known as A-Var)

    • KVAR | Command | MSFS
      • Send / Write to any Event-ID (also known as K-Var / SimConnect Event)

    • HVAR | Command | MSFS
      • Trigger any HTML Event in the Simulator (also know as H-Var)

    • BVAR | Command (& Variable)* | MSFS
      • Trigger InputEvents (also known as B-Var) - but only those that MSFS enumerates via SimConnect

    • CALCULATOR | Command | MSFS
      • Run any Calculator/Gauge Code in the Simulator - either direct RPN Code or as Template for Increasing/Decreasing L-Vars

    • XPCMD | Command | XP
      • Send any Command known to X-Plane (as command_once)

    • XPWREF | Command & Variable | XP
      • Read from / Write to any X-Plane DataRef

    • LUAFUNC | Command & Variable | All
      • Run a Lua Function in the Plugin's own Lua Engine

    • INTERNAL | Command & Variable | All
      • Read from / Write to an internal Variable (available everwhere within the Plugin)

    * = Per Default, B-Vars treated as Command-only Type - only some B-Var have an actual Value to read.
    !! Please mind that the Command Types Script, Macro, Lvar (non MSFS) and vJoy can only work with a registered Version of FSUIPC!
    !! Both vJoy Command Types are independent of each other and are two different Things! "VJOY" can only be assigned within FSUIPC (and not in the Simulator). The "VJOYDRV" can be assigned by anything which understands a Joystick Button (Simulator, FSUIPC, Addons, ...).

     

    Available StreamDeck Actions

    All Actions work on the Keypads (the normal/square StreamDeck Buttons). The Dial/Touchpad (aka Encoder) on the SD+ is supported by most Actions.

    How these Actions can be configured and customized is described under 2.3 - Action specific Options.

    • Display Value (Keypad / Encoder)
      • Display a Sim Variable as Number or Text (display "ON" instead of "1"). You can scale/round/format the Value as needed and customize the Font-Settings.

    • Simple Button (Keypad)
      • Can only send Commands and always shows the same (configurable) Image. Supported in StreamDeck Multi-Actions!

    • Dynamic Button (Keypad / Encoder)
      • This Action dynamically changes the displayed Image based on a Variable (in Addition to sending Commands). Different Values trigger different Images.

    • Korry Button (Keypad / Encoder)
      • Intended for Korry-Switches in the Cockpit: the Action displays two "Sub-Images" independently of each other. They are shown/hidden based on their own Variable, but will not change the Image based on the Value.

    • COM Radio (Keypad / Encoder)
      • Intended for Com Frequencies: the Action shows two different Variables which can be independently scaled/rounded/formatted but share the same Font-Settings.

    • Display Gauge (Keypad / Encoder)
      • This Actions renders the Value dynamically on a Bar or Arc. Size, Color, Position and Font-Settings can be tweaked. It can optionally send Commands.

    • Display Gauge (Dual) (Keypad)
      • As before, but it renders two Values dynamically on the same Bar or Arc.

    • Composite Action (Keypad / Encoder)
      • Not a fixed Template as the other Actions, more a Canvas to draw on: you can add and freely configure different "Elements" (like Text, a Value, an Image) which can be dynamically altered via "Manipulators" on certain "Conditions". Configured in it's own dedicated "Action Designer" UI.

    • Profile Switcher (Keypad)
      • This not a "real" Action like the others, it only serves to enable/disable Profile Switching.
         

    Installation & Requirements

    Just [Download](https://github.com/Fragtality/PilotsDeck/releases/latest) & Run the Installer Binary! It will check and install all Requirements and installs/updates the Plugin (or remove it).

    On the second Installer Page are some Options to customize your Installation:

    • Desktop Icon to the Profile Manager App
    • Enable (and Check) FSUIPC7 as secondary Connector for MSFS
    • Install/Update the vJoy Driver
    • Install Location: Choose if the Plugin should be installed to Elegato StreamDeck or MiraBox/HotSpot StreamDock

    NOTE: The Plugin is primarily for StreamDeck and focuses on Compatibility with Elgato. As long as MiraBox/HotSpot mimics the same API, it should be fine.

    It is highly likely that you need to Unblock/Exclude the Installer & Plugin from BitDefender and other AV-/Security-Software. It's the number one Reason for "the Plugin is not working"-Issues because either the Binary is blocked from running or is blocked when connecting to the StreamDeck Software.

    DO NOT run the Installer, Plugin or StreamDeck Software "as Admin". It is not recommended to MSFS or FSUIPC7 "as Admin" - it might work, it might fail.
    If it still does not work right or at all, please check 4.2 - Troubleshooting.


    The Requirements for the Plugin to run:

    • Windows 10 or 11 (updated)
    • StreamDeck Software v7.1 and above - The StreamDeck Software will be installed/updated by the Installer, if necessary.
    • .NET 10 - The x64 Desktop Runtime will be installed/updated by the Installer, if necessary. Reboot recommended when the Runtime was installed for the first Time.
    • IF used for MSFS/P3D/FSX: The latest Release of the FSUIPC Major Version specific to your Simulator (e.g. FSUIPC 6 for Prepar3D v4/5) - will be installed/updated by the Installer, if necessary.
    • IF used for MSFS: The latest Release of the WASM-Module from MobiFlight - will be installed/updated by the Installer, if necessary.
    • Optional: If you want to use VJOYDRV Commands you need the BrunnerInnovations Fork of the vJoy Driver - the installer will check the State, and offers to optionally install/update it for you.
      NOTE: If you install the vJoy Driver for the first Time, don't forget that you need to enable at least one Joystick in the vJoyConf Application to use it!

    Install Location for Elegato StreamDeck: %appdata%\Elgato\StreamDeck\Plugins\com.extension.pilotsdeck.sdPlugin

    Install Location for MiraBox/HotSpot StreamDock: %appdata%\HotSpot\StreamDock\Plugins\com.extension.pilotsdeck.sdPlugin

    It is automatically started with the StreamDeck Software. It will spawn its own Icon in the System-Tray / Notification Area. Use this Icon to see if an Plugin Update is available, to access the Developer UI or open the Profile Manager to configure Profile Switching.

    ​Note: Since FSUIPC is only a "secondary" Connector for MSFS, you do not need to have it installed anymore (for MSFS). If you not plan to install/run FSUIPC7, please set the Parameter UseFsuipcForMSFS to false in the Plugin Configuration File (PluginConfig.json) after Installation!
    But be aware that some older Profiles might still use Commands and Variables from FSUIPC and might not fully work then.

     

    Installing Profile Packages (.ppp Files)

    Starting with Version 0.8.0, the Plugin greatly improves Distribution and Installation of Profiles:

    1) Use the Profile Manager App found in the Plugin Directory to install Profile Packages: Open it via Plugin Icon in the System-Tray / Notification Area and drop the Package File to be installed on the big Arrow (or navigate to Package File's Location).

    2) The Package File will be read and the Description (from the Author) will be displayed - check the Notes for additional Steps.

    3) If you already have Profiles with the same Name (as shown in the StreamDeck UI), the App will remove the old Profiles (and update existing Profile Mappings to the new ones). If want to keep the old Profiles, uncheck 'Remove old Profiles'.
    If you want to keep the extracted Package Contents, check Keep extracted Files .... The Contents will be kept in Profiles Sub-Folder of the Plugin (named after the Package Name).

    4) Click Install. Note that the StreamDeck Software will be automatically started and stopped as needed.

    5) The App will extract and copy the Images and Scripts to the Plugin Directory for you.
    The Profiles need to be installed through the StreamDeck UI: Click on the Link displayed in the Profile Manager App, wait for the StreamDeck UI to come up and the select the correct StreamDeck to install the clicked Profile to. Repeat for each Profile.
    You need to click every Link for the Installation to finish successfully. If you do not want or need one of the Profiles, just Cancel the Installation in the StreamDeck UI!

    6)If selected, the App will now remove the old Profiles (if your updating existing Profiles), remove the "Copy" from the Profile Name (of the new ones) and update the Profile Mappings (if there are existing Mappings).
    NOTE: The Update-Mechanic will only work, if you keep the Profile Name.

    7) The Package Author can include additional Files you might to install/use the Profiles. If so, you will find a Folder on your Desktop (named after the Package's Name) with these additional Files.

    See 3.6 - Profile Packages on how to create a Profile Packages to share your own Profiles!

     

    README

    The full Readme is available on GitHub - be sure to check it out!

    Comments(167)

    Log in to join the discussion

    Log In

    about 1 month ago

    Hi Fragg! Big fan of your work! I’ve written a few profiles using PilotsDeck and it's been really fun! Even published a couple here to give back to the community a bit.

    Anyway, I’m using it with MSFS 2024 and the default Cessna 172 G1000, and I’ve hit a wall trying to read back the state of the main battery switch so I can show the correct on/off icon on my Stream Deck. (OF ALL THINGS!)

    Toggling the switch works fine using (1 >B:ELECTRICAL_Battery_1_Toggle), but I need to be able to read the state back. B: vars are write-only, right? So I can't read that back.

    I’ve gone through the Behavior Viewer pretty thoroughly:

    The animation uses (B:ELECTRICAL_Battery_1, Number) 1 == 100 * - not readable externally
    The Variables > Global tab shows no L: var that corresponds to the main battery switch state.
    There are a few BATTERYSTBY vars but those obviously relate to the standby battery, not the main one.
    The Variables > Local tab only shows POWER_12V which stays at 0.000 regardless of switch position

    I also tried several SimVars with no luck:

    A:ELECTRICAL_MASTER_BATTERY, Bool - returns 0 regardless of switch state
    A:CIRCUIT SWITCH ON:1, Bool - returns 1 regardless of switch state
    A:ELECTRICAL BATTERY LOAD:1, Amperes - returns 0
    A:ELECTRICAL MAIN BUS VOLTAGE:1, Volts - returns 0

    It seems like Asobo simply haven’t exposed the main battery switch state as a readable variable in MSFS 2024. Has anyone found a workaround, or a variable I might have missed?

    Further to that I’m also having similar trouble with the Avionics Bus 1 and 2 switches. Again I can control them by poking relevant Bvars, but Pilotsdeck doesn’t like (A:LINE CONNECTION ON:BUS_1_To_AVIONICS_BUS_1, Bool), which comes from the simvar in the behaviours window “LINE CONNECTION ON:‘BUS_1_To_AVIONICS_BUS_1’_n”

    Any pointers would be great, thanks!

    about 1 month ago

    Thanks, glad you like it that much :)

    First to your Reply: please don't do that ^^
    The Navigation on this Page is really shitty, so finding a new Reply to an old Post from someone else is just unnessecary work for both of us.

    To the Question in the Reply: more or less the same Answer ^^
    First of all the Examples
    C:(A:DESIGN SPEED VS1, knots) 1.3 * = -61.5
    C:(A:DESIGN SPEED VS1, mph) = 4620
    don't really make Sense. If these are A-Vars, use them as A-Vars. A Factor/Scale like 1.3 can be applied by the Plugin.

    Background being: A-Vars use SimConnect directly to get the Values on an Event/on Change based Pattern - like intended by Asobo. C-Vars run Calculator Code repeatedly through WASM (the Mobiflight Module). They are polled. That is certainly not intended by Asobo to be used in that Way and generally they discourage from using Calculator Code in WASM Modules as it isn't a performant Way to do things, i.e. Developers like FBW already removed them in their Codebase because of Problems in 2024.

    So in the End, it is just a more wasteful Way to query an A-Var/SimVar. I think it is better to add some kind of "deprecated" Flag to those and remove that Variable Type in the Future. The Use Cases for it can be better served by Composite Actions and/or Lua Scripts by now.


    To your Battery-Issue in this Comment:
    Could it be that you also try that with C-Vars throughout? Maybe that is your Issue.
    B-Var aka InputEvents can have a Value - which can be read when the Variable is used as a B-Var. BUT: because of Asobo's ingenuity, only certain InputEvents are enumerated for SimConnect Clients - some are just not accessible from the Outside. Look in the File InputEvents.txt of the Plugin to see which ones are known (when a Session is running - linked in the Developer UI as "Detected B-Vars").


    On the LINE CONNECTION ON Situation:
    It isn't supported by the Plugin - it only knows numeric Parameters to A-Vars (i.e. the Index). I see in the SDK that Asobo *of course* requires the Name - which is a brilliant Idea within a SDK that mostly is concerned with numeric Values ...
    I have to look into that one if that can be at formulated through SimConnect and if how to implement that in the shared Library and Plugin

    about 1 month ago

    Thanks! The pointer to inputevents.txt has helped me solve my battery and bus problems. And showed me the way for the future too.

    Expect a Cessna 172 G1000 profile soon for the 4 of us that fly it regularly ;)

    3 months ago

    Since GSX has changed its LVAR logic, I would need to modify some queries so that I can display on the Stream Deck when a service is completed. For example, with boarding I would need to check whether 150 out of 150 passengers have boarded. That means I would now have to compare two LVARs with each other.
    However, with conditions I can only check against a fixed value, not against one that comes from a queried variable, correct? Is there perhaps a workaround or something planned for the future?

    2 months ago

    If you want to do your own GSX Stuff, there is plenty of Material to study. Also, I don't know how the addition of a new Service State would influence the Progress L-Vars for Pax Boarding/Deboarding.

    If that is the in Context of the GSX Stuff integrated in the Profile: that is kinda deprecated, since all the Automation Stuff has moved to Any2GSX (A2G). There is an updated GSX Profile Package in the Plugin Repository which works in conjuction with A2G's PilotsDeck Integration. But it is also usable without A2G in where it works as "plain" GSX Menu Frontend (yes it shows Boarding Progression without the App).
    Profile Package: https://github.com/Fragtality/PilotsDeck/blob/master/Integrations/GSX%20Pro%20(MSFS)/GSX%20Pro%20v0.9.ppp

    3 months ago

    Hi, I don't know what changed but suddenly previously working calculator codes now always return 0, for example:
    'C:(A:FUEL TOTAL QUANTITY,Gallons) (A:ENG FUEL FLOW GPH:1,Gallons per hour) (A:ENG FUEL FLOW GPH:2,Gallons per hour) + (A:GPS ETE,Seconds) 3600 / * -'

    This was working since I started using it, and now it does not. Any idea why ?

    3 months ago

    Sorry no Ideas :/
    Can't replicate that (that Code works for me) and too little Information as to what has changed.

    about 1 month ago

    I've seen some weird behaviour with calcs recently. Today I was mucking around with things like A:DESIGN SPEED VC and I'll see some results that dont make any sense...

    eg:
    C:(A:DESIGN SPEED VS1, knots) 1.3 * = -61.5
    C:(A:DESIGN SPEED VS1, mph) = 4620

    Or I'll see float values changing constantly. (that was some xpdr code work i was doing)

    Restart the flight and everything works fine!

    C:(A:DESIGN SPEED VS1, mph) = 55 btw :)

    3 months ago

    Thanks for reply @fragtality - will move over to github .

    4 months ago

    @fragtality - just wanted to send a note of thanks and super well done on Pilots Deck! Is this the right place to give feedback?

    Minor bug found:
    - when using the copy paste feature of the x,y coordinates of an object, if you copy, then paste, and then immediately adjusting the x or y coordinates with the adjustment buttons, the source and destination x/y coordinates are linked meaning a change in one of them moves the other one. This is in the Composite Action tool. Not sure if this is 100% of the time or under certain circumstances but I have seen it multiple times in the last week or so. Workaround is to delete the copied item and re-run the copy paste, but change some other setting first .


    Minor Enhancement Request 1:
    Also, I am using the rotating manipulator for images of dials to simulate the motion of rotating the actuator - this works fine for actions where the rotation of the dial adjusts a known sim variable (i.e. Baro, Com, Nav, Altitude, etc) as I can simply enter in the lowest and highest expected values and tweak the degrees setting to tune the rotation speed, however I have not found a way to make it work for dials that are general purpose and may adjust a multitude of variables (for example the inner and outer ring of the PFD and MFD dials in the G1000 which move the on screen cursor but the cursor index is either not known or varies from screen to screen). Enhancement request is to add a parameter to the rotation manipulator to poll the enumerator dial and rotate x degrees per "click" of the dial.

    Minor Enhancement Request 2:
    Would like ability to navigate to a different screen on the Stream Deck within a composite action such that I could say Action the XPDR edit mode, then swap to a screen that has the numeric keyboard to enter in the info. I can use a native Stream Deck button to swap pages to navigate around, but I have not found a way to combine it with a composite action routine.

    Once again super huge thanks for sharing such a great tool with the community!

    3 months ago

    Well, GitHub would have been slightly better because fs.to's Comment Sections is a bit ... let's say it is not good xD

    Minor Bug: I could replicate that Behavior - I'll look into a Fix. Thanks for reporting!

    Request 1: Not planned - as it is a more a design Flaw (concerning Cockpit-Hardware) of the Aircraft or Avionic in Question. When there is no State/Position to query, it can only be guessed. Might work on Session-Start, but what if the Plugin needs to be restarted (or SimConnect has an Issue)? Consistency is important.
    You maybe could build something with a (global) Script and internal (X:) Variables - the newest Version allows to trigger a Lua Function when a A-Var or L-Var Change which then could manipulate (i.e. increment/decrement) a X-Variable which then could be used for the Conditions of the Rotate Manipulators. Could also done without Lua and just adding another Command for the Left/Right Turn which decreases/increases that X-Variable. But again - it is still only guessing and could completely fall apart.
    That is assuming you have already checked & verified that there is no indirect Way of getting the State/Position (i.e. one or multiple L-Var indicating what Input-Mode is active).
    Or maybe just let it all together with displaying something - in the Case of the G1000 it is something you cannot completely control from the Deck. You have to look in the Cockpit to see what the Instrument is doing. So it is arguable if Button that only turns (doesn't display something) would be sufficient too. I mean I totally get to strive for an optimal Solution and I also did such "guess-work" myself! But sometimes it is just more pain than gain ;)

    Request 2: Not possible - that is a StreamDeck SDK Limitation. The built-in Actions can do that, but that is not exposed to Plugins. Generally there is nothing for a Plugin to control the Deck (its Pages or other Actions) with the Exception of switching Profiles (and PilotsDeck already has to "exploit" that for it being useful). And before you ask: No, I won't expand that Profile-Switch-Exploit for that Use-Case ^^

    3 months ago

    @dboz
    Please check if the Bug is fixed in the latest Dev-Version:
    https://github.com/Fragtality/PilotsDeck/raw/refs/heads/master/PilotsDeck-Installer-latest.exe

    4 months ago

    Hello and thank you for your work and all your sharing.
    Will there be an XL profile for the PMDG 737-800 (2024)?
    Thanks again.

    4 months ago

    I can't create one - I don't have the Aircraft and most likely never will have.
    (The 737 is just not my Cup of Tea, regardless of Dev)

    4 months ago

    Hello and thank you for your reply, have a good day.
    ...
    MSFS 2020MSFS 2024

    PilotsDeck - A StreamDeck Plugin

    PilotsDeck is a StreamDeck plugin that offers the ability to trigger cockpit controls and display control states on your StreamDeck as text, images, or bars/arcs. It is open-source, free, and designed for advanced sim-users across major platforms like MS Flight Simulator, X-Plane, and Prepar3D. The plugin supports various StreamDeck models and simulates connections through FSUIPC or UDP sockets for seamless integration. With predefined profiles available for popular aircraft, PilotsDeck aims to streamline flight operations for a smoother and tailored flying experience.

    Downloads18K
    Version0.9.1
    File Size20.0 MB
    Published3 years ago
    Updated3 weeks ago

    User Reviews

    4.8

    23 reviews

    5
    96%
    4
    0%
    3
    0%
    2
    0%
    1
    4%

    More Information

    Simulator
    MSFS2020/24

    Version History

    ### Plugin - DEPRECATION NOTICE: Using RPN Code as Variable (aka 'C-Var') is now considered deprecated! - The Plugin still allows Usage - existing Actions continue to work - Adding C-Var(s) to an Action is still allowed, but the Plugin will mark them as 'invalid Syntax' - Consider using the Composite Action and/or Lua Scripts as Replacement - Added: for Global Scripts now works on *ALL* Variable Types (across all Simulators!) - RunEvent will trigger every Time the Value is *set* - So be aware that for polled/timed Types (e.g. FSUIPC or X-Plane) your callback Function will be called *a lot* (every ~50ms) - To get only notified when the Value has *changed*, use the new Function - Added: New 'Settings' View in the Developer UI (via Tray/Sys-Icon) to make selected Plugin Settings available in the UI - Intervals for Action Refresh and Sim Process can be adjusted - Common Sim Connection Settings like FSUIPC on MSFS or WebAPI on X-Plane - Improved: Checks for running Simulator Binaries only query the System's Process List every 5s (to save CPU Cycles) - Fixed: Tick/Info Icon for Inputs on Classic Actions - Contribution by @JKWTCN - Fixed: XP-Commands for Hold Switches (command once not checked and using WebAPI) - Contribution by @maboehme - Fixed: Some XP-Commands (and DataRefs) not enumerated through WebAPI when they registered 'late' - Contribution by @maboehme - Fixed: Profile Switch Back not working - Fixed: Syntax Check in classic Actions - Fixed: Positions are linked after using Copy until Actions are reloaded (Composite Actions) - Fixed: MSFS Variables sometimes getting stale (not updated anymore) - Fixed: RunInterval changes on Global Scripts not applied on Script Reload - Fixed: RunEvent on Global Scripts firing duplicated Events when Script was reloaded - Fixed: Custom Log for Global Scripts not working after normal Sim/Session Start - Fixed: API unregister Commands 'draining' Subscriptions on Variables not registered through API - Changed: Rework of the Plugin and Library Code mixing up async and non async Code ### Installer - Added: Support (in GUI) to Install the Plugin to "HotSpot StreamDock" - Contribution by @JKWTCN - PilotsDeck still is and will be primarily a Stream*Deck* Plugin - Advanced Features like Profile Mapping/Switching and Package Installation only work for StreamDeck Software - Removed: The "--ignorestreamdeck" Commandline Option - Fixed: not finding the StreamDeck Setup Path in Registry after SD 7.4.0 - Changed: Set StreamDeck Software 7.4.1 as recommended Target - Changed: Set .NET 10.0.6 as Target ### Profile Manager - Added: New Field 'removefiles' in package.json to remove outdated Files of the Package (Scripts and Images) - Fixed: Profile Manager not installing Packages when passed through Commandline ### General - New Release/Update Approach: there will be *only* Build from now on. No more Dev vs Release, it will always the "latest" - There will be a (Github) Release called "latest" always being updated when Changes are pushed - The PilotsDeck-Installer-latest.exe in the Project Files can still be used - it is the same Thing - Recent Changes are now tracked in CHANGES.md (which will also be added the Description of the "latest" Release) - When the Version increases, the Changes will be added to the CHANGELOG.md

    Related

    PilotsDeck/StreamDeck Profile for Fenix A320

    PilotsDeck/StreamDeck Profile for Fenix A320

    Customize your Fenix A320 experience with PilotsDeck/StreamDeck Profile featuring comprehensive controls for Overhead, MIP/Glareshield, Pedestal, FCU, MCDU, and DCDU. Choose between SD, SD+, and XL profiles designed for specific StreamDeck setups, enhancing your flight operations. Requirements include FSUIPC7, a registered copy of FSUIPC7, and Font installation, ensuring optimal performance with Fenix 2.0.0.407. Explore the detailed installation instructions and set up automatic Lua-Files for seamless integration into your flight simulator setup.

    by Fragtality

    5.0
    PilotsDeck/StreamDeck Profile for GSX Pro & Any2GSX

    PilotsDeck/StreamDeck Profile for GSX Pro & Any2GSX

    Full interactive GSX Menu on the StreamDeck! You can do everything now from your StreamDeck - the GSX In-Game Menu can be disabled in the Toolbar.

    by Fragtality

    5.0
    PilotsDeck/StreamDeck Profile for FBW A32NX

    PilotsDeck/StreamDeck Profile for FBW A32NX

    Enhance your piloting experience with PilotsDeck/StreamDeck Profile for FBW A32NX, featuring dedicated buttons for Overhead, MIP/Glareshield, Pedestal, FCU, and MCDU controls. Three profile options cater to different StreamDeck sizes, providing a comprehensive setup for normal flight operations. Custom images, Lua files, and detailed installation instructions are included, ensuring seamless integration with the FBW A32NX. Explore additional functionalities, such as automatic Lua script setup, custom camera mappings, and GSX menu integration for enhanced simulation realism.

    by Fragtality

    5.0
    PilotsDeck/StreamDeck Profile for iniBuilds A300

    PilotsDeck/StreamDeck Profile for iniBuilds A300

    Enhance your iniBuilds A300 experience with the PilotsDeck/StreamDeck profile, featuring buttons and switches for various panels and areas like Overhead, MCU, Radio/ILS, and MCDU. Designed for StreamDeck XL/Plus setups, it includes different profiles for supplementary functions, additional controls, and critical flight phases. Customize your own StreamDeck profile using the provided plugins, lua scripts, and images for private use only. Requirements include PilotsDeck Plugin version 0.7.12, specific fonts, and a registered FSUIPC7 copy for full functionality.

    by Fragtality

    5.0