atlus/backend/routers
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
..
plugins Fix robustness issues across backend and frontend 2026-03-14 17:41:43 -05:00
__init__.py Initial commit — Atlus web desktop environment for SBCs 2026-03-14 16:53:46 -05:00
display.py Complete rewrite of input forwarding — fix mouse and keyboard events 2026-03-15 01:22:59 -05:00
files.py Fix robustness issues across backend and frontend 2026-03-14 17:41:43 -05:00
network.py Add ethernet link watchdog and prevent disabling last active interface 2026-03-15 00:12:00 -05:00
packages.py Fix package manager: better error handling, debug endpoint, robust PATH 2026-03-14 19:33:04 -05:00
processes.py Initial commit — Atlus web desktop environment for SBCs 2026-03-14 16:53:46 -05:00
services.py Fix robustness issues across backend and frontend 2026-03-14 17:41:43 -05:00
session.py Run terminals and GUI apps as the authenticated user, not root 2026-03-15 00:35:52 -05:00
settings.py Replace panel services with docked apps, add autostart and update scanner settings 2026-03-14 23:40:44 -05:00
stats.py Initial commit — Atlus web desktop environment for SBCs 2026-03-14 16:53:46 -05:00
terminal.py Add persistent/roaming desktop sessions 2026-03-14 21:41:28 -05:00
updates.py Fix package detection using dpkg-query, add apt-get update before install, add libxcb-cursor0 dep 2026-03-14 23:51:53 -05:00