Heading Increment Bug (10 degree instead of 1) Explained

Imagine you’re designing a flight simulator and realize that sometimes the user will hold down a keyboard key or joystick button to make scrolling something faster. Maybe they want to increase their heading bug or their autopilot altitude setting faster so they hold down that key or button.

One thing you could do is nothing. Just let them hold down the button and let that input increment up by one repeatedly. That can work.

Or you could give the user some help. Maybe you could code in something where if the game detects that they are holding down the button for a few seconds, then you make that increment go up by 10 instead of 1. They’ll get to where they want to go faster! Maybe create a Boolean (true/false) variable called “control acceleration” and set it to true if the button is held for more than a few seconds, and set it to false when the button is no longer held down. Ok, looks good!

But you made a mistake. Instead of checking to make sure that the button or key being held down is the one that’s actually doing the heading bug increase or altitude setting increase, you instead make it so that if ANY button bound to a recognized command is being held down, then the “control acceleration” variable is set to true.

This is where the bug comes in.

There are peripherals with buttons that will have a constant “pressed down” state. One example could be a toggle switch. If the toggle switch is in the up position, the peripheral could be constantly sending an active command to the game, as if a user was constantly pressing down a button. Same if it’s in the down position. The Honeycomb Alpha Yoke operates this way with its switches in its base. Some other peripherals do as well.

So now, just by virtue of having a peripheral giving constant input, the game sets the “control acceleration” variable to on, and all heading bug changes, or altitude setting changes (and I think some other changes as well) will be at 10x the increment.

Anticipated questions:

Q: Wait, I have the honeycomb yoke and I have those switches in the base bound to commands, but when I click on the heading knob in my cockpit to increase the heading, it increases by 1, not 10.

A: Yes. Apparently, this “control acceleration” state only applies to commands that come from binds, either keyboard or joystick, that are bound in Options->Controls, not from click interactions with the virtual cockpit.

Q: I’d like to test your theory but I don’t have a peripheral.

A: You can test this entirely with your keyboard. Hold down “F7”, which increases flaps by default, for more than 3 seconds, then press “Left Ctrl + Insert” ,which increases the heading bug by default, a few times. You will see the heading increase by 10 instead of 1. Now let go of “F7”, wait a second, then press “Left Ctrl + Insert” again a few times. The heading will increase by 1 again.

Q: I am having this issue but I can’t find what button or key is being held down and causing it.

A: If in Windows, go to your USB Game Controllers settings (Click Start->Type “USB Game controllers” and it should appear). Then go through all your peripherals and look for one that by default is keeping a button or switch pressed down (filled in red circle). That is your culprit. You will need to unbind that button or switch in Flight Simulator. This doesn’t apply to axis inputs like yoke or rudder.

Q: So how should Asobo fix this?

A: They can change their code so that the “control acceleration” state only turns on if the button that is being held down is the same as the one for which the increment should be accelerated. In other words, only make the heading increment by 10 if the heading increment button or key is held down, not other buttons or keys. I am guessing that somewhere in their code they currently have a function which does nothing except detect if a bound key/button is held down and if that’s the case, control acceleration occurs for everything. It needs to be more fine-grained than that.

Q: Why are you incrementing your heading bug through a bind? Why not click in the cockpit like the rest of us? If you do that, you won’t have to face this bug.

A: Some of us like to have our peripherals interact with the cockpit further than just the basic inputs. For example having a rotary switch tied to the heading bug is a neat way to interact with the airplane.

Q: How do I fix/workaround this for myself?

A: Make sure you unbind any key or button or switch that is causing constant input. The downside of course is that now you can’t use your peripheral for its intended use. One workaround that I found that is really cool is linked below. The method is to have a program wait for your constant input buttons to change states, then trigger a single short button press from another virtual joystick. Then when you bind commands to that virtual joystick, nothing is held down anymore.

https://drive.google.com/drive/folders/1kIJlzjDzELPxd2LpRxzlTmZsuqmXHB4F
By user: pjoerg

As a final note, I could be wrong about some things! Please let me know if that’s the case and what sorts of experience you’ve had or experiments you’ve done, but first please make sure you read this post and be clear on what I am saying! Thank you.

4 Likes

