Skip to content
View in the app

A better way to browse. Learn more.

The AVSIM Community

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Featured Replies

This is an interesting discussion and I'll try to wrap things up:

1) most aircraft using a GTN are basically handling 4 events for the buttons:

    LeftSingle, LeftRelease, LeftDrag, Leave

2) @Bert Pieke initially got success in just disabling the LeftDrag code.

3) @ark further got success in disabling both LeftDrag and LeftRelease code.

4) @RXP believe only LeftDrag is sufficient in the end:

 

Conclusions:

1) 'Leave' is necessary if you swap 3D to 2D while holding down the mouse button, because when only using 'LeftRelease', FltSim won't give a chance and the button will stay stuck (in the GTN internals).

2) 'LeftRelease' seems not be necessary: @ark tests show releasing the mouse button fires a 'Leave' event. I'm still wondering about this one whether it is a side effect of the model <MouseFlags> (independently of the code) or a P3D4 specific function (vs FSX). To be on the safe side I'd keep the 'LeftRelease'

3) 'Leave' however is also preventing holding the button down when the VC click spot moves underneath enough to go beyond the mouse cursor location (in turbulences for example). This is a limitation but not much a problem in practice (just a theoretical problem).

 

Recipe:

Only disable the 'LeftDrag' code for the HOME and the DTO buttons in the aircraft model file:

1) open the aircraft model in any hex editor

2) find all occurrence of this text: 0x0001FA02

3) if an occurence is preceded by the following text (show in full context here):

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

then replace the text in the hex editor with this:

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

this simply swallows the 'LeftDrag' event.

4) repeat this for all occurrences of 0x0001FA02 (for the HOME button)

5) repeat steps 1) to 4) with the value 0x0001FA04 (for the DTO button)

6) once the model file is edited, don't forget to set the RXP GTN to "Use GPS Commands" in the little customization app :huh:

 

Edited by RXP
formatting

  • Replies 98
  • Views 19k
  • Created
  • Last Reply
1 hour ago, RXP said:

This is an interesting discussion and I'll try to wrap things up:

Jean-Luc,

In beta testing for Flysimware I never got the GNS units, just the GTNs, so have not been able to test the GNS units and would like to know if what we have determined here also applies to the GNS DTO buttons?

Al

Edited by ark

@ark this applies to any button including the GNS. However there are far more buttons to do in the GNS than in the GTN... :ohmy:

  • Author
On 2/8/2020 at 10:46 AM, lownslo said:

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

Greg, Happy you like it!

BTW, if you are picky about knob directions, you can swap Button2 and Button3 in the f1vc.xml file, to make the Volume knob turn in the correct direction as well.. :happy:

Bert

  • Author
40 minutes ago, RXP said:

@ark this applies to any button including the GNS. However there are far more buttons to do in the GNS than in the GTN... :ohmy:

@arkIt seems to me that this problem is not present in the RXP GNS530..

Here is the B60 Duke code, as an example:

 

Interior Model:

(M:Event) 'LeftSingle' scmp 0 == if{1 (>L:mdlDTOButton,bool) }

GPS Buttons xml gauge:

  (L:mdlDTOButton,bool) if{
   0 (>K:GPS_DIRECTTO_BUTTON)
   0 (>L:mdlDTOButton,bool) }

 

Baytower RV7A:

(M:Event) 'LeftSingle' scmp 0 == if{ 1 (>L:530_DTO,Bool) 1 (>L:530_DTO_anim,Bool) (L:BTS_sndFXgns,Bool) if{ 1 (>L:XMLSND1,enum) } }

(M:Event) 'LeftRelease' scmp 0 == if{ 0 (>L:530_DTO,Bool) 0 (>L:530_DTO_anim,Bool) }

(L:530_DTO,Bool) if{
   0 (>K:GPS_DIRECTTO_BUTTON)
   0 (>L:530_DTO,Bool) }

 

Edited by Bert Pieke

Bert

1 hour ago, Bert Pieke said:

It seems to me that this problem is not present in the RXP GNS530..

Well that's good news if that is generally the case.

It is not clear to me what the purpose -- what the reason might be -- for using the M:Event LeftDrag option on a button like DTO. Is it just to cover the case where a user's mouse cursor might 'accidentally' move out of the active click spot (maybe due to turbulence) before the mouse button is released, or are there other considerations?

Al

Edited by ark

11 hours ago, Bert Pieke said:

Sloppy coding..? :unsure:

Could be. 

Bert,

Where does a user get the f1vc.xml file, and who developed it? It has been a while and I can't seem to recall where I got it. Is it automatically provided by the RXP GTN F1 to RXP conversion app that is accessed from the P3D drop down Add-ons menu?

Al

