Problem with devicesorting.txt
-
Each time the program starts, six of my game controllers are added to the device sorting.txt. This causes problems with the pinkyshift function, as BMS recognizes the same game controller with the same ID multiple times and DX BUttons overlap in the layer. Setting the device sorting.txt to read only does not help. Even deleting and automatic recreating the devicesorting.txt doesn’t work.
{BEA84098-0000-0000-0000-504944564944} "WINWING Orion Joystick Base 2 + JGRIP-F16" {BE684098-0000-0000-0000-504944564944} "WINWING Orion Throttle Base II + TGRIP-F16" {01F83344-0000-0000-0000-504944564944} "VPC Rudder Pedals" {42593344-0000-0000-0000-504944564944} "RIGHT VPC Panel #1" {825B3344-0000-0000-0000-504944564944} "LEFT VPC Panel #2" {57580484-0000-0000-0000-504944564944} "Right" {57570483-0000-0000-0000-504944564944} "Left" {BEAD1234-0000-0000-0000-504944564944} "vJoy Device" {BEAD1234-0000-0000-0000-504944564944} "vJoy Device" {83273344-0000-0000-0000-504944564944} "LEFT VPC Rotor TCS PLUS" {BEA84098-0000-0000-0000-504944564944} "WINWING Orion Joystick Base 2 + JGRIP-F16" {0C2D06A3-0000-0000-0000-504944564944} "Saitek Pro Flight Quadrant" **{42593344-0000-0000-0000-504944564944} "RIGHT VPC Panel #1" {57570483-0000-0000-0000-504944564944} "Left" {57580484-0000-0000-0000-504944564944} "Right" {825B3344-0000-0000-0000-504944564944} "LEFT VPC Panel #2" {BEAD1234-0000-0000-0000-504944564944} "vJoy Device" {BEAD1234-0000-0000-0000-504944564944} "vJoy Device"** **{42593344-0000-0000-0000-504944564944} "RIGHT VPC Panel #1" {57570483-0000-0000-0000-504944564944} "Left" {57580484-0000-0000-0000-504944564944} "Right" {825B3344-0000-0000-0000-504944564944} "LEFT VPC Panel #2" {BEAD1234-0000-0000-0000-504944564944} "vJoy Device" {BEAD1234-0000-0000-0000-504944564944} "vJoy Device"**
Everytime this six controller were added each programmstart???
-
Can you describe what you want to achieve? Not sure I follow… you want to prevent those last 6 from getting recognized (affecting the key file button numbering)?
Is it BMS or Alt Launcher that is overwriting your hand-managed DeviceSorting.txt file?
-
@Cop23rd also, be sure to know about these 2 user.cfg settings, if you want/need to move your pinkyshift layer up above the range consumed by 9 HID devices…
set g_nButtonsPerDevice 128 set g_nHotasPinkyShiftMagnitude 1280 // room for 10 devices x 128 buttons
BMS supports up to 128 buttons-per-device now… and I think Alt Launcher for 4.36 sets it to that, by default.
But if not using AL, you might prefer to do something like
set g_nButtonsPerDevice 100 set g_nHotasPinkyShiftMagnitude 1000
for sanity sake, if you have to open the key file in notepad and do this manually.
-
Thx, I don t use alternative launcher. I want to decribe it better in another example. Its not so easy for me to explain.
12 Devices - 128 buttons - with Pinkyshiftmagnitude 1538…
The shifted dx buttons layer begins 1539 and beyond…but my system recognizes 12 +6 Devices = 18 Devices (6 of them doubled) and the button range of shifted dx buttons layer collide with nonshifted buttons of device 13, that should not exist (1538+128 button range) ?
When I start BMS again I have 12 + 6 + 6 = 24 devices…and so on…
-
@Cop23rd oh dear, that’s a problem! thanks for explaining…
I don’t know of a workaround… haven’t heard of this before. May try cross-posting this in Tech Support subforum.
-
@airtex2019 …Yes very strange problem…
my workaround at the moment:
Disabled PinkyShift function…and made a Profile with Joystick Gremlin / Vjoy. All shifted buttons are know a DX Button on Vjoy Controller…
Eventually somebody have the same problem and find another solution. Eventually the Z790 Asus Hero mainboard have some problems with the controller setup…dont know??? Never had problems with keyfiles and dx shifting in all the years…
-
@Cop23rd You need to set your device sorting file to “Read Only” - there is NO way that any program should be able to alter this file if properly set to “Read Only” including the BMS program itself. I hate to assume, apologies if there truly is some bug causing a read-only file to be written to, but I feel you may have had some false-positive or false-negative result when trying to test with this file as “Read Only” and I strongly suggest you try again - first order those devices line-by-line as you want them, removing any extras you don’t need/want, and then save. Then…
Right-Click the “DeviceSorting.txt” file and select ‘Properties’, and then check the box for ‘Read only’, and hit OK. This will ensure your devices remain in the proper order even if unplugged.
…
Follow this procedure in reverse to allow recognition of new controllers, just remember to manually reset the order as shown here, and then reset it to ‘Read only’ again.(obviously, pic is from older version, but doesn’t matter - method is same)
-
@SemlerPDX Thx, I have tried this already… I think this is not a common problem…I can live with my workaround. Thx all for all the input…!
-
@Cop23rd fwiw I tried to repro BMS overwriting my (readonly) DeviceSorting.txt file, and I couldn’t … although it does appear to still enumerate all HID game/button devices plugged in at startup, and presumably it maps button ranges from the key file as if those devices were appended to the bottom of DeviceSorting.txt – it just doesn’t actually save that in-memory representation to disk for next time.
So (a) hand-manage the DeviceSorting.txt the way you want it, and make it readonly. Then (b) do
set g_nHotasPinkyShiftMagnitude 5000
in your user.cfg file, or some number sufficiently high to make headroom for the 6 extra/unwanted devices (x 128) that may be implicitly mapped after your desired 5 or 6 devices. -
@airtex2019 Could be a solution, thank you. I will test it next weekend and report!
-
Dear Gentlemen,
my apologies if I dare to say this to you all: that blessed (yeah?) file is overwritten each time you run Falcon, so making it “read-only” it’s simply worthless.
I neither have been able to change anything about in years of Falconing, so I had to surrender and become very careful to keep the same system device configuration time after time, to avoid being obliged to configure my controllers keys from scratch both again before flying.
Who knows, would be particularly nice if the devs. could “fix” that in the next release? Something is telling me, though, that it could be not a real bug, but might be related just to the way Falcon is used to work, I’m afraid.With best regards.
-
@Jackal said in Problem with devicesorting.txt:
Dear Gentlemen,
my apologies if I dare to say this to you all: that blessed (yeah?) file is overwritten each time you run Falcon, so making it “read-only” it’s simply worthless.
I neither have been able to change anything about in years of Falconing, so I had to surrender and become very careful to keep the same system device configuration time after time, to avoid being obliged to configure my controllers keys from scratch both again before flying.
Who knows, would be particularly nice if the devs. could “fix” that in the next release? Something is telling me, though, that it could be not a real bug, but might be related just to the way Falcon is used to work, I’m afraid.With best regards.
You are now the second person I have ever heard from such an issue regarding this read-only issue, the first being OP at top. That “read-only” little trick saved me so many headaches of having my devices out of order after returning from a long absence, and still works (for me) to this day.
Makes me wonder if this comes down to our Windows OS, configuration, or other such things outside the influence of Falcon BMS… smh
I guess to note something productive, I have my Win10 “Home” version OS under highest UAC settings, “Always Notify” - and my Falcon BMS is installed on non-OS drive, on the second NVMe dedicated only to games/sims. No clue how helpful this info is, but I feel we need someone with development experience here, and/or (professional/certified) WinOS experience (tho isn’t that you @airtex2019 ?)…
This seems significant enough to warrant further and deeper investigation rather than just closing this thread out with a workaround.
-
@SemlerPDX said in Problem with devicesorting.txt:
I guess to note something productive, I have my Win10 “Home” version OS under highest UAC settings,
I have the issue where my device sorting file is made read-only and gets overwritten.
My Win 10 is Professional and my account is an administrator.
I think you may be on to something.
-
@SemlerPDX You might be onto something, wonder where OP has BMS installed? /Program Files on the OS drive is notorious for having permissions issues with Win 10 and 11.
I’m running Win 11 Pro, and the read only works fine even if I leave my other controllers plugged in. But BMS is on a separate SSD and installed directly off the root of that drive.
-
My setup is slightly different; I have BMS installed on my OS Drive, but the Config files are SymLinked to a second drive (my OneDrive folder - just in case my computer goes down, I have configs in the Cloud).
The file has the Administrator as the owner, I might change that, I’ll see if it makes a difference.
-
Are any of you running Falcon BMS as Admin? I do not and never have…
-
@CriticalMass Do you have OneDrive setup so the files are always stored locally and then updated in the cloud only when they are changed on the PC?
OneDrive can cause permission issues also as it thinks it’s the “owner” of the file, not your PC. -
@SemlerPDX I do. I’m sure it was needed for some other software, but that was a while ago:
- VA with your profile (obvs) (Admin)
- Helios (Admn)
- spacedesk (Not Admin)
- Opentrack (Admin)
- JoyStick Gremlin (Admin)
Do you run these? And do you run them as Admin?
-
@SemlerPDX thou hast summoned me… lol
if you want to get hardcore on the readonly thing … you can try setting the UAC elevation flag on DeviceSorting.txt … and run BMS as non-elevated.
WARNING: that might make BMS crash when it attempts to overwrite the file … or throw a UAC prompt or something? idk haven’t tried. be sure to make a backup copy of the file before doing this.
(run from an elevated CMD prompt) icacls "\Falcon BMS 4.36\User\Config\DeviceSorting.txt" /setintegritylevel H:NW
-
@TxMtb Hmm, OK, I’ll move it back to F4 BMS folder. This is what it looks like