Раскладки клавиатуры Pygame перепутаны
m в Mac OS X 10.6, и у меня есть Dvorak, US Extended и Norwegian в моем меню выбора ввода с клавиатуры, и я использую US Extended.
Когда я запускаю программы Pygame с клавиатуры, Pygame, кажется, думает, чтом использую дворакнесмотря на из того, что на самом деле выбрано.
Это часть кода, которая принимает ввод с клавиатуры:
# 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 расположены на клавиатуре в соответствии с принципами Дворака. Итак, «А» находится в одном и том же месте на обеих раскладках, "W" на QWERTY 'с запятой, и так далее. Если я изменю код для поиска,a
e
,
а такжеo
вместо этого все работает как положено.
Как я могу заставить Pygame использовать правильный макет?