# LibTmux.send_keys

- **Module:** LibTmux
- **Package:** LibTmux
- **Language:** Julia
- **Kind:** function
- **Source:** https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/src/pane_io.jl#L97
- **Page:** https://libtmux.org/en/julia/latest/reference/libtmux-send_keys/

```
send_keys(
    connection::LibTmux.ControlConnection,
    pane::LibTmux.PaneRef,
    keys::AbstractString...;
    literal,
    kwargs...
)

send_keys(
    server::LibTmux.Server,
    pane::LibTmux.PaneRef,
    keys::AbstractString...;
    literal,
    kwargs...
)
```

## Methods

### `send_keys` (overload 1)

```julia
send_keys(
    connection::LibTmux.ControlConnection,
    pane::LibTmux.PaneRef,
    keys::AbstractString...;
    literal,
    kwargs...
)
```

[Source](https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/src/control_operations.jl#L178).

Send valid UTF-8 key arguments to an exact pane over its pinned connection. `literal=true` disables tmux key lookup. No Enter or format expansion is added. Control bytes in key data are encoded as tmux parser escapes and never become command separators. Completion means tmux accepted the keys, not that a pane application processed them. Returns `ControlResult` after the completion fence.

```julia
send_keys(connection::ControlConnection, pane::PaneRef, keys...; literal=false, kwargs...)
```

### `send_keys` (overload 2)

```julia
send_keys(
    server::LibTmux.Server,
    pane::LibTmux.PaneRef,
    keys::AbstractString...;
    literal,
    kwargs...
)
```

[Source](https://github.com/libtmux/libtmux-julia/blob/f3da513be1225d36d5854cd8db5972c01857578e/src/pane_io.jl#L106).

Send explicit tmux key arguments to an exact pane. Named tokens such as `Enter` and `C-c` use tmux's normal key lookup; unrecognized tokens are text. `literal=true` disables key lookup. No Enter, separator or format expansion is added. Invalid UTF-8 raises `InvalidUTF8Error` before submission. Large text and binary data belong in `paste_text` or `paste_bytes`.

```julia
send_keys(server, pane, keys...; literal=false, kwargs...)
```

## Parameters

- `connection` (`LibTmux.ControlConnection`) (for `send_keys(connection, pane, keys, literal, kwargs)`)
- `pane` (`LibTmux.PaneRef`)
- `keys` (`Vararg{AbstractString}`)
- `literal` (`Bool`)
  Default: `false`.
- `kwargs`
- `server` (`LibTmux.Server`) (for `send_keys(server, pane, keys, literal, kwargs)`)
