Skip to main content

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.
note

Touch and on-screen-keyboard paths depend on mobile-browser quirks. If you hit a device-specific issue, see Troubleshooting.