SU11 Helicopter - `INTERCEPT_KEY_EVENT` is disabled for Helicopters only?

Hello. I use INTERCEPT_KEY_EVENT extensively in javascript in order to
provide support for bindings that do not exist in MSFS for systems that MSFS
does not have. As I switch to the new helicopter support, I find that the key
bindings do not react any longer, but they are still working correctly for a
fixed wing aircraft. The registration process is the same
(JS_LISTENER_KEYEVENT and then INTERCEPT_KEY_EVENT). The keyIntercepted
event never fires anymore. An example event that works for fixed wing is
MEGNETO4_OFF. I have not conducted an exhaustive test to see if only some
events are blocked or if this entire feature is disabled for helicopters. This
blocks any ability for us to port to the new flight dynamics as we would need
to disable most of the aircraft just to use them, and it would not be possible
to build an AFCS without having key bindings. I could switch to only-
helicopter bindings but I need an extensive palette of events to provide users
the ability to bind their hardware to functions in our helicopter. Please
explain the situation here and the expectation from Asobo on whether this API
is reliable or what I should be doing. We have no ability to provide a well
integrated cockpit and systems to our customers without this feature, it is
critical for MSFS being a viable platform for a high end addon. UPDATE:
SimConnect registration on the same events is actually working, so I can move
the relay to native code instead of js and this will be a suitable workaround
for us in case the issue cannot be resolved or takes a lot of time. Test Case:
Take this code and run it in the coherent debugger. then trigger the MAGNETO 4
SET binding. In the Cabri or the 407 there will be nothing printed upon
pressing the button, in the CTSL or other fixed wing it will print when the
key is pressed.

    RegisterViewListener('JS_LISTENER_KEYEVENT', () => {
      console.log("KeyManager.Register.JS_LISTENER_KEYEVENT");
      Coherent.on('keyIntercepted', (key, index, value) => { console.log("key event: " + key); });
      Coherent.call('INTERCEPT_KEY_EVENT', "MAGNETO4_SET", 1).catch(err => console.log(err));
    });

My first thought is that the WorkingTitle MSFSSDK was somehow conflicting but
I confirmed it isn’t being loaded in the gauge context, it really is something
to do with rotorcraft vs fixed-wing systems somehow.

I should explain exactly why a helicopter would use magneto4. MSFS has
hundreds of key bindings, most not applicable to every type of aircraft
concurrently. Our H145 cockpit has over 500 bindings that are implemented as
H:Events, all which control a function in the aircraft. Our users have been
provided a tool that allows them to establish an arbitrary relationship
between MSFS events and H145 functions. The user sets up their MSFS bindings
(magnetos even though it is a helicopter), and then the aircraft registers for
these keys on startup and then creates a mapping between the input event from
MSFS and the H:Event that H145 uses to actually carry out the function. I am
including our keys file here which has a list of the functions, so you can see
that this is far more than assigning the new rotor brake correctly, this is
fundamentally about a flexible binding system in MSFS so that aircraft are not
limited by the built-in systems and their behaviors. While I would support a
new binding system in the future, this approach has led to many happy users
over the past year, so it would be good to simply retain it. We are also using
this approach one every other aircraft we develop. Users that purchase tools
like FSUIPC and SPAD.NEXT can directly configure their controls to also call
our events, which is very straightforward and functional for everybody.

Update: I was able to completely work around the problem using simconnect in
native code, so we are not blocked by this issue at all but we would still
like to see the javascript key event API working for helicopters if that is
possible.

Hello @davux3 We were able to reproduce the problem and can confirm there’s an
issue on our side. This will be fixed in a future update. Thank you for
reporting the problem. Regards, Sylvain