SDL joystick + Playstation DualShock
18 08 2007Pues me encontraba yo haciendo una chorradita con la libreria SDL que va genial para hacer juegos con gráficos en 2D o en 3D si le añadimos OpenGL y quería usar un mando de la play. Tengo un adaptador de Play a USB que se llama Super Dual Box Pro, fabricado por MayFlash con el que lo tengo conectado al PC y que podéis conseguir en cualquier tienda de videojuegos. El caso es que con el último driver para vista (el de agosto del 2007 que por lo visto salió 3 días antes de que me diese por probarlo) no detecta la cruceta y la segunda palanca la mapea como una cosa rara así que para usarlo recomiendo el driver anterior que aunque no pone que soporte vista, a mi no me hace falta (http://www.mayflash.com/Download/Super5%20pro.EXE).
Bueno, usando las funciones de la SDL para obtener información del joystick y con el driver más o menos bien configurado, el perfil del DualShock es el siguiente:
5 Axes (5 ejes aunque las dos setas solo deberían ser 4)
1 Hat (la cruceta)
0 Balls (ni idea)
16 Buttons (16 botones, que con el código que hay al final corresponde con los siguientes valores)
triángulo = 0
O = 1
X = 2
Cuadrado = 3
L2 = 4
R2 = 5
L1 = 6
L2 = 7
Start = 8
Select = 9
L3 = 10
R3 = 11
Pad Arriba = 12
Pad Derecha = 13
Pad Abajo = 14
Pad Izquierda = 15
Estas correspondencias se pueden cambiar desde la pantalla de configuración del driver.
Código que muestra los botones:
while(!done){
while(SDL_PollEvent(&ev)){
if(ev.type == SDL_JOYBUTTONDOWN){
cout << (int)ev.jbutton.button << endl;
}
if(ev.type == SDL_KEYDOWN){
done=true;
}
}
}
Technorati Tags: sdl joystick playstation dualshock
Powered by ScribeFire.







Recent Comments