我刚刚发现pynput
这正是我一直在寻找的图书馆。我的目标是捕获用户正在键入的键,并且每当捕获特定的键序列时,我希望计算机将序列写入当前 carret 的位置。之后,我想再次捕获用户的密钥,直到发生另一个值得注意的序列。等等。
问题是模拟的击键keyboard.write()
也被考虑,Listener
这导致了一个无限循环,这在第一次发生时很有趣,但我现在正试图摆脱它。
我的方法是在计算机完成输入后停止Listener
并创建一个新的,但这个过程在第一次调用后减慢了很多,start_listener()
而且我认为一开始并不是最佳的。而且我没有进一步的想法,所以我希望有人可以在这里提供帮助。
到目前为止,这是我的代码:
import keyboard
from pynput.keyboard import Key, Listener
def on_press(key):
stop_listener()
keyboard.write("Hello", 0.05)
start_listener()
def on_release(key):
if key == Key.esc:
return False
def start_listener():
global listener
listener = Listener(on_press=on_press, on_release=on_release)
listener.start()
listener.join()
def stop_listener():
global listener
listener.stop()
with Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()