Skip to content

fix(tracking): follow the caret only after a key press (#289) - #299

Merged
Maxaubert merged 6 commits into
mainfrom
fix/289-caret-needs-key
Sep 30, 2026
Merged

Maxaubert merged 6 commits into
mainfrom
fix/289-caret-needs-key

Conversation

@Maxaubert

Copy link
Copy Markdown
Owner

Closes #289.

Caret and focus tracking moved the view on caret changes nothing on the keyboard caused (apps repositioning their caret on their own), which read as the view jumping.

  • Tracking follows a caret/focus change only when a key was pressed just before it; key-ups count too, and a raw-input key clock keeps working when the keyboard hook is suspended.
  • The follow target is latched only when that gate passes (ViewOwnerState::target), so an ungated event can no longer drag the view later.
  • The Claude Code caret jump turned out to be Prism Terminal parking its caret; it is fixed there (PT Inspect mode: freeze cursor + free-look crosshair reticle (#101) #102), so the Wind-side jump hold was reverted.

Unit tests for the gate in tests/test_view_target.cpp. Running in the owner's tested build; the owner confirmed it.
Version 0.13.3.

🤖 Generated with Claude Code

https://claude.ai/code/session_01KPUNAWcwghXdHCApcKKjSG

Maxaubert and others added 6 commits September 30, 2026 17:04
Scrolling moves a focused control's caret on screen with no key at all (field:
the Settings page dragged the view while scrolling). A change now takes the
view only if a key went down within 1 s (keyboard LL hook timestamp, injected
keys included); without the hook there is no gate.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KPUNAWcwghXdHCApcKKjSG
…key clock alive (#293, #289 review)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KPUNAWcwghXdHCApcKKjSG
… in Prism Terminal (#293)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KPUNAWcwghXdHCApcKKjSG
… key-ups count as keyboard activity (#289 review)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KPUNAWcwghXdHCApcKKjSG
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KPUNAWcwghXdHCApcKKjSG
@Maxaubert
Maxaubert merged commit 0af2e90 into main Sep 30, 2026
1 check passed
@Maxaubert
Maxaubert deleted the fix/289-caret-needs-key branch September 30, 2026 15:44
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.

Tracking follows the caret while scrolling (no key pressed)

1 participant