Pygame按下字母后再按shift无反应

问题遇到的现象和发生背景

我想用Pygame做一个iwanna游戏,其中跳跃要按Shift,发子弹要按Z键,每次按一下Z键,再按一下Shift,再按一下Z键,最后按Shift时就没反应了,只能把窗口最小化再打开才有反应,请问如何解决这一问题?

问题相关代码

其中游戏键盘侦测和Shift键盘判断代码如下:

  for event in pygame.event.get():
        if event.type == pygame.QUIT:
            Exit()
        if event.type == pygame.KEYDOWN:
            Pkey.append(event.key)
        if event.type == pygame.KEYUP:
            try:
                Pkey.remove(event.key)
            except:
                pass
    if(pygame.K_LSHIFT in Pkey) or (pygame.K_RSHIFT in Pkey):
        player.jump()
        try:
            Pkey.remove(pygame.K_LSHIFT)
        except:
            Pkey.remove(pygame.K_RSHIFT)

其中Pkey是按下键盘列表,在运行循环之前已经清空。

Pkey = []
运行结果

运行结果大部分挺完美的,但美中不足的是每次按下其他字母按键两次后再按Shift或Ctrl就侦测不到了,导致程序在运行过程中跳跃(Shift)常常会被打断。

我的解答思路和尝试过的方法

目前还无法在程序上做改进,唯一的方法就是最小化窗口再打开,或是在Win10的任务窗口中切换窗口再换回来,但这样很麻烦。

我想要达到的结果

想要达到的结果很简单,就是按下字母按键后再按Shift能畅通无阻,不会造成键盘侦测失灵。盼望各位能给一个好的答案!

可能是输入法的问题,如果是中文输入法可能是在打字,你按下回车或者换成英文输入法试试

感觉代码没有问题啊,是不是操作系统的键冲突了?
顺便问一下,你是想做组合键吗?不然为什么判断列表,而不是单独判断每次按下的键?