Files
ghostty/example/c-vt-mouse-encode
Mitchell Hashimoto 33b05b9876 example: add C mouse encoding example
Add a new c-vt-mouse-encode example that demonstrates how to use the
mouse encoder C API. The example creates a mouse encoder configured
with SGR format and normal tracking mode, sets up terminal geometry
for pixel-to-cell coordinate mapping, and encodes a left button press
event into a terminal escape sequence.

Mirrors the structure of the existing c-vt-key-encode example. Also
adds the corresponding @example doxygen reference in vt.h.
2026-03-15 20:14:07 -07:00
..
2026-03-15 20:14:07 -07:00

Example: ghostty-vt C Mouse Encoding

This example demonstrates how to use the ghostty-vt C library to encode mouse events into terminal escape sequences.

This example specifically shows how to:

  1. Create a mouse encoder with the C API
  2. Configure tracking mode and output format (this example uses SGR)
  3. Set terminal geometry for pixel-to-cell coordinate mapping
  4. Create and configure a mouse event
  5. Encode the mouse event into a terminal escape sequence

The example encodes a left button press at pixel position (50, 40) using SGR format, producing an escape sequence like \x1b[<0;6;3M.

Usage

Run the program:

zig build run