Jump to content
The simFlight Network Forums

Auto-assignment of new letter instead of mapping existing letter with the same controller GUID


marco chan

Recommended Posts

Hi Support,

It seems that there is a bug related to the automatic letter assignment feature.

Originally, I configured the letter assignment in the FSUIPC file as follows:

[JoyNames]
A=Bravo Throttle Quadrant
A.GUID={90950270-68C6-11EB-8001-444553540000}
B=Alpha Flight Controls
B.GUID={DA65E8F0-62FA-11EB-8001-444553540000}
C=WINWING SKYWALKER Metal Rudder Pedals
C.GUID={A47B9AE0-E55C-11EE-8001-444553540000}

Here is the FSUIPC file I extracted when the bug occurred. As you can see, the control "{90950270-68C6-11EB-8001-444553540000}" was originally supposed to be mapped to the letter "B". However, the program created a letter "D" with the same GUID instead of mapping it to "B". This issue is not limited to the alpha flight control but happens randomly with every controller. Incorrectly mapping to another letter causes all key bindings to be lost. Could you please advise on how the support team can investigate and resolve this bug?

[JoyNames]
A=Bravo Throttle Quadrant
A.GUID={90950270-68C6-11EB-8001-444553540000}
B=Alpha Flight Controls << MISSING JOYSTICK >>
B.GUID={DA65E8F0-62FA-11EB-8001-444553540000}
C=WINWING SKYWALKER Metal Rudder Pedals
C.GUID={A47B9AE0-E55C-11EE-8001-444553540000}
0=
0.GUID={DA65E8F0-62FA-11EB-8001-444553540000}
1=WINWING SKYWALKER Metal Rudder Pedals
1.GUID={A47B9AE0-E55C-11EE-8001-444553540000}
2=Bravo Throttle Quadrant
2.GUID={90950270-68C6-11EB-8001-444553540000}
D=
D.GUID={DA65E8F0-62FA-11EB-8001-444553540000}

Also attached the log file for your reference.

FSUIPC7.log

Edited by marco chan
Link to comment
Share on other sites

13 minutes ago, marco chan said:

However, the program created a letter "D" with the same GUID instead of mapping it to "A".

It did not. D was created to match device 0, which has GUID DA65E8F0-62FA-11EB-8001-444553540000

A has GUID 90950270-68C6-11EB-8001-444553540000

What has happened is that your Alpha Flight Controls name now seems to be missing:

Quote
B=Alpha Flight Controls << MISSING JOYSTICK >>
B.GUID={DA65E8F0-62FA-11EB-8001-444553540000}
0=
0.GUID={DA65E8F0-62FA-11EB-8001-444553540000}

Even though the GUIDs match, the names dont and so a new letter entry is created:

Quote
D=
D.GUID={DA65E8F0-62FA-11EB-8001-444553540000}

I don't know why the name (in the registry) for your Alpha is now missing. You can either correct that, or go with the blank name by changing that section to:

Quote
[JoyNames]
A=Bravo Throttle Quadrant
A.GUID={90950270-68C6-11EB-8001-444553540000}
B=
B.GUID={DA65E8F0-62FA-11EB-8001-444553540000}
C=WINWING SKYWALKER Metal Rudder Pedals
C.GUID={A47B9AE0-E55C-11EE-8001-444553540000}
0=
0.GUID={DA65E8F0-62FA-11EB-8001-444553540000}
1=WINWING SKYWALKER Metal Rudder Pedals
1.GUID={A47B9AE0-E55C-11EE-8001-444553540000}
2=Bravo Throttle Quadrant
2.GUID={90950270-68C6-11EB-8001-444553540000}

John

P.S. This is not a bug, but something that changed in your system. I will remove [Bug Report] from the title of this post.

Edited by John Dowson
PS added
Link to comment
Share on other sites

  • John Dowson changed the title to Auto-assignment of new letter instead of mapping existing letter with the same controller GUID

Hi John,

