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> |
||
|---|---|---|
| .. | ||
| apps | ||
| atlus.js | ||
| auth.js | ||
| keyboard.js | ||