pynput modülünü kullanabilirsiniz. Aşağıda kendime yaptığım autoclicker'ın en basit ve dediğiniz gibi "+" ile açıp kapanabilen halini ekliyorum. Ben autoclicker kullandığımın anlaşılmaması adına tıklamaların gecikme sürelerini belirlediğim aralığa göre random seçmesini sağladım. Siz istediğiniz gibi ayarlarsınız.

import time
import threading
from pynput.mouse import Button, Controller
from pynput.keyboard import Listener, KeyCode
import random

min_speed = str(input("minimum hız (saniye): 0.0"))
max_speed = str(input("maksimum hız (saniye): 0.0"))

min_speed = "0.0" + min_speed
max_speed = "0.0" + max_speed

min_speed = float(min_speed)
max_speed = float(max_speed)

print("ready")

delay = 0.07
button_left_l = Button.left
start_stop_key_left = KeyCode(char='+')
exit_key = KeyCode(char='-')

class ClickMouseLeft(threading.Thread):
    def __init__(self, button):
        super(ClickMouseLeft, self).__init__()
        self.delay = delay
        self.button = button_left_l
        self.running = False
        self.program_running = True

    def start_clicking(self):
        self.running = True

    def stop_clicking(self):
        self.running = False

    def exit(self):
        self.stop_clicking()
        self.program_running = False

    def run(self):
        while self.program_running:
            while self.running:
                mouse.click(self.button)
                time.sleep(round(random.uniform(min_speed, max_speed), 3))
            time.sleep(0.1)

mouse = Controller()
click_thread_left = ClickMouseLeft(button_left_l)
click_thread_left.start()

def on_press(key):
    if key == start_stop_key_left:
        if click_thread_left.running:
            click_thread_left.stop_clicking()
        else:
            click_thread_left.start_clicking()
    elif key == exit_key:
        click_thread_left.exit()
        listener.stop()


with Listener(on_press=on_press) as listener:
    listener.join()
edit: tablar silinmiş, düzenledim