Pygame несколько контроллеров PS3 нумерация кнопок не соответствует - PullRequest
0 голосов
/ 21 сентября 2018

Я пишу код на основе pygame для двух игроков / двух контроллеров PS3.Моя проблема заключается в том, что нумерация кнопок не совпадает между контроллерами при использовании двух одновременно.(Нажатие желтой кнопки на одном контроллере может дать мне номер кнопки 4, но 0 для другого контроллера).Это нормальное поведение или мой код ошибочен?

import pygame
pygame.init()    
clock = pygame.time.Clock()

# Get the number of joysticks attached
joystick_count = pygame.joystick.get_count()

# Check for events
while True:
    for event in pygame.event.get():

        if event.type == pygame.JOYBUTTONDOWN:
            print("Joystick button pressed.")
        if event.type == pygame.JOYBUTTONUP:
            print("Joystick button released.")

    # For each joystick:
    for j in range(joystick_count):
        joystick = pygame.joystick.Joystick(j)
        joystick.init()

        buttons = joystick.get_numbuttons()
        for i in range( buttons ):
            button = joystick.get_button( i )
            if button != 0:
                print("Joystick {:1} Button {:>2} value: {}".format(j,i,button) )

    clock.tick(20)

1 Ответ

0 голосов
/ 21 сентября 2018

Один контроллер был установлен на DirectInput (который хорошо работает с моим pygame), тогда как другой был установлен на Xinput.Когда они оба установлены в DirectInput, отображение кнопок всегда согласовано!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...