我在 Mac OS X 10.6 上,我的键盘输入选择器菜单中有 Dvorak、US Extended 和挪威语,而我使用的是 US Extended。
当我使用键盘输入运行 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 使用正确的布局?