Raxol.Terminal.ANSI.Mouse (Raxol v2.0.1)
View SourceConsolidated mouse handling for the terminal emulator. Combines MouseEvents and MouseTracking functionality. Supports various mouse tracking modes and event reporting.
Summary
Types
@type focus_event() :: :focus_in | :focus_out
@type modifier() :: :shift | :alt | :ctrl | :meta
@type mouse_action() :: :press | :release | :move | :drag
@type mouse_button() ::
:left | :middle | :right | :wheel_up | :wheel_down | :release | :none
@type mouse_event() :: {mouse_button(), mouse_action(), integer(), integer()}
@type mouse_mode() ::
:basic
| :normal
| :highlight
| :cell
| :button
| :all
| :any
| :focus
| :utf8
| :sgr
| :urxvt
| :sgr_pixels
@type mouse_state() :: %{ enabled: boolean(), mode: mouse_mode(), button_state: mouse_button(), modifiers: MapSet.t(modifier()), position: {integer(), integer()}, last_position: {integer(), integer()}, drag_state: :none | :dragging | :drag_end }
Functions
See Raxol.Terminal.ANSI.Mouse.Tracking.disable_mouse_tracking/1.
See Raxol.Terminal.ANSI.Mouse.Tracking.enable_mouse_tracking/1.
See Raxol.Terminal.ANSI.Mouse.Tracking.format_focus_event/1.
See Raxol.Terminal.ANSI.Mouse.Tracking.format_mouse_event/1.
See Raxol.Terminal.ANSI.Mouse.Tracking.parse_focus_sequence/1.
See Raxol.Terminal.ANSI.Mouse.Tracking.parse_mouse_sequence/1.