A tool that will spin your cursor in circles...
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

56 lines
1.7 KiB

import pynput
from time import sleep
from math import radians,sin,cos
from pyautogui import size,mouseDown,mouseUp
class Spinner:
def __init__(self):
self.MOUSE = pynput.mouse.Controller()
self.SCREEN = size()
self.CENTER = self.SCREEN[0] // 2, self.SCREEN[1] // 2
self.angle = 0
self.Y = self.MOUSE.position[1]
self.X = self.MOUSE.position[0]
self.xpositions = []
self.ypositions = []
def movetoCenter(self):
self.MOUSE.position = self.CENTER
self.update_m_pos()
print("Moved to center - ", str(self.MOUSE.position))
def update_m_pos(self):
self.Y = self.MOUSE.position[1]
self.X = self.MOUSE.position[0]
def m_dwn(self):
mouseDown()
def m_up(self):
mouseUp()
def calculate(self,circles = 1 ,angle_change = 30, rad_change = 0, radius = 60):
steps = (circles * 360)// angle_change
print("{} STEPS".format(steps))
for i in range(steps+1):
self.xpositions.append(self.X - radius * cos(radians(self.angle))) #sin
self.ypositions.append(self.Y - radius * sin(radians(self.angle))) #cos
self.angle += angle_change
def spin(self, press = True):
print("Spinning...")
for i in range(len(self.xpositions)):
if (i == 1 and press == True):
self.m_dwn()
sleep(.005)
self.MOUSE.position = (self.xpositions[i],self.ypositions[i])
pass
self.xpositions.clear()
self.ypositions.clear()
if (press == True):
self.m_up()
print("Done")
pass