EnumerateInputEvents doesn't return _INC, _DEC, _TOGGLE, _ON, and _OFF events

I’ve been playing around with the new InputEvents APIs and it’s great to finally have access to them via SimConnect. I’ve been able to enumerate all the events, send updates, receive updates, and even listen for changes.

Unfortunately while a lot was exposed there are gaps that make the current implementation challenging for real world use. Specifically, it appears that EnumerateInputEvents only returns the equivalent of the “SET” events shown in the sim’s behaviour dialog. There doesn’t seem to be a way to access _INC, _DEC, _TOGGLE, _ON, and _OFF.

For example, this is what is available for the C172’s autopilot NAV button in the sim’s behaviour dialog:

image

And the button itself in the SIM simply triggers (>B:AS1000_PFD_1_NAV_Mode_Toggle). The InputEvent APIs don’t enable this same simplicity via SimConnect. Instead we have to fall back to old tricks: read the current state, invert it, and write it back.

Please consider exposing more than just SET via these APIs. Thank you :slight_smile:

(@LorbySI you’re probably interested in this as well)

4 Likes

Hello @neile

This is by design for this first iteration but extending this API to support all events is something we discuss.
This has been added to our backlog.

Regards,
Sylvain

1 Like

Any news on this? By any chance would this work in FS2024?

Unfortunately not having this makes IEs a lot less useful. If we had this, software like MobiFlight could use our IE bindings rather than duplicating all the code from the IEs on their side for use with execute_calculator_code and friends.

A related issue is RPN code like (>B:MY_IE_SWITCH_TOGGLE) does not work in execute_calculator_code while it does in behaviour XML, so you can’t work around it that way either.