MouseMove is a small Java utility that periodically moves the mouse cursor (and can optionally send Alt+Tab)
so your machine does not go idle. Configuration is done through a simple config.properties file.
Official website: https://mm.chaudhary.me
MouseMove is designed to help you maintain an active presence on your system automatically:
- Avoid Screensavers: Prevent screensavers from triggering with periodic mouse movements
- Keep MS Teams Active: Maintain active status in Microsoft Teams so colleagues see you as online
- Combat Idle Detection: Work around idle timeout policies that might lock your screen or disconnect sessions
- Custom Scheduling: Run the utility only during specific hours (e.g., 9 AM - 5:30 PM) or specific days
- Flexible Movement Options: Choose between random cursor movements or consistent offsets in horizontal, vertical, or both directions
- Optional Alt+Tab Integration: Optionally send Alt+Tab keystrokes to switch windows and further prevent idle detection
This utility is completely safe to use with the following guarantees:
- No Malware: The utility will NOT be detected or flagged by any anti-malware, anti-virus, or endpoint detection software
- No Admin Rights Required: Can be run without administrator privileges, making it suitable for corporate environments
- Lightweight: Uses minimal system resources with virtually no performance impact
- No Network Access: The utility operates entirely locally—it does not phone home or transmit data
- Legal Use: Designed for personal use cases where you need to prevent idle detection (not for circumventing security policies maliciously)
- Fully Controllable: You have complete control over when it runs, what it does, and can stop it at any time
- Java Runtime Environment (JRE) 8 or later (Java 8 supported)
MouseMove.jarconfig.propertiesREADME.md
- Install Java 8 or later.
- Place
MouseMove.jarandconfig.propertiesin the same folder. - Edit
config.propertiesto match your schedule and preferences.
If you don't have admin rights, you can use a standalone/portable JRE zip:
-
Download a JRE 8+ standalone zip from a vendor that provides ZIP archives. Oracle JRE download page:
-
Extract the zip to a folder you can write to, e.g.
C:\Tools\jre8orD:\Apps\Java\jre. -
Set environment variables to use this JRE:
- Set
JAVA_HOMEto the extracted folder (e.g.C:\Tools\jre8) - Add
%JAVA_HOME%\binto yourPATH
- Set
-
Open a new terminal and verify:
java -version
It should show Java 8 or later.
- Open File Explorer and navigate to the folder containing
MouseMove.jarandconfig.properties - Open Command Prompt in this folder:
- On Windows 10/11: Click the address bar at the top, type
cmd, and press Enter - Alternative: Hold
Shift+ Right-click in the folder (empty space), select "Open command window here" or "Open PowerShell window here"
- On Windows 10/11: Click the address bar at the top, type
- In the command prompt window, type the following command and press Enter:
java -jar MouseMove.jar
- You should see the application start and display status messages
- Press
Win + Rto open the Run dialog - Type the full command below (replace the path with your actual folder location):
For example:
cmd /k cd /d "C:\Path\To\MouseMove\Folder" && java -jar MouseMove.jar
cmd /k cd /d "C:\Users\YourName\Desktop\MouseMove" && java -jar MouseMove.jar
- Press Enter
- Press
Win + Rand typecmdthen press Enter - In the command prompt, navigate to your MouseMove folder:
For example:
cd C:\Path\To\MouseMove\Foldercd C:\Users\YourName\Desktop\MouseMove - Then run:
java -jar MouseMove.jar
- The application will start and begin running in the command prompt window
- You'll see log messages indicating when mouse movements occur
- The application will stop when
EndTimeis reached (based on yourconfig.propertiessettings) - To stop the application at any time, press
Ctrl + Cin the command prompt window
The app reads config.properties from the same folder as the jar (this overrides the built-in defaults).
Key options:
interval= seconds between moves (required, > 0)movetype=random|offsetoffset= pixels to move whenmovetype=offsetdirection=horizontal|vertical|bothalttab=true|falsealtTabInterval= send Alt+Tab every N moves (whenalttab=true)StartTime=HHmmorHH:mm(24-hour local time)EndTime=HHmmorHH:mm(24-hour local time)numOfDays=0to run indefinitely, orNto stop after N days atEndTimeMonday..Sunday=true|false(case-insensitive keys)
Example config:
interval=30
movetype=offset
offset=100
direction=both
alttab=true
altTabInterval=5
StartTime=0900
EndTime=1730
numOfDays=1
Monday=true
Tuesday=true
Wednesday=true
Thursday=true
Friday=true
Saturday=false
Sunday=false- The app only runs during enabled days and between
StartTimeandEndTime. - If
EndTimeis earlier thanStartTime, the window crosses midnight. - Logs display time in 12-hour format with date in
dd-MMM-yyyy.