Estoy recién comenzando a navegar en estas aguas de python, vengo de excel y vba así que estoy bastante mareado.
Estuve queriendo hacer un programa que al ejecutarlo puedo manejar con 3 teclas el mouse, haciendo que se mantenga presionado en 3 coordenadas diferentes según la tecla que presiono, sería algo así:
Presiono “a” y el mouse se queda presionado en un punto a la izquierda, vuelvo a presionar “a” (o presiono otra de las 2 letras) y suelta el click.
Presiono “s” y el mouse se queda presionado en un punto al medio, vuelvo a presionar “s” (o presiono otra de las 2 letras) y suelta el click.
Presiono “d” y el mouse se queda presionado en un punto a la derecha, vuelvo a presionar “d” (o presiono otra de las 2 letras) y suelta el click.
Intente modificarlo partiendo de una base de un autoclick, pero no me esta funcionando.
Aquí el código modificado:
Import threading
From pynput. Mouse import Button, Controller
From pynput. Keyboard import Listener, KeyCode
button = Button.left
start_stop_left = KeyCode(char='a')
start_stop_mid = KeyCode(char='s')
start_stop_right = KeyCode(char='d')
exit_key = KeyCode(char='e')
class ClickMouse(threading.Thread):
def __init__(self, button):
super(ClickMouse, self).__init__()
self.button = button
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.press(button)
mouse = Controller()
click_thread = mouse.press(button)
def on_press(key):
if key == start_stop_left:
if click_thread.running:
click_thread.stop_clicking()
else:
click_thread.start_clicking()
mouse.position = (785, 515)
elif key == start_stop_mid:
if click_thread.running:
click_thread.stop_clicking()
else:
click_thread.start_clicking()
mouse.position = (960, 545)
elif key == start_stop_right:
if click_thread.running:
click_thread.stop_clicking()
else:
click_thread.start_clicking()
mouse.position = (1135, 530)
elif key == exit_key:
click_thread.exit()
listener.stop()
with Listener(on_press=on_press) as listener:
listener.join()