Jump to content
Sign in to follow this  
Bert Pieke

F1VC.xml - 3D Cockpit Knobs and Keys - tips and tricks

Recommended Posts

SO, based on Jean Luc's insight.. here we go.

If you have the "Double Click" problem with one of your aircraft, try this:

1) Open the Interior Model file with a hex editor such as HxD (freeware).

2) Search for 

(M:Event) 'LeftDrag'  scmp 0 == if{ 0x0001FA02 (>L:F1GTNMOUSE, bool) }

associated with the Home button, or

(M:Event) 'LeftDrag'  scmp 0 == if{ 0x0001FA04 (>L:F1GTNMOUSE, bool) }

associated with the Direct-To button,  for the GTN model that you have in the panel.

3) IF you find these lines, change "F1GTN" to "F2GTN" , ie change one character:

  (M:Event) 'LeftDrag'  scmp 0 == if{ 0x0001FA04 (>L:F2GTNMOUSE, bool) }

4) Then save.

Now, the traditional F1VC.xml routine should work nicely!

I have attached the code below (note that I have changed the INC/DEC direction for the knobs so that mouse wheel up turns the knobs clockwise..)

<Gauge Name="f1vc" Version="2.05">

<!-- Reality XP GTN Buttons Bridge -->
<!-- Bridges Reality XP GTN 750/650 Touch with f1 3D bezel -->
<!-- Credits: Reality XP, Sean Moloney and Ryan Butterworth, Bert Pieké -->

<Element>
  <Select>
    <Value>
        (L:F1GTNMOUSE,bool) 0 !=
        if{
            (L:F1GTNMOUSE,bool) 0x0001FA01 - sp0
            l0 28 / int sp1 l0 28 % sp0
            <!-- map F1 model to RXP GTN unit -->
            <!-- use: 8 0 8 0 for 652=unit2, 651=unit1, 752=unit2, 751=unit1 -->
            <!-- use: 8 8 0 0 for 652=unit2, 651=unit2, 752=unit1, 751=unit1 -->
      	    8 0 8 0
      	    4 l1 case 4 2 l0 1 &amp; ? + sp1
            l0 0 == l0 1 == or if{ l1 (>K:GPS_MENU_BUTTON) }
            l0 2 == l0 3 == or if{ l1 (>K:GPS_DIRECTTO_BUTTON) }                
            l0 4 == l0 10 == or if{ l1 8 &amp; (>K:GPS_BUTTON2) }
            l0 6 == l0 11 == or if{ l1 8 &amp; (>K:GPS_BUTTON3) }
            l0 8 == l0 9 == or if{ l1 (>K:GPS_BUTTON1) }
            <!-- swap _KNOB_DEC with _KNOB_INC to reverse mouse wheel direction -->
            l0 12 == l0 18 == or if{ l1 8 &amp; (>K:GPS_GROUP_KNOB_DEC) }
            l0 14 == l0 19 == or if{ l1 8 &amp; (>K:GPS_GROUP_KNOB_INC) }
            l0 20 == l0 26 == or if{ l1 8 &amp; (>K:GPS_PAGE_KNOB_DEC) }
            l0 22 == l0 27 == or if{ l1 8 &amp; (>K:GPS_PAGE_KNOB_INC) }
            l0 24 == l0 25 == or if{ l1 (>K:GPS_CURSOR_BUTTON) }    
            l0 16 == l0 17 == or if{ l1 (>K:GPS_CURSOR_BUTTON) }    
            0 (>L:F1GTNMOUSE,bool)            
        }           
    </Value>      
  </Select>
</Element>
</Gauge>

 

Edited by RXP
code formatting
  • Like 2
  • Upvote 2

Bert

Share this post


Link to post
Share on other sites
39 minutes ago, Bert Pieke said:

BINGO! 

You nailed it.. :biggrin:

If I only disable that one line, but leave the other lines, not only does the original F1VC code work again, but the long hold for the Home button works as well!

