# input

`input` is a gated capability, not a global of its own. Granting it adds one function to `client`:

#### client.tap

`client.tap(x: number, y: number)`: boolean

Argument | Type | Description
-------- | ---- | -----------
  **x** | number | Overlay pixel x.
  **y** | number | Overlay pixel y.

Synthesises a tap at overlay pixel `x, y`. Returns whether the tap was sent. Present only when the `input` capability was granted; a marketplace bundle must list `input` in its `manifest.json`.

Reading the current touch, `client.touch()`, needs no capability. See [client](/base/client/).