# Clickear en 3 coordenadas

**URL:** <https://pyar.discourse.group/t/clickear-en-3-coordenadas/713>\
**Category:** Sin categoría\
**Created:** [7 Agosto, 2021 13:50 UTC](https://pyar.discourse.group/t/clickear-en-3-coordenadas/713 "2021-08-07T13:50:36Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Fedee92](https://avatars.discourse-cdn.com/v4/letter/f/dec6dc/32.png) [@Fedee92](https://pyar.discourse.group/u/Fedee92)\
**Post date:** [7 Agosto, 2021 13:50 UTC](https://pyar.discourse.group/t/clickear-en-3-coordenadas/713/1 "2021-08-07T13:50:36Z")

</div>

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:

```auto
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()

```

---

<div class="post-metadata">

**Author:** ![cabustillo13](https://yyz2.discourse-cdn.com/free1/user_avatar/pyar.discourse.group/cabustillo13/32/220_2.png) [@cabustillo13](https://pyar.discourse.group/u/cabustillo13)\
**Post date:** [8 Agosto, 2021 13:23 UTC](https://pyar.discourse.group/t/clickear-en-3-coordenadas/713/2 "2021-08-08T13:23:13Z")

</div>

He visto implementaciones similares a la que mencionas utilizando PyAutoGUI:  
[https://pyautogui.readthedocs.io/en/latest/](https://pyautogui.readthedocs.io/en/latest/)
