Skip to content

fix(controller): the pointer stays on screen across pages - #106

Open
lippdev wants to merge 1 commit into
feat/newtab-keyboard-and-cursorfrom
fix/pointer-always-visible
Open

lippdev wants to merge 1 commit into
feat/newtab-keyboard-and-cursorfrom
fix/pointer-always-visible

Conversation

@lippdev

@lippdev lippdev commented Oct 21, 2026

Copy link
Copy Markdown
Owner

Stacked on #105.

Summary

  • Root cause: applyInputMode runs on every change of the active tab: loading, title, icon. It drew the pointer only in Cursor mode, a rule from before the stick's pointer existed outside that mode. So in the default Spatial mode, every page change hid it.
  • Shell.showPointer() now draws the pointer wherever it was last left, on every page, tab switch and mode change. The first time, it starts in the middle of the page. Arrows mode stays the exception.
  • The D-pad no longer hides the pointer. It still takes A back for the focused item. The cursor-hide event is removed.

Test plan

  • npm run typecheck
  • npm test (118 passed)
  • npm run test:e2e (62 passed, 3 skipped). New test: the pointer is visible on a page without touching the stick, and after navigating to another page it is drawn again at the same spot. The pointer test now checks it stays on screen after the D-pad.

🤖 Generated with Claude Code

The pointer vanished whenever the page changed. Every change of the active
tab (loading, title, icon) re-applied the input mode, and outside Cursor
mode that hid the pointer, a rule from when the pointer belonged to that
mode only. The D-pad hid it as well.

The pointer is now always drawn, where it was last left (the middle of the
page the first time): on every page, on every tab switch and after a mode
change. The D-pad still takes A back for the focused item, but leaves the
pointer on screen. Arrows mode stays the exception.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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