Python 在pygame中同时检测两个CTRL键

Python 在pygame中同时检测两个CTRL键,python,python-3.x,pygame,Python,Python 3.x,Pygame,我尝试检测是否同时按下了两个CTRL键 import pygame pygame.init() screen = pygame.display.set_mode((100,100)) run = True while run: for event in pygame.event.get(): if event.type == pygame.QUIT: run = False if event.type == pygame.KE

我尝试检测是否同时按下了两个CTRL键

import pygame
pygame.init()

screen = pygame.display.set_mode((100,100))

run = True
while run:

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            run = False
        if event.type == pygame.KEYDOWN:
            if event.key == pygame.K_RCTRL
                print("RIGHT CTRL pressed")
            if event.key == pygame.K_LCTRL
                print("LEFT CTRL pressed")
还尝试:

if event.type == pygame.KEYDOWN:
    if pygame.key.get_mods() & pygame.KMOD_RCTRL:
        print("RIGHT CTRL pressed")
    if pygame.key.get_mods() & pygame.KMOD_LCTRL:
        print("LEFT CTRL pressed")
if event.type == pygame.KEYDOWN:
    if pygame.key.get_mods() & pygame.KMOD_LCTRL and pygame.key.get_mods() & pygame.KMOD_RCTRL:
        print("LEFT & RIGHT CTRL pressed")
还尝试:

if event.type == pygame.KEYDOWN:
    if pygame.key.get_mods() & pygame.KMOD_RCTRL:
        print("RIGHT CTRL pressed")
    if pygame.key.get_mods() & pygame.KMOD_LCTRL:
        print("LEFT CTRL pressed")
if event.type == pygame.KEYDOWN:
    if pygame.key.get_mods() & pygame.KMOD_LCTRL and pygame.key.get_mods() & pygame.KMOD_RCTRL:
        print("LEFT & RIGHT CTRL pressed")
这些都不起作用


有人能帮忙吗?谢谢。

用K_LCTRL替换KMOD_LCTRL

它们似乎根本检测不到。一次只能按一个键,如果两个键都按住了,则不会为我生成任何按键事件。我对此进行了尝试,无法检测到同时按下左右控制键。还要注意,KEYDOWN
事件
有一个
mods
参数,因此您无需多次调用
get_mods()
。在我看来,当一个重复的mod键被按下时,它会被忽略,直到所有的键都被释放。谢谢你查看它。