Mgameplay

deki-input

Input dispatch and collision detection. Routes pointer / touch / key events to interested components.

depends on
deki-rendering

deki-input is the bridge between platform input (mouse, touch, keys) and the components that want to react to it. It owns the dispatch loop that walks the scene, finds components with NeedsInput() returning true, and calls HandleInput(...) on them. It also provides collision-detection utilities used by ButtonComponent and similar widgets to test whether a pointer event hit a given object.

It also drives small devices’ own controls. A trackball can be a pointer that behaves like a ThinkPad TrackPoint: rolled slowly it moves precisely, spun fast it crosses the screen (acceleration), and the cursor glides to a stop (glideMs) instead of jumping in steps. Its click is a mouse click, so a scene built for touch works with it unchanged. An I2C keyboard sends keys like a desktop one, and where the keyboard has a backlight (hasBacklight), game code sets it withSetBacklight().

Every component it adds, every exported property and its changelog are in the deki-input reference.