mpaperno / MSFSTouchPortalPlugin

A plugin which provides a two-way interface between Touch Portal clients and Flight Simulators which use SimConnect, such as MSFS 2020 and FS-X.
GNU General Public License v3.0
65 stars 2 forks source link

On Hold - Repeat whatever action was last passed to the plugin #4

Open HiDTH opened 2 years ago

HiDTH commented 2 years ago

Is your feature request related to a problem? Please describe. Because the buttons on my page have multiple functions it would be useful to repeat whichever function I last used on that button when I hold it down.

Describe the solution you'd like A new On Hold action which remembers whichever action was last used and repeats it i.e. RepeatLastAction - so that I don't have to specify whether it was i.e. the Throttle, Mixture, Prop RPM that I last changed (as the all use the same button). The last action will be whatever the function was from the 'On Press' action on the same TP button. Obviously this would only be for Actions that change values rather than on/off type switches.

Describe alternatives you've considered Unfortunately there are no Logic function for On Hold actions in TP - otherwise I would use those.

Additional context Add any other context or screenshots about the feature request here.

mpaperno commented 2 years ago

I'm not sure about this one. I do understand the problem, since the On Hold features are very limited, as you say (definitely a TP feature request there). But what you suggest presents some challenges for sure.

For one thing, we don't know which particular button triggered an action. So there's no way to track that. What you suggest would literally need to be "repeat the last action received" which is very ambiguous. Keep in mind that other actions can be triggered while another is being held. Also that it is possible to hold (repeat) multiple actions at once. And of course one button could trigger any number of actions at the same time.

I'll keep thinking about it, but so far anything I can think of would be overly complex and/or error prone. Open to more ideas on the subject.

A little related, and maybe you've thought of this already but it's something I did on the page I'm using... for the AP alt/vs/hdg/speed you can use the Select actions to "select" those bugs, and then use the +/- keys to adjust the selected value (either actual key presses or the new PLUS/MINUS actions I just added). I know it doesn't help with throttle and such, but maybe it's something you can use or expand upon.

Here's a screenshot from the desktop UI... the left arrow button increments selected value by 1 and is holdable, the next one repeats the increment X times on press and then is holdable, and the rightmost one controls and shows the held action repeat rate.

image

I wonder if we could extend this "select" functionality internally somehow, so for example you could say "select throttles for +/-" even though MSFS itself doesn't have that feature. Then the actual increment/decrement buttons don't need to care what they're incrementing, just like in my example above.

-Max

mpaperno commented 2 years ago

image

image

And the Down arror button is same but dynamically shows the current number of repeats (x${value:fsc.adjustFactor})

mpaperno commented 2 years ago

There are already SimConnect events for selecting COM/NAV/etc individual frequency digits for adjusting with +/- keys. I'll add those, though for now it may be just for COM1/NAV1/etc since there's currently no functionality in the plugin for sending 2 SimConnect events at once from an action (another TODO, I guess).

https://docs.flightsimulator.com/html/index.htm#t=Programming_Tools%2FSimVars%2FEvent_IDs%2FAircraft_Radio_Navigation_Events.htm

Although individual digits can also be cumbersome and I'm not sure how to elegantly update the Touch Portal page display to show which digit is selected (besides just showing the number on a buton/etc).

HiDTH commented 2 years ago

Wow - That looks amazing . . . How can I get hold of a copy for testing ?

On 13 Feb 2022, at 1:38 am, Max Paperno @.***> wrote:



— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.

mpaperno commented 2 years ago

Sorry, a copy of what? I've published 2 plugin releases here, but you could already do what I described with the select buttons before that (using keyboard +/- shortcuts). Or do you mean my page buttons?

Feel free to ping me on the TP Discord server.