Your cursor's best mate. A free, open-source Windows tray app that manages mouse speed, acceleration, scroll speed, cursor size, and more across switchable profiles. Set up your preferred settings for precision work, everyday use, and gaming — then switch between them instantly.
- Three mouse profiles — Precision, Everyday, and Gaming, plus unlimited custom profiles
- Mouse speed control — Hardware-level speed adjustment (1-20)
- Enhance Pointer Precision — Toggle mouse acceleration on/off per profile
- Scroll speed — Adjust lines per wheel click
- Double-click speed — Fine-tune double-click timing
- Cursor size — Adjust system cursor size (1-15)
- System tray app — Minimal footprint, always one click away
- Manual nudges — Quick-adjust speed, scroll, or cursor size from tray submenus
- Find My Cursor — Ctrl+Alt+F draws an animated shrinking circle at your cursor position. Like macOS shake-to-find but better.
- Magnifier — Ctrl+Alt+M shows a magnified view following your cursor. Toggle on/off.
- Click counter — Tracks left/right/middle clicks per day with visual bar charts
- Usage stats — Track time spent in each profile
- Notification toasts — Windows notifications on profile switch
- Auto-lock — Manual profile selection locks automatically to prevent scheduled overrides
- Per-profile tray icons — Blue (Precision), Green (Everyday), Red (Gaming)
- Automatic update checker — Checks GitHub for new releases on startup
- Auto-start with Windows — Toggle in settings
MousePal is fully self-contained — it controls your mouse directly through Windows APIs. No drivers, no third-party tools, no admin privileges needed.
No additional software required.
- Download
MousePal_Setup.exefrom Releases - Run the installer
- Launch from Start Menu or desktop shortcut
Windows SmartScreen: You may see a "Windows protected your PC" warning. Click "More info" then "Run anyway". The source code is fully open for inspection.
- Download the portable zip from Releases
- Extract to a folder
- Run
MousePal.exe
- Clone this repository
- Install Python 3.10+
- Install dependencies:
pip install -r requirements.txt - Run:
pythonw main.py
| Method | Action |
|---|---|
| Tray menu | Right-click the tray icon, click a profile |
| Hotkey | Ctrl+Alt+1 (Precision), Ctrl+Alt+2 (Everyday), Ctrl+Alt+3 (Gaming) |
| Hotkey | Action |
|---|---|
| Ctrl+Alt+1 | Switch to Precision |
| Ctrl+Alt+2 | Switch to Everyday |
| Ctrl+Alt+3 | Switch to Gaming |
| Ctrl+Alt+F | Find My Cursor (animated highlight) |
| Ctrl+Alt+M | Toggle Magnifier |
| Ctrl+Alt+Shift+Up/Down | Nudge mouse speed ±1 |
| Ctrl+Alt+P | Panic button (reset to Everyday) |
| Ctrl+Alt+L | Profile Lock toggle |
Right-click the tray icon and click Settings:
- Profiles tab — Adjust speed, acceleration, scroll, double-click, cursor size, and hotkey per profile. Add/delete custom profiles.
- Stats tab — Click counts (left/right/middle per day/week) and profile time bar charts.
- General tab — Auto-start, notifications, language, hotkey reference, current status.
- About tab — Version, MouseWheel Digital branding, feedback email, Buy Me a Coffee.
| Profile | Speed | Acceleration | Scroll | Double-Click | Use Case |
|---|---|---|---|---|---|
| Precision | 5 | Off | 3 lines | 500ms | Design work, spreadsheets |
| Everyday | 10 | On | 3 lines | 400ms | General use, browsing |
| Gaming | 15 | Off | 5 lines | 300ms | Fast reactions, FPS games |
All values are fully customisable per profile.
Do I need any other software? No. MousePal controls your mouse directly through Windows APIs. No drivers, no third-party tools needed.
Does it work with any mouse? Yes. MousePal controls system-level mouse settings that apply to all connected mice — wired, wireless, Bluetooth, gaming, trackball, anything.
What does the red dot on the tray icon mean? Your profile is locked. This happens automatically when you manually select a profile. Right-click → Unlock Profile or press Ctrl+Alt+L to return to unlocked state.
How does Find My Cursor work? Press Ctrl+Alt+F and a bright animated circle appears at your cursor position, then shrinks and fades away over about 1 second. Useful for finding your cursor on large or multi-monitor setups.
How does the Magnifier work? Press Ctrl+Alt+M to toggle a small magnifying window that follows your cursor, showing a 2x zoomed view of the area around it. Press again to close. Great for detailed work or accessibility.
Does it track my clicks? Yes, locally. Click counts (left/right/middle) are stored in your local config file and shown in Settings > Stats. No data is sent anywhere.
Does the app phone home? No. Everything runs locally. The only network call is the update checker on startup (checks GitHub releases). No telemetry, no analytics.
| Feature | Technology |
|---|---|
| Mouse speed | Win32 SystemParametersInfo (SPI_SETMOUSESPEED) |
| Acceleration | Win32 SystemParametersInfo (SPI_SETMOUSE) |
| Scroll speed | Win32 SystemParametersInfo (SPI_SETWHEELSCROLLLINES) |
| Double-click | Win32 SystemParametersInfo (SPI_SETDOUBLECLICKTIME) |
| Cursor size | Windows Accessibility registry |
| Click counter | Win32 SetWindowsHookEx (WH_MOUSE_LL) |
| Cursor finder | Tkinter overlay with animated canvas |
| Magnifier | PIL ImageGrab + Tkinter overlay |
| System tray | pystray |
| Settings UI | customtkinter |
| Global hotkeys | keyboard |
pip install pyinstaller
pyinstaller --noconfirm --windowed --name "MousePal" --icon "assets/icon.ico" --add-data "assets;assets" --add-data "lang;lang" --collect-all customtkinter --hidden-import pystray._win32 main.py
The output will be in dist/MousePal/.
To build the Windows installer, install Inno Setup 6:
"C:\Program Files (x86)\Inno Setup 6\ISCC.exe" installer.iss
MousePal is free and open source. If you find it useful:
MIT License — see LICENSE for details.
A MouseWheel Digital product
Digital products. Built with purpose.
Built with the assistance of Claude Code by Anthropic.
