1

Hello Stack Overflow users, I am wondering how to fix my Python Auto Clicker. This is Python 3.9.7 and I am using the program Visual Studio Code from Visual Studio Code and when I change my delay variable it stays clicking at the same speed. I am using pynput importing to check if key is pressed and to get the mouse with pynput.keyboard and pynput.mouse I also import the mouse with from pynput import mouse. Is their anyway to make my own waiting script kinda like time.sleep(float) well anyways lets get to the point. Here is the code:

###################
## Python Script Made by: Ryans World
## Python Script Based off of: PyTutorials on YouTube
## Python Version: 3.9.7
## Recommended Versions: 3.10 or 3.9.7
###################
    
# Imports
    
import threading
import time
from pynput import mouse
from pynput.mouse import Button, Controller
from pynput.keyboard import Key, Listener

# Variables

delay = 0.01
button = Button.left

# Functions

class ClickMouse(threading.Thread):
    def __init__(self, delay, button):
        super().__init__()
        self.delay = delay
        self.button = button
        self.running = False
        self.program_running = True
    
    # Run the script;returns True
    def start_clicking(self):
        self.running = True
    
    # Stop the script;returns False
    def stop_clicking(self):
        self.running = False
    
    # Exit the program;breaks the script
    def exit(self):
        self.stop_clicking()
        self.program_running = False
    
    # Runs the AutoClicking
    def run(self):
        while self.program_running:
            while self.running:
                mouse.click(self.button)
                time.sleep(self.delay)

# Thread & Mouse

mouse = Controller()
click_thread = ClickMouse(delay, button)
click_thread.start()

# Checks if USER pressed key to run program
def on_press(key):
    if key == Key.alt_l:
        if click_thread.running:
            click_thread.stop_clicking()
        else:
            click_thread.start_clicking()
    elif key == Key.esc:
        click_thread.exit()
        listener.stop() # Shuts down program completely

# Joins the Program with the 'on_press' function
with Listener(on_press=on_press) as listener:
    listener.join()
Garr Godfrey
  • 8,257
  • 2
  • 25
  • 23
Ryan's World
  • 70
  • 10

0 Answers0