Bind On the Fly keybinding/controls menu in game


I know you are all quite busy.

I thought for new players, pilots and home cockpit builders it would be useful to be able to activate a switch or button in the airplane and be able to bind it to your joystick. It would save the trouble of having to go to the menu screen many many times to test. “Bind on the Fly” could also be plane specific.

Not a bad idea for xbox people down the road too.

Just a thought.

Love this idea. I was gonna see if I could find someone to develop this, unfortunate I know nothing about programming.

I would love to do the keymapping of all of my input controllers (Honeycomb Alpha + Bravo, Keyboard, Mouse) directly in the cockpit of each plane. So that i can enter a “mapping mode” from the above quick menue, point with my mouse on a switch and map my specific input controller for that switch. I think that would make it a lot easier, especially when we are able to also map the Garmin knobs in future updates. Sure the normal keymapping in the options menue should still be there too.

Cheers, Tom

Mod Edit: merged from a duplicate Wishlist thread.

It occurs to me that in light of of the relatively limited keybindings available in MSFS, the tardiness Asobo has addressed the issue with and the wide variety of potential requirements in third party aircraft the game needs a different, more holistic approach to keybindings.

Currently we can pan the view around the cockpit, hover the mouse over almost every operative control and manipulate it with combination of mouse clicks, wheel and movement. Why can’t we simply have similar way to assigning keybindings? Meaning, simply click on a virtual control in the cockpit and assign a physical controller function to it.

Further, there should be absolutely no requirement for the keybinding to exist in the main control options, this system should explicitly allow binding physical keys, axes or any other functions to any function at all in the virtual cockpit, provided it can be operated with the mouse. You want to assign three axes to control the engine flaps on the upcoming F6F Hellcat? You can do it organically, even though the default control options provide no such function. You want to assign everything in the virtual G1000 to your physical replica of it? You can do that too.


Suggested approach:

Ctrl key is the basic modifier key. You press Ctrl and hover the mouse over a virtual control in the cockpit. As you hover over it you’ll see the control name and what in-cockpit keybindings you have assigned to it, if any.

If you Ctrl + left click then different things happen depending on the virtual control:

Simple push button: Set key to press.
Two-position switch: Set key to toggle.
Lever or similar: Set key to increase position, then set key to decrease position.
Switch with three or more rotary or linear positions: Same as lever.
Rotary knob: Same as lever.

Ctrl + right click would be for assigning virtual four-way control, such as hat* with elevator and aileron trim controls, to physical four-way control.

Shift would be the alternative assignment button, if you Ctrl + Shift left click on virtual control:

Lever or similar: Assign axis, after assigning an axis the game should ask if you want to invert it.
Two-position switch: Assign key to set on, then assign key to set off.
Switch with three or more rotary or linear positions: Would first advice you to set the switch on the physical controller to middle or required penultimate position, then walk through all the switch positions on the virtual switch to assign every one of them to switch position on the physical controller.

Ctrl + Shift right click would allow you to bind virtual four-way controls to axes. For example, to bind virtual mini joystick* to physical mini-joystick.

Alt would be the alternative function button, Ctrl + Alt plus left click would allow you to assign key to alternative function on the virtual controller, such as push function on rotary knob.

Ctrl + Alt right click would allow you to assign key for selecting the virtual control for manipulation with the plus/minus function.

Ctrl + Shift + Alt left click would clear any existing in-cockpit keybindings from the virtual controller.

*The reason I suggested these two for separate assignment is mainly the zoom control on the G1000 which is also used for view panning.

Asobo would provide the basic interface, aircraft and avionics developers would then link the virtual controls into the interface.

This system should supplement rather than replace the existing system. It’s probably the best for sake of clarity if buttons that are already assigned to universal control scheme in the control options are unavailable for assignment for in-cockpit keybindings.

There should be export/import function. This should should allow:

Retaining profiles for in-cockpit keybindings when installing and uninstalling aircraft.
Managing multiple profiles on single aircraft, such as for aircraft with different avionic options.
Allow creation of templates for avionics. For example, you jump in an aircraft and assign nothing except the WT G1000 controls and export them, when you hop into new aircraft you can then import that as basis before assigning any other in-cockpit keybindings.

what you suggest implies that the sim can read, store and assign local variables of addons. Hundreds and thousands of them. But it can‘t at least not at the moment. There are external software solutions like FSUIPC or AAO that can do exactly what you suggest and you can assign your controls to all of these variables. This is possible via simconnect, the sim itself can‘t do that.

Imo it‘s a good idea and I‘ll vote for it but it would probably revolutionize the whole system.

Yeah it does seem like I’ll need to be looking at third party controller management software at this rate. Probably AAO. Of course, since that’s a thing Asobo won’t probably bother finalizing their own support for anything but most basic keybindings.

Having since looked bit in the soul life of the third party control managers, I wonder if it would actually need to be as grandiose as that. Though granted, I’m at best an entry level programmer.

What I was thinking is that Asobo could code in large numbers of generic “socket” controls. For example “Generic Axis 1” and “Generic Three Position Switch 33”. Actuating these would by itself do nothing at all. Rather the plane or avionics developer could code functions to plug into those generic controls. Since the system I proposed was geared to be plane or avionic specific, there is no need for consistent terminology, an oil cooler flap could be plugged in into “Generic Axis 1” by one developer and different generic axis by another. The game wouldn’t be recognising these custom variables, it would instead recognize that a coded event has been plugged into generic socket control.