Jump to content
The simFlight Network Forums

Introducing Pilot's Deck, a StreamDeck Plugin


Fragtality

Recommended Posts

*Version Bump*

Version 0.7.10

  • 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)
  • Thanks 1
Link to comment
Share on other sites

  • 4 weeks later...
On 4/24/2023 at 11:23 AM, Fragtality said:

*Version Bump*

Version 0.7.10

  • 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)

 

Great program -- many thanks!

While setting up a Stream Deck + dial stack in MSFS with a Display Value with Switch  I ran into a problem because the variables

(A:AUTOPILOT VERTICAL HOLD VAR, feet/minute)  [ also tried (A:AUTOPILOT VERTICAL HOLD VAR, feet per minute)]

and

(A:AUTOPILOT AIRSPEED HOLD VAR, Knots)

where not recognized in the variable address field.  The tool tip said "Please match the requested format".  I have not been able to figure out what is wrong. These variables are from the MSFS SDK.  I had no problem setting up two other similar encoders.

 

Here is the entries for the Vertical Speed part:

image.png.ac743fbee0e1eabe2ac9a22d98358bfc.png

image.png.1dc7cab06b827b5d07050caad3b06f49.png

image.png.e4b37dd5c8fd3bb7e3b14a686bb9f3d3.png  This is the rest of the variable entry

I also was unable to set up a button Display Value because again the variable was not recognized by Pilot's Deck.

I am using FSUIPC7 ver 7.3.20 and Pilot's Deck ver 0.7.10.

Thanks for any suggestions.

Al

 

Link to comment
Share on other sites

So you could sort it out?

The Syntax-Checking in the UI is more an Assistance for the User - the "real" and thorough Syntax-Checking happens later on Execution. So it is still worth trying if it works even when the UI shows an Error there.

But it could still be that some Corner-Cases for the A-Vars are not covered, though. For Example, I don't know if the current Check allows a Slash ("/") in the Unit-Type tbh!

Link to comment
Share on other sites

1 hour ago, Fragtality said:

So you could sort it out?

Finally just got it to work. I learned you have to ignore the little white round edit symbol in the variable field -- just keep typing. Trying to move the edit symbol out of the way to "make space" for typing the rest of the variable I think was a problem.  And I think the slash was also an issue. I ended up using "feet per minute".

Thanks again for an excellent plugin!

Al

 

Link to comment
Share on other sites

1 hour ago, Fragtality said:

You're welcome 🙂

Yeah I tried to move the Check-Symbols out of the Input-Fields ... but either I don't understand what "CSS-Magic" is required for that or it is just not possible with the StreamDeck-UI 😕

Seems if you just keep typing and ignore the location of the Ckeck-Symbols it works, so all good.

I'd like to assign a key (or key combination) to a Stream Deck + button, but don't see how to do that.  This would allow executing a default MSFS key control binding with a Stream Deck + button.

I could certainly do this using the standard Stream Deck "Hotkey" assignment, but wanted to take advantage of Pilot's Deck capability to send a second keystroke using the long press option. If I can't send a keystroke directly using Pilot's Deck, I could use tiny Lua scripts to send the keycodes and then use Pilot's Deck to call the scripts, but that's seems like a cumbersome solution.

Thanks,

Al

Link to comment
Share on other sites

You don't and can't assign Keyboard-Keys and Joystick-Buttons in the first Place (in the Plugin). You tell the StreamDeck Button (respectively the PilotsDeck Action that is on that Button) what you want to send to the Simulator by the different Ways possible. Roughly spoken, the Plugin sends the Events directly to the Simulator, not by emulating Key-Inputs or Joystick-Inputs.

I'd recommend to consult Chapter 2.1 of the Readme. For MSFS the Action-Types Control, Calculator or HVar might do the Trick.

Link to comment
Share on other sites

2 hours ago, Fragtality said:

I'd recommend to consult Chapter 2.1 of the Readme. For MSFS the Action-Types Control, Calculator or HVar might do the Trick.

OK, I understand.

I'm familiar with sim XML coding, so I used calculator code with a simple button to either toggle autopilot Approach (short press) or BC (long press) on and off.

Thanks,

Al

Link to comment
Share on other sites

Uhm okay, so if you even know how to write RPN Code - I don't really what your initial Question is about to be honest 😕
Because with that Knowledge I'd assume the available Action-Types would directly mean something to you.

Maybe try to rephrase that:

On 5/23/2023 at 8:07 PM, ark1320 said:

I'd like to assign a key (or key combination) to a Stream Deck + button, but don't see how to do that.  This would allow executing a default MSFS key control binding with a Stream Deck + button.

 

Link to comment
Share on other sites

22 hours ago, Fragtality said:

Maybe try to rephrase that:

No, rephrase it for what purpose at this point? It was just a beginner's mistake and maybe seeing that will help someone else. I'm brand new to both Stream Deck and Pilot's Deck, and as a start for a couple of days had been assigning "hot keys" to buttons using the standard Stream Deck capability. So that was my first thought with Pilot's Deck. As I learn more both about Stream Deck and Pilot's Deck I get a little "smarter" in how to use them. 😉

Link to comment
Share on other sites

  • 4 weeks later...
On 4/24/2023 at 11:23 AM, Fragtality said:

