Я пишу скрипт так, что когда пользователь нажимает Shift+P, будет введена текстовая строка. Он работает, и когда я нажимаю Shift+P, он вводит текст, но не перестает вводить текст. Я предполагаю, что это то, что я сделал и не вижу. Почему это продолжает зацикливаться и печатать? Как мне заставить его остановиться после того, как он закончит набирать «Hello, World» один раз?
from pynput import keyboard
import pyautogui as pg
COMBINATIONS = [
{keyboard.Key.shift, keyboard.KeyCode(char="p")},
{keyboard.Key.shift, keyboard.KeyCode(char="P")}
]
current = set()
def execute():
pg.press("backspace")
pg.typewrite("Hello, World\n", 0.25)
def on_press(key):
if any ([key in COMBO for COMBO in COMBINATIONS]):
current.add(key)
if any(all(k in current for k in COMBO) for COMBO in COMBINATIONS):
execute()
def on_release(key):
if any([key in COMBO for COMBO in COMBINATIONS]):
current.remove(key)
with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()