Ubuntu pygame获取event.key值

问题描述 投票:1回答:1

从ubuntu 16.04升级到ubuntu 18.04后,以下pygame代码停止正常工作。

for event in pygame.event.get():
    if event.type == pygame.KEYDOWN:
        print "KEY:", event.key
        if event.key == pygame.K_ESCAPE:
            # The code here is executed when "Esc" is pressed.
        elif event.key == pygame.K_f:
            # Never happens even when "f" is pressed.

当我按Key: 193而不是预期的“f”时,代码打印“Key: 102”。

什么想法可能是错的?

我安装了几个键盘布局,我确信当它发生时我会使用“英语”。

python pygame ubuntu-18.04
1个回答
1
投票

如果您确定自Ubuntu版本更改后键盘配置没有更改,那么您可以通过比较unicode值来解决此问题:

for event in pygame.event.get():
    if event.type == pygame.KEYDOWN:
        print "KEY:", event.key
        if event.key == pygame.K_ESCAPE:
            # The code here is executed when "Esc" is pressed.
        elif event.unicode == 'f':
            ...
© www.soinside.com 2019 - 2024. All rights reserved.