I have the following script:
import time
from pynput import keyboard
from pynput.keyboard import Key, Listener
STATUS=False
COMBINATION={keyboard.Key.esc, keyboard.Key.alt}
# The currently active modifiers
current = set()
def on_press(key):
if key in COMBINATION:
current.add(key)
if all(k in current for k in COMBINATION):
STATUS = False
if key == keyboard.Key.esc:
# Stop listener
STATUS = True
def on_release(key):
try:
current.remove(key)
except KeyError:
pass
def hp(delay):
keyboard.press(Key.f1)
keyboard.release(Key.f1)
time.sleep(delay)
def cp():
keyboard.press(Key.f2)
keyboard.release(Key.f2)
def main():
with Listener(
on_press=on_press,
on_release=on_release) as listener:
listener.join()
while True:
while STATUS:
for i in range(3):
hp(0.5)
cp()
when I generate an executable with pyinstaller or even run it through the end with python3, the script simply doesn't loop as I had thought (run forever) as I don't have any err messages, I don't know where my err might be, can anyone help?
You need to create an entry point for your script. Add this to the bottom of you file, and try again:
if __name__ == '__main__':
main()