I'm trying to make a failsafe with pyautogui. Having to move my mouse cursor to the corner is very difficult at times. Below is a sample of what my code is suppose to do when this key bind is active. It works, but I want to see if there is a better way of writing this code without having to repeat each condition every time. I want to be able to perform the failsafe at anytime during the loop instead of having to wait until the beginning of each iteration.
this is what I want my code to do:
import pyautogui
import sys
from win32.lib.win32con import VK_CAPITAL
from win32.win32api import GetKeyState
def check():
if GetKeyState(VK_CAPITAL) == 1:
sys.exit()
for i in range(10):
check()
pyautogui.move(100,200, duration=1)
check()
pyautogui.move(200,200, duration=1)
check()
pyautogui.move(200,300, duration=1)
check()
this is what it looks like right now:
import pyautogui
import sys
from win32.lib.win32con import VK_CAPITAL
from win32.win32api import GetKeyState
def check():
if GetKeyState(VK_CAPITAL) == 1:
sys.exit()
for i in range(10):
check()
pyautogui.move(100,200, duration=1)
pyautogui.move(200,200, duration=1)
pyautogui.move(200,300, duration=1)
Build a list of callable actions and iterate the list while checking for your condition. The following will call the function list until the caps lock key is active: