Quick answer: Your game registers double inputs because a single physical input is being processed multiple times: it's handled in more than one place, or processed both via an event callback and via per-frame polling, so one press triggers the action twice. It can also come from re-triggering a once-per-press action every frame the key is held. The fix is to process each input exactly once.

Double inputs (one press doing two actions) undermine the precise control players expect, a single jump press jumps twice, a menu selection activates two items. It's about processing the same input too many times, and it has a clear fix.

Why Double Inputs Happen

A double input occurs when a single physical input is registered as two (or more) actions. The usual cause is processing the same input in multiple places, the input event is handled by more than one piece of code, or the input is processed both via an event callback and via polling each frame, so one press triggers the action twice. It can also come from not distinguishing a press from a hold (re-triggering each frame the key is down when you meant to trigger once on press), or from input events delivered more than once.

The signature is one input doing the action twice (or repeatedly). The cause is almost always the input being handled more times than the player pressed it.

How to Diagnose and Fix It

Reproduce by pressing once and seeing two actions, then audit for duplicate handling: is the input handled in multiple places, or both by event and polling? Is a once-per-press action being re-triggered every frame the key is held? Bugnet captures reports with context confirming which inputs/contexts are affected, though this is usually reproducible locally.

Fix by processing each input exactly once: ensure a given input is handled in a single place, don't process it both by event and by polling, and distinguish press, hold, and release clearly (trigger once-per-press actions on the press event, not every frame the key is held). See our guide on fixing double input and stuck keys.

Double input is processing one press twice, handled in multiple places, or both event and polling. Process each input once, on the press event for once-per-press actions.