MouseMove was created to solve a specific problem with remote desktop software like Moonlight: some applications don't accept simulated or emulated mouse inputs. These applications require direct USB device communication to function properly. While VirtualHere enables USB device sharing over a network, manually connecting and disconnecting devices can be cumbersome.
This program automatically manages VirtualHere USB device connections based on window focus, ensuring that:
- Your USB device (like a mouse) only connects to the remote computer when you're actually using the remote application
- The device automatically disconnects when you switch to local applications
- You don't have to manually manage VirtualHere connections
This is particularly useful for:
- Gaming setups using Moonlight/Sunshine
- Remote workstations requiring precise input
- Applications that reject simulated input devices
- Setups where you frequently switch between local and remote use
- Automatically manages VirtualHere USB device connections based on window focus
- Monitors specific window titles for focus changes
- Maintains connection status through heartbeat system
- Configurable through external configuration file
- Provides warning notifications for connection issues
- Windows 64-bit operating system
- VirtualHere USB Client
- VirtualHere USB Server (vhusbdwin64.exe)
- Visual C++ Redistributable for Visual Studio 2015-2022
- LAN or VLAN connectivity between the Client/Host.
- Download MouseMoveR.exe from the latest release
- Create a config.txt file in the same directory with these settings:
DEVICE_ID=YOUR_VIRTUALHERE_DEVICE_ID SERVER_PORT=8080 POLL_INTERVAL=5 HEARTBEAT_TIMEOUT=17 WARNING_INTERVAL=60 - Replace YOUR_DEVICE_ID with your VirtualHere device ID (can be found in VirtualHere Client)
- Run MouseMoveR.exe
- Allow through Windows Firewall if prompted
- Download MouseMove.exe from the latest release
- Create a config.txt file in the same directory with these settings:
SERVER_IP=SERVER_COMPUTER_IP SERVER_PORT=8080 HEARTBEAT_INTERVAL=5 POLL_INTERVAL=2 VHUSB_CHECK_INTERVAL=30 WINDOW_TITLE=COMPUTER_NAME - Moonlight - Replace SERVER_COMPUTER_IP with the IP address of the computer running MouseMoveR
- Replace the WINDOW_TITLE if necessary with your Moonlight window title
- Run MouseMove.exe
- Ensure VirtualHere USB Client is running on both computers
- Check Windows Firewall settings if connection fails
- Verify IP addresses and ports in config files
- Check that the device ID matches exactly what's shown in VirtualHere Client
- Monitor the console output for any error messages
- Clone the repository
- Open the solution in Visual Studio
- Build both MouseMove and MouseMoveR projects
- Output executables will be in the Debug/Release folders
This project is licensed under the MIT License - see the LICENSE file for details
- Fork the repository
- Create a new branch for your feature
- Submit a pull request
For issues and feature requests, please use the GitHub issues system.