Raxol.Terminal.EventHandler (Raxol Terminal v2.6.0)

Copy Markdown View Source

Handles various terminal events including mouse, keyboard, and focus events. This module is responsible for processing and responding to user interactions.

Summary

Functions

Processes a focus event. Returns {:ok, updated_emulator} or {:error, reason}.

Processes a keyboard event. Returns {:ok, updated_emulator} or {:error, reason}.

Processes a mouse event. Returns {:ok, updated_emulator} or {:error, reason}.

Functions

handle_focus_event(emulator, invalid_event)

@spec handle_focus_event(Raxol.Terminal.Emulator.t(), atom()) ::
  {:ok, Raxol.Terminal.Emulator.t()} | {:error, String.t()}

Processes a focus event. Returns {:ok, updated_emulator} or {:error, reason}.

handle_keyboard_event(emulator, event)

@spec handle_keyboard_event(Raxol.Terminal.Emulator.t(), map()) ::
  {:ok, Raxol.Terminal.Emulator.t()} | {:error, String.t()}

Processes a keyboard event. Returns {:ok, updated_emulator} or {:error, reason}.

handle_mouse_event(emulator, event)

@spec handle_mouse_event(Raxol.Terminal.Emulator.t(), map()) ::
  {:ok, Raxol.Terminal.Emulator.t()} | {:error, String.t()}

Processes a mouse event. Returns {:ok, updated_emulator} or {:error, reason}.