[英]How to disable keyboard events in Pygame?
我在 Blender 中使用 pygame 来获得多点触控支持。
不幸的是,pygame 捕获了所有键盘输入,这使得在 Blender 中无法使用快捷键。
有人可以帮我退订所有键盘事件吗?
谢谢
问题是,我使用 win32gui 来渲染 pygame 总是在顶部。 使用“win32con.SWP_NOACTIVATE”标志,我可以强制 pygame 处于非活动状态并让搅拌机处于活动状态。
hwnd = pg.display.get_wm_info()["window"]
rect = win32gui.GetWindowRect(hwnd)
x = rect[0]
y = rect[1]
w = rect[2] - x
h = rect[3] - y
win32gui.SetWindowLong (hwnd, win32con.GWL_EXSTYLE, win32gui.GetWindowLong (hwnd, win32con.GWL_EXSTYLE ) | win32con.WS_EX_LAYERED )
win32gui.SetWindowPos(hwnd, win32con.HWND_TOP, x, y, w, h, win32con.SWP_NOACTIVATE)
您可以阻止特定事件。 根据 pygame wiki,这将阻止 pygame 对这些事件进行排队,但我无法测试它是否会阻止 pygame 请求键盘输入。
pygame.event.set_blocked([pygame.KEYDOWN, pygame.KEYUP])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.