X-52 DX problem (I think)
-
You need to follow the instructions and load the Saitek profile which assigns the radar cursor or set it up manually.
-
What version of the Saitek software are you using? The x64 drivers for Saitek x52/x52Pro are unusable, and the x86 software causes unreliable results in an x64 environment. I worked on this for a long time with two other people and we eventually had to go to strictly DX mapping to get it to work right. In fact, I actually had to completely UNINSTALL any and all Saitek software from the system to really get it to work as intended (Which is harder than it sounds…)
There is no advantage to using the Saitek software at all in BMS. With a few workarounds you can get access to everything on the controller, including the Mode Select, the MFD scroll wheels (x52 Pro) and all the axes using just the Windows Driver and no Saitek software. It does require some knowledge of editing the DX stuff in the key file however.
-
If you don’t have the problem that MorteSil says then all you need to do is assign f8-f11 to the radar cursor. IIRC the rest of the profile is DX.
-
Thanks for the replies. I’m still recovering from a boot disk crash, and it will be several days before I reinstall BMS 4.33.U3. However, I think I need to be clearer about the problem as I recall it:
1. I used Viking’s keyfile (Viking’s BMS 4.33 U1 X52.key) and .pr0 file, and I did follow the installation directions (except for removing third party mappings. BTW, as a reminder, that .pr0 file has F8-F11 mapped to the ministick, not to POV1. My ministick wasn’t working either, but I’m not concerned about that now.)
2. In testing, I did not load the .pr0 file, or any other Saitek profile, though I did have the Saitek software installed. The installers are: Saitek_X52_Flight_Controller_7_0_53_6_x64_Software.exe and Saitek_X52_Flight_Controller_7_0_53_6_x64_Drivers.exe. I also did not use my TrackIR, although, as stated, I did not remove the redundancy for F8-F11 which has them mapped to third party software as well as TMS.
3. F8-F11 - ie. the computer keyboard - did work while flying to slew the radar cursor, but POV1 - the upper hat on the X52 stick - did not.
4. Other stick buttons work as expected, but as a noob only on the first couple training TE’s, I’ve not tested extensively.
5. That the Viking keyfile sets Dx buttons 16-19 to TMSup, TMSright, etc. is confirmed in the BMS keyfile editor. That the cardinal points of POV1 do in fact send Dx 16-19 is also stated in the editor, and I think I’ve seen it elsewhere as well.
6. In the BMS controllers UI, POV1 triggered those same callbacks. Just not while flying.That’s my recollection. Please advise if I’m missing something. Who knows - after reinstall maybe the issue will be moot.
-
Yes, much clearer. FWIW:
3. F8-F11 - ie. the computer keyboard - did work while flying to slew the radar cursor,
but POV1 - the upper hat on the X52 stick - did not.
These two things are not (at least should not) be related. If your mini-stick doesn’t work, I don’t think there’s any point in loading the *.pr0 file …. iirc. I think the cursor slew is the only function in the *.pr0 file. The fact that cursor slew works via the keyboard is not due to the *.pr0 file, but due to the fact that the key commands are mapped in the BMS keyfile.
Your POV hat is another issue and I’m not sure what might be happening there. It might help if you post the the keyfile lines for the functions on the POV hat.
-
The fact that cursor slew works via the keyboard is not due to the *.pr0 file, but due to the fact that the key commands are mapped in the BMS keyfile.
Thanks, understood. When I say the mini stick doesn’t work, I mean it does nothing in the sim. It responds fine in the Saitek controller calibration window. (And the mouse button corresponds to Dx 31 on calibration, but does nothing in the sim AFAICT.)
Right, it’s the POV hat that was the issue. Lemme get the sim installed again and I’ll report back.
-
Got it.
In which case, I’d look here with regard to the mini-stick: “…. although, as stated, I did not remove the redundancy for F8-F11 which has them mapped to third party software as well as TMS.”
You can’t have two different actions mapped to one key … results are unpredictable; neither works, both work, one does, one doesn’t and/or all of the above.
Also for the F8 - F11 to be mapped to the mini-stick the appropriate *.pr0 file must be loaded.
One other thought … are you using TeamSpeak? If so, go to Tools–>Options -->Hot keys and make sure in the lower right the drop down is selected for ‘Keyboard & Mouse Only’.
-
……You can’t have two different actions mapped to one key … results are unpredictable; neither works, both work, one does, one doesn’t and/or all of the above.
Aha! Not sure I’ve seen this assertion before, but could be the key (no pun intended) to my problem. Then again, why does the Viking keyfile have exactly that - two actions mapped to one key? Yes, the instructions mention that if TrackIR is used, that conflict should be removed, but my testing was done without loading the TrackIR software. Doesn’t that matter? Anyway, I’ll certainly investigate this when I’ve reinstalled BMS. Where do you X-52 guys remap TIR to?
Also for the F8 - F11 to be mapped to the mini-stick the appropriate *.pr0 file must be loaded.
It was loaded in those sessions where I tried to use the mini stick in flight.
One other thought …. are you using TeamSpeak? …
No, TIR is the only third party utility I have at the moment.
Thx for responding.
-
The output of pr0 profile can be checked outside of BMS. There is a little gear-shaped icon to use the output checking function of SST. This will let you see what is the output when the directions of the ministick are pressed. This should show the keyboard presses and unpresses in the log to verify output.
Then in BMS what is best is to use your joystick to set the controls. For example if Button 1 = keyboard “A” set the control by finding the command in the list and press Button 1 on your joystick. If you press the “A” on your keyboard instead you are never 100% sure if the joystick will work.
Check that your cursor X/Y in axis options is set to ‘keyboard’ or keyboard inputs will be ignored (I think).
-
The output of pr0 profile can be checked outside of BMS. There is a little gear-shaped icon to use the output checking function of SST. This will let you see what is the output when the directions of the ministick are pressed. This should show the keyboard presses and unpresses in the log to verify output.
Thanks, I never noticed that functionality before. But yes, it confirms the ministick and button are programmed as specified by the profile.
Then in BMS what is best is to use your joystick to set the controls. For example if Button 1 = keyboard “A” set the control by finding the command in the list and press Button 1 on your joystick. If you press the “A” on your keyboard instead you are never 100% sure if the joystick will work.
This has never worked for me - list items don’t “activate” when selected, and the only response of the UI to a button press is to go to the corresponding list item.
Check that your cursor X/Y in axis options is set to ‘keyboard’ or keyboard inputs will be ignored (I think).
And that may be why!! Doh! Will check after reinstalling BMS. (I’ve read that programming HOTAS this way will remove the commentary in the keyfile, but I guess it’d be worth it if this is surefire setup method. Will archive keyfile first.) Many thanks!!
-
The “press button and list will scroll to that command” is one feature. But I refer to making keybindings in game by clicking a command so it highlights in blue and is receptive to the next key press. One way to make really sure that your joystick output is mimicking the key stroke is to bind that stroke to that command by using the joystick as your keyboard. And to do this to ensure a positive match. There’s always the slim chance of something screwy otherwise like your physical keyboard and the virtual keyboard F5 keys aren’t exactly the same (like one’s AZERTY and the other is QWERTY).
The other crazy notion is that the pr0 file is producing very very short “taps” of the F-whatever keys and you just don’t notice cursor movement because it’s very very tiny. The key commands in the profile should be a white color. If they are a gray color that’s a macro and probably has a tiny duration.
-
…… But I refer to making keybindings in game by clicking a command so it highlights in blue and is receptive to the next key press. One way to make really sure that your joystick output is mimicking the key stroke is to bind that stroke to that command by using the joystick as your keyboard. …
Right, understood, but I was trying to say I couldn’t get a list item to highlight in blue and be receptive. As you suggest, it may be because I didn’t have an option set correctly. Will check when I reinstall.
The other crazy notion is that the pr0 file is producing very very short “taps” of the F-whatever keys and you just don’t notice cursor movement because it’s very very tiny. The key commands in the profile should be a white color. If they are a gray color that’s a macro and probably has a tiny duration.
Understood. The only mappings in this pr0 file set the ministick to F8-F11 and the ministick button (Dx 31) to Home. And I don’t really want TMS mapped to the ministick, I want it on the POV1 hat. So if I can get the hotas working properly in the game, I probably don’t need the pr0 profile at all.
-
That’s pretty weird to not be able to get the blue highlight waiting for a keypress. One common reason for that is some joystick button is being pressed permanently so it’s instantly being bound (which could be its own problem). The highlight is only lasting one “frame” which is much too short for a human to notice. The inability to have a “ready to capture key/button” persist is quite a red flag.
I get what you mean about the profile. If it were me I would run a minimalist profile that only repurposed a few controls like the slider for speed brake and left everything else blank. Then I’d make use of the SimHotasPinkyShift callback to have effectively a shift layer. Since X-52 (I used to have an X-45) has 2 hats and F-16 has 4 on the stick I make trim/TMS the unshifted and DMS/CMS the shifted. As to cursor I think default non-SST behavior is something unfortunate like emulate mouse or something so I’d have to make that into keys or look into that registry hack to make it into DX axes.
-
Ok, I reinstalled, and copied my previous configuration over. Same issue as before with POV1 not moving the cursor even though the keyfile has that mapping (as shown in the controller UI). So I’d like to map directly from the X52, but same problem here as well. If I left click on a line in the controller pane, it does not turn blue.
Now I thought I read somewhere that setting the controller that way is discouraged, and that BMS is designed not to allow it. But obviously people do it - I’ve seen numerous post in which they do it. So I’m assuming this is a problem in my setup. What was that potential fix again?
Since this is apparently a serious problem, I’m going to post in the general forum as well. Thx for any help.
-
That’s pretty weird to not be able to get the blue highlight waiting for a keypress. One common reason for that is some joystick button is being pressed permanently so it’s instantly being bound (which could be its own problem). The highlight is only lasting one “frame” which is much too short for a human to notice. The inability to have a “ready to capture key/button” persist is quite a red flag.
I get what you mean about the profile. If it were me I would run a minimalist profile that only repurposed a few controls like the slider for speed brake and left everything else blank. Then I’d make use of the SimHotasPinkyShift callback to have effectively a shift layer. Since X-52 (I used to have an X-45) has 2 hats and F-16 has 4 on the stick I make trim/TMS the unshifted and DMS/CMS the shifted. As to cursor I think default non-SST behavior is something unfortunate like emulate mouse or something so I’d have to make that into keys or look into that registry hack to make it into DX axes.
This is common in both the x52 and x52 Pro. The mode switch on the Pro is very touchy and can be constantly triggering. Also, since you are assigning the mini stick to key presses, and they are extremely touchy without opening a dead zone, there isa really good chance they are continually firing in the background.
The registry hack is a really good way to run both of these Sticks. If you leave the Controller Properties page of the Control Panel open in the background while playing the game (The one that actually lights up when you press a button) it will expose all the axes so you don’t lose a rotary. It will also enable BMS to recognize the Mode Switch as a button press (Convenient for AA/AG toggle). It’s been a while since I used a non-pro 52, so grain of salt maybe? But I know this works on a 52 Pro–IF and ONLY IF you remove every speck of Saitek software from the system. Including all drivers, hidden files, downloaded files, system files, and registry entries. If anything is left anywhere even remotely related to MadCatz or Saitek, Windows will find it and try to use it–which makes it unusable in BMS.
EDIT:
Confirm you are NOT trying to use the mini stick? You are trying to use the regular POV to move the radar cursor? So you are mapping the output from the POV to F8-F11 via the Saitek software? And NO TIR installed? The game natively maps the POV hat to the view when TIR is not installed/enabled. I wonder if that is causing some issues? I was also operating under the impression this was a mini stick isues like Agave was… -
… POV1 not moving the cursor …
…. The particular problem that led here is that the POV1 won’t produce radar cursor movement (TMS functionality)….
Something occurs to me here, and from your other post about cursor movement and ‘TMS functionality’ …. and I may be WAY off base, but …
I would find it unusual that radar cursor slewing (in your case F8 - F11 in the Saitek *.pr0 file) would be assigned to the POV hat. That is found, in most cases, on the mini-stick on the throttle. It is entirely ‘normal’ to find TMS one of the X-52 hats on the stick … POV, for example, but ‘TMS functionality’ and cursor slewing are two entirely different things.
-
Something occurs to me here, and from your other post about cursor movement and ‘TMS functionality’ …. and I may be WAY off base, but …
I would find it unusual that radar cursor slewing (in your case F8 - F11 in the Saitek *.pr0 file) would be assigned to the POV hat. That is found, in most cases, on the mini-stick on the throttle. It is entirely ‘normal’ to find TMS one of the X-52 hats on the stick … POV, for example, but ‘TMS functionality’ and cursor slewing are two entirely different things.
Agreed, I’m trying to follow along too and not doing so very effectively.
-
Something occurs to me here, and from your other post about cursor movement and ‘TMS functionality’ …. and I may be WAY off base, but …
I would find it unusual that radar cursor slewing (in your case F8 - F11 in the Saitek *.pr0 file) would be assigned to the POV hat. That is found, in most cases, on the mini-stick on the throttle. It is entirely ‘normal’ to find TMS one of the X-52 hats on the stick … POV, for example,
Below are the Dx assignments from the keyfile. Buttons 16-19 are the POV1 cardinal positions on the X52 (unshifted). Am I not understanding something about how the keyfile works? Yes F8-F11 are mapped to the ministick in the .pr0 file, but I don’t have that loaded for the testing I reported above. (When I do load it, the ministick doesn’t slew the radar cursor anyway.)
SimTriggerFirstDetent 0 -1 -2 0 0x0 0 "Trigger First Detent" "But.1" SimPickle 1 -1 -2 0 0x0 115 "Pickle" "But.2" ToggleNVGMode 2 -1 -2 0 0x0 115 "NIGHT VISION" "But.3" SimNextAGWeapon 3 -1 -2 0 0x0 115 "SHORT: Next AG Weapon" "But.4" SimMissileStep 4 -1 -2 0 0x0 115 "NWS A/R MSSLSTEP" "But.5" SimHotasPinkyShift 5 -1 -2 0 0x0 0 "PinkyShift" "But.6" AFBrakesToggle 6 -1 -2 0 0x0 115 "Speed Break Switch -Toggle" "But.7" SimToggleMissileCage 7 -1 -2 0 0x0 314 "Missile Cage" "But.8" AFGearToggle 8 -1 -2 0 0x0 119 "GEAR: LG Handle -Toggle" "But.9" SimCATSwitch 9 -1 -2 0 0x0 115 "GEAR: STORES CONFIG Switch- Toggle" "But.10" SimNextWaypoint 10 -1 -2 0 0x0 122 "Next Waypoint" "But.11" SimPrevWaypoint 11 -1 -2 0 0x0 122 "Prev Waypoint" "But.12" OTWSelectWeaponMode 12 -1 -2 0 0x0 0 "VIEWEXT: Weapon Camera" "But.13" OTWSelect3DCockpitMode 13 -1 -2 0 0x0 0 "VIEWINT: Pan (3D) Cockpit" "But.14" SimTriggerSecondDetent 14 -1 -2 0 0x0 0 "Trigger 2nd Detent" "But.15" SimTMSUp 15 -1 -2 0 0x0 0 "But.16" SimTMSRight 16 -1 -2 0 0x0 0 "But.17" SimTMSDown 17 -1 -2 0 0x0 0 "But.18" SimTMSLeft 18 -1 -2 0 0x0 0 "But.19" SimTransmitCom2 19 -1 -2 0 0x0 115 "COMMS 2-Up-VHF" "BUT.20" SimCommsSwitchRight 20 -1 -2 0 0x0 115 "IFF-IN-UP" "BUT.21" SimTransmitCom1 21 -1 -2 0 0x0 115 "COMMS 1-Down-UHF" "BUT.22" SimCommsSwitchLeft 22 -1 -2 0 0x0 115 "IFF-OUT-DOWN" "BUT.23" SimSelectMRMOverride 23 -1 -2 0 0x0 115 "MRM Override" "But.24 SimDeselectOverride 24 -1 -2 0 0x0 115 "Deselect DF/MRM" "But.25" SimSelectSRMOverride 25 -1 -2 0 0x0 115 "DF Override" "BUT.26" SimICPNav 26 -1 -2 0 0x0 122 "ICP: NAV Mode" "But.27" SimICPAA 27 -1 -2 0 0x0 122 "ICP: A-A Button" "But.28" SimICPAG 28 -1 -2 0 0x0 122 "ICP: A-G Button" "But.29" SimCursorEnable 29 -1 -2 0 0x0 314 "Cursor Enable" "But.30" # VAC "But.31" SimRFSwitch 31 -1 -2 0 0x0 310 "RF Switch-Cycle" "BUT.32" # #=================================================================================== # # # =====SHIFTED BMS DX 257-287===== # # SimWheelBrakes 256 -1 -2 0 0x0 0 "wheelbrake" "But.1" SimEmergencyJettison 257 -1 -2 0 0x0 123 "Pickle" "But.2" SimStepMasterArm 258 -1 -2 0 0x0 311 "MAster Arm Toggle" "BUT.3" SimLaserArmToggle 259 -1 -2 0 0x0 310 "LASER Switch - Toggle" "BUT.4" AFResetTrim 260 -1 -2 0 0x0 0 "TRIM RESET" "BUT.5" SimHotasPinkyShift 261 -1 -2 0 0x0 0 "PINKYSHIFT" "BUT.6" SimSlapSwitch 262 -1 -2 0 0x0 318 "CMS program #5" "BUT.7" SimToggleMissileSpotScan 263 -1 -2 0 0x0 314 "Missile Spot/Scan "But.8" SimEject 264 -1 -2 0 0x0 117 "SEAT: EJECT Handle- Hold For Eject" "But.9" SimLeftAPSwitch 265 -1 -2 0 0x0 115 "MISC: ROLL Switch - Cycle" "But.10" SimHSDRangeStepUp 266 -1 -2 0 0x0 126 "SHORT: HSD Range Increase" "But.11" SimHSDRangeStepDown 267 -1 -2 0 0x0 126 "SHORT: HSD Range Decrease" "But.12" FOVToggle 268 -1 -2 0 0x0 0 "VIEWGEN: Look Closer - Toggle" "But.13" SimRightAPSwitch 269 -1 -2 0 0x0 319 "PITCH Switch-Cycle (also Combat AP)" "But.14" SimAPOverride 270 -1 -2 0 0x0 115 "Paddle Switch AP override" "But.15" SimCMSUp 271 -1 -2 0 0x0 0 "ECM/CMS" "But.16" SimCMSRight 272 -1 -2 0 0x0 0 "ECM/CMS" "But.17" SimCMSDown 273 -1 -2 0 0x0 0 "ECM/CMS" "But.18" SimCmsLeft 274 -1 -2 0 0x0 0 "ECM/CMS" "But.19" SimRadarAzimuthScanChange 275 -1 -2 0 0x0 126 "BUT.20" SimRadarAGModeStep 276 -1 -2 0 0x0 124 "BUT.21" SimRadarBarScanChange 277 -1 -2 0 0x0 124 "BUT.22" SimRadarAAModeStep 278 -1 -2 0 0x0 124 "BUT.23" SimInteriorLight 282 -1 -2 0 0x0 116 "LIGHT: CONSOLES Knob (Flood)- Cycle" "But.27" SimExtlPower 283 -1 -2 0 0x0 115 "EXT: MASTER Switch- Toggle" "But.28" SimInstrumentLight 284 -1 -2 0 0x0 116 "LIGHT: INST PNL Knob (Primary)-Cycle" "BUT.29" SimRadarCursorZero 285 -1 -2 0 0x0 125 "RDR CURSOR Zero" "BUT.30" # SimDoNothing "But.31" SimCBEOSB_8L 287 -1 -2 0 0x0 126 "SNOWPLOW AG" "BUT.32" #------------------------------------POV Hat 1------------------------------------------ SimDMSUp 0 -1 -3 0 0x0 115 "DMS Up" SimDMSRight 0 -1 -3 2 0x0 115 "DMS Right" SimDMSDown 0 -1 -3 4 0x0 115 "DMS Down" SimDMSLeft 0 -1 -3 6 0x0 115 "DMS Left" AFElevatorTrimUp 2 -1 -3 0 0x0 309 "ELV trim up" AFAileronTrimRight 2 -1 -3 2 0x0 309 "AIL right" AFElevatorTrimDown 2 -1 -3 4 0x0 309 "ELV trim down" AFAileronTrimLeft 2 -1 -3 6 0x0 309 "AIL trim left"
but ‘TMS functionality’ and cursor slewing are two entirely different things.
uh oh, now I’m wondering if I have a fundamental misunderstanding. Is not the TMSup callback equivalent to slewing the radar cursor up (in TWS mode)? If not, it’s back to the manuals for me.
Nevertheless, I suspect my lockout from being able to set hotas buttons directly from the controller UI is at the heart of my problems. I’d like to solve that issue first. Even if I simply unplug the X52, that issue persists.
@MoreteSil - Sounds like you’re saying the Mad Catz stuff can produce instability even when the hotas is cleared of profiles? Wow, removing it completely sounds drastic. And it could cause issues with other simulators. Agreed the Mad Catz software does appear flaky, but I hope I can solve my problems without removing it completely.
-
TMS Up/Dn/L/R is NOT slewing the Radar Cursor. They are functions of the aircraft. TMSUp for instance is used to bug and lock targets. Back is used to release the lock. Lots of info in the manual on this.
-
…. Buttons 16-19 are the POV1 …
No. BMS defines one hat as ‘THE POV Hat’ …. in the case of the X52 it is the hat on the lower center/right of the stick. That’s a bit of a technicality, but it matters in the sense that BMS handles THE POV hat slightly differently than other buttons/hats on the HOTAS. For your keyfile THE POV hat is these lines:
Unshifted:
SimDMSUp 0 -1 -3 0 0x0 115 “DMS Up”
SimDMSRight 0 -1 -3 2 0x0 115 “DMS Right”
SimDMSDown 0 -1 -3 4 0x0 115 “DMS Down”
SimDMSLeft 0 -1 -3 6 0x0 115 “DMS Left”Shifted:
AFElevatorTrimUp 2 -1 -3 0 0x0 309 “ELV trim up”
AFAileronTrimRight 2 -1 -3 2 0x0 309 “AIL right”
AFElevatorTrimDown 2 -1 -3 4 0x0 309 “ELV trim down”
AFAileronTrimLeft 2 -1 -3 6 0x0 309 “AIL trim left”Hat2 is the hat on the upper left of the stick … that is buttons 16 - 19 and controls TMS (unshifted) and CMS (shifted).
TMS (Target Management System) is a multi-functional set of commands that depends on certain ‘states’ or Master Modes … i.e., in some states it does one thing, in another state it does something else. There are two very nice diagrams in the BMS dash 1 manual around pages 28 and 56 that show F16 HOTAS functionalities based on Master Modes.
As mentioned cursor slewing is separate from all of that. Somewhere in the keypress assignments of your keyfile, you should find the following lines:
SimCursorDown -1 0 xxxx 0 0 0 1 “Radar-cursor down”
SimCursorLeft -1 0 xxxx 0 0 0 1 “Radar-cursor left”
SimCursorRight -1 0 xxxx 0 0 0 1 “Radar-cursor right”
SimCursorUp -1 0 xxxx 0 0 0 1 “Radar-cursor up”(where ‘xxxx’ is the hex name for F8 - F11)
You should be able to find those lines by pressing F8, F9, F10 and F11 in the controllers UI … the UI will ‘jump’ to those commands when the F8 - F11 keys are pressed.
The Saitek *.pr0 file ‘presses’ F8 - F11 for you when you move the mini-stick (or, it should if it’s functioning properly). IOW, the cursor will slew when you press the actual key on the keyboard AND it will slew when the Saitek *pr0 file ‘virtually presses’ the keyboard key for you.