GameWindow.TextInput: IME Support | Myra UI

I’ve been trying to add IME support to my game and have come across some roadblocks.

// Inform Myra that external text input is available
// So it stops translating Keys to chars
Desktop.HasExternalTextInput = true;

// Provide that text input
Window.TextInput += (s, a) =>
{
    Desktop.OnChar(a.Character);
};

I’m currently using the above code to process text input between MonoGame and the Myra UI. However by the time the input reaches the event, it has already confirmed the character (or set of characters) to be input. Ideally, I’d like to display the temporary text and candidate list like any other Windows application or webpage would.

What happens behind this event? Where is it invoked? I’m having trouble finding where the event is called in the GitHub code.

(Also… Can someone explain why the TextInput event is desktop only?)

Can anyone help with this? Any help would be appreciated.
Thanks.