*Version Bump*

Version 0.7.10

I am using this version and am having some trouble using the LVAR command mode. For example I could not get the toggle LVAR mode below to work, but when I used Calculator code it did work. I also noticed in LVAR mode the syntax checker did not like having a space in the LVAR name.  Am I doing something wrong as far as the LVAR mode goes?

Thanks,

Al

Screenshot_8.png

Screenshot_9.png

Link to comment
Share on other sites

2 hours ago, ark1320 said:

I am using this version and am having some trouble using the LVAR command mode. For example I could not get the toggle LVAR mode below to work, but when I used Calculator code it did work. I also noticed in LVAR mode the syntax checker did not like having a space in the LVAR name.  Am I doing something wrong as far as the LVAR mode goes?

Not you, someone else did something "wrong". Even though Spaces seemed to be allowed for no comprehendible Reason, it is just very very Bad Practice to have Spaces in Variable Names. It's like a unwritten Baserule in programming.

So I won't allow that in the Syntax-Checks. The last time I did that (FBW's fake L-Var Indices) it introduced Bugs in other Areas. So adding something no reasonable Developer would ever assume in a Variable Name could have that Potential too. I'm afraid you have to have the Workaround with Calculator Code.

 

 

1 hour ago, ark1320 said:

But the below using XML code did work. So again what am I doing wrong?  Thanks, Al.

The Syntax is wrong, negative Numbers are prefixed with a minus in the normal World (=outside of RPN) 😅

Link to comment
Share on other sites

26 minutes ago, Fragtality said:

The Syntax is wrong, negative Numbers are prefixed with a minus in the normal World (=outside of RPN) 😅

I had tried it both ways as far as the signs are concerned, still did not work for some reason.  The RPN approach was my second try.

Al

Link to comment
Share on other sites

 

16 minutes ago, Fragtality said:

Hmm, have you tried without Prefix (L:)? 🤔

Good call, that worked!  You also cannot have any spaces after the colon(:) preceding the step size although the syntax checker does not object to it.

Suggest you update the below on Github (or make allowances for the L:).

For simple Tasks like increasing/decreasing a L-Var you can use the $Name:Step(:Limit) Template (the Plugin will build the right RPN-Code for that):

  • Name: The Name of the L-Var with or without preceding L:.

Thanks for the help,

Al

Link to comment
Share on other sites

1 hour ago, Fragtality said:

Yes, the above now works with the L: in front of the Lvar name, still can't have any spaces after the colon, which is fine -- just need to make that clear to users I think.

Thanks,

Al

Link to comment
Share on other sites

What about:

"*Name*: The Name of the L-Var with or without preceding `L:`. The L-Var Name can also contain Numbers (0-9), Dashes (-), Underscores (_) and Colons (:) as long as these are not the first Character in the Name. Please Note that **Space** is not allowed. Even though it seems technically possible, it is a very Bad Practice to have Variable Names with Spaces. Therefore Spaces will never be added. You can try if Calculator works for you as Work-Arround."

Link to comment
Share on other sites

6 hours ago, Fragtality said:

Oh sorry, a bit of Context Missing ^^

No Problem!

Different issue: Does Pilot's Deck start FSUIPC7 or assume MSFS does that?  Currently when I start the Sim FSUIPC7 is also started and sometimes there seems to be a FSUIPC7 conflict of some kind so that FSUIPC7 does not start or the sim locks up. Does Pilot's Deck/Stream Deck assume the sim is running. Should I start Pilot's Deck before starting the sim, or maybe vice versa. What do you suggest?

Thanks,

Al

Link to comment
Share on other sites

PilotsDeck does not start any Program/App.
The StreamDeck Software informs the Plugin as soon as any supported Sim is running. Then it expects FSUIPC to be started while the Sim is loading (and also the MF WASM Module for MSFS) - which is the default Behavior.

It should not make a Difference when you start it. The StreamDeck Software (and therefore the Plugin) can run all the Time, to allow normal StreamDeck Usage for the Users outside of Flight Simming (in contrary to Spad). I let it start with Windows, since I use my StreamDeck for other Things too. But if a User only wants to start it only when the Sim is running, that is also perfectly fine 🙂 

  • Like 1
Link to comment
Share on other sites

20 hours ago, Fragtality said:

PilotsDeck does not start any Program/App.
The StreamDeck Software informs the Plugin as soon as any supported Sim is running. Then it expects FSUIPC to be started while the Sim is loading (and also the MF WASM Module for MSFS) - which is the default Behavior.

What I am finding is sometimes when I start the sim, although FSUIPC7 is also started (I see the FSUIPC7 Splash screen) by the time the aircraft has loaded, something has terminated FSUIPC7 and I have to restart it to get things working.

The other thing is I have different Pilot's Deck profiles for different MSFS aircraft.  Currently the way I am handling this is I have a standard Stream Deck "default" profile that does nothing but let me select the Pilot's Deck profile I want to use at that time (Switch Profile buttons). How would you handle multiple Pilot's Deck profiles? I know I could have one profile with multiple pages for the different aircraft, but I prefer not to do that because I want each profile to fit on one page and don't want to devote buttons to navigating between pages. Another approach is to use the Stream Deck Settings window to switch profiles.

Thanks for any ideas,

Al

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.