Проблема со считыванием с геймпада от ps3 с помощью python, pygame
Я пытаюсь считывать данные с PS3 джойстика в программу на python при помощи pygame. Т.к. на пк нет bluetooth, то подключаю геймпад при помощи провода. Однако возникает проблема: pygame видит геймпад, правильно выдаёт его имя и количество осей и кнопок, но при попытке считать значение с осей(и кнопок) он либо ничего не возвращает либо возвращает 0. Вот моя программа:
import pygame
if __name__ == "__main__":
pygame.init()
joysticks = []
clock = pygame.time.Clock()
playing = True
for i in range(0, pygame.joystick.get_count()):
joysticks.append(pygame.joystick.Joystick(i))
joysticks[-1].init()
print("Detected joystick '", joysticks[-1].get_name(), "'")
print(joysticks[0])
joy = joysticks[0]
print(joy.get_numaxes())
print(joy.get_numbuttons())
while playing:
for event in pygame.event.get():
print(joy.get_axis(0))
if event.type == pygame.JOYAXISMOTION:
print("1")
print("Joystick '", joysticks[event.joy].get_name(), "' axis", event.axis, "motion.")
if event.type == pygame.JOYBUTTONDOWN:
print("2")
print("Joystick '", joysticks[event.joy].get_name(), "' button", event.button, "down.")
if event.type == pygame.JOYBUTTONUP:
print("3")
print("Joystick '", joysticks[event.joy].get_name(), "' button", event.button, "up.")
if event.type == pygame.JOYHATMOTION:
print("4")
print("Joystick '", joysticks[event.joy].get_name(), "' hat", event.hat, " moved.")
Вот что она возвращает:
pygame 1.9.6
Hello from the pygame community. https://www.pygame.org/contribute.html
Detected joystick ' PLAYSTATION(R)3 Controller '
<Joystick object at 0x000002242438EB10>
4
19
Также на самом геймпаде всегда неизменно мигают все 4 красных светодиода(даже после нажатия кнопки PS). Если здесь есть знающие люди, прошу помочь. Заранее спасибо.