Couldn't have done this without you finding the initial direction, thank you!

This makes me wondering whether we'd have to also modify our canonical modeldef.xml file which is installed with our product.

I don't know whether 3rd party vendors are merely using it as-is, but I'll remove the 'drag' event as well in our XML file, or at least, comment them out. 


Jean-Luc | reality-xp.com
This message from Reality XP is protected by a disclaimer: reality-xp.com/aboutrealityxp/email.html

Let your voice be heard and help us make a difference for you: Vote !
Open up communications with Reality-XP (Microsoft Flight Simulator Forums)

Share this post


Link to post
Share on other sites

I just tried f1vc version 2.05 in the A2A Cherokee and it works perfectly!  I especially appreciate the knobs now INC and DEC in the correct directions, and defaulting the "map F1 model to RXP GTN unit" value to 8080 (I believe a majority of folks will configure their cockpit to that value rather then 8800).

As always thanks for the tweaks, Bert.  You're just makin' good stuff better for us!

Greg

Share this post


Link to post
Share on other sites
8 hours ago, RXP said:

Couldn't have done this without you finding the initial direction, thank you!

This makes me wondering whether we'd have to also modify our canonical modeldef.xml file which is installed with our product.

I don't know whether 3rd party vendors are merely using it as-is, but I'll remove the 'drag' event as well in our XML file, or at least, comment them out. 

As a point of information that may relate to this thread, with the RXP GTN750 installed directly (no F1 conversion involved) into the Flysimware Lear35 or Falcon50 VC panel, the Home and Direct-To buttons work fine with one click. However, holding down the Home button to get the map does not work, but double clicking it & hold usually works (P3Dv4.5).

Al

Edited by RXP

Share this post


Link to post
Share on other sites
37 minutes ago, ark said:

As a point of information that may relate to this thread, with the RXP GTN750 installed directly (no Flight1 conversion involved) into the Flysimware Lear35 or Falcon50 VC panel, the Home and Direct-To buttons work fine with one click. However, holding down the Home button to get the map does not work, but double clicking it & hold usually works (P3Dv4.5).

Al

I am still struggling with the "long hold" of the Home button in other airplanes... getting inconsistent results..


Bert

Share this post


Link to post
Share on other sites
1 hour ago, ark said:

As a point of information that may relate to this thread, with the RXP GTN750 installed directly (no Flight1 conversion involved) into the Flysimware Lear35 or Falcon50 VC panel, the Home and Direct-To buttons work fine with one click. However, holding down the Home button to get the map does not work, but double clicking it & hold usually works (P3Dv4.5).

Al

This may possibly be a bug in the RXP GTN itself.. (Jean Luc @RXPare you following this..)

First I thought that this was related to my airplane mods.. but try this on the popup GTN.

Hold down the Home key for a "long push".. if it goes to the Map page, as it should, push Direct-To and then cancel this on the GTN screen.  Then try the Home key again for a long push.. on my system, this will fail.  Then push Home and it will go to the Home screen.

If you now try the "long push" on the Home key, it will work again.. even moving the knobs will "reset" the Home button.. but the sequence Direct-To, Cancel, Long Home push fails consistently, popup or VC.. :huh:

Edited by Bert Pieke

Bert

Share this post


Link to post
Share on other sites

Back to airplane mods... Not only the GTN function is impacted by the "Drag" command in the model, the animation of the buttons in the VC can be impacted as well.

Try this, as a fix:

In addition to changing the

(M:Event) 'LeftDrag'  scmp 0 == if{ 0x0001FA04 (>L:F2GTNMOUSE, bool) }

line, keep reading and see if it is followed by a  0 (>L:F1GTN750U1_HOMEKEY, number) or similar.. This is the Button animation command.  Change the F1GTN to F2GTN here as well.

Read on below..

Edited by Bert Pieke

Bert

Share this post


