DX Version of Hard~Deck's X52 Profile
-
In this post I will attempt to re-render Hard~Deck’s very functional and very popular X52 Profile via DX commands. While I tried to remain true to the original, some compromises are necessary and I’ve described them below in the ‘Notes’ section.
This post ONLY applies to an X52.
- For a DX profile of an X52 Pro, see this thread: https://www.benchmarksims.org/forum/showthread.php?18522-X52-Pro-DX-Profile
- For Hard~Deck’s Original X52 Profile: https://www.benchmarksims.org/forum/showthread.php?7909-Saitek-X-52-Profile
This profile assumes that the X52 HOTAS is the first device that BMS recognizes. If you have Rudder Pedals, MFD’s, etc. you may need to adjust the button assignments as shown in the last section.
There is one really BIG caveat: I no longer own an X52. That means I can’t test this nor refine it. It also means I can’t create a baseline Saitek .pr0 file to share …. you’ll have to do that on your own.
DOWNLOAD FILES:
See Post #3.
What is DX?
As I understand it, DX is a direct mapping between your HOTAS/Joystick (or other devices …. rudders, MFD’s, etc.) and BMS. You push the button and BMS sees that as a direct request for a command call-back, then executes that command.
Why DX?
As far as I’m concerned the answer to that question is, ‘Because it’s simpler.’ I don’t necessarily mean easier to make (although I think that is true too). I mean there is less reliance on different software bits between you and BMS. DX is ‘direct to BMS’ with no middle-man. Personally, my Saitek software (SST profiler?) would occasionally send a string of ‘F6’ or ‘B’ key presses for no reason I could discover. Many who use an intermediate to ‘interpret’ key-strokes have reported similar issues. DX eliminates that …. completely.
As presented, the DX commands below should be able to be copied and pasted direct to your current keyfile. The DX commands do not rely on nor interfere with whatever keyboard keystrokes you currently have set up. However, the Saitek profile (.pr0) file MUST be changed, otherwise you will be trying to send both DX commands and Key-Press emulation commands at the same time … that would be messy.
Notes & Comments:
A rendering of Hard~Deck’s X52 Profile as DX callbacks, of course leads to some compromises.
-
Saitek MODES are discarded except for selected Mode 1 functions. Only the Primary Mode (MODE 1) can remain. You must make this change in the Saitek Profile Software, with the exceptions noted below;
-
The ‘i-Button’ is unassigned in DX. It is the MODE 1 PTT button set in the Saitek Profile Software;
-
The Mouse Wheel Up and Down do not appear to be available for assignment in DX (BMS won’t see them). You can leave them assigned in the Saitek Profile Software as key-press emulations. I would suggest moving ‘Zoom In’ and ‘Zoom Out’ from the discarded Primary plus Pinky Mode to MODE 1;
-
The Slider Control (Speed Brakes) and the Mini-Stick (Cursor Slewing) remain programmed in MODE 1 in the Saitek Profile Software. You should be able to leave these ‘as is’.
-
All spaces where the command is ‘SimDoNothing’ are available for DX assignment (these are blanks in the HOTAS diagram). These include:
the ‘Function’, ‘Start/Stop’ and ‘Reset’ buttons on the MFD for BOTH Shifted and Un-Shifted layers (6 open assignments);
the Shifted layer for Toggles 1 - 6 (6 open assignments);
the Shifted layer on the First Trigger and Second Trigger Detent (2 open assignments). -
Dog Fight Override, MRM Override, and Override Cancel are moved to the MODE knob in BOTH the Shifted and Un-Shifted layer;
-
When I made a similar profile for my X52 Pro the Pinky Shift key was not momentary (i.e. while you hold it, you are in the shift state and when you let go you are in the un-shifted state). Instead it acted more like an On-Off-On switch (i.e., press it once and you go to the shift state, press again and you go back to the un-shifted state). I don’t know why the Pinky Shift functionality turned out this way, but more importantly, I don’t know (since I can’t test it) which way the Pinky Shift will act in this profile.
These comments apply to the Hard~Deck profile as originally posted. Any changes or customization you may have made could negate some of these comments/instructions.
Your Saitek .pr0 file
Assumes you are using the .pr0 file (C:\ ……\BMS X52 HD.pr0) that Hard~Deck provided in his post.
This file will need to be revised. Because you’re eliminating many keyboard based commands (and replacing them with direct DX commands), those commands need to be deleted. Also, because of how the Shift state works in DX, you can only have 1 MODE (Primary) in the .pr0 file. In DX you will have two ‘modes’ - Shifted and Un-Shifted. Your current .pr0 file will end up looking something like this (your slider will have bands for speed brakes, not shown here):
All the ‘Blank’ spaces will be marked in the Saitek programming as ‘Fall Back’. The three hats (POV1, POV2 and Throttle Hat) will be ‘4-Way’ and ‘Un-Programmed’.
Axis Assignments and Rotaries:
These are the items set in BMS–>SETUP–>CONTROLLERS–>ADVANCED. These will remain the same as shown in Hard~Decks original post. They include, Pitch, Roll, Yaw/Rudder, Throttle Advance/Retard, Rotary1, Rotary2 (usually TGP zoom and Radar Elevation) and FOV.
The Keyfile:
Assuming you are using the Keyfile Hard~Deck provided (C:\Falcon BMS 4.32\User\ConfigBMS X52 HD.key), if you open it with Notepad (or a similar text editor), it will look like this:
You need to replace the existing DX commands in this profile. You do that by copying the commands below and pasting them in the file via Notepad (or similar). Make note of where the Keyboard commands end and the DX commands begin:
You will replace the DX commands and the lower part of your keyfile will now look like this:
DX Commands for This Profile:
#================================================================================== SimDoNothing -1 0 0XFFFFFFFF 0 0 0 -2 "========= HOTAS UNSHIFTED =========" SimWheelBrakes 0 -1 -2 0 0x0 0 SimPickle 1 -1 -2 0 0x0 0 RecenterTrackIR 2 -1 -2 0 0x0 0 SimHotasPinky 3 -1 -2 0 0x0 0 SimCMSUp 4 -1 -2 0 0x0 0 SimHotasPinkyShift 5 -1 -2 0 0x0 0 SimCBEOSB_6L 6 -1 -2 0 0x0 0 SimToggleMissileCage 7 -1 -2 0 0x0 0 SimArmMasterArm 8 -1 -2 0 0x0 0 SimSafeMasterArm 9 -1 -2 0 0x0 0 SimExtlPower 10 -1 -2 0 0x0 0 SimExtlSteady 11 -1 -2 0 0x0 0 SimInteriorLight 12 -1 -2 0 0x0 0 SimInstrumentLight 13 -1 -2 0 0x0 0 SimTriggerSecondDetent 14 -1 -2 0 0x0 0 SimTMSUp 15 -1 -2 0 0x0 0 SimTMSRight 16 -1 -2 0 0x0 0 SimTMSDown 17 -1 -2 0 0x0 0 SimTMSLeft 18 -1 -2 0 0x0 0 SimTransmitCom1 19 -1 -2 0 0x0 0 SimCommsSwitchRight 20 -1 -2 0 0x0 0 SimTransmitCom2 21 -1 -2 0 0x0 0 SimCommsSwitchLeft 22 -1 -2 0 0x0 0 SimSelectMRMOverride 23 -1 -2 0 0x0 0 SimSelectSRMOverride 24 -1 -2 0 0x0 0 SimDeselectOverride 25 -1 -2 0 0x0 0 SimDoNothing 26 -1 -2 0 0x0 0 SimDoNothing 27 -1 -2 0 0x0 0 SimDoNothing 28 -1 -2 0 0x0 0 SimCursorEnable 30 -1 -2 0 0x0 0 SimDeselectOverride 31 -1 -2 0 0x0 0 SimDMSUp 0 -1 -3 0 0x0 0 SimDoNothing 0 -1 -3 1 0x0 0 SimDMSRight 0 -1 -3 2 0x0 0 SimDoNothing 0 -1 -3 3 0x0 0 SimDMSDown 0 -1 -3 4 0x0 0 SimDoNothing 0 -1 -3 5 0x0 0 SimDMSLeft 0 -1 -3 6 0x0 0 SimDoNothing 0 -1 -3 7 0x0 0 #================================================================================== SimDoNothing -1 0 0XFFFFFFFF 0 0 0 -2 "========= HOTAS SHIFTED =========" SimDoNothing 256 -1 -2 0 0x0 0 SimEmergencyJettison 257 -1 -2 0 0x0 0 SimCATSwitch 258 -1 -2 0 0x0 0 SimMissileStep 259 -1 -2 0 0x0 0 AFResetTrim 260 -1 -2 0 0x0 0 SimHotasPinkyShift 261 -1 -2 0 0x0 0 SimParkingBrakeToggle 262 -1 -2 0 0x0 0 SimRadarStandby 263 -1 -2 0 0x0 0 SimDoNothing 264 -1 -2 0 0x0 0 SimDoNothing 265 -1 -2 0 0x0 0 SimDoNothing 266 -1 -2 0 0x0 0 SimDoNothing 267 -1 -2 0 0x0 0 SimDoNothing 268 -1 -2 0 0x0 0 SimDoNothing 269 -1 -2 0 0x0 0 SimDoNothing 270 -1 -2 0 0x0 0 AFElevatorTrimUp 271 -1 -2 0 0x0 0 AFAileronTrimRight 272 -1 -2 0 0x0 0 AFElevatorTrimDown 273 -1 -2 0 0x0 0 AFAileronTrimLeft 274 -1 -2 0 0x0 0 SimCMSUp 275 -1 -2 0 0x0 0 SimCMSRight 276 -1 -2 0 0x0 0 SimCMSDown 277 -1 -2 0 0x0 0 SimCMSLeft 278 -1 -2 0 0x0 0 SimSelectMRMOverride 279 -1 -2 0 0x0 0 SimSelectSRMOverride 280 -1 -2 0 0x0 0 SimDeselectOverride 281 -1 -2 0 0x0 0 SimDoNothing 282 -1 -2 0 0x0 0 SimDoNothing 283 -1 -2 0 0x0 0 SimDoNothing 284 -1 -2 0 0x0 0 SimRadarCursorZero 286 -1 -2 0 0x0 0 ReloadTrackIR 287 -1 -2 0 0x0 0 SimCBEOSB_1R 2 -1 -3 0 0x0 0 SimDoNothing 2 -1 -3 1 0x0 0 SimTrimYawRight 2 -1 -3 2 0x0 0 SimDoNothing 2 -1 -3 3 0x0 0 SimCBEOSB_2R 2 -1 -3 4 0x0 0 SimDoNothing 2 -1 -3 5 0x0 0 SimTrimYawLeft 2 -1 -3 6 0x0 0 SimDoNothing 2 -1 -3 7 0x0 0
If You Have More Controllers (Rudder Pedals, MFD’s, etc.)
If your HOTAS is your only BMS device, you’re good-to-go. BUT, if you have Rudder Pedals, or MFD’s or any other BMS devices, you need to check this before finishing your X52 DX assignments.
Each device is given 32 DX ‘buttons’. The first device get’s the first 32 buttons (0 - 31), the second device get’s the next 32 buttons (32 - 63), and so on, for up to 8 devices (8 x 32 = 256). Then the Shift Layer starts and it is offset by …. 256. So, …
… Device 0 is 0 - 31 Un-Shifted and 256 - 287 Shifted;
… Device 1 is 33 - 64 Un-Shifted and 288 - 319 Shifted;
… and so on.IF your X52 is the first item BMS ‘sees’, no problem. But if it’s not, you need to adjust the DX commands to point at the ‘right’ buttons. This is easy to do. Open the spreadsheet that part of this package. Go to the X52 Tab. If you change the cell indicated below, it will update the button assignements automatically. Then, go to the Output Tab and copy Column D to your keyfile, just as indicated earlier.
DOWNLOAD FILES:
See post #3.
-
Thats an awesome post and thanks for the information on the HOTAS, Ive got the X-52 Mk1 from years back and that is one thing I have been looking at because the SST software pretty much hasnt changed at all since the X45 came out.
With that info I can make my own profile programmer, many thanks
-
I can’t find this download at the download site given (1st Fighter Wing). Is it available elsewhere? There is a X52 PRO profile on the website but it from a guy named “Flounder”. I don’t think it’s the same thing since it’s for the PRO and this post is just about the X52 (not PRO) which is what I need. Help?
-
It was removed due to possible obsolescence with v4.33 and my inability to validate the profile.
IOW - I didn’t want people downloading an outdated keyfile that I couldn’t test.
-
It was removed due to possible obsolescence with v4.33 and my inability to validate the profile.
IOW - I didn’t want people downloading an outdated keyfile that I couldn’t test.
Thanks for the reply.
I am in a pickle as I have been using the original Hard Deck X52 profile for years. However, I’ve found with the move to 4.33 I am having multiple controller related problems (e.g., mini-stick drift and clutch button inoperative). I was hoping this new DX profile would help me keep most of the “Hard Deck” version button actions so I wouldn’t have to learn a new key mapping. I can give you feedback regarding it’s function on a X52 if you like?