BMS Key File Help
-
awesome initiative!! Looking forward to the kolbe/danny combo keyfile! Are the differences between your approaches worthwhile to wait for?
If you are a new player, my file is better.
If you are already familiar with the cockpit layout, finding a specific key is better with Kolbe’s file.
My file is designed for an easy learning curve, so it gives you the controls in the same order a new real life pilot learns.
Read the key file with a text editor (like Notepad), it has a lot of documentation of what each callback is actually doing.
My work is still a WIP because some of the callbacks are buggy/needs coder attention. -
Hi,
unfortunately I had due to busy rl no time to get in touch with DANNYCOH.
But meanwhile I did some work on my stuff. From what I can say now there won’t be any changes regarding to the keyboard layout and the main structure of the key files. So they are save for future use. I will only incorporate some of his ideas.
Furthermore on my to do list (to name a few)…
- Documentation on how to edit Duncs Dx part
- callback description based on the keyfile-generator
- some more options in the keyfile_options.key
- Description of tmm / tmj files (also Duncs work)
So there is no need to wait for anyhing.
I think, it won’t be possible to combine both approaches into one key file.Btw., I would never make a statement on which key file etc is the best, because it depends too much on the preferences of the users.
If you like my work, you are free to use it. If not, use other files. Your choice. Quite simple
Regards
-
besten Dank!
-
Kolbe, awesome work! I’d like to make a few personal changes, and I understand most of what you wrote in the document. What I don’t understand is the way you describe how to change the POV unshifted function. I’ve exchanged the few lines of callbacks, and I now indeed have TRIM in the unshifted POV hat positions. But I want to add a functions to the shifted part.
This is what I put in the place of the original code as per your instructions:
AFElevatorTrimUp 0 -1 -3 0 0x0 0
SimDoNothing 0 -1 -3 1 0x0 0
AFAileronTrimRight 0 -1 -3 2 0x0 0
SimDoNothing 0 -1 -3 3 0x0 0
AFElevatorTrimDown 0 -1 -3 4 0x0 0
SimDoNothing 0 -1 -3 5 0x0 0
AFAileronTrimLeft 0 -1 -3 6 0x0 0
SimDoNothing 0 -1 -3 7 0x0 0I have 2 questions about this. First, the bold numbers…. why are these 0, I thought those indicated the DX button number on the stick? And DX button 0 being Trigger 1?
Second question is about the lines in between: the SimDoNothing parts. Can I put a different callback there to add shifted functionality to the HAT UP (shifted)? -
Excellent work on the key file Kolbe, One thing that users should be aware of with this key file is a small change to an old keystroke, which could have catastrophic consequences for you.
On my first attempt with this file, like countless times before in MP TEs I hit [Shift]+ to open a chat window and confirm “In the Pit”
On take off I was unable to pullup and subsequently crashed at the end of the runway.The problem is that [Shift]+ now invokes SimToggleTFR … not a good idea to invoke TFR on takeoff
and [`] is the new Open Chat window.Good idea, but little changes like that may be worth mentioning, as the first time a user may notice it will likely be in their next MP flight.
I have left it as it is and have mapped my TIR and VAC stuff in as well along with some minor personal tweaks like inverted ICP to match the in pit number sequence and put Comm1 [Numpad /] and Comm2 [Numpad*] as its handy for all that channel changing.
-
Killer, you obviously didn’t fly AF, not with the default .key anyway
But can anyone please help me out. I can’t figure out how to change the shifted POV functions. This code makes the TRIM function unshifted (that’s what I want):
AFElevatorTrimUp 0 -1 -3 0 0x0 0
SimDoNothing 0 -1 -3 1 0x0 0
AFAileronTrimRight 0 -1 -3 2 0x0 0
SimDoNothing 0 -1 -3 3 0x0 0
AFElevatorTrimDown 0 -1 -3 4 0x0 0
SimDoNothing 0 -1 -3 5 0x0 0
AFAileronTrimLeft 0 -1 -3 6 0x0 0
SimDoNothing 0 -1 -3 7 0x0 0Now I want to add FOVToggle to shifted POV up. I tried this:
AFElevatorTrimUp 0 -1 -3 0 0x0 0
FOVToggle 0 -1 -3 1 0x0 0
AFAileronTrimRight 0 -1 -3 2 0x0 0
SimDoNothing 0 -1 -3 3 0x0 0
AFElevatorTrimDown 0 -1 -3 4 0x0 0
SimDoNothing 0 -1 -3 5 0x0 0
AFAileronTrimLeft 0 -1 -3 6 0x0 0
SimDoNothing 0 -1 -3 7 0x0 0But it doesn’t work. Is it possible at all to change the shifted POV functions using Kolbe’s key file? I’ve been trying for 2 evenings, but I can’t figure it out. The other buttons are easier: add 256 to the DX button number. But the POV hat is different
-
Killer, you obviously didn’t fly AF, not with the default .key anyway
Well I had’nt flown AF in years, too busy testing this beast, notwithstanding that, I just wanted to point it out to similar veterans of the original Falcon and its offspring who may not have been aware.
But can anyone please help me out. I can’t figure out how to change the shifted POV functions. This code makes the TRIM function unshifted (that’s what I want):
AFElevatorTrimUp 0 -1 -3 0 0x0 0
SimDoNothing 0 -1 -3 1 0x0 0
AFAileronTrimRight 0 -1 -3 2 0x0 0
SimDoNothing 0 -1 -3 3 0x0 0
AFElevatorTrimDown 0 -1 -3 4 0x0 0
SimDoNothing 0 -1 -3 5 0x0 0
AFAileronTrimLeft 0 -1 -3 6 0x0 0
SimDoNothing 0 -1 -3 7 0x0 0Now I want to add FOVToggle to shifted POV up. I tried this:
AFElevatorTrimUp 0 -1 -3 0 0x0 0
FOVToggle 0 -1 -3 1 0x0 0
AFAileronTrimRight 0 -1 -3 2 0x0 0
SimDoNothing 0 -1 -3 3 0x0 0
AFElevatorTrimDown 0 -1 -3 4 0x0 0
SimDoNothing 0 -1 -3 5 0x0 0
AFAileronTrimLeft 0 -1 -3 6 0x0 0
SimDoNothing 0 -1 -3 7 0x0 0From the article DirectX Shifting Facility, always a good read BEFORE you start messing around with DX.
[h=2]–----------------------------------------------------------------------------------------------------------------------------------------
DirectX POV Hat Shifting[/h] [h=3]Concept and Usage[/h] The shifting of POV hat buttons follows the same concept as shifting DX buttons. It uses the same shift callback that has already been defined for DX buttons. Only difference is that the shifting offset for POV hats is fixed to 2.Example: The 1st POV hat should be used for view panning when used unshifted, and for trimming when used shifted. The keyfile would need to contain the following entries to achieve this behavior:
AFElevatorTrimUp 2 -1 -3 0 0x0 0
AFAileronTrimRight 2 -1 -3 2 0x0 0
AFElevatorTrimDown 2 -1 -3 4 0x0 0
AFAileronTrimLeft 2 -1 -3 6 0x0 0The 2 is composed from POV hat #1 (0) plus the fixed 2 shift offset. So the usage of the shift button effectively promotes the 1st POV hat to act as a 3rd (virtual) POV hat. The directional numbers do not change.
Note: It is not necessary to explicitly map the default view panning behavior to POV hat #1 (0), as every hat which is not mapped defaults to view panning behavior.
[h=2]–----------------------------------------------------------------------------------------------------------------------------------------[/h]
Hope that helps, I havent tried to play with it myself, I left it as POV (Unshifted) and Trim (Shifted) just in case TIR blows a gasket and I need to look around the old school way. -
Well I had’nt flown AF in years, too busy testing this beast, notwithstanding that, I just wanted to point it out to similar veterans of the original Falcon and its offspring who may not have been aware.
I understand. I’ve not quite gotten used to Kolbe’s choice for FPS CTL+C+F. It’s still CTL+Z+R for me I just wanted to point out Kolbe most likely made the file with familiair keystrokes (to him) in mind, which were default AF ones. ` key was the default text button in AF.
But thank you very much for pointing that article out to me. I never noticed those articles before, I always go straight to the forums…. silly me. Very informative!
-
Hi folks,
besten Dank!
Gerne doch
Excellent work on the key file Kolbe,
Kolbe, awesome work!
Thank you guys
One thing that users should be aware of with this key file is a small change to an old keystroke, which could have catastrophic consequences for you.
On my first attempt with this file, like countless times before in MP TEs I hit [Shift]+ to open a chat window and confirm “In the Pit”
On take off I was unable to pullup and subsequently crashed at the end of the runway.The problem is that [Shift]+ now invokes SimToggleTFR … not a good idea to invoke TFR on takeoff
and [`] is the new Open Chat window.Good idea, but little changes like that may be worth mentioning, as the first time a user may notice it will likely be in their next MP flight.
He, he.
Dear Killer. You have not Read The FM?
It is mentiond twice (in my documentation), that the keylayout has changed and “is not comparable to other versions before.” :uham:What I don’t understand is the way you describe how to change the POV unshifted function. I’ve exchanged the few lines of callbacks, and I now indeed have TRIM in the unshifted POV hat positions. But I want to add a functions to the shifted part.
…
I have 2 questions about this. First, the bold numbers… why are these 0, I thought those indicated the DX button number on the stick? And DX button 0 being Trigger 1?
Second question is about the lines in between: the SimDoNothing parts. Can I put a different callback there to add shifted functionality to the HAT UP (shifted)?Killer gave you a link to the DX Shifting Facility article, which is a must read of course. Maybe I should place a Link in my document which can’t be missed
The POV hat has always it’s own syntax. It is explaind quite well in the DX article.If you want to use both layers (unshifted TRIM / shifted SOMETHING ELSE) you should do this:
Delete the following lines in the key file (They set TRIM to shifted layer):
AFElevatorTrimUp 2 -1 -3 0 0x0 0
SimDoNothing 2 -1 -3 1 0x0 0
AFAileronTrimRight 2 -1 -3 2 0x0 0
SimDoNothing 2 -1 -3 3 0x0 0
AFElevatorTrimDown 2 -1 -3 4 0x0 0
SimDoNothing 2 -1 -3 5 0x0 0
AFAileronTrimLeft 2 -1 -3 6 0x0 0
SimDoNothing 2 -1 -3 7 0x0 0Copy following lines into the key file (They set TRIM to unshifted layer):
AFElevatorTrimUp 0 -1 -3 0 0x0 0
SimDoNothing 0 -1 -3 1 0x0 0
AFAileronTrimRight 0 -1 -3 2 0x0 0
SimDoNothing 0 -1 -3 3 0x0 0
AFElevatorTrimDown 0 -1 -3 4 0x0 0
SimDoNothing 0 -1 -3 5 0x0 0
AFAileronTrimLeft 0 -1 -3 6 0x0 0
SimDoNothing 0 -1 -3 7 0x0 0If you need the shifted layer as well:
In most cases, the
- up-right
- down-right
- down-left
- up-left
positions of the 8-way POV hat are not needed. The SimDoNothing callbacks are used to act the POV as a 4-way (Coolie) hat AND to avoid unwanted actions, because the POV may have some default functions for the up-right…etc. positions.
So it is always a good idea, to set ALL unused DX buttons (shifted and unshifted) to SimDoNothing!
So, if you need TRIM in unshifted layer and want other functions in shifted, try this:
AddFunctionOfYourChoice 2 -1 -3 0 0x0 0
SimDoNothing 2 -1 -3 1 0x0 0
AddFunctionOfYourChoice 2 -1 -3 2 0x0 0
SimDoNothing 2 -1 -3 3 0x0 0
AddFunctionOfYourChoice 2 -1 -3 4 0x0 0
SimDoNothing 2 -1 -3 5 0x0 0
AddFunctionOfYourChoice 2 -1 -3 6 0x0 0
SimDoNothing 2 -1 -3 7 0x0 0Replace AddFunctionOfYourChoice by a callback (guess what?) of your choice…
That’s all
I’ve not quite gotten used to Kolbe’s choice for FPS CTL+C+F. It’s still CTL+Z+R for me
Leech, ts ts ts. The next beer on the next LLTM is on you, mate
If this is correct, you are using definitely the wrong key file! It works fine…
With ALT-C : F (See key file in UI and keylayout pdfs)I just wanted to point out Kolbe most likely made the file with familiair keystrokes (to him) in mind, which were default AF ones. ` key was the default text button in AF.
No, my key file is not based on anything. It is revamped completely with some (ok, maybe things you are familiarized with) exceptions.
Btw, I am working on an update. I fixed some minor issues, implemented more info, revamped the keyfile-generator file and now I try to implement Duncs DX part to other HOTAS systems.
3-4 weeks, as usual…:uham:Regards
Kolbe
-
I meant, in my head it’s stil CTL+Z+R for me. Trust me, I’m using your file. Finally I’m able to program my own stickfile. I’m just customizing it. Using Foxy I’ve never been able to do what I am doing now, I could never get the hang of it.
And thanks, I’ve now implemented functions in the shifted POV mode.
-
Hi Leech,
that’s strange.
I’ve just checked it twice now and I can’t find a reason, why it should’nt work this way.
What happens, if you use CTL+Z+R (And with ALT+C : F)?
Which HOTAS do you use?
Does anyone else have this problem?
EDIT:
After reading your post again…
I got you wrong…F…k,
next beer is on me???
-
Dear Killer. You have not Read The FM? It is mentiond twice (in my documentation), that the keylayout has changed and “is not comparable to other versions before.” :uham:
-
:uham:
-
Sorry for the confusion Kolbe. You file clearly says ctl c f for fps. That totally works. But i’m just too used to ctl z r, that in my head the fps display is still ctl z r… So, there is no problem but my head
-
Hi, I got the same issue as LeechNL, spend quite a bit of time, but can’t get a trim response from the hat 1 of my cougar. all the other commands, DX and shifted DX work fine.
Here all the related commands from the modified dunc’s keyfile. Maybe there’s something wrong here.
Red - ensures the unshifted edge buttons on the hat do nothing,
Blue - ensures all the shifted buttons on the hat do nothing
Green - maps the elevator and aileron trim buttons.
Black - trim related command lines for completeness.[b][color]SimDoNothing 0 -1 -3 1 0x0 0 SimDoNothing 0 -1 -3 3 0x0 0 SimDoNothing 0 -1 -3 5 0x0 0 SimDoNothing 0 -1 -3 7 0x0 0 [/color] [/b] [b][color]SimDoNothing 2 -1 -3 0 0x0 0 SimDoNothing 2 -1 -3 1 0x0 0 SimDoNothing 2 -1 -3 2 0x0 0 SimDoNothing 2 -1 -3 3 0x0 0 SimDoNothing 2 -1 -3 4 0x0 0 SimDoNothing 2 -1 -3 5 0x0 0 SimDoNothing 2 -1 -3 6 0x0 0 SimDoNothing 2 -1 -3 7 0x0 0 [/color] [/b] AFAileronTrimLeft -1 0 0X27 0 0 0 AFAileronTrimRight -1 0 0X2B 0 0 0 AFElevatorTrimUp -1 0 0XC 0 0 0 AFElevatorTrimDown -1 0 0XD 0 0 0 AFResetTrim -1 0 0XC8 1 0 0 SimTrimAPDisc -1 0 0X5 2 0 0 SimTrimAPDISC -1 0 0XFFFFFFFF 0 0 0 SimTrimAPNORM -1 0 0XFFFFFFFF 0 0 0 SimTrimNoseUp -1 0 0XC7 5 0 0 SimTrimNoseDown -1 0 0XCF 5 0 0 SimTrimYawLeft -1 0 0XD2 5 0 0 SimTrimYawRight -1 0 0XC9 5 0 0 SimTrimRollLeft -1 0 0XD3 5 0 0 SimTrimRollRight -1 0 0XD1 5 0 0 AFResetTrim 257 -1 -2 0 0x0 0 [b][color]AFElevatorTrimUp 0 -1 -3 0 0x0 0 AFAileronTrimRight 0 -1 -3 2 0x0 0 AFElevatorTrimDown 0 -1 -3 4 0x0 0 AFAileronTrimLeft 0 -1 -3 6 0x0 0 [/color][/b]
Any help / advice welcome.
Cheers.
Fish -
I’m still no expert, but could it be because you have the same function mapped twice?
AFAileronTrimLeft -1 0 0X27 0 0 0
AFAileronTrimRight -1 0 0X2B 0 0 0
AFElevatorTrimUp -1 0 0XC 0 0 0
AFElevatorTrimDown -1 0 0XD 0 0 0and
AFElevatorTrimUp 0 -1 -3 0 0x0 0
AFAileronTrimRight 0 -1 -3 2 0x0 0
AFElevatorTrimDown 0 -1 -3 4 0x0 0
AFAileronTrimLeft 0 -1 -3 6 0x0 0What happens is you remove the first part?
AFAileronTrimLeft -1 0 0X27 0 0 0
AFAileronTrimRight -1 0 0X2B 0 0 0
AFElevatorTrimUp -1 0 0XC 0 0 0
AFElevatorTrimDown -1 0 0XD 0 0 0 -
……could it be because you have the same function mapped twice?..
I believe extra lines for the trim above are for keyboard mapping, and came as default in dunc’s keyfile. It’s not a problem to have both a POV (or a DX) statement using the same callback as a keyboard (one only allowed) command.
Got my problem sorted. POV HAT was not enabled in foxy.
In Foxy i had disabled HAT1 as POV, to allow for mapping of DX buttons, but the mappings for the POV below are a special type of DX mappings, and require POV enabled on Hat1!!. So i just included a line in the tmj file
[color]'USE HAT1 as POV'[/color].
Now i think I know enough to implement Kolbe’s new keyfile.
-
Great work Kolbe, very nicely laid out keyfile
Quick typo for you, key “1” has “LMFD OSB 02” rather than “LMFD OSB 01” listed in the pdf.
Also, assuming Dunc doesn’t mind, it’d be great if you could include tmm/tmj files along with a version of his cougar setup instructions and joystick mapping doc. I know it’s straight forward to setup Dunc’s then your keyfile, just thinking about future users, even more so if this setup ships with the next BMS update (which I hope it does)
-
……Then feel free to download it and give it a try…I would be happy about some feedbacks, whether they are good or bad.
Kolbe
Hi Kolbe,
Thanks for all your effort. Just configured your file for DX callbacks, based on dunc’s profile, and it is very sweet indeed. I started off with the blank file, and just configured the ICP stuff for my P8000 + a few others. I don’t need many since its all clickable now!! Got everything for my stick as DX, except the TG1, which i left as DUNC has it for snapping between padlock and 3D.I noted something which might be just me or my install. When i compile the key file in BMS (load then save from the controller UI), i get all the SimDoNothing callbacks changed to SimRadarNextTarget. I tried it with the original file from your pack, and I got the same result. Not sure of the cause, but i expect the effect would only be felt if any of the SimDoNothing strings were assigned keys. Wanted to assign a key to one of my shifted DX keys for my TS PTT.
Cheers
Fish -
Hi,
Got my problem sorted. POV HAT was not enabled in foxy.
Would be nice to know, how you disabled POV in Foxy as there are several ways to do it (which means: Force the H1 hat not to act as default POV)
Usually it should not be necessary to add the code line USE HAT1 as POV.Great work Kolbe, very nicely laid out keyfile
Quick typo for you, key “1” has “LMFD OSB 02” rather than “LMFD OSB 01” listed in the pdf.
Also, assuming Dunc doesn’t mind, it’d be great if you could include tmm/tmj files along with a version of his cougar setup instructions and joystick mapping doc. I know it’s straight forward to setup Dunc’s then your keyfile, just thinking about future users, even more so if this setup ships with the next BMS update (which I hope it does)
Thank you.
I will change LMFD OSB 01 in my next update.Regarding to the instructions:
I will do so. I have excluded all Cougar relevant info into a separate pdf. Besides that I have a main manual (introduction to my key files, general DX stuff…), one pdf for the TM Cougar MFDs and now I’m working on instructions and necessary files for the Warthog. Not easy, 'cause I don’t have one(Btw: ZELEGEND, if you read this. Sorry! I was busy in rl. I will provide testing stuff soon, I hope… )
When i compile the key file in BMS (load then save from the controller UI), i get all the SimDoNothing callbacks changed to SimRadarNextTarget. I tried it with the original file from your pack, and I got the same result. Not sure of the cause, but i expect the effect would only be felt if any of the SimDoNothing strings were assigned keys. Wanted to assign a key to one of my shifted DX keys for my TS PTT.
Lol,
I have never expected, that someone would try to set keys for SimDoNothing
You are right, if you set keys (manually by editing the key file in an editor) you will have this result after next save in UI. In UI you are not allowed to change these SimDoNothings. Not without any reason. But thank you for this advice. I just checked my manual and expressed not clearly enough not to do this. So I will add this info in my update.
Maybe it was not clever to include those code lines into the key file.IMHO, there are only some possible solutions:
-
Edit the dunc.tmm/tmj
You can implement code to use TS with a button without loosing DX functionality.
If you need help, PM me. -
Use keyboard only
Boooring… We can do better -
Use the COM1 / COM2 callbacks
Just set the same keys in TS for broadcast and PTT (optional) as for COM1 / COM2.
You will either use TS or IVC, but most likely not both at the same time. When in “IVC mode” just mute your mike in TS (and optionally speakers as well). -
Use a not working callback with DX
For example:
The callback KneeboardTogglePage is not implemented right now. (There are several other callbacks which are not implemented atm) So if you assign a key, nothing will happen in game.
This callback can be assiged as a DX command in the key file. Problem is, that they are not safe for future use, 'cause we will (hopefully) have a working kneeboard in future releases or mods.
But I am wondering, if the callback SimRadarNextTarget is really bad at all?
Who cares if you have dozens of those callbacks in your key file without assigned keys?
If you have enabled realistic avionics in setup, this callback should do nothing, btw. (not tested)IMHO, this is worth to set it on the dev’s to do list:
- implement “fake” callbacks to use as DX commands for TS in the key file (or callbacks like recenter TRACKIR, which work)
or - teach the damn UI
nottochangethebloodycallbackswhenkeysareassignedtosimdonothing
Hope, I could help.
Regards
Kolbe
-