Raxol.Terminal.EventHandler (Raxol v2.0.1)

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}.