私はpygame.event.get()
で検出されたすべてのイベントを出力する次の簡単なプログラムを作成しました。私はこれを実行するとPygameはマウスイベントのみを検出し、KEYDOWNイベントは検出しません
import pygame, sys
from pygame.locals import *
display = pygame.display.set_mode((300, 300))
pygame.init()
while True:
for event in pygame.event.get():
print(event)
if event.type == QUIT:
pygame.quit()
sys.exit()
は、しかし、私は唯一のマウスイベントを持っている、とKEYDOWNとKeyUpイベントは、私は、端末に印刷されて、二回のキャップロックを打ったとき。他のキーを使うと、ターミナルウィンドウに書いているかのように、ターミナルにしか印刷されません。
<Event(4-MouseMotion {'pos': (102, 15), 'buttons': (0, 0, 0),
'rel': (-197, -284)})>
<Event(2-KeyDown {'unicode': '', 'scancode': 0, 'key': 301, 'm
od': 8192})>
<Event(3-KeyUp {'key': 301, 'scancode': 0, 'mod': 0})>
wasd
私はMac OSX 10.12.1、python 3.5.2、およびpygame 1.9.4.dev0を使用しています。
私はまっすぐなことがないと思っていますが、オンラインでは何も見つかりませんでした。どんな助けでも大歓迎です。
あなたのコードはPython 3.5.2とPygame 1.9.3で動作します。矢印キー、WASD、すべて。 1.9.4dev0で導入されたいくつかのバグかもしれないが、私はそれを疑う。私に窓の焦点の問題のように思えます。あなたはどんなオペレーティングシステムとウィンドウマネージャを持っていますか? – helb
私は現在のOSX上で、そのバージョンにダウングレードし、役立つかどうかを確認します。ありがとう。 –
私はLinux上で違いがあるかもしれません。私はあなたのバージョンで試してみたいが、PyPIやBitbucketにはない。 '1.9.4.dev0'はどこで入手できますか? – helb