#python #global-variables #mouse #pynput
Вопрос:
Я пытаюсь сделать так, чтобы, когда левая кнопка мыши удерживается нажатой, мышь перемещалась вниз. Мне удалось заставить его работать, но я, кажется, не могу найти кнопку для включения и выключения. (Примечание: Мышь должна продолжать двигаться вниз до тех пор, пока левая кнопка мыши не будет отпущена)
Я думаю, что у меня проблема с глобальными переменными и моими циклами. Я занимаюсь этим уже несколько часов и не могу найти решение.
Я хотел бы реализовать клавишу F8 для включения и выключения. Если это невозможно, используйте одну и ту же клавишу для переключения F7 для включения и F8 для выключения.
Вот мой текущий код:
from pynput import mouse
from pynput.mouse import Button, Controller
import threading
import win32api, win32con
import time
running = False
print(running)
def process():
print('start')
while running:
win32api.mouse_event(win32con.MOUSEEVENTF_MOVE, -1, 2)
time.sleep(20 / 950)
print('stop')
def on_click(x, y, button, pressed):
global running # to assing value to global variable (instead of local variable)
if button == mouse.Button.left:
if pressed:
if not running:
running = True
threading.Thread(target=process).start()
else:
running = False
with mouse.Listener(on_click=on_click) as listener:
listener.join()
Комментарии:
1. Пожалуйста, поделитесь ошибкой, с которой вы столкнулись, и любой обратной связью.
2. Никаких ошибок в коде, когда я добавляю оператор if при просьбе изменить переменную running = False, это не работает. Опять же, я пытаюсь включить переключатель, который будет включать и отключать активацию программы.