In this case, any suggestion to avoid this happen again?

Since the name of controller are randomly missing. Although the log file can able to show the name as normal...

Or is any option/flags can be add to let the program mapping the letter only base on the GUID and ignore the controller name? Thanks.

      109 ---------------------- Joystick Device Scan -----------------------
      109 Product= Alpha Flight Controls
      109    Manufacturer= Honeycomb Aeronautical
      109    Serial Number= B0D62D1726183B00
      109    Vendor=294B, Product=1900 (Version 2.32)
      109    GUIDs returned for product: VID_294B&PID_1900:
      109       GUID= {DA65E8F0-62FA-11EB-8001-444553540000}
      109       Details: Btns=35, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R0,U0,V0,X255,Y255,Z0
      109 Product= WINWING SKYWALKER Metal Rudder Pedals
      109    Manufacturer= Winwing
      109    Serial Number= 3F8640B2A416E331A3160002
      109    Vendor=4098, Product=BEF0 (Version 1.8)
      109    GUIDs returned for product: VID_4098&PID_BEF0:
      109       GUID= {A47B9AE0-E55C-11EE-8001-444553540000}
      109       Details: Btns=15, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R65535,U65535,V65535,X0,Y0,Z0
      109 Product= Bravo Throttle Quadrant
      109    Manufacturer= Honeycomb Aeronautical
      109    Serial Number= A6F52D091D2D3B00
      109    Vendor=294B, Product=1901 (Version 1.5)
      109    GUIDs returned for product: VID_294B&PID_1901:
      109       GUID= {90950270-68C6-11EB-8001-444553540000}
      109       Details: Btns=48, POVs=(0, 0, 0, 0), Cal=x00000000, Max=R1023,U1023,V1023,X1023,Y1023,Z1023
      109 Product= Controller (XBOX 360 For Windows)
      109    Vendor=28DE, Product=11FF (Version 0.0)

 

Link to comment
Share on other sites

1 minute ago, marco chan said:

In this case, any suggestion to avoid this happen again?

You may have a registry issue. Please show me / attach your FSUIPC7.JoyScan.csv file and I will take a look.

2 minutes ago, marco chan said:

Since the name of controller are randomly missing. Although the log file can able to show the name as normal...

It finds the name in the device scan but not when matching to the registry:

Quote

      125 Device acquired for use:
      125    Joystick ID = 0 (Registry okay)
      125    0=Alpha Flight Controls
      125    0.GUID={DA65E8F0-62FA-11EB-8001-444553540000}
      125 Device acquired for use:
      125    Joystick ID = 1 (Registry okay)
      125    1=WINWING SKYWALKER Metal Rudder Pedals
      125    1.GUID={A47B9AE0-E55C-11EE-8001-444553540000}
      125 Device acquired for use:
      125    Joystick ID = 2 (Registry okay)
      125    2=Bravo Throttle Quadrant
      125    2.GUID={90950270-68C6-11EB-8001-444553540000}
      125 Device acquired for use:
      125    Joystick ID = 0 (Registry okay)
      125    0=
      125    0.GUID={DA65E8F0-62FA-11EB-8001-444553540000}

Your JoyScan file will tell me why.

2 minutes ago, marco chan said:

Or is any option/flags can be add to let the program mapping the letter only base on the GUID and ignore the controller name?

No. The matching on GUID and name is there for a reason, and has been like this for 10+ years. I am not going to revise the code for this now.

Windows does occasionally create new entries for devices sometimes, maybe when disconnecting and re-connecting to a different hub, or on windows updates. It can also change the GUID of devices. Any such changes in the registry usually require a simple update of the ini to get it working again, or a cleaning of the registry entries. I can help with both, but there is nothing I can or am prepared to do about this in the way that devices are scanned and acquired by FSUIPC.

John

Link to comment
Share on other sites

Do you have an attachment added to your Alpha? Both HID scanning and your registry show an additional device (different vendor/product ids) but with the same GUID as your Alpha:

