Axis and Ohs: Help and questions

Check out Sim Variables · Working-Title-MSFS-Mods/fspackages Wiki · GitHub


Thanks Dirk!!

Thanks will have a look.

are these all selectable within axis and ohs?

I have not checked out all of them, but so far I have mapped all AP modes successfully using AAO.


Those are usually the generic ones, AS1000_x, AS3000_x. Search for PFD or MFD

A few words about these H Variables. They are not fixed literals, like a variable name. Instead, the simulator constructs the actual variable name at runtime from “building blocks” (calles “tags” in AAO).

In the MSFS model/animation XML code you will find things like this:


Depending on the aircraft where this template is used, the variable name may translate to “AS3000_MFD_RANGE_INC”, because somewhere in the path through the included templates #KEY_PREFIX#" is set to the value “AS3000_MFD”. For another instrument or another aircraft it may have another name. For Asobo, they can program just the one encoder logic and re-use it in every aircraft with different variable names, depending on use case.

Two important things to take away from this:

  1. The names of these H-Vars are not fixed. They can change at any time, when the sim or the plane are updated.
  2. That is why a parser is required that searches for them, not a list that publishes their current names. The list will never be complete and can be invalidated at any point.

The parser in AAO will become more intelligent over time, but right now only a subset of all HVars can be selected directly, the others require assembly. You can construct the actual name from the templates in the RPN script editor, check the AAO manual. Naturally, that involves a lot a trial & error, but going through the aircraft model XML files is quite a bit of work too. In most cases, doing both is the best strategy. I use Notepad++ “Find in Files” and let it search for example for “<CLOCKWISE_CODE>” in all XML files of the simulators “Packages” folder.

A fellow simmer is building a fully-featured AAO plugin for the StreamDeck, where you can even dim all the separate lights in the cockpit. Everything goes, but it requires a lot of time and patience.

Thank you @LorbySI for the detailed explanation! I kind of figured/guessed that’s how HVARs work, but it’s great to get this info first hand from someone who has the full knowledge.

That’s exactly what I did yesterday to find some more CJ4 vars I was looking for (and was successful, haven’t had a chance to try them yet though), great to know that I’m on the right track!

Thank you again for AAO, it’s really an awesome tool that now enhances my sim experience tremendously!


1 Like

I was unable to find the correct H Variable in AAO for INC/DEC map range for the WT-CJ4, which is the only one I really wanted to add to the X-Touch. But due to the wonderful flexibility of AAO I was able to add the WT Variables listed on github and simply create a script and assign to encoder.

WT H Variable:

  • H:Generic_Upr_RANGE_INC (Map Zoom)
  • H:Generic_Upr_RANGE_DEC (Map Zoom)

AAO Script:

I have found a bug and do not know if it is the behringer x-touch mini or axis and ohs.

When I have assigned the _INC or _DEC variable to the same encoder (leftturn and rightturn) of the x-touch mini it registers correctly the left and right turn, however when a start to rotate the encoder a little bit faster it will register both left and right turns even if I am only rotating the encoder left.

Has anyone encountered this bug before, and if so is there a fix?

Thx, will try that tonight. if I get it all to work I will definitely buy axis and ohs!

I have just received a Honeycomb Bravo and I am trying to get the Autopilot function working with the WT CJ4. Its a bit of 2 steps forward and 1 step back at the moment but I think i am slowly getting there.

One thing i am trying to get right is the Altitude selector speed, so when i rotate the knob slowly on the Bravo, the altitude goes up in 100’s but when I spin it fast, it goes up in 1000’s. I got this working in Spad by creating two events, one with a parameter increase of 100 and then just the same event but with a 1000 increase and it works really well.

Is this possible in AAO? In AAO i’ve created a script to increase the altitude by 100 but when i then added another script to increase it by 1000, the altitude just increases by 1100 no matter what speed i turn the knob!

As i’m still trialling both pieces of software i’d rather get this working in AAO as I couldn’t get anything else on the AP to work in Spad.

Sorry, but AAO does not distinguish between different “speeds” of repeated actuation. What kind of event does that knob send? Joystick button press? And it is the same event for slow and fast turn?

Thats correct yeah. Button presses and same event…I think spad works the same way but I wonder why that works out…

I found that MSFS automatically increased the “speed” that values changed as I rotated the bravo knob faster without me having to do anything to configure it that way. I can’t remember if I mapped the right-side bravo knob with AAO or in MSFS. It takes a few seconds (longer than I think it should) of sustained turning at a higher speed, but it does accelerate from changing altitude by 100s to 1000s, heading by single degrees to 10 degrees, etc.

Neither of those worked for me…only SPAD does it right so far.

I have just purchased AAO’s. Its good but having an issue. I’m trying to alter the FLC change speed now to change by 1 instead of 10.

I tried creating this script but it just won’t work, can I get some advice please.




This is wrong, INC/DEC events cannot be used to assign dedicated values - only to increase/decrease a variable by a fixed amount.

Assuming that using the default sim variables and events even works for this aircraft, the script would be this:


Probably because they added their own controller acceleration logic.

As stated above, AAO does not support different events assigned to different turn speeds. It just has never been requested by anyone, most people use Combo buttons to switch between two different speeds. Maybe something similar will be added in a future version.

The behringer X-touch sends a value of 1 for a right turn and a value of 127 for a left turn when in relative 1 mode. If i turn faster it sends values 1,2,3,4, 5, 6 or 7 for a right turn and values of 127, 126,125,124,123,122, or 121 for a left turn.

How does AAO look at these inputs?

The behringer X-touch sends a value of 1 for a right turn and a value of 127 for a left turn when in relative 1 mode. If i turn faster it sends values 1,2,3,4, 5, 6 or 7 for a right turn and values of 127, 126,125,124,123,122, or 121 for a left turn.

How does AAO look at these inputs?

It doesn’t really care a lot. AAO has been made to support all MIDI controllers, not the pecularities of a specific one. From the velocity values that a device sends, AAO tries to determine if it is dealing with a button (fixed velocity) or a rotary encoder (velocity changes up or down). If the MIDI device is configured correctly, this will work, if not, it doesn’t. There are quite a few MIDI devices where the rotary encoders are not turning endlessly, but have stops (or stop sending notes when turned beyond those points). In that case, any advanced velocity logic is futile anyway (this situation is what the “endless” checkbox is for)

Edit: but to answer the question, at least in theory: you will have to spin the knob fast to make AAO even pick up the rotation, otherwise it will probably think that it is dealing with a button. Once you manage that it understands the right/left turn, you could activate “endless” - then AAO will repeat the down event when the values 0 or 127 are sent, and turn normally otherwise.