Skip to content

🎯 Ultra-realistic human mouse movements using bezier curves and spline interpolation. Natural cursor automation.

Notifications You must be signed in to change notification settings

sarperavci/human_mouse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Human Mouse 🖱️

🎯 Human-like mouse movements powered by bezier curves and spline interpolation. Ultra-realistic cursor automation.

PyPI version Python 3.10+ License: MIT

Overview

Human Mouse is a sophisticated Python package that generates ultra-realistic mouse movements by implementing advanced mathematical algorithms. It uses a combination of bezier curves and spline interpolation to create smooth, natural-looking cursor trajectories that closely mimic human behavior.

Installation

pip install human-mouse

Core Functions & Examples

Basic Movement

Move cursor to specific coordinates with natural trajectory

mouse = MouseController()
mouse.move(500, 300)  # Move to coordinates
mouse.move(800, 600, speed_factor=0.5)  # Move faster

Random Movement

Move to a random screen position using human-like patterns

mouse.move_random()  # Move to random position
mouse.move_random(speed_factor=2.0)  # Slower random movement

Click Operations

Execute a single click

mouse.perform_click(500, 300)  # Move and click

Natural double click

mouse.perform_double_click(500, 300)  # Move and double click

Right-click action

mouse.perform_context_click(500, 300)  # Move and right click

Movement Patterns

Enable zigzag movements for more natural patterns

zigzag_mouse = MouseController(always_zigzag=True)
zigzag_mouse.move(500, 300)

Virtual Display Support

Linux virtual display support

virtual_mouse = MouseController(is_virtual=True)
virtual_mouse.move(500, 300)

Advanced Features

Movement Patterns

  • Bezier curve interpolation for smooth trajectories
  • Spline-based path generation
  • Randomized movement variance
  • Natural acceleration/deceleration
  • Configurable zigzag patterns

Platform Support

  • Windows: Full native support
  • macOS: Full native support
  • Linux: Supports both native and virtual displays

Complete Example

from human_mouse import MouseController
import time

# Initialize controller
mouse = MouseController(always_zigzag=True)

# Perform series of actions
mouse.move(500, 300)  # Move to position
time.sleep(0.5)  # Wait briefly
mouse.perform_click()  # Click
time.sleep(0.5)  # Wait briefly
mouse.move_random()  # Move to random position
mouse.perform_double_click()  # Double click

Technical Requirements

  • Python 3.10+
  • Dependencies:
    • numpy
    • pyautogui
    • scipy
    • python-xlib (optional, for Linux virtual display)

Contributing

We welcome contributions! Please feel free to submit pull requests.

License

MIT License - see the LICENSE file for details.

Support

Random Move Demo

demo.mp4

About

🎯 Ultra-realistic human mouse movements using bezier curves and spline interpolation. Natural cursor automation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages