Moonlight mouse and keyboard problems: cursor, capture and wrong keys
Short answer: Most mouse and keyboard problems come from one of four things: the host has no mouse, so Windows hides the cursor; Moonlight is in the wrong mouse mode; Sunshine’s scancodes don’t match your keyboard layout; or the client OS keeps a shortcut for itself. Each has a documented switch.
Checked October 30, 2026 against Moonlight PC v6.2.0 and Sunshine v2026.914.233613 (latest stable releases) and their documentation. Sources are listed at the end of the page.
Moonlight PC shortcuts worth knowing
On Windows, macOS and Linux (including Steam Deck desktop), Moonlight PC uses Ctrl+Alt+Shift plus a letter:
| Keys | What it does |
|---|---|
| Ctrl+Alt+Shift+Z | Capture or release the mouse and keyboard |
| Ctrl+Alt+Shift+M | Switch mouse mode (pointer capture or direct control) |
| Ctrl+Alt+Shift+C | Show or hide the local cursor in remote desktop mouse mode |
| Ctrl+Alt+Shift+L | Lock the pointer to the video area (remote desktop mouse mode only) |
| Ctrl+Alt+Shift+V | Type your clipboard text on the host |
| Ctrl+Alt+Shift+Q | Quit the stream (the game keeps running) |
Problem by problem
No cursor on the stream
Windows may hide the pointer when no mouse is attached to the host. Moonlight’s fix is to connect a mouse to the PC, or turn on Mouse Keys on the host (search “Mouse key” in the Start menu), which makes Windows show a cursor. Sunshine also suggests attaching a physical mouse if the mouse behaves oddly.
The mouse feels wrong on the desktop, or won’t leave the window
Moonlight PC’s Optimize mouse for remote desktop instead of games gives seamless control without capturing your cursor. It’s ideal for desktop work but won’t work in most games, so switch back with Ctrl+Alt+Shift+M before playing. Moonlight for Android has the same idea as “Remote desktop mouse mode”, which it warns is incompatible with many games.
Alt+Tab or the Windows key goes to the client, not the host
- Turn on Capture system keyboard shortcuts in Moonlight PC (off by default). Moonlight notes that some shortcuts, like Ctrl+Alt+Del on Windows, can’t be intercepted by any app.
- If you still can’t send the Windows key, Sunshine’s
key_rightalt_to_key_winoption (off by default) makes Right Alt act as the Windows key.
Wrong characters on a non-US keyboard
Sunshine’s always_send_scancodes (Windows hosts, on by default) improves game compatibility but can produce wrong input from clients that don’t use a US English layout. The docs say: disable it if keys produce the wrong input; enable it if keyboard input doesn’t work at all in certain apps.
Scrolling is far too fast in an older app
Turn off Sunshine’s high_resolution_scrolling (on by default). The docs suggest this for older apps that scroll too fast with high-resolution scroll events.
A game ignores the keyboard or mouse completely
Some games read raw input only. Sunshine’s docs say that with its paid Virtual HID Driver and an active licence, keys and relative mouse movement go through a real HID device so those games can receive them. Without it, Sunshine uses Windows input injection, which those games may ignore.
Apollo: a second device can’t use the mouse or keyboard
Apollo gives full permissions only to the first paired client. Grant input permissions to the others in its web UI.
Phones, tablets and TV boxes
- Touchscreens: trackpad mode moves the cursor like a laptop trackpad; tap with one finger to click, or hold one finger down and tap a second to right-click. Tap with three fingers to bring up the keyboard on Android and iOS.
- Android mouse capture: NVIDIA SHIELD and Android 8.0 or later support proper mouse capture without root.
- iPad: iPadOS 14 or later supports mice in games that capture the pointer. Moonlight’s docs found non-Apple mice work best over USB rather than Bluetooth.
- No mouse at all: hold Start on a controller to toggle mouse emulation (Moonlight PC and Android).
FAQ
How do I release the mouse from Moonlight?
On Moonlight PC press Ctrl+Alt+Shift+Z to toggle mouse and keyboard capture. Ctrl+Alt+Shift+Q quits the stream and leaves the game running on the host.
Why is there no mouse cursor when I stream?
Windows can hide the pointer when no mouse is connected to the host. Moonlight suggests connecting a mouse to the PC or enabling Mouse Keys on the host so Windows shows a cursor.
Why do some keys type the wrong character?
Sunshine sends scancodes by default on Windows, which can produce wrong input from clients that don’t use a US English layout. Its docs say to disable always_send_scancodes if keys produce the wrong input.
Sources
- Moonlight wiki: Keyboard/Mouse/Gamepad input options (official Moonlight docs)
- Moonlight wiki: Missing mouse cursor (official Moonlight docs)
- Moonlight wiki: Frequently Asked Questions (official Moonlight docs)
- Moonlight PC source: settings screen (SettingsView.qml) (Moonlight source, master branch)
- Moonlight for Android source: setting labels (strings.xml) (Moonlight source, master branch)
- Sunshine docs: Configuration (official Sunshine docs)
- Sunshine docs: Troubleshooting (official Sunshine docs)
- Apollo README (virtual display, HDR notes) (project README)