我正在使用Pynput监视键盘以简化某些操作。当程序专注时,它会很好地工作,但是失去专注时,它不会响应。
是否应该添加其他配置,以便当我专注于word或excel或全屏游戏等其他程序时可以触发侦听器?
class UserListener(threading.Thread):
def __init__(self):
super().__init__()
def run(self):
print('start listening...')
def on_press(key):
if key == Key.home:
print('key home is pressed')
elif key == Key.esc:
return False
with Listener(on_press=on_press) as listener:
listener.join()
if __name__ == '__main__':
lsner = UserListener()
lsner.start()
================================================ =====================
更新1:
上面的程序可以正常运行。但是,当DNF(我玩过的游戏)集中注意力时,它将无法正常工作。
答案 0 :(得分:0)
实际上,不必创建额外的线程,pynput
为您提供了线程。您的代码可以简化为:
def UserListener():
print("start listening...")
def on_press(key):
if key == Key.home:
print('key home is pressed')
elif key == Key.esc:
return False
listener = keyboard.Listener(on_press=on_press)
listener.start()
关于问题:
我想有两个原因:
pynput
使用普通线程。当其他软件与您的脚本冲突时,它将执行其他功能。AutoHotKey
控制守望先锋。它可以正常运行,我想您可以尝试一下。)