python中操纵杆对象的问题

python中操纵杆对象的问题,python,raspberry-pi,joystick,Python,Raspberry Pi,Joystick,你好, 我正在尝试使用以下python脚本读取连接到Raspberry Pi的USB操纵杆: import pygame pygame.init() print pygame.joystick.get_init() print pygame.joystick.get_count() j = pygame.joystick.Joystick(0) print j j.init() print j.get_init() print j.get_id() for i in range(0, j.ge

你好, 我正在尝试使用以下python脚本读取连接到Raspberry Pi的USB操纵杆:

import pygame
pygame.init()
print pygame.joystick.get_init()
print pygame.joystick.get_count()
j =  pygame.joystick.Joystick(0)
print j
j.init()
print j.get_init()
print j.get_id()
for i in range(0, j.get_numaxes()):
        j.get_axis(i)

pygame.quit()
我得到的输出结果是:

1
1
<Joystick object at 0xb6cb2120>
1
0
SDL_JoystickGetAxis value:0:
SDL_JoystickGetAxis value:0:
SDL_JoystickGetAxis value:0:
SDL_JoystickGetAxis value:0:
1
1.
1.
0
SDL_JoystickGetAxis值:0:
SDL_JoystickGetAxis值:0:
SDL_JoystickGetAxis值:0:
SDL_JoystickGetAxis值:0:
我不知道为什么

值不应为0。

带有SDL的行由SDL生成。它们是由调试选项引起的,该选项仍在生成的库中,我不知道为什么

但是,要实际打印轴,您应该

打印j.get\u轴(i)

而不是

j.get\u轴(i)

最后,为了确保获得正确的值,您应该在循环中打印这些值(例如,每秒打印一次)


现在输出是SDL_JoystickGetAxis值:0:0.0 SDL_JoystickGetAxis值:0:0.0 SDL_JoystickGetAxis值:0:0.0 SDL_JoystickGetAxis值:0:0.0 SDL_JoystickGetAxis值:0:0.0 SDL_JoystickGetAxis值:0:0,由于我不显示控制台,所以我使用pySide来显示轴值,留下所有SDL_uu调试信息。您应该寻找一种方法以其他方式显示值,而不是通过控制台。
for j in range(10):
    for i in range(0, j.get_numaxes()):
        print j.get_axis(i)
        time.sleep(1)