Edited by ark

  • Author
10 minutes ago, ark said:

Could be. 

Bert,

Where does a user get the f1vc.xml file, and who developed it? It has been a while and I can't seem to recall where I got it. Is it automatically provided by the RXP GTN F1 to RXP conversion app that is accessed from the P3D drop down Add-ons menu?

Al

https://www.dropbox.com/s/lf2s8haxgtruidx/F1VC.zip?dl=0

Bert

F1VC.xml gauge ReadMe                                                                                                                       

@ark it is just a matter of creating a new f1vc.xml file and copy/paste the code which was posted in this discussion.

How to use it then?

The original archive came with a readme file which I'm copying here:

Reality XP GTN Buttons Bridge Gauge

Bridges Reality XP GTN 750/650 Touch with f1 3D bezel
Credits: Sean Moloney and Ryan Butterworth

Installation:
=============

1) Extract the .zip archive into the aircraft panel folder. The following files are expected:

SimObjects\Airplanes\[Aircraft Name]\
 panel\
 |__ rxpGTN\
 |   |__ f1vc.xml
 | 
 |__ panel.cfg
 |__ readme (rxpGTN_f1vc).txt
 
2) Replace any F1 gauge with the Reality XP GTN 750/650 Touch gauges.
 
3) Open the panel.cfg with notepad.exe or any other text editor.
 
4) Find the first VCockpit window which has a rxpGTN gauge.
 
5) Add the Reality XP GTN Buttons Bridge gauge (rxpGTN!f1vc) to the next line, typically:
 
    [Vcockpit01]
    Background_color=0,0,0 
    size_mm=1024,1024
    visible=1
    pixel_size=1024,1024
    texture=$Panel_1

    gauge00=rxpGTN!GTN_750_1,0,0,667,794,NO_BEZEL
    gauge01=rxpGTN!f1vc,0,0,1,1

6) Configure the f1vc.xml gauge for the combination of GTN devices in the VC.

   a) open f1vc.xml with notepad.exe.

   b) edit the 4 space separated numbers at line 17 if needed.

    These 4 numbers configure how to connect the virtual cockpit GTN model (type+unit) to the RXP GTN unit number.
    They are set in a specific order, respectivelly to the following 3D models: 652, 651, 752, 751.
   
    Use 0 to map the corresponding device to the RXP GTN #1, use 8 to map to the RXP GTN #2. It reads like this:
           
    code = 8080
    3D model   |  652  |  651  |  752  |  751  |
    map to RXP |   8   |   0   |   8   |   0   |
               |(unit2)|(unit1)|(unit2)|(unit1)|

    Other Examples:
    
    3D panel using 651 and 652: 8 0 8 0
    3D panel using 751 and 752: 8 0 8 0
    3D panel using 751 and 651: 8 8 0 0
    
7) Example with the MilViz DHC3:

this aircraft panel.cfg virtual cockpit sections are:
    
    [Vcockpit20]
    ...
    gauge00=F1GTN!GTN750VC,  0,0,677,794,UNIT1
    
    [Vcockpit21]
    ...
    gauge00=F1GTN!GTN650VC,  0,0,677,297,UNIT1    

The virtual cockpit uses the 751 and the 651 (type+unit). Therefore, the code must tell to map the 751 to RXP unit1,
and the 651 to RXP unit2. Using the colum view above, this gives:
    
    code = 8800
    3D model   |  652  |  651  |  752  |  751  |
    map to RXP |   8   |   8   |   0   |   0   |
               |(unit2)|(unit2)|(unit1)|(unit1)|
               
Change the panel.cfg virtual cockpit sections to:
 
    [Vcockpit20]
    ...
    gauge00=rxpGTN!GTN_750_1,  0,0,677,794,NO_BEZEL
    gauge01=rxpGTN!f1vc,0,0,1,1

    [Vcockpit21]
    ...
    gauge00=rxpGTN!GTN_650_2,  0,0,677,297,NO_BEZEL
    
Change f1vc.xml line 17 to:

			<!-- 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 8 0 0 

 

Edited by RXP

21 hours ago, RXP said:

This is an interesting discussion and I'll try to wrap things up:

1) most aircraft using a GTN are basically handling 4 events for the buttons:

    LeftSingle, LeftRelease, LeftDrag, Leave

2) @Bert Pieke initially got success in just disabling the LeftDrag code.

3) @ark further got success in disabling both LeftDrag and LeftRelease code.

4) @RXP believe only LeftDrag is sufficient in the end:

 

Conclusions:

1) 'Leave' is necessary if you swap 3D to 2D while holding down the mouse button, because when only using 'LeftRelease', FltSim won't give a chance and the button will stay stuck (in the GTN internals).

