What Moonlink does

About 3 minutes to read

#Overview

Moonlink captures your mouse input (movement, buttons, scroll) and forwards it over USB to a hardware device that appears as a native HID mouse to the target machine. Mouse movement is injected through a named pipe, bypassing the Windows cursor entirely.


#Tabs

Moonlink's interface is organized into three tabs: Device, Tuning, and Misc.


#Device Tab

#Connection

SettingDescription
COM PortThe serial port your Moonlink device is connected to. Auto-detected on startup if a known device is found.
Baud RateCommunication speed. Moonlink auto-negotiates up to 312500 baud for lowest latency. Default fallback is 115200.
Connect / DisconnectManually connect or disconnect from the device.

#Input Masking

Block specific mouse buttons from being forwarded to the device. Useful when your software uses certain buttons for its own controls.

SettingDescription
Block Right ClickPrevents right-click from being sent to the device.
Block Back ButtonPrevents mouse back button (Mouse4) from being sent.
Block Forward ButtonPrevents mouse forward button (Mouse5) from being sent.

#Tuning Tab

#Blend

Controls how physical (your hand) and injected mouse movements interact.

SettingDescription
Bypass ModeWhen enabled, physical and injected input are added together raw with no blending or filtering.
Physical Priority WindowHow long (1–1000 ms) after you stop moving your mouse before injected input resumes. Higher values give your physical mouse stronger priority. Default: 50 ms.

Status indicator — Displays idle or active to show whether physical mouse movement is currently detected.


#Misc Tab

#Output

SettingDefaultDescription
Output Rate1000 HzHow many packets per second are sent to the device. Options: 1000, 2000, 4000, 8000 Hz. Higher rates use interpolation to subdivide movements.
Enable InterpolationOffSmooths output at rates above 1000 Hz by subdividing each movement across multiple packets. When disabled, output runs at 1000 Hz regardless of the rate setting.

#Gear Menu (top-right)

App-level settings accessible from the gear icon.

SettingDescription
Always On TopKeeps the Moonlink window above other windows.
Debug OutputEnables verbose logging to Moonlink-Debug.log.

#Config File

All settings are saved to moonlink.json in the Moonlink directory. The file is created automatically with defaults on first launch.

{
    "Block Right Click": false,
    "Block Back Button": false,
    "Block Forward Button": false,
    "Always On Top": true,
    "Debug Output": false,
    "COM Port": "",
    "Baud Rate": "115200",
    "Bypass Mode": false,
    "Physical Priority Window": 50,
    "Output Rate": "1000",
    "Interpolation Enabled": false
}

All settings take effect immediately — no restart required.



#1️⃣ First-Time Login

  • Register an Account:
    • Enter your username and password.
    • Input 1 of the following: Color, AI, or Moonlink key.
    • Ensure there are no extra spaces in the key field before clicking 'Register.'

#Check Folder Structure

  • Ensure there is only one Moonlink folder on your 2nd PC.
    • Multiple folders can cause conflicts.

#Verify Firmware Upload

Make sure the correct firmware is uploaded to your Arduino:

  • For Arduino Leonardo: Upload the .ino.hex file.
  • For Arduino Due: Upload the .bin file.

#3️⃣ Device-Specific Checks

#For Arduino Leonardo Users

Check CP2102 Connection

  • CP2102 should be plugged into the 2nd PC.
  • Arduino Leonardo should be plugged into the Main PC.
  • Ensure all jumpers are properly connected.

Disable Power Management for CP2102

  1. Open Device Manager on the 2nd PC.
  2. Locate CP2102 under Ports (COM & LPT).
  3. Right-click CP2102 → Select Properties.
  4. Go to the Power Management tab.
  5. Uncheck "Allow the computer to turn off this device to save power."
  6. Click OK.

Try Different USB Ports & Restart PCs

  • Test with different USB ports on both PCs.
  • Restart both PCs if needed.

#For Arduino Due Users

Check Both Micro USB Cables

  • Use high-quality cables that support both data and power (avoid charging-only cables).
  • Swap out cables to test if one is faulty.

Try Different USB Ports & Restart PCs

  • Test different USB ports on both PCs.
  • Restart both PCs if needed.

4️⃣ Check for Windows OS Related Issues

If you try to open the exe and you get a cv2 recursion error, it never opens, force closes, or something else, you may need to follow these steps.

  • Check for Windows updates

    • Windows search bar --> settings --> Windows Update --> Check for updates
  • Sync your clock

    • Windows search bar --> Time & Language --> Date & Time

    Windows 10

What Moonlink does

Windows 11

What Moonlink does
  • Install Visual C++ Redistributable Runtimes All-in-One

#5️⃣ Final Steps for Both Arduino Leonardo & Due

  1. Open Command Prompt (CMD) (Do not run as administrator).
  2. Drag the Moonlink.exe file into the command window.
  3. Press Enter and check for any error messages.

#6️⃣ If All Else Fails

  • Check the .log file in the Moonlink folder and upload it in the support channel.

Following these steps should help resolve most common issues!

Stuck on a step? Ask in the Moonlight Discord and a staff member will help.