This is my attempt at bringing DCS-style Force Trim to helicopters in MSFS which utilize the stock MSFS flight model and helicopter trim system. It is a work in progress with a few issues. It requires manual tuning per-helicopter by editing a number in the script, as different helicopters use different ratios for their trim systems. The script comes preconfigured for the stock Guimbal Cabri G2. The script also does not yet implement the grace period from DCS wherein the effects of the force trim smoothly apply as you center your joystick after pressing the Force Trim button. Regardless, the script makes flying helicopters in MSFS much less annoying.

As mentioned, the script only works properly with helicopters in MSFS, and of those, only those that use the stock MSFS flight model and its trim system. Helis like the Flyinside Bell 206 and any others that use an external flight model will not respond correctly to the script, if at all. The HPG H145 and H160 and any other helicopters that use an always-on autopilot or stability augmentation sytem will also probably behave weirdly when this script is used with them. The script doesn't integrate with those systems as it does in DCS with the Ka-50, for example.

The script does not trim the anti-torque pedals, though that functionality could be added if there is demand. The script could also be modified to work with aircraft if there is demand.

The script works by clicking the trim controls repeatedly to offset the lateral and longitudinal trim by an amount proportional to your input deflection. This should work correctly regardless of what curves and/or deadzone you set in the Calibration menu of MSFS. As mentioned before, different helis have different values for their trim strengths, so different helis will require different numbers of clicks to reach a trim value equal in power to the current control deflection. This cannot currently be detected automatically, so manual editing of the script is required (for now; I could probably add a lookup for different helis and their needed values in the future). Instructions on doing that follow the installation procedure below.

As the script relies on and operates within Lorby's Axis and Ohs program, installation is different than most MSFS addons:

  • Open Axis and Ohs and in the Scripting drop-down, click Import Scripts and then select the downloaded .xml file.
  • In the window that pops up, check the box next to Scripts, then click Import. (If a popup that says "Overwrite?" appears, click Yes; this will appear whenever installing an update to this script. It should not appear when installing the script for the first time.)

After the import finishes, the script is ready to be bound to a button:

  • Load up MSFS and start a flight with a supported helicopter, preferably the Cabri G2 as the script is preconfigured for it.
  • Click the plus button below the Assigned Buttons pane of Axis and Ohs to create a new button assignment.
  • Press the button on your joystick that you want to assign to Force Trim to autopopulate the field in the assignment window. If this does not work, you will have to select the button manually.
  • Click the Key Down Event dropdown and under Scripts, double click "Scripts-Heli_Force_Trim| RPN" to select it.
  • Ensure the Repeat checkbox is NOT ticked.
  • Click Add.

The button should now run the script. Test it out by taking off and flying forward like normal, holding the cyclic forward to maintain forward flight. Once stabilized, simply press the assigned control and immediately return the cyclic to center. The trim should actuate to mirror your input, and with the cyclic at the center, the helicopter should remain as stable as when you pressed the button. If the helicopter flies upwards, the trim strength in the script needs to be increased. If the helicopter flies downwards, the trim strength in the script needs to be decreased. To make these changes, open the Scripts Editor under the Scripting menu in Axis and Ohs, select the Heli_Force_Trim script under Scripts, and at the top of the script, line 4, change the value assigned to (L:trim_strength), normally 150 for the Cabri G2. Make sure not to delete the semicolon after the number. Save the script via Ctrl+S or the Update button on the bottom right. The script can then be tested via its assigned button or the Test button at the top right of the editor while it is still open. Once you have arrived at the correct value, save the script again and close the editor. If you end up doing this tuning, please share some values you've found for different helicopters in the comments below, as I don't own all the helis available for MSFS.

A useful tool to help in visualizing the amount of trim applied when the script is run is Input Viewer by Spitice: https://flightsim.to/file/14925/input-viewer

The script also works perfectly alongside the regular trim controls. Hint: To bypass the "click... click-click-click" control acceleration bug (a carryover from FSX, believe it or not, due to ancient Windows key repeat logic) with the regular trim controls, I recommend unbinding them in MSFS and binding them through Axis and Ohs instead (under ROTOR_LATERAL_TRIM_INC, etc.) I also recommend binding a button to reset rotor trim, either with Axis and Ohs (where it is called ROTOR_TRIM_RESET) or in MSFS. 

If you have any tips or ideas on how to add a DCS-style grace period to the script, please drop a comment below. I've tried capturing the joystick position when the script starts and using a while loop to detect further movement of the joystick, clicking the trim buttons proportionally until the joystick is centered whereupon the correct number of trim clicks should have been performed, but the while loop always hangs when started and nothing inside it ever executes, requiring restart of Axis and Ohs, so I'm not sure if that functionality is supported by Axis and Ohs.

This script is licensed under the Creative Commons BY-NC-ND 4.0 license, available here: https://creativecommons.org/licenses/by-nc-nd/4.0/