2) 'LeftRelease' seems not be necessary: @ark tests show releasing the mouse button fires a 'Leave' event. I'm still wondering about this one whether it is a side effect of the model <MouseFlags> (independently of the code) or a P3D4 specific function (vs FSX). To be on the safe side I'd keep the 'LeftRelease'

3) 'Leave' however is also preventing holding the button down when the VC click spot moves underneath enough to go beyond the mouse cursor location (in turbulences for example). This is a limitation but not much a problem in practice (just a theoretical problem).

I spoke with Mark at Flysimware last night regarding what we had learned about the (M:Event) coding for the GTN buttons. He has now modified the interior model files for his Lear35 and Falcon50 in which you can directly install the RXP GTN into the VC panel. Mark asked that I pass the below on to you:

Hi Jean_Luc
 1. The mouse event 'Leave' is not necessary because for 3D animation LeftDrag in the <MouseFlags> section prevents the mouse  from 'slipping off' the button and the button getting reversed or stuck down when off. As you have determined LeftDrag should not be used as a (M:Event) in this case, but make sure it is entered in <MouseFlags> .
2. For the main (M:Event) you only need LeftSingle for pressing and LeftRelease for releasing.  Trying to also use LeftDrag or Leave as the same (M:Event) causes a conflict with LeftSingle and LeftRelease and thus the need for double clicking, etc.  I have now modified the code in my interior model files as shown below.
Regards,
Mark

 <MouseRect>
      <Cursor>Hand</Cursor>
      <TooltipText>Home / Map (Press and Hold)</TooltipText>
      <MouseFlags>LeftSingle+LeftRelease+LeftDrag</MouseFlags>
      <CallbackCode>
        (M:Event) 'LeftSingle'  scmp 0 == if{ 2 (&gt;K:GPS_MENU_BUTTON) 100 (&gt;L:RXP_GTN_HME_BUTN_1, number) }
        (M:Event) 'LeftRelease' scmp 0 == if{ 4 (&gt;K:GPS_MENU_BUTTON)   0 (&gt;L:RXP_GTN_HME_BUTN_1, number) }
      </CallbackCode>
 </MouseRect>

21 minutes ago, RXP said:

@ark 

The original archive came with a readme file which I'm copying here:

Thanks Bert and Jean-Luc for the info.

Al

Edited by ark

4 hours ago, RXP said:

3D panel using 751 and 651: 8 8 0 0

In the above example, how was the left most 8 (for the 652) and left most 0 (for the 752) determined since the 652 and 752 don't exist for this aircraft? The 8800 code seems to indicate both the 651 and 652 are being assigned to unit2, and both the 751 and 752 are being assigned to unit1. I would expect the 652 and 752 positions to be 'don't cares' since these units don't exist in the 3D model.  Therefore would 0880 also work in this case?

Clearly I don't understand something.

Thanks,

Al

Edited by ark

This is something which depends on the aircraft.

  • The other GTN has 4 different sets of commands: 2 types x 2 units.
  • The RXP GTN has 2 different sets of commands: 2 units.
  • Some aircraft vendors implement (hard-code) their dual GTN using 751+651 (both unit1)
  • Some others implement their dual GTN using 751 + 652 (different units)
  • The purpose of the 'esoteric' 8800 or 8080 code is to define which sets of other GTN commands gets mapped to which RXP unit#.

There are only 2 combinations in the end no matter what in practice, but you are free to map anything to anything else and check whether this fits the set of commands the aircraft vendor has decided to hard-code the model with.

  • 2 weeks later...
On 2/9/2020 at 1:09 PM, RXP said:

4) repeat this for all occurrences of 0x0001FA02 (for the HOME button)

5) repeat steps 1) to 4) with the value 0x0001FA04 (for the DTO button)

Carenado C337 Skymaster:

I could not find 0x0001FA02 or 0x0001FA04 in the sky337_interior.mdl files, but searching further I found the following:

(M:Event) 'Le������ftDrag'  scmp 0 == if{ 0x0001FA1E (>������L:F1GTNMOUSE, bool)

so I changed it to

(M:Event) 'Le������ftDra_'  scmp 0 == if{ 0x0001FA1E (>������L:F1GTNMOUSE, bool)

After changing this one occurrence the bezel Home and Direct-To buttons work with single-click in VC and hold Home for map works. This is after first installing the F1VC.XML

Thank you all for the info. I now have an RXP GTN 750 in almost all of my fleet. Still haven't got hold Home for map to work in my MilViz C310R but I'll keep at it.

Gerry

| HP Omen 45L Gaming Desktop | [email protected] | 64GB RAM | NVIDIA GeForce RTX 4090 24GB | 2TB HDD | Saitek X52 Pro |

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.