-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathAutoClicker.py
More file actions
101 lines (75 loc) · 2.8 KB
/
AutoClicker.py
File metadata and controls
101 lines (75 loc) · 2.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
import tkinter as tk
from tkinter import ttk
import pyautogui
import time
import threading
import keyboard
import random
class AutoTyper:
def __init__(self):
self.typing = False
def start_typing(self):
text = text_entry.get("1.0", tk.END)
lines = text.splitlines()
try:
start_wps = float(start_wps_entry.get())
end_wps = float(end_wps_entry.get())
except ValueError:
result_label.config(text="Please enter valid numbers for WPS!")
return
if start_wps <= 0 or end_wps <= 0:
result_label.config(text="WPS should be greater than 0!")
return
self.typing = True
result_label.config(text="Starting in 3 seconds...")
window.update()
time.sleep(3)
for line in lines:
words = line.split()
for word in words:
if not self.typing:
break
for char in word:
if not self.typing:
break
pyautogui.press(char)
interval = random.uniform(1/start_wps, 1/end_wps)
time.sleep(interval)
if not self.typing or word == words[-1]:
continue
pyautogui.press("space")
if not self.typing or line == lines[-1]:
continue
pyautogui.press("enter")
result_label.config(text="Done typing!" if self.typing else "Typing stopped!")
self.typing = False
def toggle_typing(self):
if self.typing:
self.typing = False
else:
threading.Thread(target=self.start_typing).start()
auto_typer = AutoTyper()
def on_f10_key():
auto_typer.toggle_typing()
keyboard.add_hotkey('f10', on_f10_key)
window = tk.Tk()
window.title("Auto Typer")
frame = ttk.Frame(window, padding="10")
frame.grid(row=0, column=0, sticky=(tk.W, tk.E, tk.N, tk.S))
text_label = ttk.Label(frame, text="Enter your text:")
text_label.grid(row=0, column=0, sticky=tk.W, pady=5)
text_entry = tk.Text(frame, height=10, width=40)
text_entry.grid(row=1, column=0, columnspan=2, pady=5)
start_wps_label = ttk.Label(frame, text="Start WPS:")
start_wps_label.grid(row=2, column=0, sticky=tk.W, pady=5)
start_wps_entry = ttk.Entry(frame)
start_wps_entry.grid(row=2, column=1, pady=5)
end_wps_label = ttk.Label(frame, text="End WPS:")
end_wps_label.grid(row=3, column=0, sticky=tk.W, pady=5)
end_wps_entry = ttk.Entry(frame)
end_wps_entry.grid(row=3, column=1, pady=5)
start_button = ttk.Button(frame, text="Start Typing (F10)", command=auto_typer.toggle_typing)
start_button.grid(row=4, column=0, columnspan=2, pady=10)
result_label = ttk.Label(frame, text="")
result_label.grid(row=5, column=0, columnspan=2, pady=5)
window.mainloop()