WindMouse is a fairly old and well-known algorithm for generating human-like mouse movements (curved paths, variable speed, natural deceleration). It’s often referenced in automation discussions, but surprisingly I couldn’t find a clean, well-tested, reusable implementation as a Python library.
So I decided to implement it myself.
The project is now released as WindMouse:
* Strong typing (NewType for coordinates, mypy-friendly)
* Two backends:
* PyAutoGUI (cross-platform)
* AutoHotkey (Windows)
The algorithm itself is not new - the implementation is. My goal was to create something that could be downloaded and immediately used in projects.I’m looking for help with:
* Testing on different OS setups (especially macOS edge cases) * New backends (e.g. native macOS, Wayland, low-level Windows APIs, game engines, remote desktops) * Feedback on API design and parameter defaults
Happy to answer questions about the algorithm, design decisions, or tradeoffs.