[英]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.