<p>我正在尝试从Ubuntu上的python中的PS3控制器读取数据,但我运气不太好。我从柳树车库的ps3joy司机开始(http://www.ros.org/wiki/ps3joy)据说它会将PS3控制器的所有重要部分发布到我从未听说过的“uinput”上。显然,这是一个允许用户空间驱动程序提供系统事件的linux功能。。。既然WG驱动程序应该是一个用户空间驱动程序,为什么它需要根用户访问权限,这不是我的问题。在</p>
<p>不管怎么说,我试图让它工作的当前状态是,我已经让驱动程序工作了,我已经验证了它对控制器上按钮的按下做出了响应,但我不知道如何将这些数据提取出来以便我可以使用它。在</p>
<p>我的第一个猜测是使用pygame(希望)读取/dev/uinput(我很确定驱动程序在哪里发送数据):</p>
<pre><code>from pygame import joystick
if not joystick.get_init():
joystick.init()
js = joystick.Joystick(0) # there is only one joystick... even if the driver isn't running(!)
js.init()
print js.get_numbuttons() # perhaps coincidentally correctly prints 17 which is the number of buttons on a PS3 controller
for i in range(js.get_numaxes()):
print js.get_axis(i) # always prints 0, no matter what I'm doing with the controller
</code></pre>
<p>但没用。最能说明问题的部分是,如果我根本没有运行WG驱动程序,它会做同样的事情。在</p>
<p>我确信这很简单,我只是没有读到正确的信息,但是google并没有帮助我找到正确的信息,我感到疲惫和绝望。在</p>