Skip to content

Fix application-lock wake input and OLED clock motion - #15

Merged
ZheLZZ merged 1 commit into
mainfrom
codex/fix-lock-wake-input
Oct 2, 2026
Merged

ZheLZZ merged 1 commit into
mainfrom
codex/fix-lock-wake-input

Conversation

@ZheLZZ

@ZheLZZ ZheLZZ commented Oct 1, 2026

Copy link
Copy Markdown
Owner

Returning from the OLED clock now consumes the waking key and its held repeats without adding a password character or submitting an unlock. Later keys are queued after the wake transition, so typing immediately after waking preserves the intended password, including spaces.

Password input is handled directly by the lock's keyboard hook instead of depending on a focused Tk Entry. This retains editing, Unicode packets and explicit clipboard paste, and resets modifier state when input switches between remote and physical sources. Each display also keeps its own clock-motion state and measures text at fixed coordinates, preventing pixel rounding or changing text bounds from causing animation jumps.

Validation:

  • 105 regression tests passed on Windows with Python 3.13; tracked Python files compile and the diff passes whitespace checks.
  • The isolated-desktop validator passed with real lock windows and installed hooks, covering wake-only Space/Enter, held repeats, fast follow-up typing, Unicode, editing, paste, unlock and simulated monitor/DPI changes.
  • The Windows EXE built successfully and passed its isolated-desktop self-test. All 9 direct-input regression tests also passed against the code embedded in that EXE.

Physical monitor hotplug and a real ToDesk disconnect-to-physical-keyboard handoff have not been exercised.

@ZheLZZ
ZheLZZ merged commit 5408646 into main Oct 2, 2026
1 check passed
@ZheLZZ
ZheLZZ deleted the codex/fix-lock-wake-input branch October 2, 2026 08:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant