# `Ghostty.MouseEvent`
[🔗](https://github.com/dannote/ghostty_ex/blob/v0.5.0/lib/ghostty/mouse_event.ex#L1)

Represents a mouse input event for the terminal.

## Examples

    %Ghostty.MouseEvent{action: :press, button: :left, x: 50.0, y: 40.0}
    %Ghostty.MouseEvent{action: :release, button: :left, x: 50.0, y: 40.0}
    %Ghostty.MouseEvent{action: :motion, x: 55.0, y: 42.0}

# `action`

```elixir
@type action() :: :press | :release | :motion
```

# `button`

```elixir
@type button() :: :left | :right | :middle | :four | :five | nil
```

# `modifier`

```elixir
@type modifier() :: :shift | :ctrl | :alt | :super
```

# `t`

```elixir
@type t() :: %Ghostty.MouseEvent{
  action: action(),
  button: button(),
  mods: [modifier()],
  x: float(),
  y: float()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
