Ubuntu pygame获取event.key值

时间:2018-08-23 01:07:05

标签: python pygame ubuntu-18.04

在我从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”。

有什么主意吗?

我已经安装了几种键盘布局,并且可以确定在发生这种情况时我会使用“英语”。

1 个答案:

答案 0 :(得分: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':
            ...