Raxol.UI.Components.Input.MultiLineInput.EventHandler (Raxol v2.6.1)

View Source

Event handler for MultiLineInput component. Handles keyboard input and navigation events.

Key events are normalized through Raxol.UI.Harness.InputEvent before dispatch. The previous head matched data: %{key: key, modifiers: modifiers} -- a shape that ONLY Raxol.Core.Events.Event.key_event/3 (the test API) produces. The two real driver shapes -- the termbox event_translator.ex's boolean shift:/ctrl:/... fields and the raw-ANSI input_parser.ex's omitted-when-false fields -- carry no :modifiers key at all, so every real backspace/delete/arrow keypress fell through to the no-op default: dead editing keys on a real terminal, green tests on the test-API shape. InputEvent.normalize/1 erases the shape difference (see that module's moduledoc -- this is the same class of fix its "What T11/T14 migrate to" section prescribes); the normalized mods map is rebuilt into the modifier-list vocabulary dispatch_key/3's existing clauses already speak.

Summary

Functions

Handles events for the MultiLineInput component.

Functions

handle_event(event, state)

Handles events for the MultiLineInput component.