Thank you for taking the time explaining what the issue is about as I’m sure there are many people not aware of how this works inside the simulator.

As a matter of fact, you might want to note this is a very old bug well known since FS9.

For example, a quick search and you find posts about this dating back from 2004!

More recent posts (2010):


4 Likes

I prefer NOT to click on the panel (“like the rest of us”) because I use a MCP which has a HDG knob (just like the OTHER rest of us) that have built their own cockpits. The less I have to use a mouse or keyboard to control the aircraft, the MORE immersive the flight experience.”Set Your Experience”

11 Likes

Thanks for this. I’ll try your fix later today and revert back. Cheers.

I fail to see any button press, keyboard command or mouse click that moves any of the knobs in small increments.

The only way to get fine tuning of <10 decrees is to hover the mouse cursor over the knob to get the relevant direction arrow, then left click and hold while the needle moves. Releasing to stop rotation. This is not easy to do while flying, and is totally unnecessary.

Why time is being spent on things like removing a press a key function, when basic instrument control doesn’t work is beyond me.

4 Likes

Another bug which I think is connected to this…
If you hold down the Increase/Decrease Autopilot Heading Bug key for too long it just starts continually increasing/decreasing. No way of stopping it and your plane becomes almost uncontrollable.
All other hot keys and onscreen controls become interoperable.

2 Likes

I have made use of this bug!

I assign all of my switches and encoders using fsuipc7. This gets around the bug and allows for 1 degree increments on the heading and 100 feet increments on the altitude select.

Then utilising the bug i have assigned a spare toggle switch directly in msfs. Now when i flick my toggle i get 10 degree increments on heading and 1000 feet increments on the alt sel.

Everyones a winner :grin:

5 Likes

This bug that OzGrunty1 mentioned happens to me every couple of days. I hold the heading bug key mapped on my controller for too long and the heading bug starts spinning around continually and the keyboard becomes unresponsive. The only fix I’ve found is a full sim restart. Very frustrating.

1 Like

What a superb initial post.
Thank you.
Any indication that Adobo is aware of this bug and/or working on a fix?

2 Likes

There are aware as multiple people including myself have submitted Zendesk tickets. Not sure if they’ve seen the above posts indicating this bug dates back to previous versions of the sim or where this is on the priority list.

1 Like

This is the solution they offer, use the manual scroll wheel instead of the mouse wheel lol

I guess I am going back to other games until this alpha test version is fixed in one year, these kind of replies are honestly frustrating after buying a 120€ product that does not work as advertised.

3 Likes

So forum moderators are sim experts and speak on behalf of Asobo? Interesting. I thought they had a different role. Shame that manual scroll wheel doesn’t always work (IE the Knob). Perhaps The Moderator should have read some of the posts he searched to find that “solution”?

I have 10 deg increments on my hdg bug on the non-G1000 C172 with the mouse wheel AND clicking the knob

2 Likes

I solved this issue by disconnecting my TCA Airbus quadrant in case this helps you

@chintz14 I offered a workaround - not on behalf of Asobo, but on behalf of myself and literally everyone else who reported this as a workaround. The thread you referred to was a duplicate and was closed subsequently.

That aside, it doesn’t alter the fact that the workaround doesn’t work, at least in my experience, and judging by comments, that of others too.

The problem remains after update 5.

2 Likes

not use “switches” at your devices, only Buttons ( which are released after pressing )… well known issue since ‘ever’. There are some threads about in forum ( search e.g. 10 degree )

the voting bring this onto the devevlopers list, but because allways new threads are created for same issue, there are lot of low votings.

1 Like

Not only the workaround does not work but you sent me “read” while there was no other topic out there with a solution or a name that directly refered to the issue at hand.
Now you just hide the post.
What a behaviour, honestly.

EDIT: Btw, the problem is still present in the current build and it is caused in my case by connecting the TCA Airbus Quadrant, which causes a ton of incompatibility issues despite its compatibility being mentioned in the last patch notes.

there exist other topics which tell you some forum users already

https://forums.flightsimulator.com/t/mouse-wheel-changes-ap-in-multiples-of-10/307321/7?u=michamma

They refered only to the actual heading, my bug affects every single system, even the altitud and radios