Некоторое время назад я начал управлять игрой, над которой я работаю в pygame, с двумя контроллерами xbox one. Я делал это в операционной системе ma c, и контроллеры подключались к моему компьютеру через кабели usb-micro usb или, в частности, не через Bluetooth. Pygame был в состоянии прочитать каждый вход, с двумя триггерами, идентифицированными как их собственная ось, поэтому, когда я возвратил x = joytsick1.get_numaxes (), print (x), я получил 6. Однако с недавним обновлением Catalina и поддержкой для беспроводных подключений я больше не могу получать входы от двух триггеров. Теперь, когда я возвращаю x = joystick1.get_numaxes (), print (x), я получаю 4. Я вижу, что входные данные есть, когда я печатаю событие в pygame.event.get (), однако в этом методе нет различие между двумя контроллерами, которые я использую. Как я могу правильно получать входы от триггеров или отличать guish от входов двух контроллеров?
import pygame
pygame.init()
pygame.joystick.init()
width = 600
height = 600
screen = pygame.display.set_mode((width, height))
running = True
joystick1 = pygame.joystick.Joystick(0)
joystick1.init()
joystick2 = pygame.joystick.Joystick(1)
joystick2.init()
while running:
pygame.display.flip()
for event in pygame.event.get():
print(event)
if event.type == pygame.QUIT:
running = False
pygame.quit()
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
running = False
pygame.quit()