Help from BVS Devs for Joystick Assignment Page 50 BMS Manual???
-
@Page:
To provide further stability, and as a workaround for certain newer versions of Windows which seem to have a mind of their own, BMS Update 1 created a new configuration file: “DeviceSorting.txt” in the
\User\Config folder. This file will be created automatically if it does not exist. The new file will list all devices (joysticks, MFDs, boards, etc) which are currently connected to BMS in a specific order.
This means that even unplugging stuff and replugging it won’t change the DX button numbers anymore. If you want to change the device order simply close BMS, edit the file with a text editor and copy/paste the lines in the file until they are arranged to your liking.
Once the file exists, it will always be loaded and the order followed by BMS. If you connect a new device which is not listed in the file yet, it will be appended to the existing file without changing the specified order. Missing devices will be ignored. The file simply consists of the GUID and the device name for each device, one device per line. Example: {0400044F-0000-0000-0000-504944564944} “Thrustmaster HOTAS Cougar” {B351044F-0000-0000-0000-504944564944} “F16 MFD 1” {B352044F-0000-0000-0000-504944564944} “F16 MFD 2”Hi guys I would like to know what the BMS devs here did in the code to fix this issue. I see that when you assign the Joysticl like quoted it will never change in BMS. I am asking because in DCS World we have a simialr issue with HomeFries Profile and some Planes Controler assignments…
Here is the Workaround and the issue in DCS World:
Windows versions after 7 have an unholy pair of features that can cause frustration for people with complicated controller setups. First, Windows 8 and above defaults HID devices to be subject to power management in that items that are not providing feedback to the PC (like the Cougar MFDs) are automatically shut down by Windows. Additionally, devices that are unplugged and plugged in (even in the same port) are assigned different Device IDs by Windows; this is even the case for devices that were put to sleep by Windows power management.
The TARGET profile alleviates the power management issue to a certain extent, but since the Thrustmaster FAST middleware creates a virtual device every time you load a TARGET script, the device ID issue may be even more prevalent than the issue of simply cycling USB hardware. The extent of the issue is currently unknown, but its instance in DCS World has been seen on multiple occasions with keyboard mappings to the Sensor Select Switch Up and Left keys on the AV-8B Harrier module.
OBSERVED BEHAVIOR
This issue appears to be limited to the AV-8B module, and specifically the Sensor Select Switch mappings. While most often the default SSw Up and Left mappings show incompatibilities (displayed by red lines as shown in Figure 26 below), this issue may present itself in other instances.
Figure 26 Errors due to Conflicting Device IDs
While Figure 26 shows a single line and a non-default keymapping, the problem exists for default keymappings as well. The problem likely exists because DCS has assigned the mapping of this particular controller to a different Device ID than Windows currently has assigned to the peripheral (e.g. keyboard).
RECOMMENDED WORK-AROUND
Note: the following solution assumes that only the keyboard Device ID is causing issues. If you experience this issue with other devices, please follow these steps for those devices as well.
Since the issue is that DCS World has saved a diff.lua for a Device ID that is no longer valid, the solution is to remove the existing diff.lua, then re-import the profile’s diff.lua back into DCS World. The procedure is detailed in the following steps, using the AV-8B Keyboard as an example:
1. Navigate to your Saved Games\DCS\Config\Input\AV8BNA\keyboard folder.
2. Delete keyboard.diff.lua.
3. Launch DCS World, navigate to the Options -> Controllers menu, and select the AV8BNA module.
4. Ensure there are no red rows denoting incompatibilities like those shown in Figure 26.
5. Select the Keyboard column, select Load Profile, and load the keyboard diff.lua for the TARGET AV-8B profile.
6. Save and exit from the Options menu.If the incompatibilities involve the Thrustmaster Combined virtual device, you will need to make the following adjustments to the profile:
1. Navigate to Saved Games\DCS\Config\Input\AV8BNA\joystick.
2. Delete Thrustmaster Virtual Game Controller (root) {Device ID}.diff.lua or Thrustmaster Combined {Device ID}.diff.lua.
3. Launch DCS World, navigate to the Options -> Controllers menu, and select the AV8BNA module.
4. Ensure there are no red rows denoting incompatibilities like those shown in Figure 26.
5. Load the Cougar or Warthog diff.lua for the TARGET AV-8B profile.
6. Re-apply the JOY_BTN30 through JOY_BTN32 as described in the Adding Modifiers section.
7. Save and exit from the Options menu.ADDITIONAL INFORMATION
Additional information on these Windows issues can be found in the following forums:
https://riseofflight.com/forum/topic…em-windows-10/
https://forum.il2sturmovik.com/topic…tick-id-issue/
https://www.reddit.com/r/starcitizen…arre_and_evil/Now If I can find out what was done in Update 1 code wise or as much info on how to correct this issue Windows has in DCS would be appreciated… There was simialr issues in IL2 and Rise of Flight which since have been corrected by their respective devs…
So If DCS DEvs could do something similar we can solve this frustrating issue in DCS. I would appreciate any input on this issue thank you all…
Nephilim’
-
They added a file DeviceSorting.txt which lists the devices in the order to assign them numerically. It’s not foolproof. If your list is A B C and you execute with A and C then C gets assigned as #2. DCS handles joysticks by GUID natively which obviates the need for numerical sorting of joysticks. IL-2 (and RoF since they are the same) does almost the exact same thing as BMS with a sorted numerical joystick list.
Any misbehavior on the part of TARGET (and I’ve experienced it too) is independent of either DCS or BMS. BMS’s DeviceSorting.txt in no way addresses the TARGET issue.
If Windows isn’t assigning the same GUID to the same controller each time there’s not much DCS can do. If it’s a finite number of IDs then you could bind controls for all the IDs so it wouldn’t matter which one showed up that day.
My guess is that the Harrier devs included a pre-made .lua.diff for that particular controller (probably assuming that the TARGET device is the Warthog pair) and it’s problematic. If that’s the case then simply riding yourself of that pre-made diff.lua and making it again should avoid any issues.