Building a profile With DX commands BMS Full Key File
-
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.