Jump to content
The simFlight Network Forums

FSUIPC7 small UX suggestion to make assignment of Presets / Controls easier.


joeherwig

Recommended Posts

Dear @John Dowson, dear @Pete Dowson,

As the Capabilities of FSUIPC 7 grew really a lot since its start and especially working with Presets (events.txt and myevents.txt) and we get more and more great planes in MSFS i have a small suggestion.

Within FSUIPC7 there are a couple of places where a command / preset can be chosen with a dropdown menu.
As we now already have > 7700 elements in this dropdown it's sometimes quite hard to find what you're searching for - especially if you don't know exactly how it is called. That's extremely time consuming. 

Do you see a chance to replace that dropdown with a search functionality being capable of searching for all terms entered in there (and split with a blank " ")?
I'm sure it would be really of great help.

I made a small example online as JSFiddle to show what could be a great improvement: https://jsfiddle.net/Lsyr9fc3/6/show/

Just try within the "Control / Preset" field to find something.

For instance for Kodiak the ignition could be found with "kodi ign", or for the Fenix Engine mode just search for "ENG" then extend it to "ENG Mode" to find the engine mode switch options.
Or to find the rotaries of the G1000(NXI) just search for "1000_ inc"  

Could that be an option? Looking forward for your response...
Best regards,

          Joe

Link to comment
Share on other sites

Hi Joe,

better search functionality for the controls/presets drop-downs has been requested many times already, but its not that easy to implement with the current toolkit used. FSUIPC uses the old Win32 API, not javascript, and doesn't filter the drop-down list - it just positions. I did look into filtering the list a few years ago, but it was messy and slow - too slow to use. This type of filtering is just not a natural fit for the win32 combo box (see https://stackoverflow.com/questions/71584954/how-to-filter-combobox-by-textsearch-input-win32-api).

