gpt4 book ai didi

python - 以不同的方式捕获键盘输出

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:39:39 25 4
gpt4 key购买 nike

所以我在 ubntu 中使用 python,我正在做的是从我实时玩的游戏中读取帧数据(为 ML 生成训练数据)和我实时捕获的每一帧(从游戏屏幕) 我想知道是否按下了任何键盘键,最后是哪一个,如果没有按下任何键,我也应该得到一个明确的指示。

注意:我的程序在单独的窗口中运行,而我将在其他窗口中播放。

我想要一个像这样的函数:

z=get_current_key_input(event)
if z == None: #This may cause warning form the warnings module
print 'No key is pressed for this frame move on to the next.'
else:
print str(z.key_code),'key is pressed for this frame.'

我可以为您提供代码,但它很乱并且有 cv2 和一些更痛苦的依赖项,所以我想我会按需提供。

我通过谷歌搜索得到的只是一个函数,每次我按下一个键时它都会被调用,但它是异步的并且会导致延迟,因此,我使用它生成的训练数据是垃圾。

[更新]:

通过大量搜索,我发现了一个非常有前途的函数,但实际上我无法解决它复杂的用法和痛苦的文档。如果有人能理解如何使用这些文档,那将对我有很大帮助。链接到该功能:here!

最佳答案

这是一个来自 pynput 示例的简单程序:

def on_press(key):
try:
print('alphanumeric key {0} pressed'.format(key.char))
except:
print('special key {0} pressed'.format(key))

def on_release(key):
print('{0} released'.format(key))
if key == keyboard.Key.esc:
return False

def get_current_key_input():
with keyboard.Listener(on_press=on_press, on_release=on_release) as listener:
listener.join()

关于python - 以不同的方式捕获键盘输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44224155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com