我正在运行ML模型,该模型可以预测手指手势。我正在尝试使用pynput库在python中模拟按键事件,并且检查它是否工作正常。但是我还有其他程序,这是一个使用pygame库用python编写的游戏,它会在新窗口中打开,但是问题在于按键控件对此不起作用,但是当我手动按下键盘按钮时它可以起作用。
答案 0 :(得分:1)
在pygame中,您可以执行以下操作将事件添加到事件队列中:
newevent = pygame.event.Event(type, **attributes) #create the event
pygame.event.post(newevent) #add the event to the queue
type
是事件的类型(数字常量),**attributes
是属性的keyarg列表,也是预定义的常量。
所有这些常量都在pygame.locals
模块中定义。 pygame event docs和pygame key docs列出所有它们。
例如,如果您要模拟按“ a”键的操作,则代码为:
newevent = pygame.event.Event(pygame.locals.KEYDOWN, unicode="a", key=pygame.locals.K_a, mod=pygame.locals.KMOD_NONE) #create the event
pygame.event.post(newevent) #add the event to the queue
KEYDOWN是与keydown事件相对应的常量。
unicode
是所按下键的unicode表示形式。
key
是与按下的键关联的常数。
mod
是代表修饰符的常量(例如,如果在按下SHIFT或CAPS_LOCK的同时按下了按钮,则为。)
希望有帮助。
答案 1 :(得分:0)
我通过使用keyboard.press模拟按键事件来解决该问题.press并使用keyboard.Listner()监听了同一事件,两者都存在于键盘库中,因此我没有使用pygame函数来监听该事件。感谢大家的帮助。