FA-31652 / Keyboard interactions / Member archive
Per-switch keyboard scan debounce: Contact bounce fails to restart the candidate timer or stable samples continually restart it · case 02
The event trace violates the candidate change rule and produces incorrect keyboard state or command output.
Case contract
Case [threshold,scans]. Each scan is [time,sorted_pressed_keys] and times increase. A raw transition starts a candidate timer; a candidate becomes stable after continuously present for threshold time including exact boundary. Each scan considers every known or raw key. Emit [key,down_or_up,time] on stable transitions; return emissions plus stable pressed keys. Missing keys are raw up. Inputs are finite ordered event traces; return the stated deterministic state. Batch entries are independent. N varies the number of independent input transactions.
Why this case matters
Controlled keyboard event processing model for debugging application event logic.
One recorded failure
Sample boundary fixtureThis sample comes from the broken implementation of a controlled reproducer.
| Boundary fixture | Actual | Expected | Outcome |
|---|---|---|---|
| key-debounce scenario 2 | [[[["A", "down", 13], ["A", "up", 14]], []], [[["A", "down", 13], ["A", "up", 14]], []]] | [[[["A", "down", 13], ["A", "up", 17]], []], [[["A", "down", 13], ["A", "up", 17]], []]] | Failed |
MEMBER ARCHIVE
The complete case is available to members.
This record includes three runnable implementations, regression fixtures, execution results, and source hashes.
Member access is invitation-based. Sign in with your invited account to inspect the sources.
Sign in to the archive ↗