Loading...

Stream Deck

5 STARS

1.3K+ Downloads

PilotsDeck - A StreamDeck Plugin

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...

About

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 / X / 2004
    • Requirement: MobiFlight WASM & FSUIPC7 (optional if needed) / 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 & Variable** | 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.
** = While you can read the Result from a RPN Expression, you can not write to it (like with other Variable Types).
!! 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.
       

Install, Update, Remove

Just Download & Run the Installer Binary! It will check and install all Requirements and installs/updates the Plugin (or remove it).

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 v6.5 and above - The StreamDeck Software will be installed/updated by the Installer, if necessary.
  • .NET 8 - 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!

The Plugin will be installed to:
%appdata%\Elgato\StreamDeck\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 Installatin 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!

StreamDeck Stream Deck
Details
Compatibility
Category
Stream Deck
Initial Release
September 25, 2022
Last Updated
8 day(s) ago — 0.8.4

Version

0.8.4

File Size

14.46 MB

Downloads

1,308

This file has been scanned for viruses and is safe to download.

File Information

Subscribers
29
Rating
5/5.0 — Superb!
Status
Not Downloaded yet
Today's Downloads
0

Superb!
Based on 3 ratings
😢
0
sad
😠
0
angry
😮
0
shocked
🙏
2
thankful
😂
0
amused
😍
5
in love

Timeline

  • Updated to version 0.8.4

  • Updated to version 0.8.1

  • Updated to version 0.8.0

  • Updated to version 0.7.12

  • Updated to version 0.7.11

  • Updated to version 0.7.10

  • Initial File Release


Permissions

Upload Permission
You are not allowed to upload this file to other sites under any circumstances.

Modification Permission
You must get permission from me first before you are allowed to modify or improve my file.

Conversion Permission
You are allowed to convert my file, but you must properly credit me and add a link to my file.

Asset Use Permission
You must get permission from me first before you are allowed to use assets of my file.

© Fragtality - All rights reserved. Any reupload or redistribution of this file without the author's prior written consent is forbidden. This X-Plane 12 add-on was created by Fragtality and shared in Miscellaneous » Stream Deck for X-Plane 12.


7 Comments
image

riveter

11 day(s) ago / Thanked by Fragtality

I just recently got into XP12 and immediately started setting up the Streamdeck using PilotsDeck. It works great. I have AAO but it is not needed for basic switching functions like lights. I have got the light switches setup in the C172 and will continue to learn more advanced methods with scripting. I am coming from MSFS2020 which has many ready made Streamdeck profiles for GA and airliners. I have not found any ready made GA proflies for PilotsDeck however.

Greetings, first of all thanks for the plugin and the work you do. I'm trying to install the plugin

"%appdata%\Elgato\StreamDeck\Plugins\com.extension.pilotsdeck.sdPlugin", but it doesn't appear. I've uninstalled antivirus and so on, when installing it a green flag appears but I don't see that line. Could you help me?

Thank you very much.

Translated by Google Translator

Hello how to install please

image

FlakBaitLU

2 year(s) ago / Thanked by Fragtality

Excellent Plugin. Thank you very much.


