Jump to content

StreamDeck Plugin: Pilot's Deck

Daniel Saffran

Recommended Posts

Daniel Saffran

Hello fellow Bus-Drivers! :)

I have been working for some time now on a StreamDeck Plugin which connects to Prepar3D via FSUIPC. So that a StreamDeck can be used as Input (and Display) Device.

You can get it from my Github-Repository under Releases (current is v0.6.2). Installation is just extracting the Zip and Re/Start StreamDeck. What Actions are available and how they are configured can be read in the Readme.

Suggestions and Feedback appreciated!
If you have any Questions or Problems, feel free to ask me! 

Have Fun :) 


**Update for FSL Users**
You can find now an Example with preconfigured Profiles in the Downloads-Section




Link to comment
Moritz Frenken


I already downloaded it and gave it a try. actually I didnt get it woking.
I inserted some control parameters but the sim didnt recognized it.
But if you are still searching beta testers send me a PM.


Link to comment
  • 2 months later...
Mats Kronberg

Yes please. :)

This looks very promising, but I wasn't quite able to get it to work.

I can see the Actions in the Stream Deck UI, but I'm not able to make even a simple Display Value work.

I enabled the FSUIPC (registered version) log Console Log window, but it shows nothing when I start Stream Deck and open the folder containing the action.

The Stream Deck log suggests the plugin is crashing:

ESDCustomPlugin::StartPlugin::<lambda_0b565748c80c245c6dacbb627626632b>::operator ()(): The plugin 'PilotsDeck' crashed with code 0:-532462766
ESDCustomPlugin::StartPlugin::<lambda_0b565748c80c245c6dacbb627626632b>::operator ()(): Restarting plugin 'PilotsDeck'
ESDCustomPlugin::StartPlugin::<lambda_0b565748c80c245c6dacbb627626632b>::operator ()(): The plugin 'PilotsDeck' crashed with code 0:-532462766
ESDCustomPlugin::StartPlugin::<lambda_0b565748c80c245c6dacbb627626632b>::()::<lambda_f28c194402b52051a8ce98ebab4f5e3f>::operator ()(): Restarting plugin 'PilotsDeck' after one minute

Any suggestions?



Link to comment
Daniel Saffran

Hello Mats,

did you try to unblock/exclude the Plugin like described in the Readme?

When you don't find a log-directory inside the plugin-dir, it very likely that the executable and/or its dll's are blocked.


Link to comment
Daniel Saffran

Great to hear :)

What do you mean with "lvar dance"? 

You can any way of input you like, if thats rotorbrake, thats fine. I did 99% of my profile with Lua(Toggle) and Macros ;) 

Link to comment
Mats Kronberg

I was just trying to be funny. :) What I meant is that now it's time to learn how to make FSUIPC do the things I want.

I was able to make some basic buttons (show the xpdr code, toggle seatbelt sign, ...), and I think your plugin is very promising!

It feels more rewarding to get a single button working when it's complicated to do so than to just get a finished product that Just Works. :)

Are there some examples profiles in the repo too? There were some extra profiles that StreamDeck offered to import, but they seemed empty.

Link to comment
Daniel Saffran

The bigger problem is imho if and how the A320X does respectively reports the things one wants *cough* :ph34r:

You can use what you used before to map the cockpit-buttons/-controls to the joystick. But you're right to get dynamic buttons, you have to dance the lvar-dance ;)
What I used as Lvar Reference is the FSL2Lua Library from Peter Pukhnoy's Virtual copilot. There's a file called "FSL.lua" where you can find the lvar-names.

The included Profiles are for the (StreamDeck) profile-switching-feature of the plugin. The profiles can be switched on basis of a FSUIPC-profile.
Unfortunately there are no example profiles, since there are many ways to control a button and there are different user-preferences. For example, I make heavy use of Lua and Macros, other may prefer Controls/RotorBrake. And again others maybe want to map everything within the FSUIPC-GUI and therefore only use the (FSUIPC's) vJoy in the Plugin.

Link to comment
  • 2 weeks later...
Daniel Saffran

Hello Thomas,

but the Plugin does basically work, right? For example, the Drop-Downs for Action-Type and Images work and you have a log-Folder inside the Plugin-Folder (not Streamdeck-Folder)?

What is the Challenge with the Radios?
You would need some Action to trigger the Swap - either by Macro, RotorBrake-Code aka Control (if existing for Radio-Swap) or when I remember correctly even the FSUIPC-Offset works with FSL to do the Swap.
For the Frequencies you can either user the BCD-encoded Offsets (3118-3120 / 034E) or the integer-Offsets (05C4-05D0). But be warned, FSL does not synch these Offsets with the real Values active in the Cockpit very well, only the Active is more or less accurate.

Link to comment
  • 1 month later...
Daniel Saffran

I'm not sure I can follow you, what for example should be so different?

When I look at the Offset-Mapping Documentation I see nothing special (besides I'm becoming somehow jealous that all that is not available for FSL :ph34r: )

Link to comment
  • Daniel Saffran changed the title to StreamDeck Plugin: Pilot's Deck

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...