Estoy tratando de leer desde un controlador de PS3 en python en Ubuntu y no estoy teniendo mucha suerte. Empecé con el controlador ps3joy de Willow Garage (http://www.ros.org/wiki/ps3joy) que supuestamente publica todos los elementos importantes del controlador de PS3 en algo que nunca había escuchado llamar "uinput". Aparentemente es una característica de Linux que permite a los controladores de espacio de usuario proporcionar eventos del sistema. ... Por qué el controlador WG requiere acceso raíz dado que supuestamente es un controlador de espacio de usuario me supera, pero esa no es mi pregunta.Controlador de controlador PS3 -> uinput-> python? ¿de algun modo?
De todos modos, el estado actual de mí tratando de hacer que funcione es que tengo el controlador funcionando, y he verificado que responde a las pulsaciones del botón en el controlador, pero no sé cómo sacar cualquiera de esos datos para poder usarlos.
Mi primera suposición era utilizar a pygame (con suerte) leído desde/dev/uinput (que estoy bastante seguro de que es donde el conductor envía los datos):
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
pero no funcionó . La parte más reveladora del problema es que hace lo mismo si no tengo el controlador WG ejecutándose.
Estoy seguro de que esto es algo fácil, que simplemente no estoy leyendo la información correcta, pero buscar en Google no me ha ayudado a encontrar la información correcta y me estoy cansando y desesperado.
¿Cómo puedo determinar si el controlador se expone como una HID? – teryret
Mire el registro del sistema. Debería ver "HID" cuando lo conecte. –
No estoy seguro de que sea así de simple. El controlador es bluetooth pero se comporta de manera extraña. Cuando ejecuto bluetooth-wizard, se enciende y apaga repetidamente la lista de dispositivos y no puedo conectarme a ella. No apareció nada en dmesg cuando encendí el controlador, ni cuando ejecuté el asistente, ni cuando usé el controlador WG para conectarme con éxito. – teryret