Roadmap
These items are currently on the list and will be processed soon!
Backlog
Suggestion, bugs and ideas for the future.

  • Version 0.8.4 December 05, 2024

    --0.8.4--
    Installer:
    - Fixed Store Version of 2024 not found
    - Now links to the current FSUIPC7 Beta Installer
    - Added new Registry Keys for FSUIPC7 added with the Beta Installer
    - Added new Registry Key for the StreamDeck Install Location
    - Installer will install/offer StreamDeck Version 6.8.0
    - Improved Logging for Troubleshooting

    Plugin:
    - Composite Action, Gauge Element: Marker Ranges are now handled as one Entity (i.e. edited and deleted as One)
    - Improved "Session Ready" Detection for 2024
    - Made B-Var Name-Matching case-insenstive due to different Behavior on 2020/2024
    - AircraftString is now displayed in shortened Variante (UI only)
    - AircraftString in Developer UI now selectable & copyable

    Profile Manager:
    - Dropdown for Simulator now indicates both MSFS Versions being included


    --0.8.3--
    - Plugin: fixed not connecting to FSUIPC7 in 2024
    - Plugin: fixed not detecting Session as ready when (re)started when Session was already running
    - Plugin: Updated FSUIPC C# Client
    - Installer: Provides link to FSUIPC7 Beta

    --0.8.2--
    Preliminary MSFS 2024 Support

  • Version 0.8.1 November 15, 2024

    - Installer: Fixed not starting on certain non-english Region Formats (e.g. Finnish)
    - Plugin: Fixed Value Manipulations like "$-0.05:0" not reaching the Limit
    - Action Designer: Fixed Crash when attempting to use the "Display Gauge" Template

  • Version 0.8.0 November 03, 2024

    Major Plugin Overhaul - it is basically a new Plugin under the Hood!
    Please make an Export/Backup of your Profiles your created with PilotsDeck! The Intention is that existing Profiles just continue to run (with a bit smaller Fonts), but it is better to be safe than sorry ;)

    Installer
    - Improved UI
    - Check & Installs all Requirements (either automatically or by starting the Setup for you)
    - Check for the vJoy Driver now tests for the Brunner Version/Fork - which should work on both Win 10 & 11
    - Ability to remove the Plugin (including all Customizations!)

    New Profile Manager Application
    - Enables easier Profile Installation in a few Clicks - extracts & copies the Files for you, assits with adding the Profiles to the StreamDeck, automatically removes old Profiles on Updates
    - Own Package Format to distribute Profile Files, Images and (Plugin) Scripts as one File
    - Allows much easier Profile Mapping to switch Profiles automatically depending on the Aircraft (or Sim)
    - Profile Switching now only can switch back to specific Profiles when the Simulator exits
    - These Profile Mappings will automatically be transferred to new Profiles on (Profile) Updates

    Plugin
    - Property Inspector is now tabbed to allow easier Navigation
    - Option to add a Guard (Image & Command) to an Action (Guard Images can also use Image Mappings)
    - Added Image Mapping to more Actions
    - Top and Bottom Image for the Korry Action can independently enabled/disabled
    - Most Actions can now be used on an SD+ Encoder (except Simple Button and Gauge Dual)
    - B-Var Support added - per default handled as Command-only but can also be used as a Variable
    - Added dedicated Command Type for K-Var (allows to define a Sequence)
    - HVAR Command supports passing a Value to the H-Var
    - New Calculator ("C:") Variable to read the Result of Calculator/RPN Code (read only)
    - Added Internal (X:) Variable to share Data within the Plugin
    - Added Copy and Paste Buttons to all Actions to share single Actions between Users (or to copy between a Keypad and Encoder)
    - Added a new "Composite Action" that gives you much Freedom to design your own Action (Display and Command wise) - most Feature Requests should be now possible with that Action (and can even replace Actions that would only be possible with Lua Scripts)
    - This new Action is configured through its own dedicated "Action Designer" UI (opened via the Property Inspector)
    - The Script now has its own Engine to run Lua Scripts (does not need external Engines like FSUIPC or FlyWithLua anymore)
    - The Functions of these Lua Scripts can be directly addressed as a Variable or Command - like all other Variable/Command Types
    - Multiple Script Types available to be run on-demand (Variable, Command) or constantly when the Session runs
    - The Scripts can read all Variables and send all Commands the Plugin supports
    - FSUIPC7 is now only the secondary Connector for MSFS - it is possible to use it without FSUIPC7 installed if needed!
    - Remote X-Plane Setups are now supported
    - Images can now be stored in Sub-Directories to better Organisation of different Packs and easier Navigation
    - Image Drawing overhauled - Images are now drawed on top of each other (i.e. on the Dynamic Button)
    - Added an Icon in the System Tray / Notification Area to restart the Plugin or show the Developer UI
    - The Developer UI offers Links to some Reference Source to look up Variables or Commands and to access the Plugin's Folders easier
    - The Developer UI has also a Monitor View to look up the current Aircraft-String/-Path or the Plugin's State, Ressources & Statistics
    - Changed vJoy Driver Library to the Brunner Fork
    - Plugin Configuration is now persistent between Updates and allows much more Tweaking
    - Removed Error Image (and Error State)
    - Sim Connection, State Handling Variable Handlign completely overhauled
    - Moved to .NET 8 (LTS) and upped minimum OS to Window 10

  • Version 0.7.12 January 10, 2024

    Installer:
    - Improved: UI does not hang while doing the Installation Steps
    - Added: Automatically installs/updates .NET 7 and MobiFlight WASM Module

    Plugin:
    - Improved: Continuous Input (e.g. turning an Encoder) does not block the Displays being updated
    - Changed: Poll-Time decreased to 100ms (the Plugin will poll the Sim / update the Displays more often)
    - Libraries Updated

  • Version 0.7.11 September 15, 2023

    - Installer: added Argument to disable MSFS Checks
    - Installer: "Pump" Check improved ( #33 )
    - Installer: Updated Dependencies to the latest available Versions
    - Fix for Calculator L-Var Template not working with L-Vars ending on L
    - Improved Calculator L-Var Template and Value Manipulator: An additional Reset Value can be configured. When the Variable is equal to the defined Limit it will be set to the Value of Reset
    - Updated to StreamDeck SDK 6.1 (now the new Minimum)
    - Update Libraries

  • Version 0.7.10 April 24, 2023

    - Fixed: DataRefs containing only 1 Character long Names where not recognized (The first Name in the Path still needs to be at least 2 Character long!)
    - Fixed: Offset-Addresses where sometimes registered as L-Var (and thus a L-Var with that Name was created)
    - Fixed: Links in the Installer pointed to the wrong minimum .NET Version (listed for completeness, was already fixed in the 0.7.9 Binary after the 3rd April)

Frequently Asked

Questions? Find your solution here.


Pretty empty over here.

Donations

These users have donated to Fragtality to keep him making awesome add-ons everyone can enjoy.

Dependencies

These add-ons may be required or recommended to use.


Pretty empty over here.