Quote

,,, HIDscanning completed

N, x00, x294B, x1900, , -1, -1, 0, {NULL}, {NULL}, {DA65E8F0-62FA-11EB-8001-444553540000}, Y, N
N, x00, x4098, xBEF0, , -1, -1, 0, {NULL}, {NULL}, {A47B9AE0-E55C-11EE-8001-444553540000}, Y, N
N, x00, x294B, x1901, , -1, -1, 0, {NULL}, {NULL}, {90950270-68C6-11EB-8001-444553540000}, Y, N
N, x00, x28DE, x11FF, , -1, -1, 0, {NULL}, {NULL}, {DA65E8F0-62FA-11EB-8001-444553540000}, Y, N

,,, REGscanning completed

N, x00, x294B, x1900, Alpha Flight Controls, -1, 0, 0, {NULL}, {DA65E8F0-62FA-11EB-8001-444553540000}, {DA65E8F0-62FA-11EB-8001-444553540000}, Y, Y
N, x00, x4098, xBEF0, WINWING SKYWALKER Metal Rudder Pedals, -1, 1, 0, {NULL}, {A47B9AE0-E55C-11EE-8001-444553540000}, {A47B9AE0-E55C-11EE-8001-444553540000}, Y, Y
N, x00, x294B, x1901, Bravo Throttle Quadrant, -1, 2, 0, {NULL}, {90950270-68C6-11EB-8001-444553540000}, {90950270-68C6-11EB-8001-444553540000}, Y, Y
N, x00, x28DE, x11FF, , -1, 0, 0, {NULL}, {DA65E8F0-62FA-11EB-8001-444553540000}, {DA65E8F0-62FA-11EB-8001-444553540000}, Y, Y

Vendor ID of 28DE is 'Valve Software' - no idea who they are, and cannot find a product matching that product ID.

We could remove that registry entry, but if it is also being detected via HID scanning it will probably just get re-added.

Does your Alpha get recognized and work with the changes I proposed?

Did you change or install anything that could cause this issue? e.g. maybe some additional software for use with the Alpha?

P.S. Valve Software do gaming software and also Steam. Have you changed or enabled some functions in Steam?

Edited by John Dowson
PS added
Link to comment
Share on other sites

Ah... I think this is the same issue reported previously (as a phantom xbox controller). You can add the following to the [JoyNames] section of your FSUIPC7.ini file to get FSUIPC7 to ignore this fake steam device:

IgnoreDevice=0x28DE,0x11FF

When you do this, also revert your [JoyNames] section to the original, i.e.

Quote
[JoyNames]
IgnoreDevice=0x28DE,0x11FF
A=Bravo Throttle Quadrant
A.GUID={90950270-68C6-11EB-8001-444553540000}
B=Alpha Flight Controls
B.GUID={DA65E8F0-62FA-11EB-8001-444553540000}
C=WINWING SKYWALKER Metal Rudder Pedals
C.GUID={A47B9AE0-E55C-11EE-8001-444553540000}
0=Alpha Flight Controls
0.GUID={DA65E8F0-62FA-11EB-8001-444553540000}
1=WINWING SKYWALKER Metal Rudder Pedals
1.GUID={A47B9AE0-E55C-11EE-8001-444553540000}
2=Bravo Throttle Quadrant
2.GUID={90950270-68C6-11EB-8001-444553540000}

John

Link to comment
Share on other sites

It works. Thanks a lot.

Actually, I am also looking into that device. One interesting observation is that the device seem only appears when fsuipc is in auto-run mode via the MSFS exe.xml.

When manually starting fsuipc or restarting the program, that device disappears from the JoyScan file.

Link to comment
Share on other sites

1 hour ago, marco chan said:

One interesting observation is that the device seem only appears when fsuipc is in auto-run mode via the MSFS exe.xml.

