[SU9 - SDK update] key events - multiple arguments - WASM and simconnect triggers

SimConnect:

  • Key events that use multiple arguments can now be triggered through WASM & SimConnect.

Per the April 28 blog update - Is there an SDK documentation update to this?
Does this mean that what is used in RPN can be somehow emulated in WASM and
Simconnect Keys - these permit you to change the state of a component.
Keys can have one or two arguments and are called as follows using the RPN
format: [0] (>K:[key_event_name]) [1] [0] (>K:2:[key_event_name] Below are two
examples, one with a single argument and the other with 2 arguments: 1
(>K:TOGGLE_EXTERNAL_POWER) 50 1 (>K:2:PANEL_LIGHTS_POWER_SETTING_SET)

Hi there, The weekly update lists the topics on which the team worked in the
previous week, which usually means the mentioned fixes and/or new features
will be available in the next SimUpdate. This is the case for the support of
key events that use/require multiple arguments through SimConnect: the work is
done but support will be provided through SU10 and its SDK. I guess we should
specify the ETA in this weekly report. Best regards, Eric / Asobo

Hello @DA40CGDFQ And to answer your question on
the feature itself, yes the goal is to pass multiple parameters when calling
events, using the gauge and SimConnect APIs. Regards, Sylvain

Hi Eric, With the changes to the SDK and Docs for paramters, it would be very
useful if you could also provide the SimVar and Event list in a computer
readable format (cs/xml/json). Parsing the html doc is quite a pain. Thanks
for considering, Ulrich

I don’t see this feature explained in SU10 SDK 0.19.2 yet. Did I miss it?

See new SimConnect_TransmitClientEvent_EX1 function in SimConnect API

Hi, As c0nnex said, see SimConnect_TransmitClientEvent_EX1 if you want to use
SimConnect. If you’re using wasm, you should use trigger_key_event_EX1
instead:
https://docs.flightsimulator.com/flighting/html/Programming_Tools/WASM/Gauge_API/trigger_key_event_EX1.htm
Best Regards Maxime / Asobo

The documentation there is still using the triggerkryevent command instead of
EX1 is that correct?

No, the example is wrong. It should use trigger_key_event_EX1

@Nocturne FYI, the sample of trigger event EX1 is incorrect. Best, Raul

Thanks, will there be a JavaScript version of the functionality. Setsimvar()

Hello @DA40CGDFQ We have exposed a dedicated Coherent call for this:
TRIGGER_KEY_EVENT You need to register to JS_LISTENER_KEYEVENT to use it.
Example:

RegisterViewListener('JS_LISTENER_KEYEVENT');
Coherent.call('TRIGGER_KEY_EVENT', 'KOHLSMAN_SET', true, qnh, index, 0);

The boolean is set to true to bypass input events and avoid a double
execution. Then you have 3 data arguments. Regards, Sylvain

Thank you. Do you registerviewlistener once and then use it numerous times for
different coherent calls? edit: reviewing some code Boeing_FCU.js you register
once (say in Connectedcallback()) then you can Coherent.call() at some other
point where required?

Yes, you only need to register once.