Is this still the case? Because in the FlyByWire A320neo, the EFB can "steal the keyboard" so it can be used for text input without triggering any sim-related actions.
Yes, addons written in Javascript can steal the keyboard. In fact, even GSX for MSFS can do that, in the very small part of it which is written in Javascript, that is the menu. However, the menu is less 1% of what GSX does, because most of its code runs completely external to the sim, and relies on Simconnect to interact with it.
This has the obvious advantage that *nothing* we do in GSX could possibly slow down the sim. As long as we model 3d objects in a optimized way ( and lots of time went into this, since every single object uses multiple LOD levels ), the "code", as complex it might be, won't even slow down the sim, since it runs in its own thread, on another process, which will use spare cpu cycles from unused CPU cores, thanks to the OS thread handling, so we won't hammer on the main thread, like a complex full Javascript add-on running in-process would.
And, since you might not need GSX while in flight, with an external app, you might even decide to quit it altogether after takeoff, and restart it again when you arrive, we made some changes to the Couatl scripting engine, which now has a Tray icon where you can restart or exit the app without stopping the flight.
So, the advantage of using an external app that connects through Simconnect only are many and, in fact, what is currently one of the best products available in MSFS, that is the Fenix A320, runs in its own app, which allow it lots of flexibility.
And yes, another advantage is using an external app that works with Simconnect, is that we could keep most of our existing code still working, which would allow to continue to support P3D, without having to rewrite everything from scratch, just like Fenix could use the Prosim engine, which allowed to offer an extremely high-end product in a *reasonable* time.
What is still lacking in the sim, is the ability to steal keys from Simconnect: you can intercept keys, but the sim will always get the event as well. Basically, the key "masking" flag, which worked since FSX, it's not working in MSFS. We MOSTLY used workarounds this, but the issue is not solved entirely. However, it's now very minor, so we'll release the product anyway, since the only effect is that you might have to disable some rarely used keys from the Drone Camera ( Focus blur, for example ), because the various edit modes ( Quick edit Pushback, Parking and Airplane customization ) are the ones where we would need to steal keys.
But sure, it would be nice if we could prevent the sim from getting an event, momentarily, anyway.
When we reported what is an obvious Simconnect bug, since key masking was even documented in the SDK, they replied they don't like the idea of an add-on stealing the keys, not at least from Simconnect, which is puzzling, since they allow that in Javascript, and after my explanation why this could be useful, they seem to realize IT COULD be useful, they said they wanted to take some time to redesign the system, and offer some kind of new solution. We'll surely use it as soon it will came out.