Jump to content

Jeffu

Member - Officer
  • Posts

    42
  • Joined

  • Last visited

Blog Entries posted by Jeffu

  1. Jeffu

    Jeffu's Blog
    From the BMS forums:
    Required fixes!
    Following the following the report of multiple issues:
    Loss of flight performance in MP with some loadouts Graphical bug on missile trail launch Please apply the following lines on your “falcon BMS user.cfg” (User/config folder):
    https://forum.falcon-bms.com/topic/22302/temporary-fixes-for-4-36-0
    There is also a setting to enable a click sound for the afterburner detent:
     
    A-G Radar Changes (-34)
    The basic A-G systems have been made more realistic. They need range information in order to work correctly. The system can calculate the information it needs by using altitude information, or it can rely on a ranging sensor (A-G radar lock, TGP) to get the information it needs. (2.4.6, 4.2.9, 4.2.18)
    For visual modes (CCIP, DTOS), FCR slant range calculation uses either barometric altitude or the radar altimiter (BARO or RALT).
    For CCRP it will be best to use either precision steerpoints, or a sensor (A-G radar lock, TGP).
    The air to ground radar now has antenna elevation and azimuth control modeled. The A-G FCR will change the elevation automatically based on the cursor position and the plane's current altitude, but it is pilot adjustable if required. Antenna elevation can be calculated using either barometric altitude or the radar altimeter. (2.4.7)
     
    CCRP Changes (-34, 4.2.2, 4.2.13)
    Bomb lofting cues have been added.

     
    Laser Mavericks (-34, 4.3.10)
    The AGM-65L recreates the traditional Maverick MFD cues, despite not having an imaging sensor. The Maverick laser code must match the emitting laser, and the normal launch constraints of the AGM-65 still apply. The target must be lased for the entirety of the missiles flight.
    To change the laser code:
    Set the missile to BORE. Unlock the laser code by slewing the gimbal indicator over the "L" and pressing TMS Up. The L will change to a U. Using either TMS Left or OSB 7 (right side, second button), cycle through the polarity and after a few presses you will get to select the first number. The number will cycle automatically, select the correct number by pressing TMS Left or OSB 7 at the correct time. For each number you must cycle through the polarity again. Afterwards, press TMS Up again to lock the laser code. The U will be replaced by an L.

     
    HARM threat tables (-34, 4.4.1)
    Threat Tables are now customizable through either the DED or the data cartridge.

     
    HMCS RWR indicator (-34, 2.11.6.10)
    The HMCS now includes a directional RWR indicator. The gap in the circle represents your view, and the diamond represents the direction of the emitting radar.

     
    HMCS Alignment, A/G Markpoints (-34, 2.11.2, 2.11.6)
    The HMCS must now be aligned using the HMCS DED page (List->0->RCL->SEQ)
    For coarse alignment, press M-Sel (0), then align the HMCS cross with the cross on the hud and press Cursor Enable (Insert). Press M-Sel again to exit.
    For the other two alignments, press M-Sel to start, then slew the cross with the cursor until it is lined up, and then press M-Sel again to exit.
    https://www.youtube.com/watch?v=acciwGQDlVE
     
    Lighting
    The exterior lighting panel is now fully implemented.
    Anti-Collision now supports all settings. 1 through 4 are flashes in sequence, A through C are in Morse code.
    Wing/Tail and Fuselage settings are now separate, and both bright and dim settings are supported.
    Formation light brightness is implemented.
    Covert settings are implemented. ALL sets all lights to covert, A-C sets the anti-collision light to covert, FORM sets the formation and Wing-Tail lights to covert.
    The Aerial Refueling light will activate when the knob is turned up and the refueling door is open.
     
    Gunsight Changes (-34, 2.4.5)
    https://www.youtube.com/watch?v=6-Ma3l9onjw
     
    Drogue refuelling
    https://www.youtube.com/watch?v=mjlUeAStyzw
     
    JTAC
    Too long to cover here, see BMS-Training.pdf Mission 27.
  2. Jeffu

    Jeffu's Blog
    I write this so we have something to point new people to.
    This will be a quick how-to regarding keybindings for players new to BMS and unsure of what controls need to be bound. Also explained will be a vital control mechanic in BMS known as the Pinky Shift button, and how this will help you when you don't have $500 to blow on a new stick.
    Anybody used to a universal "do this" buttons as found in any normal video game needs to know that every in-game control mimics a control in the real F-16, and many of them serve multiple purposes. Attached in image format is a list of buttons on the real F-16 HOTAS, their functions and their in-game callbacks.




     

    For those who don't yet know what the above is and what it means for you, below is a basic rundown of callbacks, how important they are and what they do. As I rarely use the keyboard, I can't say what the keyboard binding for any of these would be. For those with not enough buttons it's perfectly fine to put things wherever you want them, as long as they're easy to remember and (preferably) make sense logically:
    Vital keys:
    SimTriggerSecondDetent = Gun SimPickle = Weapon Release SimTMSUp = Target Select / "Do" button SimTMSDown = Target Deselect / "Undo" Button SimDMSDown = Switch SOI (Switch MFD) SimMissileStep = Change weapon / pylon / bombing mode SimRadarElevationUp = Raise Radar Altitude SimRadarElevationDown = Lower Radar Altitude SimDropProgrammed/SimCMSUp = Drop countermeasure prgms. 1-4 SimToggleMissileCage = Cage / Uncage Sidewinder seeker, remove maverick cover SimHotasPinkyShift = Zoom / change FOV when press, acts as shift button when held SimCMSRight = ECM Standby SimCMSDown = ECM Consent SimSelectSRMOverride = Dogfight override mastermode SimDeselectOverride = Cancel override Hat Switch:
    SimCursorUp = Radar cursor SimCursorDown SimcursorLeft SimCursorRight (Recommendation) Shifted Hat Switch:
    SimTransmitCom2 = Transmit VHF Radio SimTransmitCom1 = Transmit UHF Radio SimCommsSwitchLeft = A-A Datalink Transmit (not as important for beginner) SimCommsSwitchRight = A-G Datalink Transmit (not important for beginner) Brakes:
    SimWheelBrakes = Wheelbrakes (K by default) AFBrakesToggle = Toggle airbrakes Or:
    AFBrakesIn = Airbrakes retract AFBrakesOut = Airbrakes extend  Useful, not vital:
    SimDMSLeft = Cycle left MFD pages SimDMSRight = Cycle right MFD pages SimSelectMRMOverride = Missile override mastermode, for quick A-A use SimSpotLight = Cockpit spotlight, comes on with battery power, recommend bind to keyboard Things I've never used:
    SimDMSUp = Change SOI to HUD For users with no head tracking I highly recommend never using the hat switch for viewing and learning to use the mouse effectively instead, as it frees up the hat switch for vital functions. By default, one can look around by holding down the right mouse button, and can drag the head around using the middle mouse button.
    The pinky shift mechanic in BMS allows the pinky button on the F-16 HOTAS to function similar to the shift button on your keyboard, or the function button on some laptops. Just as the keyboard shift button allows other buttons to have multiple uses, the pinky shift mechanic allows you to effectively have two callbacks assigned to one joystick button and allows you to access the second callback by holding down SimHotasPinkyShift and pressing the desired button.
    SimHotasPinkyShift must be assigned twice to the desired shift button, as the act of pressing the shift button will shift the shift button too, and the game will not recognize the release of the button unless the callback is present in both the normal and shifted states.
    The only issue is that this mechanic is not accessible through the in-game setup screen (the in-game editor has other issues as well, one being that it does not actually show the correct callback names). To make use of it, one has to resort to using spreadsheets included with the game, third party editors (linked below), or modifying the keyfile by hand.
    The best way of binding your controls is currently the Alternative Launcher, which takes the place of the stock BMS launcher and has more functionality.
    https://github.com/chihirobelmo/FalconBMS-Alternative-Launcher/releases
     
    Other References:
    https://codex.uoaf.net/index.php/Controllers
     
    Quick HOTAS Setup.key
     

    See Also: 
     
  3. Jeffu
    The release of 4.35 brings updates to realism to the aircraft, weather and A-G combat. In this post I'll cover the basic things necessary to get people flying in the new release. All images are from BMS manuals.
    Part 1: Procedural changes
    Canopy update (-1, 1.2.1.16): Canopy switch and yellow spider are now separate.

    The canopy switch is no longer a toggle, the canopy is now raised with a left click and lowered with a right click. Clicking on the yellow spider inflates the seal around the canopy to allow for cockpit pressurization, and also acts as a safeguard for the canopy switch. Please note the switch is not visible after a left click.
     
    JFS 1&2 (-1, 1.2.1.13): Both Jet Fuel Starter switch positions are now modeled.

    The JFS works by venting one or both hydraulic accumulators to a hydraulic start motor. The START1 setting is less powerful as it uses only one hydraulic accumulator at a time, and has a 50/50 chance of starting the engine successfully. Using only one accumulator at a time means that you get a second chance at starting the engine.
    The START2 setting uses both hydraulic accumulators and has a higher chance of starting the engine, but this means you only have one chance at engine startup before you need to ask ground crew to recharge the JFS.
    A solid green JFS run light after ~15 seconds indicates a good JFS start. No green light after engaging the JFS means it has failed to reach operating speed. A slow JFS light flash (1/sec) indicates JFS overheating, and a fast flashing light indicates JFS failure.
     
    Anti-Ice (-1, 1.2.5.10, 1.6.4): Engine icing is now implemented.

    The ANTI-ICE panel has a three-position switch to control engine anti-ice (OFF-AUTO-ON). Anti-ice is turned on manually during engine start to verify operation, and set to Auto for flight. Use of engine anti-ice will lead to higher engine temperatures (FTIT) and lower engine performance.
     
    Brakes & Hydraulics (-1, 1.2.2.6, 1.13):

    DN LOCK REL button is now implemented. This button is a bypass for the safety mechanism (a solenoid) that prevents raising the landing gear while on the ground. In the event that the safety mechanism fails it may prevent lowering of the landing gear in-flight. BRAKES channel switch is now implemented. Both Channels 1 and 2 are redundant, but only Channel 2 has an alternate power source. The PARKING BRAKE switch ANTI-SKID option is now implemented. The middle position is anti-skid on, the down position turns off all anti-skid functions for brake channel 2 and turns off only touchdown anti-skid for channel 1. Anti-skid is only available once exceeding 12 kts ground speed and will stay available until under 5 kts. Maximum braking at slow speed will not trigger anti-skid and may blow a tire. Arrestor cables now implemented. BMS 4.35 implements working arrestor cable systems at non-generic airbases.
  4. Jeffu
    Airbases, Datalink changes, IFF and more.
    Airbase operations
    An expected update, airbases now have dedicated ground, tower, and arrival/departure frequencies and menus.
    Airbases now handle traffic differently, both on the ground and in the air. Airbase ground control will issue better taxi instructions, and will hand you off to the tower frequency when you reach the runway.
    This is all handled automatically through the briefing process, using the data cartridge to assign each frequency to a predetermined preset, which you can view in the briefing window in brackets.
    From the manual:
    "#2, #3, #4 for communicating with the home airbase as you fly out
    #5, #6 for communicating in flight on the tactical net with AWACS for instance (with #13 if doing an AAR)
    #4, #3, #2 for communicating with the home airbase ATC upon your return."

    In addition to the chocks holding the aircraft in place, there is also an EPU ground safety pin that must be pulled before takeoff in the ground control menu.
    Once you take off, you will be handed off to the departure frequency where you inform them of your flights airborne status and receive departure instructions.
     

    Engine temperatures
    The engine starting procedure can now fail due to pilot error. Moving the throttle out off the cutoff position before the engine reaches 25% RPM will cause a hot start condition with engine temperatures exceeding ~700C, requiring the engine to be shut off and allowed to cool.
    To cool off the engine, you can return the throttle below idle cutoff and leave the JFS running.
    There is also a chance that this may happen randomly, so you need to keep an eye on engine temperatures during startup.
    The JFS can run for 4 minutes before overheating and 8 minutes before failing. It can now be recharged by the ground crew.
     

    Engine Oil
    Engine oil pressure can fail to rise high enough to run the engine.
    If the HYD/OIL stays illuminated and the oil pressure stays below 15 psi then the engine must be shut down and allowed to cool before attempting to restart.
     

    IFF has now been added
    IFF is meant to determine friendly or bogey status, and has two separate parts: an interrogator that asks for IFF codes from airborne contacts, and a transponder that responds to requests from other aircraft.
     

     
    TL;DR Leave the knob on Norm when in flight. IFF requests are made using TMS Left when the FCR is selected. You can change mode requests on the left side of the FCR near the bottom. Options are M1, M2, M3, M4 and M+ (which requests all 4). The most useful modes will be M1 and M4. Correct responses will be green circles, incorrect responses will be yellow squares. Incorrect responses do not mean that a contact is an enemy. 
    IFF codes will change over time. Your transponder will take care of this on its own, but to make sure you interrogate for the latest codes make sure you go to the INTG page in the DED (LIST -> RCL) and hit 9 so that the DCPL in the bottom right changes to ALL. This will couple the interrogator to your transponder.

    Manual time for nerds:
     
    M1 is assigned to a team. All the allies share the same code, which is changed every hour as stated in the TIME events.
    M2 is specific to each aircraft. All aircraft have a different M2 code, which does not change.
    M3 is specific to each aircraft as well but (unlike M2) rotates every hour.
    M4 is always assigned per team and the encryption key rotates every 24 hours.

    If a contact responds to interrogation correctly then a green circle with the requested mode will appear in the contacts location on the FCR and HSD. The contact does not have to be visible on radar to respond.
    Note that some modes listed above are per team, and others are per aircraft. A contact that you interrogate will not respond correctly to M2 or M3 requests unless you tell your interrogator to look for the response from that specific aircraft.
    This means that a friendly aircraft might respond to M1 and M4 requests correctly, but not M2 or M3.
    IFF codes change over time, you can see the full details in your briefing screen, but long story short is you don't have to worry about it:
    Luckily you do not have to manually input all these settings in the jet; your DTC is pre-programmed
    with all the briefed settings. Therefore if you do not change any IFF settings manually, the time and
    position criteria will be defined as per the brief and the IFF settings will change accordingly. All you
    have to do is turn the IFF MASTER knob to STBY at ramp and turn it to NORM upon taking off.
     
     

    Datalink changes mean scrubs need to git gud
    The -34 includes the following line in section 1.5.2: 
    Note: IDM operates over VHF or UHF radio, so you cannot transmit on VHF or UHF and send/receive data link transmissions over the same radio at the same time.
    This means that you cannot rely on the continuous datalink mode available on the FCR page to do everything for you if you want to use the radio, and you will have to request datalink info manually with Comms Left.
    The manual says:
    Once powered up, LIST → ENTR will select the A-G DL page. There are now 4 selectable options on this page:
    COMM (UHF/VHF): this option toggles which radio A-G datalink messages will be transmitted over. Note:
    everyone must be on the same frequency, whichever radio is used. By default VHF is used for A-G datalink,
    with UHF used for A-A (INTRAFLIGHT) datalink messages. This can be toggled by moving the * * asterisks
    around VHF/UHF using the DCS switch and pressing a number key 1-9 on the ICP.
    Note: while humans can use any radio/frequency, AI are always on UHF TACTICAL (UHF PRESET 6 by default).
     
    More to come.
  5. Jeffu
    Updated for 4.34
    Text about purpose of blog post
    One aspect of getting involved in Falcon that can't be learned or prepared for in single player is the configuration and use of voice comms.
    Here I attempt to describe basic and advanced configuration and use of IVC.
     
    Setting up the IVC Client
        
        Basic Setup
    Input and Output             In the "Sound Devices" section at bottom of IVC Client program, select your microphone in "Capture" list and speakers/headphones in "Playback" list.
                This is usually the only required setup step, and if you have the correct things set as the default devices to use then even this should take care of itself.
     

     
        Advanced Setup, in \Bin\x64\IVC\IVC Client.ini
        Inserted at the bottom of this section is my own configuration file
    Sidetone and sidetone accesories             We can add a Sidetone that will let us hear our own voice when we transmit. We use the "tone = " option in the .ini, and set it to "loop:#", where # is a number.
                To find this number, right-click on the volume icon and select playback devices. Click on your playback device of choice (here it is "Speakers"), and in the "levels" tab find your microphone.
                Each entry has a number starting from 0 at the top, and in this instance our microphone would be 1.
     

                
                
                Following the above, we would set our loopback in the .ini file using "tone =  loop:1".
                
                We can also use "toneVol" option to raise or lower the sidetone volume. Usable values as defined in the manual are +6 to -6. I use "toneVol = +6".
     
    Loudness             Setting "loudness = 1" adds compression to incoming audio, making it easier to hear other players.
     
    Outsiders             Using "outsiders = all" is the best option for listening to players who are in 2D while we are flying. Other options are detailed in BMS-Manual.pdf on pages 257-258.
     

     

    Using IVC in the map screen
    Connecting         When connecting to the server, enter the IP address of the IVC server as well. Once clicking connect, the game should take control of the IVC Client window and connect to the IVC server automatically.
            For most users it's not necessary to touch the IVC Client window beyond the initial setup steps.
     
    F1 and F2         Once in-game and connected to the server in 2D, the F1 and F2 keys let us communicate by voice to others who are either in 2D with us, or in the cockpit and have their UHF radios tuned to preset 14.
            F1 will communicate with anybody in-flight who is on the UHF 14 preset, F2 is for people hanging out at the map screen only.
            Make sure you use the right one, if you have a conversation in 2D using F1 then people in-flight will be able to hear you.
     

    Using IVC in flight
    Coordinating with other players         None of this is useful unless everybody knows how stay in contact with everybody else. 
            Members of each flight need to know what VHF channel to use to talk to one another, and multiple flights should know which UHF channel to use to coordinate with one another.
     
    Using preset channels         We normally use preset channels for radio comms. By default the F16 has a frequency assigned to each preset, we don't normally change any presets after the 4.34 update.
            To change preset using the ICP, press COM1 for UHF or COM2 for VHF and type in a preset, 1 to 20, and press ENTR.
            For most uses UHF is set to 6 normally, or 14 to talk to people in 2D.
     
    Using frequencies         We use sometimes use frequencies when having radio problems, sometimes there are issues with somebody's presets and they have a preset assigned to a different frequency.
            To change frequency, press COM1 for UHF or COM2 for VHF and type in a frequency, without the decimal point. 
            For example, to dial in the Kunsan tower frequency (292.3) we would type in 2923 and press ENTR.
     
    Talking         Once we're in the cockpit, we use the Comm switch to broadcast on UHF or VHF. When we do, either UHF or VHF will be highlighted in the DED depending on which one we're using. 
            See the first "Keybindings for new players" post for more details on the Comm switch.
     

     
    Comms volume         Comm1 volume is for UHF, used mainly for inter-flight comms and for AWACS. Comm2 is VHF and is used for communicating with your flight.
            The tiny volume knob on the backup UHF panel balances the volume between AI radio comms and player voice comms.
     



     
    Guard frequency         UHF guard frequency is 243.0 MHz, all UHF receivers also listen to guard frequency by default, making it useful if we need to transmit to as many people as possible.
            VHF has a guard frequency as well but people must choose to listen to it.
            We can transmit on Guard by switching either COMM mode knob to "GD".
     

     
     
    Backup Radio         87th Tripp made a good video on the backup radio.
     
  6. Jeffu
    The goal of BVR is to kill the other guy without him killing us back.
    That's pretty much it.
    We'll start with the weapons. There are missiles like the AIM-7 that require constant radar guidance in order to hit their targets, and there are missiles like the AIM-120 that don't. The former is mostly useless and easily defeated. We only care about the latter type here.
    The 120 is initially guided through datalink from the firing aircraft, until it reaches the point where the missiles own radar can take over and guide it to the target aircraft. This doesn't always have to be the case though. If the firing aircraft cannot maintain missile guidance, the missile will attempt to guide itself using the target aircraft's last known position and heading.
    This makes the AIM-120 sort of like an air to air cruise missile.
    The upside and downside is that there is no launch warning. Newer enemy aircraft will have similar weapons available. You may get a hint or two if they decide to crank left or right after firing, but you must always assume that if you're within firing range then so are they. The only other way to know for sure is if the missile is already tracking you.
    When we engage in BVR we need to take into account several things:
    How close is the target? Is it a MIG-29 or a Su-27/30/33/37? If the target doesn't go defensive before your missile begins tracking on its own, it will afterwards. How much energy will the missile have left when it reaches the target? When do we go defensive? Are there any friendly aircraft in the target area? Are we sure the target is an enemy aircraft? 1. If a peer adversary (one with similar capabilities to us) gets too close, we have to assume that it has already fired at us and take immediate defensive action. If it's further away we can assess the threat and engage it.
    2. The RWR in the F-16 variants flown in the standard Korean theatre show both the MIG-29 and all Flanker variants with the 29 symbol. This is vital to keep in mind as the MIG-29, while still a major threat, is fairly simple to shoot down (Correction: later versions of the MIG-29 have access to the AA-12/R-77, which has a longer range than the AIM-120 as modeled in BMS and similar capability), whereas the Flanker has capabilities which rival our own and needs to be taken much more seriously.
    3 and 4. The best way to defend yourself is to not be shot at in the first place. Other than that, the best way to defend yourself is to go defensive as soon as possible. We need to guide a missile and so does our target. The longer we guide it the better the shot quality will be and the more we put ourselves at risk, and this applies for the enemy as well. You might guide the missile for 5 or 10 seconds and hope it hits as you burn away, or you might choose to take your chances and wait as long as possible until you hear the RWR audio tone of an incoming missile. This also applies to the enemy. If we launch from too far away our missile will not have enough energy to catch the target when it decides to turn and run.
    5. If we leave our outgoing missile to its own devices, it will attempt to find its way to the target and hit anything it sees. You may be tempted to help out someone who got a little too close to the enemy, but if your missile tracks him instead he's toast anyway. Again, this also applies to AI aircraft, so spacing and situational awareness can be very important as you don't want to take a missile that was meant for somebody else.
    6. No clue, go and find out. We either have to rely on an AWACS declaration or use our targeting pod in air to air mode to gain a visual confirmation of our target. A third option is our FCR, which may be able to display aircraft type at the top of the MFD in certain situations, but don't count on it.
    ---
    The engagement process will be explained through video (below) of an actual engagement that occurred shortly after takeoff and caught us off guard:
    At 25 seconds, a threat appears just as we make our fence in call, which delays our response. At this point, all we have is a 29 partially obscured by a friendly on our RWR. I could have used the TGT SEP button to separate them, but I didn't consider it necessary.
    40 seconds: After the fence in call is taken care of, we need to find the threat aircraft. The RWR is fairly accurate at longer ranges, so all I have to do is search in the general heading. Once we find a contact in the right direction, we ask for an AWACS declaration, which my wingman receives first because I have text turned off and have to wait for the audio. 
    At around 55 seconds I call for my wingman to go spread, and then give him permission to take a shot if he has one. At 1:13 you can see me switch to Track While Scan on the left MFD, which will let me fire on multiple targets if necessary.
    1min 20: I pull up according to the steering cue and send a missile downrange. My normal criteria for a launch is below the circle on the range scale, but as a bit of a bonus the bar jumps upwards to account for our slight loft.
    After launch I immediately pull off to the right while maintaining lock on the enemy aircraft in order to reduce the closure rate to the enemy (and therefore the chance of being hit) as well as drag any potential incoming missile outwards into a lead pursuit and waste some of its energy.
    1min 45: I make the decision to abandon my missile and go defensive with 6 seconds to go (M06, below the range scale), assuming (correctly) that I've been launched on and (incorrectly) that a missile would be stopping by to deliver mail shortly. It turns out I could have waited another ten seconds or so, but I didn't take any chances. When going defensive I dive down and away to force the missile into thicker atmosphere to waste its energy while maintaining moderate G (under 5) and speed (under 550kts) to avoid damaging stores or the aircraft and forcing an aborted mission. This defensive maneuver is also shown in a second video I'll put below as well. This move is not safe below 16,000 ft. over enemy territory, as MANPADS will take you down. This limits the effectiveness of the tactic and means we have to be even more cautious over enemy territory.
    At 2:35, the missile has been defeated and the enemy aircraft has been shot down by #2, though we don't know it right away. I turn back in prepared to re-engage and look around, while #2 eventually calls AWACS who confirms no more threat. Other times the only way you know for certain is when you look all over and can't find it anymore.
     
     
    Below is a more extreme version of the defensive maneuver, which includes an emergency jettison:
     
     
    Hopefully this will be of use, and will prevent people from dying while playing with military combat aircraft on the internet. Other BVR tactics are available, some of which require extreme bravery and testicle radius.
  7. Jeffu
    We'll be talking about the keyfile editor from the last post and will be using it to create a new keyfile.
    https://www.bmsforum.org/forum/showthread.php?10821-Keyfile-editor-Alpha-Release!
    A version with modified Quickstart keyfile and Callback Reference can be found here:  https://www.dropbox.com/s/dln076plj6hs3xw/Keyfile editor Alpha 1.zip?dl=0
    When you start it up, you will be greeted by two panes (and errors, ignore them). The lower pane has tabs, one tab for each device. In each tab there is a list of buttons that can be lit up by pressing them on your devices.
    We'll load the BMS Basic keyfile, you can do this with the full keyfile or the minimal keyfile, or you can use the quickstart keyfile bundled with the program.

     
    We are going to assign every button to a blank callback first, and then change the callback afterwards.
    Start by pressing the green '+' at the top right, doing so will add a blank unbound callback to the upper pane. We need one blank callback for every unbound joystick button, in this case eight of them.
     

     
    After we've made our blank callbacks we'll assign our unbound buttons to them, one button per callback. Double-clicking "Unassigned" in the right hand column will bring up a dialogue box, we can either press a joystick button or select a button from the drop down menu to assign it to the callback. We are going to change these blank callbacks later. It's easier to bind to blank callbacks and then change them than it is to assign buttons to the desired callbacks directly, as the program does not handle button conflicts very well.
     
    Next, we're going to be assigning the button that will function as our pinky shift. For those that have them, use the pinky button on your stick. For everybody else, find a button that's easy to hold down while pressing other buttons simultaneously. I'll use Joy 1 Button 10, remember what you choose as it will be important later on.
     

     
    In the bottom pane, double-click on the current callback for that button to bring up a library of callbacks, sorted by their location in the cockpit of the F-16. We want to look for the Flight Stick section under Flight Control (HOTAS), and select SimHotasPinkyShift, and hit OK.
     

     
    Once the pinky shift button is assigned, we need to save the keyfile and close the program immediately. Reopen the program and reload the saved keyfile and you will be greeted with new tabs for your shifted device states.
    Go to the new tab for your shifted device and do the same thing we did at the start, pressing '+' to add a new blank callback for every unbound button in your shifted device tab.
     

     
    To assign our shifted buttons, we need to do something slightly different. Click "Unassigned" like we did the first time around, but this time when the dialogue box pops up we will need to hold our pinky shift button in combination with the desired button to map. The end result should include the string <Shifted>.
     

     
    As before we'll assign every unbound button, but this time these buttons all require you to press them while holding the pinky shift button. This poses an issue for our pinky shift button, as we can't "shift" the "shift button" here.
    Instead, we'll have to select the shifted counterpart (in our case Joy 1 <Shifted> Button 10) of our pinky shift button from the dropdown menu. If you can't find it you can press another shifted combination to put the dropdown menu in the right area, then select the correct button.
    "But if we can't shift the shift button then why do we need to bother assigning it in it's shifted state?"
    Just do it, I'll explain shortly.
     

     
    After assigning the remainder of your buttons, we'll return to the "shifted" shift button.
    As I said before, we can't "shift" the "shift button" in this program.
    But BMS does.
    Technical stuff, don't worry too much about it: Put simply, BMS by default automatically reserves lots of buttons. 256 of them, 0 to 255, 32 for each device. The pinky shift mechanism in BMS works by effectively increasing each joystick button number by 256. When we bind callbacks to the shifted layer we are binding callbacks to buttons 256-511 instead of the normal 0-255. The issue is that when we tell the game to shift buttons upwards, the pinky shift button is shifted upwards as well and the game cannot tell when it is released because the associated button number doesn't exist anymore.
    The way around this is to assign SimHotasPinkyShift twice, once to the desired button (Joy 1 Button 10 as done previously), and again to it's shifted counterpart (Joy 1 <Shifted> Button 10).
    Double-click on the callback, scroll up to the Flight Stick section under Flight Control (HOTAS), and select SimHotasPinkyShift again, and hit OK.
     



     
    Once we've taken care of the pinky shift bindings, we can assign the rest of our buttons as desired. Below you can see the end result. Note SimHotasPinkyShift, as discussed before, is assigned to the same button in both the normal and shifted states.
     


     
    Recreated above is the setup I use for my Hotas X. You may find it worth it to sacrifice certain things like TMS Right, DMS Up/Left/Right and maybe even TriggerFirstDetent for things like wheel brakes, airbrakes toggle or landing lights based on your needs. I use racing wheel pedals for differential toe brakes and the rocker on the back of the Hotas X mapped to keyboard buttons (using JoyToKey) for extending and retracting airbrakes, which is why neither of these are present here.
     
×
×
  • Create New...

Important Information

Terms of Use and Privacy Policy