检测用户是否按下@登录pygame

Zol*_*tan 5 python pygame python-3.x

如何检测用户是否在pygame中按下@符号?

在某些键盘上我需要按SHIFT + 2,在其他键盘上按ALT + V等.

这有效:

if event.type == pygame.KEYDOWN:
    if event.key == pygame.K_RETURN:
        print("ENTER key pressed")
Run Code Online (Sandbox Code Playgroud)

这不是:

if event.type == pygame.KEYDOWN:
    if event.key == pygame.K_AT:
        print("@ sign pressed")
Run Code Online (Sandbox Code Playgroud)

这仅适用于一种类型的键盘:

if event.type == pygame.KEYDOWN:
    if event.key == pygame.K_2:
        if pygame.key.get_mods() & pygame.KMOD_SHIFT:
            print("@ sign pressed")
Run Code Online (Sandbox Code Playgroud)

那么如何在不知道他们使用的键盘类型的情况下检测用户是否可以检测到?

谢谢您的帮助.

eyl*_*esc 0

根据@Eric@Zoltan的评论,解决方案是:

if event.type == pygame.KEYDOWN:
     if event.unicode == '@':
           print("@ sign pressed")
Run Code Online (Sandbox Code Playgroud)

事件KEYDOWN还具有 unicode 属性。