This repository was archived by the owner on Jul 13, 2026. It is now read-only.
Repository navigation
v2.0.0: Python Rewrite, Persistent Connections, Hotkey
This release marks a complete rewrite of the MouseMove and MouseMoveR applications from C++ to Python!
This migration was undertaken to simplify the codebase, improve maintainability, and address several stability and performance issues encountered previously. We've focused on streamlining the core functionality while adding a key requested feature.
Major Changes & Improvements:
- 🚀 Complete Python Rewrite: The entire application suite (Client:
MouseMove.exeand Server:MouseMoveR.exe) is now built with Python 3. - 🔗 Persistent TCP Connections: Replaced the old connect-per-command model. Now uses stable, persistent TCP connections, improving reliability and performance.
- 🐛 CPU Spike Fixed: Resolved the significant CPU usage spike experienced by the client (
MouseMove.exe) during startup. - ✅ Server Connection Handling Fixed: The server (
MouseMoveR.exe) now correctly handles persistent client connections. - ✨ New Feature: Hotkey Process Killer: Added a configurable hotkey to the server (
MouseMoveR.exe) to terminate a specified process (default:\). Uses input polling for better game compatibility. - ⚙️ Simplified Logic: Removed dedicated heartbeats; connection status is managed via command activity and standard socket events.
- 📄 Unified & Compatible Config: Both client and server now read the same
config.txtfile, using the simplekey = valueformat (compatible with the original C++ version's config).
Included Binaries:
MouseMove.exe: The client application (run on your local PC).MouseMoveR.exe: The server application (run on the remote/host PC).config.txt: Example configuration file. Edit this file with your settings and place it alongside BOTH executables.
Example config.txt:
# MouseMove & MouseMoveR Configuration v2.0 (Python)
# Place this ONE file in the same directory as BOTH MouseMove.exe and MouseMoveR.exe
# --- Client Settings (Used by MouseMove.exe on your LOCAL PC) ---
SERVER_IP = 192.168.1.101 # <-- REQUIRED: Change this to the Server's IP
WINDOW_TITLE = YourComputerName - Moonlight # <-- REQUIRED: Change this (Exact Window Title)
POLL_INTERVAL = 2
VHUSB_CHECK_INTERVAL = 30
# --- Server Settings (Used by MouseMoveR.exe on your REMOTE PC) ---
DEVICE_ID = YourVHServerName.123 # <-- REQUIRED: Change this (VirtualHere Device ID)
PROCESS_TO_KILL = GameExecutable.exe # <-- OPTIONAL: Change or leave blank
HOTKEY = \ # <-- OPTIONAL: Change or leave blank
WARNING_INTERVAL = 60
# --- Shared Settings (Used by BOTH Client and Server) ---
SERVER_PORT = 8080 # Default: 8080. Must match.