Input & Monitors
Pointer, keyboard, and scroll
Waylo injects input through Mutter's RemoteDesktop session, so it drives the
real desktop exactly like a local device:
- Pointer — absolute positioning (
NotifyPointerMotionAbsolute), so the remote cursor tracks your browser cursor 1:1 with no drift. The remote cursor is drawn by the client for zero perceived latency. - Keyboard — physical-key events are mapped to evdev keycodes; the on-screen keyboard path uses keysyms directly so accented and composed characters work.
- Scroll — smooth, pixel-precise scrolling for kinetic panning, plus
discrete "notch" events so wheel-driven UI (menus,
Ctrl+wheel zoom) behaves like a real wheel.
Input is only forwarded while the pointer is captured. Click the video to
capture; press Esc or Ctrl+M to release.
VMware-style pointer flow
Capture is designed to feel seamless: the pointer auto-recaptures when you move
back onto the video, and auto-releases on a sustained push against a dead screen
edge (with tuned distance/time thresholds so it won't release mid-drag or on a
glancing slam). This gives multi-monitor and windowed use a natural feel without
constantly pressing Esc.
Multiple monitors
If the host has multiple monitors, Waylo records each one:
- Switch the viewed monitor from the toolbar's monitor switcher, or with
Ctrl+←/Ctrl+→while the pointer is captured. Those step to the physically neighbouring screen — monitors are ordered by where they actually sit, not by the order Waylo happened to record them — and wrap at both ends. - Pop out a monitor into its own browser window. Each pop-out is pinned to one monitor and joins the running session using an attach token handed over from the main window (over a same-origin BroadcastChannel) — no re-login.
- Edge crossing — with pop-out windows arranged to match the physical layout, the pointer crosses between them at the shared edges, so a multi-head remote desktop feels like sitting in front of it.
Touch and on-screen keyboard
Waylo supports phones and tablets:
- Touch gestures map to pointer actions for tap, drag, and scroll.
- The on-screen keyboard is summoned by the platform (iOS/Android) and its keystrokes are sent as keysyms, so text — including symbols and accents — reaches the remote session correctly.
Touch and on-screen-keyboard paths depend on mobile-browser quirks. If you hit a device-specific issue, see Troubleshooting.