# @nebula/core-input Action-based input abstraction for controller-first apps. Converts raw device events into app-level actions. ## What it does - Normalizes device input into a consistent `InputEvent` shape. - Maps physical controls to logical actions (e.g. confirm, back). - Emits action updates with `value` and `active` state. ## Key concepts - **InputEvent**: Normalized event with `source`, `control`, `type`, and `value`. - **InputBinding**: Maps a physical control to an action name. - **ActionUpdate**: The emitted result when an input matches a binding. ## Typical use cases - Gamepad-first UIs that should work across Deck, Xbox, and PlayStation layouts. - Unified handling of keyboard and controller inputs without coupling to hardware. - Action-driven UI logic (confirm/back/menu) instead of button-driven logic.