BMS DX Generator
-
Agave Blue thank you so much for your reply. Am I correct in that your key file does not include any buttons for your throttle?
-
Agave Blue thank you so much for your reply. Am I correct in that your key file does not include any buttons for your throttle?
mmmm, not sure how you mean that.
I would expect that there are stock BMS.key call backs for F-16 Throttle buttons/hats and those may exist in the keyfile posted.
My DX commands are for HOTAS - both stick and throttle - mapped for X52 Pro. My Throttle and Stick are fully mapped DX except: cursor slewing and Teamspeak push to talk with use keyboard emulation via Saitek programming.
-
So Agave_Blue let me try and understand the usage of the key files. When loading them to the BMS UI do they only contain callbacks so the user can assign them to the buttons that he wants to assign them to? In other words I thought a key file contained the button assignments but this doesn’t appear to be true. Am I correct in this assumption? So if I were to design my own key file using one of the key file generators what I am actually doing is creating a list of callbacks that I want to use to assign to my controls. Right? Okay if I am on a roll here my last and final question is, how do you make the pinky switch allow you to access the second layer of callbacks that you want to assign to buttons? Thanks so much for your time in helping me through these questions.
-
There are two pieces to the key file. 1.) Keyboard commands and 2.) HOTAS DX commands.
In what I posted earlier, the upper red portion are the keyboard commands …… for instance if I press ‘G’ on the keyboard, I will extend my landing gear. These callbacks can be built a couple of different ways (a keyfile generator, manually, via BMS Setup interface, etc.). At the end of the day what you’re doing is assigning keystrokes to BMS commands. This list of keyboard commands (however long or short it may be) will be a part of pretty much every keyfile only because there aren’t enough buttons for all the possible commands and somethings may not be able to be done in the 3D cockpit … for instance, calling the tower for landing or referencing an outside view. OR, some thing might be easier via keyboard than via 3D cockpit … for instance setting up a keyboard based ICP.
Once the keyboard commands are created/customized (or loaded from the stock keyfiles), you can assign those commands to your stick. For instance, with Saitek, you can assign a button to emulate pushing the ‘G’ key on the keyboard. Now your Saitek profile will cycle the landing gear (i.e. ‘push’ the G key) whenever you push the HOTAS button you assigned. This makes the HOTAS a kind of ‘keyboard emulator’.
The other common way to assign commands to your HOTAS is by DX commands. Think of it as ‘Direct Access’ to the command, without keyboard emulation. This becomes the last part of the keyfile (in blue above) and each lines says, basically: HOTAS Button #x is assigned to this BMS command. You can do some of this in the BMS Setup screen and both stock keyfiles (BMS.key and Keystrokes.key, found in C:\Falcon BMS 4.32\User\Config) contain a limited number of DX HOTAS commands. The ‘problem’ is many of the HOTAS’s available have more buttons/switchs available than can easily be seen in the Setup screen.
One way to overcome that is to use the DX generator Kolbe built and is included in the BMS download (C:\Falcon BMS 4.32\User\Joystick\Generic\Kolbe). With that you can build assignments for all buttons/switches on your HOTAS for BOTH a shifted and un-shifted layer (i.e. each button has 2 functions, 1 when not shifted and another when shifted). PLUS, you have access to all the game callbacks and can customize your HOTAS for the commands you want. Once you’ve done that in Kolbe’s spreadsheet, copy that output to the lower part (the DX part) of your keyfile.
Now you have a keyboard command file (stock or custom, depending what you set up) AND a HOTAS DX command file in one keyfile.
Which brings me back to my original statement: Each keyfile is TWO things, keyboard commands and DX commands. Overall I strongly recommend using DX commands for as much of your HOTAS as possible.
As far as the pinky switch, I would just use Kolbe’s DX Generator to build my DX profile and assign the pinky switch to some button on the HOTAS. Then just press that ‘pinky switch’ whenever you want to access commands that are in the shifted layer. Note there is a difference between SimHotasPinkyShift which is the shift key and SimPinkySwitch which is the pinky button/FOV button.
See this document for more detail: C:\Falcon BMS 4.32\User\Joystick\Generic\Kolbe\Falcon BMS Keyfile Manual.pdf. Also: https://www.benchmarksims.org/forum/content.php?153-DirectX-Shifting-Facility
Also, see my whole keyfile/DX HOTAS as an example: https://www.benchmarksims.org/forum/showthread.php?18522-X52-Pro-DX-Profile
Hope that helps.
-
Agave_Blue Let me thank you for all the time you spent writing the above instructions and info for me. I have finally gotten most of my HOTAS programmed because of it. My only problem now is that button B3 and B4 don’t recognize the NWS callback and the Pinky Shift callback for some reason. Everything else is working great. So again thanks.
-
Agave_Blue Let me thank you for all the time you spent writing the above instructions and info for me. I have finally gotten most of my HOTAS programmed because of it. My only problem now is that button B3 and B4 don’t recognize the NWS callback and the Pinky Shift callback for some reason. Everything else is working great. So again thanks.
After you load your keyfile and are setup and ready to fly, do two things:
1.) Go to BMS SETUP –> CONTROLLERS and push your B3 and/or B4 button on the HOTAS. Does BMS show the command being accessed? Try a button that works for you … does BMS show that command in the setup screen. Like so:
No Input or Button recognized:
Input/Button Recognized (tells you the button number AND the command:
For my Pinky Shift, no command is listed, but the button number is shown indicating that BMS recognizes the button.
2.) IF the button is recognized (for your problem commands), what does it say? And can you post the DX command line for the NWS/Missile Step command and the Pinky Shift command. Mine are:
Pinky Shift:
SimHotasPinkyShift 5 -1 -2 0 0x0 0 (unshifted layer)
SimHotasPinkyShift 261 -1 -2 0 0x0 0 (shifted layer)This command MUST exist in both the shifted and unshifted DX layers. IOW, you have to repeat the command otherwise you can’t ‘release’ it from the shifted layer.
NWS/Missile Step:
SimMissileStep 2 -1 -2 0 0x0 0 (unshifted layer)
IF either button is NOT recognized by BMS if may be outside of the number of buttons allowed. Each DX device can only have 32 buttons. That gives up to 64 commands (1x unshifted + 1x shifted) per DX device. A HOTAS is usually 1 single device (not two …. stick and throttle are not separate).
-
Okay when I go into setup and press B3 for Pinky shift it says INPUT Button3 nothing else. When I press B4 for missile step/NWS the button is not recognized at all, nothing shows but INPUT. All other HOTAS buttons are recognized and show that they are assigned to a callback except of course the shifted callbacks are not recognized.
SimHotasPinkyShift 3 -1 -2 0 0x0 0 Stick unshifted layer
SimHotasPinkyShift 259 -1 -2 0 0x0 0 Stick shifted layerSimHotasPinkyShift 35 -1 -2 0 0x0 0 Throttle unshifted layer
SimHotasPinkyShift 291 -1 -2 0 0x0 0 Throttle shifted layerSimMissileStep 2 -1 -2 0 0x0 0 Stick unshifted layer
I hope you can see something here, the SMS looks identical to yours i would say.
-
B4 not showing anything at all indicates that the button doesn’t work or that BMS does not recognize it.
Can you change the NWS/Missle step to:
SimMissileStep 35 -1 -2 0 0x0 0 Throttle unshifted layer
SimMissileStep 291 -1 -2 0 0x0 0 Throttle shifted layerIn other words, replace the Pinky Shift on the Throttle with the NWS/Missile step. What I’m really trying to accomplish is to put that command on a button you know BMS recognizes and see if the command works …. it should.
Also, regardless of what you see in the SETUP screen, in flight (a TE for example) if you press (and hold ?)* the shift, then press some command, does the shifted command function?
-
- I’ve seen the shift work both ways … press and hold … or press and it ‘locks’ in to the shifted state until pressed again. I’m not sure what causes the different behavior, but because of this discussion and looking at the associated docs, I might have an idea. I’ll have to test it on my own profile and see if this ‘solves’ the question of why I can’t use ‘press and hold’.
-
-
Well I finally got the Pinky shift and the NWS switch to be recognized in the setup screen and the NWS switch works. Now all I have to figure out is how to get the pinky shift key to actually work the shifted keys. Couldn’t have done it without you. Thanks again.
-
Yea everything works now even the shifted keys and by the way for my set up I have to hold the pinky button down for it to work the shifted keys but that is okay with me. Thanks so much for hanging with me. I hope to see you in the air some time. I’m just getting into BMS after a year in the A-10C so hopefully the learning curve will be short. Tips and tricks are always welcome. Sincerly