FA-31374 / Keyboard interactions / Member archive
Sticky modifier latch lifecycle: Emitted chord modifier representation is noncanonical or omits latches · case 04
The event trace violates the modifier order rule and produces incorrect keyboard state or command output.
Case contract
Events [kind,key]. Tap of modifier cycles absent -> once -> locked -> absent. Modifier down/up sets physical state independently. Character emits [key,sorted effective modifiers] then consumes all once latches but preserves locked and physical modifiers. Cancel clears latches only; blur clears both. Return emitted events, latches and physical state. 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 |
|---|---|---|---|
| sticky-modifiers scenario 4 | [[[["A", ["Control", "Alt"]]], [], ["Alt", "Control"]], [[["A", ["Control", "Alt"]]], [], ["Alt", "Control"]], [[["A", ["Control", "Alt"]]], [], ["Alt", "Control"]], [[["A", ["Control", "Alt"]]], [], ["Alt", "Control"]]] | [[[["A", ["Alt", "Control"]]], [], ["Alt", "Control"]], [[["A", ["Alt", "Control"]]], [], ["Alt", "Control"]], [[["A", ["Alt", "Control"]]], [], ["Alt", "Control"]], [[["A", ["Alt", "Control"]]], [], ["Alt", "Control"]]] | 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 ↗