WindMouse

Contents:

  • Installation
    • Requirements
    • Standard Installation
    • Modern Alternative (uv)
    • Installing Backend Dependencies
      • PyAutoGUI Backend (Recommended)
      • AutoHotkey Backend (Windows Only)
      • Install All Backends
    • Development Installation
    • Verifying Installation
    • Troubleshooting
      • Import Errors
      • Permission Errors (Linux)
      • PyAutoGUI Issues on macOS
      • AutoHotkey Not Found (Windows)
      • Virtual Display (Headless Servers)
      • NumPy Compatibility
      • Type Checking Issues
    • Next Steps
  • Usage Guide
    • Basic Usage
      • PyAutoGUI Backend (Cross-Platform)
      • AutoHotkey Backend (Windows)
    • Understanding Movement Parameters
      • tick_delay
      • step_duration
      • hold_button
    • Fine-Tuning the Physics
      • Understanding the Parameters
      • Customization Examples
    • Advanced Usage Patterns
      • Setting Start and Destination Separately
      • Multiple Sequential Movements
      • Manual Tick-Based Movement
      • Drag and Drop Operations
      • Context Manager Pattern
    • Performance Considerations
      • Movement Speed vs. Realism
      • Backend Performance
      • Screen Resolution Considerations
    • Best Practices
    • Common Patterns
      • Web Scraping
      • Game Automation
    • Next Steps
  • Quick Reference
    • Installation
    • Basic Movement
      • PyAutoGUI (Cross-platform)
      • AutoHotkey (Windows)
    • Common Parameters
      • Physics Parameters (Constructor)
      • Movement Parameters (move_to_target)
    • Preset Configurations
      • Fast Movement
      • Natural Movement (Default)
      • Curved Movement
      • Slow, Deliberate Movement
    • Common Operations
      • Drag and Drop
      • Sequential Movements
      • Manual Control
      • Random Offset
    • HoldMouseButton Values
    • Default Constants
    • Error Handling
    • Type Safety
    • See Also
  • Examples
    • Basic Movement
      • PyAutoGUI (Cross-Platform)
      • AutoHotkey (Windows)
    • Custom Physics Parameters
    • Changing Destination On-The-Fly
    • Drag and Drop
    • Sequential Movements
    • Movement Speed Control
      • Fast Movement
      • Natural Movement
      • Slow Movement
    • Manual Control with Tick
    • Error Handling
    • Random Offset for Natural Variation
    • Reusing Controllers
    • Resource Management (AHK)
    • See Also
  • Best Practices
    • Type Safety
    • Error Handling
    • Resource Management
    • Controller Reuse
    • Adding Natural Variation
  • Algorithm Explained
    • Overview
    • The Problem with Traditional Mouse Movement
    • The WindMouse Solution
    • Mathematical Model
      • Physics Simulation
      • Gravity Force
      • Wind Force
      • Velocity Clamping
    • Algorithm Pseudocode
    • Parameter Effects
      • gravity_magnitude
      • wind_magnitude
      • max_step
      • damped_distance
    • Why These Specific Constants?
    • Algorithm Characteristics
      • Convergence Guarantee
      • Non-Determinism
      • Scale Independence
    • Comparison to Other Algorithms
      • Linear Interpolation
      • Bézier Curves
      • Simplex/Perlin Noise
    • Implementation Details
      • Generator-Based Architecture
      • Coordinate Type Safety
    • Optimization Opportunities
    • Visualizing the Algorithm
    • Further Reading
    • Next Steps
  • API Reference
    • Core Module
      • wind_mouse Function
        • wind_mouse()
      • AbstractMouseController Class
        • AbstractMouseController
      • Types and Enums
        • HoldMouseButton
        • windmouse.core.Coordinate
      • Constants
        • windmouse.core.GRAVITY_MAGNITUDE_DEFAULT
        • windmouse.core.WIND_MAGNITUDE_DEFAULT
        • windmouse.core.MAX_STEP_DEFAULT
        • windmouse.core.DAMPED_DISTANCE_DEFAULT
    • PyAutoGUI Controller
      • PyautoguiMouseController
        • PyautoguiMouseController.tick()
    • AutoHotkey Controller
      • AHKMouseController
        • AHKMouseController.__init__()
        • AHKMouseController.tick()
    • Exported Types
    • Common Exceptions
    • See Also
  • Contributing
    • Getting Started
      • Development Setup
    • Code Style
      • Formatting
      • Type Checking
      • Code Guidelines
    • Making Changes
      • Branch Naming
      • Commit Messages
    • Testing
      • Running Tests
      • Writing Tests
    • Documentation
      • Building Documentation
      • Documentation Guidelines
    • Pull Request Process
      • Pull Request Checklist
    • Reporting Issues
      • Bug Reports
      • Feature Requests
    • Community Guidelines
      • Code of Conduct
      • Communication
    • Recognition
    • Development Tips
      • Debugging
      • Testing Locally
      • Virtual Environment
    • Questions?
    • See Also

Additional Resources:

  • GitHub Repository
  • PyPI Package
WindMouse
  • Search


© Copyright 2025, David Lishchyshen.

Built with Sphinx using a theme provided by Read the Docs.