123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- #test mouse lib
- import sys
- import time # Зависисмоти для работы проекты
- from pynput.mouse import Button, Controller # Библиотека автоматизации действий клавиатуры установка.. в пакетнике pip install pyautogui
- from pynput.keyboard import Controller as KeyboardController
- import datetime
- import pyautogui
- import time
- import math
- def move_to(x, y, duration=1, steps=50):
- """
- Плавное перемещение курсора к координатам (x, y) за заданное время.
-
- :param x: Конечная координата X
- :param y: Конечная координата Y
- :param duration: Длительность перемещения в секундах (по умолчанию 0.5)
- :param steps: Количество шагов анимации (по умолчанию 50)
- """
- mouse = Controller()
- start_x, start_y = mouse.position
-
- for i in range(steps + 1):
- # Вычисляем прогресс от 0 до 1
- progress = i / steps
-
- # Применяем плавную кривую (например, квадратичную)
- # Можно использовать другие easing-функции для разного эффекта
- smooth_progress = progress ** 2 # Квадратичное замедление
-
- # Вычисляем промежуточные координаты
- current_x = start_x + (x - start_x) * smooth_progress
- current_y = start_y + (y - start_y) * smooth_progress
-
- # Перемещаем курсор
- mouse.position = (current_x, current_y)
-
- # Небольшая задержка для плавности
- time.sleep(duration / steps)
- def move_rel(dx, dy, duration=3, steps=100):
- """
- Плавное перемещение курсора на заданное расстояние от текущего положения.
-
- :param dx: Смещение по оси X (в пикселях)
- :param dy: Смещение по оси Y (в пикселях)
- :param duration: Длительность перемещения в секундах (по умолчанию 1)
- :param steps: Количество шагов анимации (по умолчанию 50)
- """
- mouse = Controller()
- start_x, start_y = mouse.position
- target_x = start_x + dx
- target_y = start_y + dy
-
- for i in range(steps + 1):
- # Вычисляем прогресс от 0 до 1
- progress = i / steps
-
- # Применяем плавную кривую (квадратичное замедление)
- smooth_progress = progress ** 2
-
- # Вычисляем промежуточные координаты
- current_x = start_x + dx * smooth_progress
- current_y = start_y + dy * smooth_progress
-
- # Перемещаем курсор
- mouse.position = (current_x, current_y)
-
- # Небольшая задержка для плавности
- time.sleep(duration / steps)
- def get_mouse_position():
- """Возвращает текущие координаты курсора мыши (x, y)."""
- mouse = Controller()
- return mouse.position
|