Link to post
Share on other sites

Just to add insult to injury... there can be duplicate instances of Home key and Direct-To key sections in the interior model file... I just did the Alabeo C421 and the a2a C182, and had to do the above changes twice - once for each section.. so use the Search function to hunt down additional sections if at first it does not work!  :happy:

Edited by Bert Pieke

Bert

Share this post


Link to post
Share on other sites
2 hours ago, Bert Pieke said:

If you now try the "long push" on the Home key, it will work again.. even moving the knobs will "reset" the Home button.. but the sequence Direct-To, Cancel, Long Home push fails consistently, popup or VC.

I'll check this out. Thank you.


Jean-Luc | reality-xp.com
This message from Reality XP is protected by a disclaimer: reality-xp.com/aboutrealityxp/email.html

Let your voice be heard and help us make a difference for you: Vote !
Open up communications with Reality-XP (Microsoft Flight Simulator Forums)

Share this post


Link to post
Share on other sites

So with a horribly inept vision or understanding of simulator variables and/or .xml programming, when this dialog has run its course and an end has been achieved, would you as a team please distill it all down to something that those of us with illogical (system) backgrounds can apply and digest????

 


Frank Patton
MasterCase Pro H500M; MSI Z490 WiFi MOB; i7 10700k 3.8 Ghz; Gigabyte RTX 3080 12gb OC; H100i Pro liquid cooler; 32GB DDR4 3600;  Gold RMX850X PSU;
ASUS 
VG289 4K 27" Monitor; Honeycomb Alpha & Bravo, Crosswind 3's w/dampener.  
Former USAF meteorologist & ground weather school instructor. AOPA Member #07379126
                       
"I will never put my name on a product that does not have in it the best that is in me." - John Deere

Share this post


Link to post
Share on other sites
2 hours ago, fppilot said:

So with a horribly inept vision or understanding of simulator variables and/or .xml programming, when this dialog has run its course and an end has been achieved, would you as a team please distill it all down to something that those of us with illogical (system) backgrounds can apply and digest????

 

I sure hope so... but we are nowhere near that point..  :unsure:


Bert

Share this post


Link to post
Share on other sites
26 minutes ago, Bert Pieke said:

I sure hope so... but we are nowhere near that point..  :unsure:

I went into the interior model files for the Flysimware Lear35 and Falcon50 and removed the drag and release M events for Home button 1 (replaced 'LeftDrag' and 'Release' with the equivalent # of spaces) and now with the GTN750 in the VC panel the Home button Map function works reliably with a single click and hold combination. And Bert, the Direct-To, Cancel, Long Home push sequence for the map also seems to work in the VC or popup.  😊

Al

Edited by ark
  • Like 1

Share this post


Link to post
Share on other sites
14 hours ago, Bert Pieke said:

If you now try the "long push" on the Home key, it will work again.. even moving the knobs will "reset" the Home button.. but the sequence Direct-To, Cancel, Long Home push fails consistently, popup or VC.. :huh:

I've done some more tests standalone, and then popup only in FS, and all is appearing to be working normally (it should).

I'd think the error is most likely related to the VC code and VC mouse interaction:

6 hours ago, ark said:

removed the drag and release M events for Home button 1 (replaced 'LeftDrag' and 'Release' with the equivalent # of spaces) and now with the GTN750 in the VC panel the Home button Map function works reliably with a single click and hold combination.

Which makes me wondering why, but... 

Like I've said, the pseudo interface to the other GTN is using a variable. Should the 3D model code updates it twice in a row while the xml bridge code has not read it yet, you'll loose an 'event'. NB: the other GTN is not immune to this limitation hence why using a variable as a user input interface in this case is a poor choice.

 

Should you replace all the code like this (press and release events):

if{ 0x0001FA01 (>L:F1GTNMOUSE, bool}
if{ 0x0001FA02 (>L:F1GTNMOUSE, bool
}
if{ 0x0001FA03 (>L:F1GTNMOUSE, bool
}
if{ 0x0001FA04 (>L:F1GTNMOUSE, bool
}

with these directly (press and release events):

if{ 2 (>K:GPS_MENU_BUTTON) }
if{ 4 (>K:GPS_MENU_BUTTON) }
if{ 2 (>K:GPS_DIRECTTO_BUTTON) }
if{ 4 (>K:GPS_DIRECTTO_BUTTON) }

and of course comment out the following which would now be handled directly (press and release events):

l0 0 == l0 1 == or if{ l1 (>K:GPS_MENU_BUTTON) }
l0 2 == l0 3 == or if{ l1 (>K:GPS_DIRECTTO_BUTTON) }    

I'm nearly certain it won't be an issue anymore.

 

Otherwise the issue might also be related to how the 3D model is handling the mouse events and is maybe deciding to 'remove' some of the events given the combination it is registered with. In effect, not only there is the code to test each event 'type' by string, but the whole code block is also registered with all the events it is supposed to intercept.

In this case the modeldef.xml entry looks like this:

<MouseFlags>LeftSingle+LeftRelease+LeftDrag+Leave</MouseFlags>
<CallbackCode>
  ....
</CallbackCode>

It is possible the mere mention of 'LeftDrag' in the list of flags is sufficient to cause Flightsim code handling the 3D model interactions to handling the mouse differently than expected in regard to the 'release' and 'leave' events:

14 hours ago, Bert Pieke said:

Then try the Home key again for a long push.. on my system, this will fail.

It is supposed to go back to home screen on release only once you're already on the home page. If this fails, it means it doesn't receive the 'leave' or 'release' event. If you try the same with the GTN in a popup only (no VC, no xml bridge), it should work fine as expected.


Jean-Luc | reality-xp.com
This message from Reality XP is protected by a disclaimer: reality-xp.com/aboutrealityxp/email.html

Let your voice be heard and help us make a difference for you: Vote !
Open up communications with Reality-XP (Microsoft Flight Simulator Forums)

Share this post


Link to post
Share on other sites

Addendum:

As you can see, having proper support for the RXP GTN is only a matter of replacing the modeldef.xml code which we provide ready to use, and to replace a few gauge##= entries in the panel.

I believe the best course of action is to lobby the 3rd party vendors to implement correct handling of the RXP GTN.

Any seasoned 3rd party aircraft vendor can do it in 2 hours...


Jean-Luc | reality-xp.com
This message from Reality XP is protected by a disclaimer: reality-xp.com/aboutrealityxp/email.html

Let your voice be heard and help us make a difference for you: Vote !
Open up communications with Reality-XP (Microsoft Flight Simulator Forums)

Share this post


Link to post
Share on other sites

Edited the RealAir Legacy .mdl files as @Bert Pieke said above and installed v2.05 f1vc.xml and it works single click and home click and hold just perfectly. Thanks Bert!

BTW, @RXP, your engagement with users on this forum is awesome! Thanks!

Bruce

  • Like 1

[CPL]  I9-9900K @5.0GHz HT ON, Maximus XI Hero, ASUS TUF RTX4080 OC, 32GB DDR4 3200 14, 1TB NVMe SSD, 500GB SSD, 1TB HDD, 40" Samsung 4K TV, Honeycomb Alpha & Bravo, Logitech Rudder Pedals, WIN11

Share this post


Link to post
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
Sign in to follow this  

  • Tom Allensworth,
    Founder of AVSIM Online


  • Flight Simulation's Premier Resource!

    AVSIM is a free service to the flight simulation community. AVSIM is staffed completely by volunteers and all funds donated to AVSIM go directly back to supporting the community. Your donation here helps to pay our bandwidth costs, emergency funding, and other general costs that crop up from time to time. Thank you for your support!

    Click here for more information and to see all donations year to date.
×
×
  • Create New...