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.
