我使用的是 Mac OS X 10.6 操作系统,在我的键盘输入选择菜单中有 Dvorak、美式扩展和挪威语,而我使用的是美式扩展。
当我运行需要键盘输入的 Pygame 程序时,无论我实际上选择了哪个输入法,pygame 都认为我正在使用 dvorak。
以下是获取键盘输入的代码:
# Check for events
for event in pygame.event.get():
if event.type == KEYDOWN:
# Change the keyboard variables
if event.key == K_LEFT or event.key == ord('a'):
moveRight = False
moveLeft = True
if event.key == K_RIGHT or event.key == ord('d'):
moveLeft = False
moveRight = True
if event.key == K_UP or event.key == ord('w'):
moveDown = False
moveUp = True
if event.key == K_DOWN or event.key == ord('s'):
moveUp = False
moveDown = True
if event.type == KEYUP:
if event.key == K_ESCAPE:
pygame.quit()
sys.exit()
if event.key == K_LEFT or event.key == ord('a'):
moveLeft = False
if event.key == K_RIGHT or event.key == ord('d'):
moveRight = False
if event.key == K_UP or event.key == ord('w'):
moveUp = False
if event.key == K_DOWN or event.key == ord('s'):
moveDown = False
if event.key == ord('x'):
player.top = random.randint(0, WINDOWHEIGHT - player.height)
player.left = random.randint(0, WINDOWWIDTH - player.width)
箭头键可以正常使用,但WASD键的位置与Dvorak键盘布局一致。因此,“A”在两种布局中处于相同位置,“W”位于QWERTY键盘上的逗号键上,依此类推。如果我将代码更改为查找“a”、“e”、“,”和“o”键,则可以如预期般工作。
我该如何使Pygame使用正确的布局?