I will look at this again, when time permits, but for now I recommend using the MF HubHob site to search for presets (https://hubhop.mobiflight.com/presets/), and the automatically generated text file (Controls List for MSFS Build 999.txt) to search for NSFS controls/events. Not ideal, I know.

Also, for presets, you can always copy the presets for the aircraft that you use from the events.txt file to a myevents.txt file, and then remove the events.txt file. This will restrict the presets available to the aircraft that you fly.

Thanks for taking the time to provide an example, but it is of little use due to the way drop-down menus are implemented in win32.

Regards,

John

Link to comment
Share on other sites

  • 7 months later...

Hi John,

Just wanted to get back to this one...
Over time even with a reduced myevents.txt with "just four aircraft plus the MSFS generics, i get nearly 3000 lines.
Assigning presets is still not very comfortable as it is often hard to distinguish which one is the right.
Nearly no chance without having the txt open in an editor aside. And even then it's hard as the dropdown always loads quite long until I'm able to key-in what i want.

As the source of mobiflight seems to structure the stuff like 

//SimWorks Studios/Kodiak 100/Engine
Kodiak_100_Ignition_Off#0 (>L:SWS_ENGINE_Switch_Ignition_1, Bool)
Kodiak_100_Ignition_On#1 (>L:SWS_ENGINE_Switch_Ignition_1, Bool)
Kodiak_100_Ignition_toggle#(L:SWS_ENGINE_Switch_Ignition_1, Bool) ! (>L:SWS_ENGINE_Switch_Ignition_1, Bool)
KODIAK_100_IGNITION_SWITCH_OFF#1 (>K:TURBINE_IGNITION_SWITCH_SET1)
KODIAK_100_IGNITION_SWITCH_ON#2 (>K:TURBINE_IGNITION_SWITCH_SET1)
KODIAK_100_IGNITION_SWITCH_TOGGLE#1 2 (A:TURB ENG IGNITION SWITCH EX1:1, enum) 2 == ? (>K:TURBINE_IGNITION_SWITCH_SET1)

//SimWorks Studios/Kodiak 100/Engines
Starter_Switch_Hi#2 (>L:SWS_ENGINE_Switch_Starter_ThreeState_1, Enum)
Starter_Switch_Off#1 (>L:SWS_ENGINE_Switch_Starter_ThreeState_1, Enum)

Would it probably be an option to use a combination of a treeview and a combobox which lazy-loads the available functions just after entering the leaf in the tree view?

image.png.c3cf9414e7ac90ac1ddbcb24f51453f9.png
It would definitely speed up the process of finding the right presets.

Of course I'm also open for any other options that help to work with the brillant feature of having Presets.
I'd also add them directly into the FSUIPC.ini by text editor if I could easier grab the colored stuff:
image.png.fed68cd6efd7e877a6e02bb0b9576197.png

especially the device (Joystick and Button) stuff behind the line index (does it have a purpose?) and the preset name.
The rest seems to be parameter and the static identifier to use the preset.

So if I could "copy" from the assignment-page somehow the Device+Button it would help at least a bit.

Sorry for bothering again,

       Joe

 

Link to comment
Share on other sites

On 5/10/2023 at 10:52 PM, joeherwig said:

Would it probably be an option to use a combination of a treeview and a combobox which lazy-loads the available functions just after entering the leaf in the tree view?

That's an interesting idea. I don't think this would replace the current menu, but I could add a button that pops-up a tree-view window, and then the selection made there could populate the drop-down selection. I will make a note and look into this when time permits.

I am also thinking of changing the selection from a drop-down list to a combo-box. this would then allow you to enter more characters to find the correct preset, rather than just positioning the drop-down on the item starting with the letter of the key pressed.

On 5/10/2023 at 10:52 PM, joeherwig said:

I'd also add them directly into the FSUIPC.ini by text editor if I could easier grab the colored stuff:
image.png.fed68cd6efd7e877a6e02bb0b9576197.png

especially the device (Joystick and Button) stuff behind the line index (does it have a purpose?) and the preset name.
The rest seems to be parameter and the static identifier to use the preset.

Everything in the ini file has a purpose - see the Advanced User guide for a description on the button assignment lines.

On 5/10/2023 at 10:52 PM, joeherwig said:

So if I could "copy" from the assignment-page somehow the Device+Button it would help at least a bit.

You can do that - just make sure that the index number (first number on the line) is unique, and also that the joystick letter and button numbers are correct (as well as the press, release or repeat code/letter). Also, if doing this when FSUIPC is running, make sure the button assignment window is open when you edit the FSUIPC7.ini, and click the Reload button  once you have saved any changes. Once you have done this, reload the FSUIPC7.ini file in the editor (as it will be re-written) and check there are no errors.

John

Link to comment
Share on other sites

Hi John, 

 

I see, you've already a couple of great ideas for improvements for that topic in one of the next releases. Really cool. Looking forward for it. 

Btw. There has been a new (beta) of the websocket server released by Paul Henty which resolves a couple of stability issues. Would be great, if you could pack it with the next FSUIPC7 update as well. 

All the best to you guys, 

Joe

Link to comment
Share on other sites

On 5/12/2023 at 11:37 AM, John Dowson said:

I could add a button that pops-up a tree-view window, and then the selection made there could populate the drop-down selection.

I like that idea especially if that tree selection would keep the selection until deliberately changed. Then the dropdown/combobox would just hold the stuff of the single selected aircraft I'm currently working on. 

Really a brilliant idea. 😎👏👍

Link to comment
Share on other sites

2 hours ago, joeherwig said:

I like that idea especially if that tree selection would keep the selection until deliberately changed. Then the dropdown/combobox would just hold the stuff of the single selected aircraft I'm currently working on. 

Thats not quite what I meant... I meant  that you would select an actual preset from the tree view (not a group of presets), which would then be used to select the item from the drop-down list. There are issues involved  if the tree selection was used to filter the preset drop-down by aircraft or aircraft sub-system, For example, when a button is pressed, any exisiting assignment on that button needs to be displayed, and this could be to a preset that is not in the filtered list.

Anyway, I will have a better idea how this will work once I have started to look at this in detail, and will implement what I can...

John

Link to comment
Share on other sites

On 5/14/2023 at 1:25 PM, John Dowson said:

 There are issues involved  if the tree selection was used to filter the preset drop-down by aircraft or aircraft sub-system, For example, when a button is pressed, any exisiting assignment on that button needs to be displayed, and this could be to a preset that is not in the filtered list.

Got it. I'm sure you'll find a helpful way somehow that improves the performance and ease of selecting of the presets or showing them - if already assigned - in the context of which vendor/aircraft/system. 

Thanks for the again super fast response. 

Link to comment
Share on other sites

Just one addition... 

If i could just add the calculator code as free text directly to a btn press/release or axis range without the (my) events.txt in between, it would also be a huge improvement. I suppose this would be also ways easier to implement. 

Currently it seems that we're adding the presetName from (my)events.txt, writing it to the FSUIPC7.ini and on btn event it needs to be resolved again to send the calcCode from the txt. 

Having the option to directly paste in just the calccodes i retrieved for instance from the hubhop.mobiflight.com and keeping that in the FSUIPC7.ini might be an option for you as well. 

Joe

 

Link to comment
Share on other sites

5 hours ago, joeherwig said:

If i could just add the calculator code as free text directly to a btn press/release or axis range without the (my) events.txt in between, it would also be a huge improvement. I suppose this would be also ways easier to implement. 

Currently it seems that we're adding the presetName from (my)events.txt, writing it to the FSUIPC7.ini and on btn event it needs to be resolved again to send the calcCode from the txt. 

Having the option to directly paste in just the calccodes i retrieved for instance from the hubhop.mobiflight.com and keeping that in the FSUIPC7.ini might be an option for you as well. 

This would be a huge amount of work and complicate the UI, as well as the ini file format, for little benefit - I will not be adding this. I could add a menu option to Reload Presets so that any changes to the events.txt and myevents.txt are made available for assignment without restarting FSUIPC7.

John

Link to comment
Share on other sites

  • 3 months later...

@joeherwig I have added a Find Preset... button to the button assignments dialog in the attached version, 7.3.23a, in the attached version. This is shown when the Select for Preset button is checked.
The implementation is not yet complete - still to do:

  • Add a Find Preset... button to the key assignments dialog. This should be straightforward.
  • Automatically select the preset in the preset tree if a preset is already assigned when the Find Preset... button is pressed. I am having some difficulties with this but will continue to look unto this.

This version also contains a change to the axis assignment dialog when the Send Preset to FS option is checked - now only presets that accept a parameter will be listed, as there is no point assigning an axis to a preset if a parameter is not accepted. You can still assign an axis to any preset when the axis enters a specific range, in the right-hand side of the axis assignment dialog.

Let me know if there are any issues.

Cheers,

John

FSUIPC7.exe

P.S. You can add  comments that won't be processed as tree nodes by using '///' to start the comment

  • Thanks 1
Link to comment
Share on other sites

On 9/7/2023 at 10:02 AM, John Dowson said:

Automatically select the preset in the preset tree if a preset is already assigned when the Find Preset... button is pressed. I am having some difficulties with this but will continue to look unto this.

This has been implemented in the attached version. Also, if there is no currently assigned preset, the parent node of the previous node selected will be selected.

John

FSUIPC7.exe

Link to comment
Share on other sites

On 9/7/2023 at 10:02 AM, John Dowson said:
  • Add a Find Preset... button to the key assignments dialog. This should be straightforward.

This has now been implemented in the attached version. 7.3.23. This completes the implementation of this item for the time being.

The attached version will also be the next release, and also contains a version check at start-up and will notify (display a message) if a newer version of FSUIPC7 is available.

John

EDIT: the attached file/version has been removed as this version has now been released

 

Edited by John Dowson
Attachment removed
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.