Mi problema aquí es que quiero que cualquier pulsación de tecla que el usuario escriba ejecute una pulsación de tecla automática. Sin embargo, me gustaría que solo se suprimiera la pulsación de tecla generada por el usuario. Estoy tratando de hacer esto con pynput así:
def on_press(key): if key == keyboard.Key.esc: return False def on_release(key): if key == keyboard.Key.esc: return False elif len(words) > i: c.press(words[i]) i += 1 else: c.press(keyboard.Key.space) return False with keyboard.Listener(on_press=on_press, on_release=on_release, suppress=True) as listener: listener.join()Creo que el problema es que la llamada de pulsación de tecla dentro de la función on_press() también llama a la función de escucha y esto crea una recurrencia infinita. Si mantengo el supresor encendido, no se escribe nada, pero el programa sigue recurriendo infinitamente. Si apago el supresor, se ejecuta la pulsación de tecla del usuario y la pulsación de tecla generada automáticamente se ejecuta recursivamente.
Pero si presiono una tecla fuera de la función on_press() como se muestra a continuación, solo se ejecuta si salgo del oyente.
with keyboard.Listener(on_press=on_press, on_release=on_release, suppress=True) as listener: listener.join() if key == keyboard.Key.esc: return False elif len(words) > i: c.press(words[i]) i += 1 else: c.press(keyboard.Key.space) return False¿Alguien tiene una solución para esto?