Callback Functions / SIMcalls
-
I am after an up to date list of call back functions or simcall list for inclusion in a program I am writing for the use of pilots for programming Joystocks and keyboards to the current list of commends. The keypad layout I have plus the keypresses.key file are out of date and need bringing up to the current patch level. My program will do that if one of the guys in the programming section can send me a complete and up to date list of sim and callback commands please.
Im also making a new keymap that will be able to be programmed and printed by the individual pilot.
Any assistance given will be gratefully received.
The newest list of call back functions is dated 2008 and I think things have moved on since then.
-
http://www.candyparty.com/ST/OF/callbacks/BMS_callbacks.pdf
FYI, typing BMS Callback in google bring this doc in first position
-
Thanks for that, but I already have it and it was made back when BMS was version 1 if memory serves.
I have a ton of documents regarding BMS and callbacks, the one thing I don’t have is up to date as in made last year or this year. But thank you for that one anyway but I already have it. I need an up to date one to find out whats been added, whats been removed over the years. The idea being to incorprate them in a program I am writing for the creation of Directx stick profiles for those of us who dont have the Cougar. It will I hope be good enough to even program them.
"This version is up to date with RC9 HF19
April 19th, 2011 "Case in point two callbacks that I know work, The DED switch right hand panel next to the joystick.
SimHUDDEDDown Moves the DED/PFL switch down and doesn’t toggle back (BMS4.0) Toggle down
SimHUDDEDUp Moves the DED/PFL switch up and doesn’t toggle back (BMS4.0) Toggle upSadly this too has been altered but the manual hasnt to keep up with it. BMS 4.0 is now a model nobody flies as we are all on 4.32 update 7 at this time. A lot has changed.
Even the BMS manual itself and Dash’s manual as well as the keypresses.key and joystick profiles some are dating back to SP4 or earlier in some cases. Case in point, directx calls from stick direct to sim now have a propogation digit of 8 instead of 1, 2 or 4 as the old Keyfile program throws back warnings about the number being wrong when a profile is loaded. The X-52 used to have a pinky switch on DX 5 its now on DX15, Things change and unfortunately the guys at BMS are too busy too support things like inferior HOTAS to the Cougar, then again, I have had a play with one and they are pretty awesome, but there’s no way I am spending that amount of money on a sim.
If necessary I think the Sidewinder 2 is still in production, may revert to one of those.
All information is welcomed though just in case Ive missed something, thanks for the post
-
Thanks for that, but I already have it and it was made back when BMS was version 1 if memory serves.
I have a ton of documents regarding BMS and callbacks, the one thing I don’t have is up to date as in made last year or this year. But thank you for that one anyway but I already have it. I need an up to date one to find out whats been added, whats been removed over the years. The idea being to incorprate them in a program I am writing for the creation of Directx stick profiles for those of us who dont have the Cougar. It will I hope be good enough to even program them.
Even the BMS manual itself and Dash’s manual as well as the keypresses.key and joystick profiles some are dating back to SP4 or earlier in some cases. Case in point, directx calls from stick direct to sim now have a propogation digit of 8 instead of 1, 2 or 4 as the old Keyfile program throws back warnings about the number being wrong when a profile is loaded.
All information is welcomed though just in case Ive missed something, thanks for the post
Have a dig through Kolbes folder in your BMS install, likely a fair bit of stuff in that that is news to you.
-
Yep, Red Dog list is exhaustive enough for me but I think Kolbe’s file are indeed better.
-> User -> Config -> Joystick -> Generic -> Kolbe -> BMS - Full.key should satisfy you then. Description will be short, of course.
-
Kolbe’s is the way to go, it’s the most complete out there.
Mine is outdated by now -
Takes a man to say that about his own work red dog
-
Sadly so is Kolbe’s that was written in 2011 and hasnt been updated since, however the callbacks and shiftstates have.
Ive stuck another post up to try and get the latest list of callbacks up including TRACK IR and various HOTAS specific calls even if they are only meant for the cougar. The X-52 stuff in the joystick information stops at directx 27 until you mess with the config file then the other directx functions come to light so you get all 32 button presses. Now if only i can find the shifted layer state number for it then that would be superb. But with 32 buttons thats more than enough in combination with the keyboard for flying falcon.
-
Sadly so is Kolbe’s that was written in 2011 and hasnt been updated since, however the callbacks and shiftstates have.
Ive stuck another post up to try and get the latest list of callbacks up including TRACK IR and various HOTAS specific calls even if they are only meant for the cougar. The X-52 stuff in the joystick information stops at directx 27 until you mess with the config file then the other directx functions come to light so you get all 32 button presses. Now if only i can find the shifted layer state number for it then that would be superb. But with 32 buttons thats more than enough in combination with the keyboard for flying falcon.
Shifted layer state is 256 above the un-shifted state.
As I understand it, BMS will recognize up to 8 controllers with 32 ‘buttons’ each in the unshifted layer. That is 8 x 32 = 256 unshifted ‘buttons’. So, for the shifted layer, the counter starts at +256 for any given controller.
This is all in Kolbes documents. They are quite comprehensive, even if they may be missing some call backs.
I will also venture to suggest that whatever you may be working on might be a better service to the community if you forego/drop/loose duplicate and/or legacy callbacks in favor of their ‘proper’ BMS counterpart. I.e., not ‘Jammer On’, but HOTAS CMS Down.
-
This is what ive read on the Directx gaming sites and on Microsfot forums as well. however, Whilst the math works, with Kolbes 8 devices, his manual goes into 12 devices so the boost number should be 384 according to the manual issued with the sim. So how to make the Joystick device 1 to 4 as these are the only available shifted states available above 384 as according to Kolbe’s manual BMS only recognises up to 512 thus leaving just devices 1 to 4 able to accept a shifted state.
Direct out of Kolbe’s manual
of device WIN DX # BMS DX # BMS shifted
Device 1 1 … 32 0 … 31 384 … 415
Device 2 33 … 64 32 … 63 416 … 447
Device 3 65 … 96 64 … 95 448 … 479
Device 4 97 … 128 96 … 127 480 … 511
Device 5 129 … 160 128 … 159 n/a
… … …
…
Device 10 289 … 320 288 … 319 n/a
Device 11 321 … 352 320 … 351 n/a
Device 12 353 … 384 352 … 383 n/aSo according to my keypress direct entries file, my stick is on device 8 so no shifted state can exist for it in BMS unless its been updated since Kolbe wrote the manual back in 2011.
-
OK. You’re correct and I mis-spoke or mis-remembered.
There are a TOTAL of 512 DX ‘buttons’ available. The 256 offset I’ve applied seems ‘typical’ but may not be a strict requirement. However it does appear that one can only have ONE ‘offset’ value for shift/non-shift states.
This may be more in line with what you’re asking: https://www.benchmarksims.org/forum/content.php?153-DirectX-Shifting-Facility
As I read it, you can have UP TO 16 devices and UP TO 512 commands. It looks like there may be some user configuration available on how to allocate those slots. For instance, 16 individual devices with 32 buttons each …. OR, 8 individual devices with 32 unshifted plus 32 shifted buttons each … OR … … whatever other combinations apply.
-
So just what are you trying to achieve Gyro? Your joystick wont work with a DX shift state? Id normally say just leave it that way, as the real SSC doesnt do shift states… but you can enable and disable that from the bms config file, as well as customise the gap between the shifted and unshifted functions.