atlus/frontend/js
roberts a5a7b01fd9 Complete rewrite of input forwarding — fix mouse and keyboard events
Root causes fixed:
- _focused was a stray class annotation in @dataclass, causing field
  ordering issues — moved to proper dataclass field
- xdotool type --window WID not supported on all versions — removed
  --window flag, use focused window instead
- xdotool commands with --window may fail silently — switched to
  absolute coordinates (window is at 0,0 filling the display)
- All xdotool errors were silently swallowed — now logged with stderr

Mouse events:
- Use absolute mousemove + click (no --window) since window fills display
- Separate mousemove and click into two calls for reliability
- Fire-and-forget for mousemove to reduce latency

Keyboard events:
- xdotool type (no --window) for printable characters
- xdotool key (no --window) for special keys and modifier combos
- Window focused once via _ensure_focus, not per-event

Diagnostics:
- Backend logs first 5 input events received per WebSocket session
- Backend logs xdotool stderr on failure
- Frontend logs first 10 input events sent + WS state warnings
- Frontend uses capture phase for keyboard events

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-15 01:22:59 -05:00
..
apps Complete rewrite of input forwarding — fix mouse and keyboard events 2026-03-15 01:22:59 -05:00
atlus.js Improve window discovery, add app context menu with Start/Stop/Restart 2026-03-15 01:05:19 -05:00
auth.js Add persistent/roaming desktop sessions 2026-03-14 21:41:28 -05:00
keyboard.js Fix robustness issues across backend and frontend 2026-03-14 17:41:43 -05:00