我正在制作AI以使用Tensorflow在GTA San Andreas中驾驶汽车,我想知道使用python在每个帧上按下了哪些字符/键。我无法使用input()
因为我的程序不在前面。我做了什么?
答案 0 :(得分:2)
pyHook可能是您可能正在寻找的东西。可以使用Windows挂钩捕获所有键盘或鼠标事件。 pyhook
是一个围绕钩子API的Python包装器。
This answer提供了使用pyhook
捕获按键的示例代码。 This document提供了Windows中Hook的基础知识。
下面是一个示例,它挂钩键盘事件并打印按下到控制台的键。它会在x
或X
的按键上退出。
#!python
import pythoncom, pyHook
import sys
def OnKeyboardEvent(event):
# block only the letter A, lower and uppercase
print chr(event.Ascii)
if event.Ascii in (ord('x'), ord('X')):
sys.exit()
# returning True to pass on event to other applications
return True
# create a hook manager
hm = pyHook.HookManager()
# watch for all mouse events
hm.KeyDown = OnKeyboardEvent
# set the hook
hm.HookKeyboard()
# wait forever
pythoncom.PumpMessages()