What problem does it solve? Game code should ask for semantic actions like "move" and "jump" instead of raw key codes, and input state must be consistent across every read within a frame. This Skill guides wiring player input in an ignifx game through @ignifx/input, covering action maps, bindings, devices, and rebinding without manual event handling. ## Core Features & Use Cases - Action Maps and Bindings: Define actions of type button, axis, or vector2 with binding paths, composites like 2DVector, and processors like deadzone, loaded from .input.json assets or defined in code. - Devices and Control Schemes: Work with keyboard, mouse, pointer, touch, gamepad slots, and a virtual device, with automatic control scheme switching based on the last active device. - Pointer Lock and Rebinding: Request pointer lock for first-person look, run interactive rebinding with performInteractiveRebind, and persist overrides with saveOverrides. - Use Case: Build a local multiplayer game by giving each player entity a PlayerInput component pinned to its own gamepad slot, then test the whole pipeline headless with app.input.simulate. ## Quick Start Ask the AI to add a move action bound to WASD and gamepad left stick plus a jump action in your ignifx project using @ignifx/input.