Skip to content

fix(input): restore fast Shift double-tap - #150

Merged
AsafMah merged 2 commits into
devfrom
asafmah-fix-double-tap-shift
Sep 3, 2026
Merged

fix(input): restore fast Shift double-tap#150
AsafMah merged 2 commits into
devfrom
asafmah-fix-double-tap-shift

Conversation

@AsafMah

@AsafMah AsafMah commented Sep 3, 2026

Copy link
Copy Markdown
Owner

Summary

Fixes #146

Test evidence

  • Pre-fix: KeyboardStateTest completed 5 tests with 2 failures: fastDoubleTapShiftLocksCaps and duplicateShiftPressWithoutReleaseDoesNotLockCaps
  • Targeted after final rebase: :app:testOfflineDebugUnitTest --tests '*KeyboardStateTest' --rerun-tasks passed all 8 tests
  • Compile: compileOfflineRunTestsKotlin passed
  • Authoritative gate: 371 tests, 4 expected Windows ParserTest failures, 8 skipped; [ok] no new failures against baseline (--started-after 1788446191)
  • Independent review: release-boundary invariant accepted; every requested edge case is covered

Device verification

SM-S936B was unavailable: both adb devices -l and adb mdns services were empty. Manual verification remains:

  1. Single-tap Shift and confirm temporary Shift only.
  2. Double-tap Shift quickly and confirm Caps Lock plus the locked Shift icon.
  3. Type several letters and confirm all are uppercase.
  4. After the 300 ms double-tap window, tap Shift once and confirm Caps Lock unlocks.

AsafMah and others added 2 commits September 3, 2026 17:33
Require a release boundary instead of an arbitrary 100 ms floor, preserving duplicate-press protection while allowing legitimate fast Caps Lock taps. Closes #146.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Exercise duplicate presses from shifted state and post-chord timing, and share the production double-tap timeout with the fake timer.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@AsafMah
AsafMah changed the base branch from asafmah-merge-upstream-v4-1-8 to dev September 3, 2026 14:40
@AsafMah
AsafMah merged commit deaa782 into dev Sep 3, 2026
1 check passed
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