X-55 programming
-
First of all, I can’t set DMS Right. All the other ones are good, but DMS right is never accepted, even though it detects the button.
How are you trying to assign DMS right ? In the Falcon menu, I guess ? If you could describe exactly how do you try to do it, that would be nice
I would advise you to get to know the .key files (in your install folder - User - config). Its a bit more complicated than just assigning buttons, but you have a lot more flexibility.
Create your own by copying the “keystrokes.key” file, then add your lines corresponding to your stick. You can then load it in the Falcon setup menu, tab controller.Use this document (made by Red Dog) to know the calbacks.
Use this one (made by Kolbe, uploaded by Blu3wolf) for editing your key file and get to know how does it works.
Start at p13 to understand how the keyfile works. Go p21 and following for specifics to DirectX buttons (the ones on your HOTAS). -
Thanks for those two documents. It really looks complicated, I’m starting to think that I won’t be able to fly for a while…
Anyway, for DMS right I go into Falcon’s menu, and then, where it says HOTAS- DMS UP, LEFT and so on, I click on it, and then I move the hat on the stick.
I’m setting it where it says Shift Num (8-2-4-6). Like I said, it works for everything except right. I get MFD 2 when i move the hat to the right.
I set TMS and trim no problem using this method.
-
Thanks for those two documents. It really looks complicated, I’m starting to think that I won’t be able to fly for a while…
Anyway, for DMS right I go into Falcon’s menu, and then, where it says HOTAS- DMS UP, LEFT and so on, I click on it, and then I move the hat on the stick.
I’m setting it where it says Shift Num (8-2-4-6). Like I said, it works for everything except right. I get MFD 2 when i move the hat to the right.
I set TMS and trim no problem using this method.
Its actually ok : I had the same pb. It is simply a small issue of naming in the default keyfile, but it works as intended, dont worry
If you want to know what happens :
The previous name of the action done by DMS right was : OTWStepMFD2 in the key file. The description associated with it is : MFD-2 (what you saw). There is still a key assigned to it in the default keyfile.BMS added a new section for the DMS switch, with the following callbacks :
SimDMSLeft (description in the UI : DMS-Left)
SimDMSUp (description in the UI : DMS-Up)
SimDMSDown (description in the UI : DMS-Down)
OTWStepMFD2 (description in the UI : DMS-Right). This is where the naming issue is : it should be called “SimDMSRight” to avoid confusion.So when you select the function “DMS-right” in the falcon setup and press your joystick button, you assign the button to the function “OTWStepMFD2”. Its works ok, because the action done by this callback is the one done in the real jet dy DMS-right.
BUT : when you press your stick button in the setup menu :
-> BMS recognize it, and think “hey : the calback OTWStepMFD2 was just pressed”
-> then, it displays in the Falcon menu the first description of the callback in the keyfile. And in this case, as the line “OTWStepMFD2 (description in UI : MFD2)” is higher in the file “OTWStepMFD2 (description in UI : DMS-Right)”, it displays MFD2.This is a small mishap of 4.32 that will be corrected, dont worry.
TL, DR : dont worry about the assignation, seeing what you did, it will work just fine
-
Believe it or not, I actually understood what you just said.
So, DMS is OK. Now, any idea on the throttle?
P.S. Sir, are you a BMS dev? Your signature seems to suggest it. And that would also explain how you know all these scripts and this little “hidden” issue is BMS.
-
I’m on the team indeed.
As for these little tricks, I learned when I was still a regular user
For the throttle now : can you tell me how do you try to assign it ?
-
Well, I said it in the first post, but maybe these pics can help.
As you can see, in the advanced menu I set throttle axis Z as throttle axis. In the second pic I’m full throttle, in the third I’m idle. Notice “pitch axis deadzone” and “roll axis deadzone”. Those are the only things that change when I move the throttle.
First pic shows what it looks like in the normal menu.
Just to be clear, from Italian to English:
Rotazione = rotation (or maybe rotary in this case)
Asse = axis
-
In the X-55, IIRC, there are two throttle axis, am I correct ?
In my opinion, the DirectX Z axis is not the axis of the throttle on the X-55, by default ; but instead, its X and Y.
(there are 8 directX axis by device : X, Y, Z, RotX, RotY, RotZ, Throttle (or Slider0, depends), Slider (or Slider1).
So :
-
first, deassign the Pitch and Roll deadzone. Put these on Keyboard.
-
Then assign Axis (Asse) X on Throttle. If you want, you can also assign Axis Y on “Right engine throttle”, this way, you can control better twin engine fighters (although these are not the core of the sim).
It should work just fine.
As this is not the default config, you will have to reassign it every time. (Maybe if you click Save on the controller tab, it will be indeed saved, but I am not sure).
To avoid this, I will then advise you to do the following (a bit complicated, but bear with me ) :-
go to your install folder -> user -> config, and open “Devicedefault.txt”.
In this file, the default configuration for every device are stored. You can modify it though, and thats what we will do. -
locate in the file these two adjacent lines :
Saitek X-55 Throttle ( or more or less this)
#GUID = { whatever}
-
Remove the # next to GUID (and this one only). If these lines are present several times, only do this once.
-
Then add the following lines under the GUID line :
AXIS_THROTTLE = X
AXIS_THROTTLE2 = Y
Save, and you are done !
IIRC, there are some other axis on the X-55 throttle. So while you are at it, you might want to check what are the exact DirectX axis of each of your throttle rotary, and assign them in the same way as the throttle axis, using this file. This way, they will be saved as well Use the guidelies at the beginning of the files, and check the examples in the file to know what to do.
Of course, this also applies for any other device you want to plug in as well ! -
-
For some reason, it doesn’t let me deassign pitch and roll deadzone. I can’t change those at all. I’m gonna have to try and edit that file.
Anyway, I’m probably starting to understand how it works for the button assignments. For example the pinky switch gives me “SOI-FOV Cycle”, MSL STEP gives me “wpn-missile hardpoint cycle”. They’re not exactly what I expect them to be, but it’s rather the actual funcion in the F-16.
This is a screenshot of the HUD software in the throttle calibration. Probably useless, but I put it anyway.
EDIT 2: In Windows’ test page I can indeed see that the axes are X and Y. The Z axis is actually a rotary on the throttle. But even in the test page the cross starts on the bottom right with throttle idle, and moves to top left with full throttle.
-
Ok, here’s what I have in DeviceDefaults.txt
# USB Game Controller #GUID = {000507B5-0000-0000-0000-504944564944} # Now please add the axismappings for this controller here and REMOVE the '#' before the GUID inr order to activate them ! You may remove this line then. # Saitek Pro Flight X-55 Rhino Stick #GUID = {22150738-0000-0000-0000-504944564944} # Now please add the axismappings for this controller here and REMOVE the '#' before the GUID inr order to activate them ! You may remove this line then. # Saitek Pro Flight X-55 Rhino Throttle #GUID = {A2150738-0000-0000-0000-504944564944} # Now please add the axismappings for this controller here and REMOVE the '#' before the GUID inr order to activate them ! You may remove this line then. # Saitek Pro Flight X-55 Rhino Stick #GUID = {22150738-0000-0000-0000-504944564944} # Now please add the axismappings for this controller here and REMOVE the '#' before the GUID inr order to activate them ! You may remove this line then. # Saitek Pro Flight X-55 Rhino Throttle #GUID = {A2150738-0000-0000-0000-504944564944} # Now please add the axismappings for this controller here and REMOVE the '#' before the GUID inr order to activate them ! You may remove this line then. # Saitek Pro Flight X-55 Rhino Stick #GUID = {22150738-0000-0000-0000-504944564944} # Now please add the axismappings for this controller here and REMOVE the '#' before the GUID inr order to activate them ! You may remove this line then. # Saitek Pro Flight X-55 Rhino Throttle #GUID = {A2150738-0000-0000-0000-504944564944} # Now please add the axismappings for this controller here and REMOVE the '#' before the GUID inr order to activate them ! You may remove this line then. # Saitek Pro Flight X-55 Rhino Stick #GUID = {22150738-0000-0000-0000-504944564944} # Now please add the axismappings for this controller here and REMOVE the '#' before the GUID inr order to activate them ! You may remove this line then.
USB Game controller must be the old Thrustmaster USB stick that I used. Should I delete it?
And then, as you can see, there are 4 stick and 3 throttle for the X-55.
How do I know which one I have to modify? I hope it’s not with trial and error…
EDIT: Fixed it! Here’s how I did.
When you set the throttle, you want to make sure that Falcon’s menu is set to keyboard. It’s strange, I know.
Then, in advanced menu, just set the X axis of the throttle as throttle.
It’s also saved. I quit Falcon and launched it again, and everything was ok.
Now I can keep going with the setup. Maybe I’ll find some other problem, but I hope not.
Thanks l3crusader for the time you spent in writing those post to help me. I immediately got a small better understanding of how BMS works, and now I’m going to study all that stuff about callbacks.
-
Happy to be of help
Good luck !
-
Ok, a (not so) small correction.
You have to set everything up with the menu set as keyboard. Otherwise the throttle will work, but the stick won’t. So set it as keyboard and assign manually all the axes of both stick and throttle.
Apparently, BMS doesn’t like it when stick and throttle are two completely separate devices, with their own connection. At least it looks so.
I’m finding out all these things as I try, and I’m posting it here because maybe someone will have the same problem and they can see the solution quickly.
Now, if anyone knows how to program the nipple to use it to slew radar cursors, that would be great.
-
Thank you, Fox-3, that hint was extremely helpful. Couldn’t properly assign the throttle axis before; got all primary flight controls working now. This should be made a separate thread in the X55 section, as other users installing the X55 will have the same problem.
Sigmar
-
I’m glad to be helpful. It really is a bit more complicated than I expected, and I lost about an hour before figuring out how to set it.
Since I’m writing this post, I’d like to explain a couple of things.
First of all, what “l3crusader” said about reassigning the axes every time is partially true. If you set everything as keyboard as I said, then close Falcon and launch it again, you’ll see in the controller menu that falcon automatically selects X-55 stick.
Now, if you leave it like that, you won’t have problems, you can check everything from that screen. Your stick, X and Y axes, the Z axis on the stick (rudder) and you can see the throttle and set AB.
BUT if at this point you change the controller to anything other (throttle or keyboard), then it will indeed reset everything, so you have to set it again as keyboard and assign the axes again.
As long as you don’t touch the controller selection in the menu, and you leave it as X-55 stick, like in the following picture, everything will be OK. You can check everything and you can assign button of your hotas directly from Falcon’s menu.
I recommend creating another key file, as you can see I created “X55.key”. Just save your settings with the name you want.