я не много изменил код и вот полностью рабочий
import keyboard, mouse, threading, win32con, win32api
from time import sleep
isClicking = False
stopEvent = threading.Event()
clickEvent = threading.Event()
def on_key_press(event):
global isClicking
if event.name == 'alt':
isClicking = not isClicking
if isClicking:
print("Кликер включен!")
clickEvent.set() # Signal the clicker to start
threading.Thread(target=clicker).start()
print(isClicking)
else:
print("Кликер выключен!")
#здесь clicker() должен както выключатся
clickEvent.clear() # Signal the clicker to stop
print(isClicking)
def is_left_mouse_button_pressed():
# Проверяем состояние клавиши
state = win32api.GetKeyState(win32con.VK_LBUTTON)
# Если старшая битовая позиция равна 1, то клавиша зажата
return (state & 0x8000) != 0
def clicker():
while not stopEvent.is_set():
if is_left_mouse_button_pressed() and clickEvent.is_set():
# rkbrftv
x, y = win32api.GetCursorPos()
# Кликаем по текущей позиции
win32api.mouse_event(win32con.MOUSEEVENTF_LEFTDOWN, x, y, 0, 0)
elif keyboard.is_pressed('Esc'):
break
sleep(0.01)
keyboard.on_press(on_key_press)
keyboard.wait('esc')