# ui.input

> Talos next · Since next

[editor (test session)] Pointer, key and navigation events straight into the UI, in the logical pixels of ui.tree's bounds.logical (a node's centre needs no arithmetic).

Types: pointer_move, pointer_down, pointer_up, click, key (tab, shift+tab, escape, enter, space, scancode:<n>), nav, activate, back. Text input (U4) is refused by name. Game actions: play.input.

| | |
|---|---|
| Title | Send UI events |
| Mode |  |
| Token cost | about 181 tokens (listed only when its toolset is enabled) |
| Toolset | `ui` |

## Arguments

| Argument | Type | Required | Default | Allowed values | Description |
|---|---|---|---|---|---|
| `agent` | `string` | no |  |  | The name of the agent making the call, when several agents share one connection: each named agent is its own actor and plays its own game. Leave it out when there is one agent. |
| `events` | `object[]` | yes |  |  | [{"type":"click","pos":[120,48]}], [{"type":"key","key":"tab"}] |

## Example

An MCP `tools/call` with the required arguments (placeholders in angle brackets).

```json
{
  "name": "ui.input",
  "arguments": {
    "events": []
  }
}
```
