Building a profile With DX commands BMS Full Key File
-
I currently have a Warthog and use Target GUI script for my profile, I have a Cougar but was never able to program it, so I switched to Saitek controllers and was happy using the older setup program. I recently been reading Kolbe"s manual on the use of using the DX files in the BMS Keyfiles, and very interested now on building my own file. There are several questions I have about building a file that suits my preferences for the warthog controllers. I’m sure they have been asked and answered But just a few questions still confuse me on using the DX applications embedded in BMS keyfiles, so here it goes:
1. It is unclear to me if I was to build this program (all DX keys) will there be a printout available like Mud’s or Morphine’s program. Since there is nothing to save I assume the controller keyfile in BMS setup would NOT reflect any addition to the keyfile, unless I save it under a different name i.e. (using the full keyfile (in BMS) program, then save it under a different name in the keyfile. This would load a new file under the config file Correct? I can then manipulate this file Correct?
2. Under the controller setup page I assume that Joystick must be the controller selected so that the POV hat is recognized by BMS, and if that is correct then I assume you move over to the advanced program setup and select the appropriate keys to program.
3. So if you can get the joystick programmed how do you program the throttle base keys? AT present I use several of the keys in a dual function, i.e. RDR ALTM (unshifted LASER on/off, and Shifted Open Refueling Door). I understand that the simHOTASpinky DX shift can be used as a shift button but how do you tell the program (1) I want this key to have a dual function (as above) and (2) when to apply the shift in order to activate the second function. Reading Kolbe’s manual the use of Note pad++ I can see the script and applying the double entry required to activate and release the button/switch, but it is not clear how to program the button/switch twice so you can have two functions. (I hope that is clear). The only thing I can figure is that the DX button is changed to represent a other DX device, the magnitude starting at 256 (n=256 in magnitude).
4. This brings up the question how do you change the key ID so that it reflects the new assigned magnitude so that the simHOTASpinky shift key can identify it for shifting? Can you enter the file and have one key assigned two different numbers i.e. RDR ALTM assigned ID 64 (unshifted) and (shifted)ID 258 (using the second part of the DX ID format)
5. Will my device sorting be a problem for the DX key assignments or it does not matter. I assume with this layout I would have to determine the Button number of each key in order to determine the simHOTASpinky (n) to use. If the RDR switch shows a DX number of 145 when activated I would have to enter Note pad++ and add a second line for that key with a changed ID number that is 256 or higher for the simHOTASpinky key to activate the switch in the SHIFTED layer Correct? How do you handle the MFD keys? are they truly plug and play or does each have to be programed. Can you use the simHOTASpinky DX shift with the MFD’s i.e. assign a key to preform a different function?
Present Device Sorting Order
{076406A3-0000-0000-0000-504944564944} “Saitek Pro Flight Combat Rudder Pedals”
{B351044F-0000-0000-0000-504944564944} “F16 MFD 1”
{B352044F-0000-0000-0000-504944564944} “F16 MFD 2”
{FFFF044F-0000-0000-0000-504944564944} “Thrustmaster Combined”
{0402044F-0000-0000-0000-504944564944} “Joystick - HOTAS Warthog”
{0404044F-0000-0000-0000-504944564944} “Throttle - HOTAS Warthog”I know more research is needed on my part, another read of Kobe’s manual is in order to understand it all, but… Like, the warthog has two POV hats one on the joystick and one on the throttle how due you program that one it only shows up if the warthog throttle is selected in the drop down list in Controller Setup?
Can you cut and paste say Mud’s profile so that you can fly the F-18? making the appropriate changes or is another total file needed.
And last but not least am I totally confused and should stick with TARGET GUI programming.Hoping for some clarification here
-
Here is very brief intro on using/setting up Kolbe’s spreadsheet.
IMHO, I would order the devices so:
1. Warthog Stick
2. Warthog Throttle
3. Left MFD
4. Right MFD
.
.
.
.
.
Last. RuddersThat leaves out Thrustmaster combined. That is because I don’t understand the purpose of ‘ThrustMaster’ combined. I don’t mean it is or isn’t necessary. I’m saying I don’t know how it works or how to use so I can’t assist on how to incorporate it (or not).
-
Hi mate, I try to answer some of your questions.
I do not use Kolbe’s tool so I can’t help with it, but this article should help clarifying how DX shifting works: yes, you can assign two different functions to the same button, you just bind the syscall you want to use unshifted to the real ID of the desired DX button, then you map the syscall you want to use shifted to the same ID + 256 (or whatever you set your magnitude to in the configuration file, 256 is the default value).
Here is an example, taken from my keyfile:SimTriggerSecondDetent [b]0[/b] -1 -2 0 0x0 0 "STICK: SECOND TRIGGER DETENT" <--- first button of the first DX device SimEmergencyJettison [b]256[/b] -1 -2 0 0x0 0 "GEAR: EMER STORES JETTISON Button - Hold" <--- same button, shifted (different syscall)
Do not forget you must assign the DX shifting function to one button in order for the whole thing to work (you assign the same syscall to both the unshifted and shifted IDs):
SimHotasPinkyShift [b]2[/b] -1 -2 0 0x0 0 "STICK: PINKY SWITCH (DX SHIFT)" <--- third button of the first DX device SimHotasPinkyShift [b]258[/b] -1 -2 0 0x0 0 "STICK: PINKY SWITCH (DX SHIFT)" <--- same button, shifted (same syscall)
This gets us to the device ordering thing: yes, order does matter, as DX only understands IDs and knows nothing about the physical layout of your device.
So you must ensure that your devices are always seen in the same order, otherwise you could find a function you assigned to a button on your stick randomly displaced on your throttle or MFD and vice versa… and that’s where DeviceSorting.txt comes into play, set your desired order inside it and do not change anymore; also ensure to keep it the same should you add other devices.
I’d folllow Agave_Blue’s suggested order, just leave Thrustmaster Combined (it’s the virtual device created by TARGET) as the last entry, because it could be inactive - e.g. you launch BMS but forget to start TARGET - and, in this case, if it was first or in an intermediate position the whole configuration would shift and mess up.Finally, let’s talk about POV hats: as you saw in the tool, DX only sees a POV if it is located on your primary device… so you can use more than 1 POV on the same device (IIRC, DX supports 4 of them on a single device), but you can’t use all the POVs on different devices at the same time.
AFAIK, the only way is to use TARGET to make the other POVs provide DX buttons, so that you can assign them into the keyfile as you do with real buttons and switches.Hope this helps, feel free to ask for more details should something be still unclear.
-
Agave_Blue and BlueRaven thanks that clears a lot off my plate I never saw that U-tube video before many thanks on that and BlueRaven excellent explanation of use of DX file. Running a desktop PC getting behind it is a pain, to resort the Devices looks like a pain too, If I can figure out the device sort no# for each device, at least where it starts i.e.
{076406A3-0000-0000-0000-504944564944} “Saitek Pro Flight Combat Rudder Pedals” 0
{B351044F-0000-0000-0000-504944564944} “F16 MFD 1” 1–-----32
{B352044F-0000-0000-0000-504944564944} “F16 MFD 2” 2-------64
{FFFF044F-0000-0000-0000-504944564944} “Thrustmaster Combined” 3 ------96
{0402044F-0000-0000-0000-504944564944} “Joystick - HOTAS Warthog” 4-------128
{0404044F-0000-0000-0000-504944564944} “Throttle - HOTAS Warthog” 5-------160Can I start there, I know I can open BMS and select Joystick then push each button and switch on throttle and get the DX equivalent number will that work rather than trying to resort the devices? So that I know that TG 1 on the joystick is DX 128 and work from there?
-
You can manage your devices based on your current device order. Double Check the file x:\Falcon BMS 4.33 U1\User\Config\DeviceSorting.txt . That is the order BMS will use for your devices. I think that is where you got your device list from?
IF using Kolbe’s sheet, you just need to keep in mind that on the ‘DX Settings’ tab, you’ll have to assign the “Controller #” based on this sort order. Like so:
Devices are assigned DX Button numbers, so:
I use an ‘unconventional’ HOTAS …. Warthog stick + X52 Pro Throttle. That is not an available choice in Kolbe’s controller set up. What I had to do was make the Warthog as my primary controller and set all the Stick DX button assignments, plus my keyboard commands, leaving the Warthog throttle DX setting blank. I exported that as my ‘base’ keyfile.
I then made another keyfile, ignoring keyboard commands, for the X52 Pro and assigned all my throttle commands for DX. I copied those and pasted them into the above ‘base’ keyfile. That gave me Warthog Stick + X52 Pro Throttle + Keyboard commands.
If I had MFD’s and Rudder, I would have included those on the original ‘base’ keyfile (so, Warthog Stick + MFDs + Rudder + Keyboard), then added the X52 Pro throttle as above to get my final working keyfile.
-
Agave_Blue Now that is great news, resorting the devices is a pain and may not work! So by using the BMS Full keyfile I can find my starting point for the joystick and throttle, correct?
-
I don’t see why not.
I just prefer an ‘organized’ order for my own peace of mind.
-
resorting the devices is a pain and may not work! So by using the BMS Full keyfile I can find my starting point for the joystick and throttle, correct?
It’s even simpler than this: you can resort the devices by simply editing the DeviceSorting.txt file with a common text editor, the one on the first line will be your first DX device, the one on the second line will be the second and so on.
Something like this (you can cut 'n paste if you want ;)):{0402044F-0000-0000-0000-504944564944} "Joystick - HOTAS Warthog" {0404044F-0000-0000-0000-504944564944} "Throttle - HOTAS Warthog" {B351044F-0000-0000-0000-504944564944} "F16 MFD 1" {B352044F-0000-0000-0000-504944564944} "F16 MFD 2" {076406A3-0000-0000-0000-504944564944} "Saitek Pro Flight Combat Rudder Pedals" {FFFF044F-0000-0000-0000-504944564944} "Thrustmaster Combined"
Then, given that 1. every DX device exposes a maximum of 32 IDs and 2. BMS counts starting from 0, not from 1, your Warthog stick - 1st DX device in this case - IDs range would be 0-31, your Warthog throttle would expose 32-63 etc.
The stock full keyfile could be confusing, as it contains a configuration for HOTAS Cougar. -
Thanks BlueRaven, what keyfile would you suggest besides full BMS Keyfile?
-
Thanks BlueRaven, what keyfile would you suggest besides full BMS Keyfile?
I always recommend to build your own: you can take “BMS - Full” as base, just replace the whole Cougar configuration - you’ll find it at the end of the file, it’s well marked and easy to find where it begins - with your own.
You can take my custom keyfile for T.16000M here as a reference if you need an example. -
I always recommend to build your own: you can take “BMS - Full” as base, just replace the whole Cougar configuration - you’ll find it at the end of the file, it’s well marked and easy to find where it begins - with your own.
You can take my custom keyfile for T.16000M here as a reference if you need an example.Same, use the ‘Full’ keyfile, add your own DX at the bottom, then if you wish to, modify select keyboard assignments.
In a well prepared setup, you won’t need the keyboard for very many commands.
-
Agave_Blue Still a few questions, 1. If I re-sort my Device sort so that WH joystick is the first on the list, 2. WH throttle is Second on the list, 3. MFD 1 is third on the list, 4. MFD 2 is fourth on the list 5. and Thrustmaster combined is fifth on the list and the Saitek rudders are sixth on the list will there be any problems. You see my current profile is based on Target GUI and I need TM combined to continue to fly until this DX program is built.
Will the re-sort of the Device sort effect my present profile which is built from the TM GUI keyfile such that it will not work and I will be down for the count.current Sort
{076406A3-0000-0000-0000-504944564944} “Saitek Pro Flight Combat Rudder Pedals”
{B351044F-0000-0000-0000-504944564944} “F16 MFD 1”
{B352044F-0000-0000-0000-504944564944} “F16 MFD 2”
{FFFF044F-0000-0000-0000-504944564944} “Thrustmaster Combined”
{0402044F-0000-0000-0000-504944564944} “Joystick - HOTAS Warthog”
{0404044F-0000-0000-0000-504944564944} “Throttle - HOTAS Warthog”Desired Sort
{0402044F-0000-0000-0000-504944564944} “Joystick - HOTAS Warthog”
{0404044F-0000-0000-0000-504944564944} “Throttle - HOTAS Warthog”
{B351044F-0000-0000-0000-504944564944} “F16 MFD 1”
{B352044F-0000-0000-0000-504944564944} “F16 MFD 2”
{076406A3-0000-0000-0000-504944564944} “Saitek Pro Flight Combat Rudder Pedals”
{FFFF044F-0000-0000-0000-504944564944} “Thrustmaster Combined”
The desire is to continue flying why I build this program/profile What do you think?Next question Does the TM Target script or Target GUI work a long side/ at the same time as the DX script so that the coolie hat will work?
Saw your profile/program for use of the cursor and DX Btns not sure how you substituted the DX keys?A few more questions, but this should be enough for now, hope you can help me out.
Weaklink
Just reordered my Device sort and tried to run Target GUI with Thrustmaster Combine and Keyfile worked as programmed. I left Thrustmaster Combine in the sixth position and Target found it and as stated worked perfectly. So now I can start the program process of building a DX file and still fly with the Target GUI.