You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
96 lines
2.2 KiB
Python
96 lines
2.2 KiB
Python
import time
|
|
|
|
from pynput import keyboard, mouse
|
|
from pynput.mouse import Button
|
|
import threading
|
|
|
|
control = keyboard.Controller()
|
|
|
|
IS_LEFT_DOWN = True
|
|
IS_RIGHT_DOWN = True
|
|
IS_START = False
|
|
IS_FLAG_T = time.time()
|
|
|
|
def on_press(key):
|
|
global IS_LEFT_DOWN, IS_RIGHT_DOWN, IS_START
|
|
try:
|
|
if key.char == "=":
|
|
IS_START = not IS_START
|
|
except AttributeError:
|
|
pass
|
|
|
|
|
|
def on_click(x, y, button: Button, pressed):
|
|
global IS_LEFT_DOWN, IS_RIGHT_DOWN, IS_START, IS_FLAG_T
|
|
|
|
if "left" in str(button):
|
|
if pressed:
|
|
print("鼠标左键按下")
|
|
IS_LEFT_DOWN = True
|
|
else:
|
|
print("鼠标左键释放")
|
|
IS_FLAG_T = time.time()
|
|
IS_LEFT_DOWN = False
|
|
if "right" in str(button):
|
|
if pressed:
|
|
print("鼠标右键按下")
|
|
IS_RIGHT_DOWN = True
|
|
else:
|
|
print("鼠标右键释放")
|
|
IS_RIGHT_DOWN = False
|
|
|
|
|
|
def listener_mouse():
|
|
with mouse.Listener(on_click=on_click) as listener:
|
|
listener.join()
|
|
|
|
def listener_keyword():
|
|
with keyboard.Listener(on_press=on_press) as listener:
|
|
listener.join()
|
|
|
|
def down_w():
|
|
return
|
|
while True:
|
|
time.sleep(0.1)
|
|
print(IS_LEFT_DOWN, IS_RIGHT_DOWN)
|
|
if IS_LEFT_DOWN or IS_RIGHT_DOWN:
|
|
...
|
|
else:
|
|
if IS_START:
|
|
# 鼠标左键释放后的0.5s 不做任何处理
|
|
if time.time() - IS_FLAG_T < 0.5:
|
|
continue
|
|
control.press("w")
|
|
control.release("w")
|
|
control.press("w")
|
|
control.release("w")
|
|
|
|
def eat():
|
|
f = 9.5
|
|
|
|
tmp = True
|
|
last_t = time.time()
|
|
while True:
|
|
time.sleep(0.01)
|
|
if IS_START:
|
|
t = time.time()
|
|
if t - last_t > f:
|
|
last_t = t
|
|
if tmp:
|
|
control.press("1")
|
|
control.release("1")
|
|
else:
|
|
control.press("2")
|
|
control.release("2")
|
|
tmp = not tmp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
threading.Thread(target=listener_mouse).start()
|
|
threading.Thread(target=listener_keyword).start()
|
|
threading.Thread(target=eat).start()
|
|
threading.Thread(target=down_w).start()
|