Pygame-Tastaturlayouts vertauscht

Ich verwende Mac OS X 10.6 und habe Dvorak, US Extended und Norwegian im Auswahlmenü für Tastatureingaben, und US Extended wird von mir verwendet.

Wenn ich Pygame-Programme mit Tastatureingabe ausführe, scheint Pygame zu glauben, dass ich Dvorak verwendeungeachtet von dem, was tatsächlich ausgewählt ist.

Dies ist der Teil des Codes, der die Tastatureingabe übernimmt:

    # 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)

Die Pfeiltasten funktionieren so, wie sie sollten, aber die WASD-Tasten sind auf eine Weise über die Tastatur verteilt, die mit Dvorak übereinstimmt. Auf beiden Layouts befindet sich "A" an derselben Stelle, "W" auf der Kommataste von QWERTY und so weiter. Wenn ich den Code ändere, um nach dem zu suchena, e, , undo Stattdessen funktionieren die Dinge wie erwartet.

Wie kann ich Pygame dazu bringen, das richtige Layout zu verwenden?

Antworten auf die Frage(1)

Ihre Antwort auf die Frage