Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

ADR-0010: GetModifierState('CapsLock') is read only after two typed characters agreed with it, and

Status: superseded by ADR-0004

Context

The derived reading is right and free, but says nothing until a letter is typed — which is exactly when a master password is most likely to be wrong. Checking the platform against observed reality buys back the click-to-focus case on platforms that do not lie, while WebKitGTK's always-true mask disqualifies itself on the first lowercase letter. There is deliberately no "consistently inverted" state: a stuck mask is indistinguishable from an inverted one until the lock changes, and believing an inversion is the original bug in mirror image

Decision

getModifierState('CapsLock') is read only after two typed characters agreed with it, and never again after one disagreed

Evidence

src/ts/ui-qol.ts