如果在完成热键1的功能之前创建了一个由“ 1”激活的热键和由“ 2”激活的热键,则第二个热键将不会调用它的已分配功能。
我可以使用键盘模块创建在python中调用函数的热键。我在下面的代码中包含了一个示例,该示例适用于调用函数。
import keyboard
import time
def hk_print(word,word2):
time.sleep(5)
print(word,word)
keyboard.add_hotkey('1', hk_print, args= ('hotkey','test1'))
keyboard.add_hotkey('2', hk_print, args= ('hotkey','test2'))
keyboard.wait()
我可以在此代码中添加任何内容,以使热键激活的功能彼此中断吗?因此,如果我先按1再按2,它将停止通过第一个功能,立即开始执行第二个功能?
答案 0 :(得分:0)
这是可行的,但需要一些努力。您正在进入异步领域。
我的建议是使用keyboard.record()并使用threading.Timer()代替time.sleep()。您将创建一个新的回调,该回调将在按下键后立即开始记录所有事件,并以某个超时(例如5秒钟)启动Timer()。
时间过去后,您必须停止记录,然后评估等待期间捕获的事件,将所有按下的1和2丢弃保存为最后一个,然后调用另一个回调-hk_print一组参数,具体取决于最终印刷机。