Yes - it only occurs when FSUIPC7 is started when MSFS is still booting to the main menu. I did report this issue to Asobo quite a while ago but have yet to receive a response:
    https://devsupport.flightsimulator.com/t/phantom-xbox-controllers-detected-during-msfs-start-up/8745

I have also now reported this to Steam.

John

Link to comment
Share on other sites

You guys are a life saver - was having this issue with VIRPIL Mongoose controls where each time I loaded the Sim, I had the "Missing Assignment".

Followed advice and works perfectly. I have the shortcut from FSUIPC and load MSFS that way

Link to comment
Share on other sites

  • 3 months later...
On 6/26/2024 at 10:42 AM, John Dowson said:

We could remove that registry entry, but if it is also being detected via HID scanning it will probably just get re-added.

Sorry for reviving this thread…but how could I go about this, I’ve been wanting to change registry on mine but have searched for guids and keep getting stumped…is there a way you can point me to change in registry?

Link to comment
Share on other sites

14 minutes ago, nachoAverageUsername said:

Sorry for reviving this thread…but how could I go about this, I’ve been wanting to change registry on mine but have searched for guids and keep getting stumped…is there a way you can point me to change in registry?

What is your issue? Can you please show me / attach your FSUIPC7.log. FSUIPC7.ini and FSUIPC7.JoyScan.csv files and I will take a look.

John

Link to comment
Share on other sites

32 minutes ago, John Dowson said:

What is your issue? Can you please show me / attach your FSUIPC7.log. FSUIPC7.ini and FSUIPC7.JoyScan.csv files and I will take a look.

John

I have multiple computers running all the same hardware/joysticks, but when I create an image backup and restore to a different computer, the issue that arises is after I run Prepar3D some of the devices get assigned different GUIDs in the .ini file.

I have assigned letters in the past(which I prefer), but after running P3D (since they have different GUIDs) I will always get the “missing joystick” error in my .ini file. Which can be fixed by manually editing the .ini file but can get cumbersome doing so on each computer. So I resort to using numbers only.
    Really, I just wanted to know if it’s possible to change the GUID in the registry to keep the same GUID for multiple computers and continue to use letters in my situation.

 

Separate question: can I also change the order of the [joynames] section in the .ini file when only assigned numbers?
For example:

0=joystick, 1=throttle, 2=pedals

to

0=pedals, 1=joystick, 2=throttles

Link to comment
Share on other sites

11 hours ago, nachoAverageUsername said:

I have multiple computers running all the same hardware/joysticks, but when I create an image backup and restore to a different computer, the issue that arises is after I run Prepar3D some of the devices get assigned different GUIDs in the .ini file.

The same device connected to a different computer will almost certainly be assigned a different GUID.
GUIDs are allocated by windows. You cannot change this by editing the registry.

11 hours ago, nachoAverageUsername said:

I have assigned letters in the past(which I prefer), but after running P3D (since they have different GUIDs) I will always get the “missing joystick” error in my .ini file. Which can be fixed by manually editing the .ini file but can get cumbersome doing so on each computer. So I resort to using numbers only.

You should use letters. Using numbers/JoyIds has further issues as joyIds can easily change and is more cumbersome to compensate for.
If you use letters and the GUID of a device changes, the fix is simple:
    - copy the GUID from the new letter assigned to the old letter
    - delete the new letter assigned entry
Thats it.

11 hours ago, nachoAverageUsername said:

    Really, I just wanted to know if it’s possible to change the GUID in the registry to keep the same GUID for multiple computers and continue to use letters in my situation.

No, this is not possible (as far as I am aware) as the GUIDs are created dynamically.

11 hours ago, nachoAverageUsername said:

Separate question: can I also change the order of the [joynames] section in the .ini file when only assigned numbers?
For example:

0=joystick, 1=throttle, 2=pedals

to

0=pedals, 1=joystick, 2=throttles

You could possibly do this (by editing the registry and your FSUIPC ini file)) but I would not recommend this, And, as I said, use joyletters.

John

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.