I wrote a small program in Python, which executes the function "go" when I press the left mouse button. My intention however is to execute go only while I hold LMB. If I release LMB it should cancel "go". Finally when canceld or successfully executed it should be ready to do the same when I press LMB again.
Here is the code:
import pyHook
import pythoncom
import pyautogui
from time import sleep
pyautogui.size()
width, height = pyautogui.size()
def go(event):
sleep(0.099)
pyautogui.moveRel(4, 19, duration=0.099)
pyautogui.moveRel(-4, 7, duration=0.099)
pyautogui.moveRel(-3, 29, duration=0.099)
pyautogui.moveRel(-1, 31, duration=0.099)
pyautogui.moveRel(13, 31, duration=0.099)
pyautogui.moveRel(8, 28, duration=0.099)
pyautogui.moveRel(13, 21, duration=0.099)
pyautogui.moveRel(-17, 12, duration=0.099)
pyautogui.moveRel(-42, -3, duration=0.099)
pyautogui.moveRel(-21, 2, duration=0.099)
pyautogui.moveRel(-15, 7, duration=0.099)
pyautogui.moveRel(12, 11, duration=0.099)
pyautogui.moveRel(-26, -8, duration=0.099)
pyautogui.moveRel(-3, 4, duration=0.099)
pyautogui.moveRel(40, 1, duration=0.099)
pyautogui.moveRel(19, 7, duration=0.099)
pyautogui.moveRel(14, 10, duration=0.099)
pyautogui.moveRel(27, 0, duration=0.099)
pyautogui.moveRel(33, -10, duration=0.099)
pyautogui.moveRel(-21, -2, duration=0.099)
pyautogui.moveRel(7, 3, duration=0.099)
pyautogui.moveRel(-7, 9, duration=0.099)
pyautogui.moveRel(-8, 4, duration=0.099)
pyautogui.moveRel(19, -3, duration=0.099)
pyautogui.moveRel(5, 6, duration=0.099)
pyautogui.moveRel(-20, -1, duration=0.099)
pyautogui.moveRel(-33, -4, duration=0.099)
pyautogui.moveRel(-45, -21, duration=0.099)
pyautogui.moveRel(-14, 1, duration=0.099)
return True
hm = pyHook.HookManager()
hm.SubscribeMouseLeftDown(go)
hm.HookMouse()
pythoncom.PumpMessages()
hm.UnhookMouse()