在Ubuntu 12.04 / 14.04和openSuse 13.2下全屏使用pygame时,我有同样的,可重现的错误。在Fedora 21和Debian Wheezy下,没有任何问题。
错误是一旦全屏显示脚本没有响应键盘输入;退出的唯一方法是按Ctrl + Alt进入另一个终端并终止进程。窗口/全屏幕的脚本部分是:
for event in pygame.event.get():
if event.type==pygame.QUIT:
sys.exit()
pygame.quit()
if event.type is KEYDOWN and event.key == K_q:
sys.exit()
pygame.quit()
if event.type is KEYDOWN and event.key == K_w:
pygame.display.set_mode(size)
surface1X = surface1WindowedX
surface1Y = surface1WindowedY
screen.fill(0x000000)
if event.type is KEYDOWN and event.key == K_f:
pygame.display.set_mode((monitorX,monitorY), FULLSCREEN)
surface1X = surface1FullscreenX
surface1Y = surface1FullscreenY
screen.fill(0x000000)
我已经在两台独立的PC上尝试过这种方法,每个发行版全新安装,结果总是一样的; Fedora和Debian我可以按下w和f键,它可以整天在窗口和全屏之间翻转而不会出错 - 在Ubuntu和Suse下,它有时会在第一次按f时锁定键盘。
如果有人使用Ubuntu或Suse可以测试它,看看错误是否仍然存在,我会非常感兴趣。我在互联网上发现了一些主要与VirtualBox相关的结果,全屏相同,但不是pygame。
代码在GitHub上,因此你可以克隆我的repo来测试它。
git clone https://github.com/fridlington/K11Consult.git
有两个可用于测试的文件,importDials.py
和importSingleDial.py
希望这个错误能为你重现,然后我就可以睡觉了!
亲切的问候,艾丽德