Type text into the console
gma3_typeType Unicode text into the grandMA3 command line or a text field, requiring you to confirm focus. It does not press Enter; commit with a separate key tap.
Instructions
Type Unicode text as one character event per code point into an EXPLICIT context. Which element receives characters cannot be observed from Lua, so acknowledge_focus: true is always required: you state that the command line (context 'command-line') or a text field (context 'text-field') is focused. 'command-line' is admitted only while the operator has disabled keyboard shortcuts (F10; with shortcuts enabled, characters never reach the command line and nothing is substituted) and is read back from the command line: matched when it shows the text; when it does not within the readback window the step is UNKNOWN and nothing after it runs. 'text-field' cannot be read back (verification unavailable) and must not be followed by PLEASE/Enter in the same sequence. Text is refused while an exclusive long-press is held or a held key's route changed. Text is typed in chunks by the bridge loop with the context rechecked between chunks; it stops with its progress (unknown) when shortcuts are toggled, a route changes or a long-press starts meanwhile. Newlines, tabs and other control characters are refused (up to 256 characters); text NEVER presses Enter, changes focus, opens an editor or toggles shortcuts: commit it with a separate gma3_hardkey PLEASE tap. Same gate and busy rules as gma3_hardkey (input OFF until the operator runs Plugin "gma3_mcp_bridge" "input=keyboard"; commands from every client are [busy] while it types). Nothing is retried or replayed; a character whose dispatch raised is reported as unknown at that position.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| text | Yes | The text (UTF-8, no control characters, at most 256 characters). | |
| context | Yes | Where the characters are meant to go; validated and read back where possible. | |
| display | No | Display index passed to the console as API context only. It must exist; input is NOT display-scoped on onPC 2.5.1 (no routing, focus or pop-up placement is promised). | |
| interaction | No | Id from gma3_input_interaction acquire. Required for a standalone hold (press). A bounded tap, chord tap, text or sequence may run without one (it owns an interaction for its duration) but must pass the id while this server has one open. | |
| acknowledge_focus | No | Must be true: you state that the named context (command line or a text field) is what currently receives characters; this cannot be observed from Lua. |