Arcadespain
Proyectos => Seccion Hardware => Raspberry => Mensaje iniciado por: empardopo en Septiembre 13, 2019, 09:17:55 am
-
Compis.
La idea es saber si mi joystick lo ha detectado raspbian, saber si los botones funcionan y que número de botón es cada uno para lo cual hago lo siguiente...
Como root lanzo el siguiente comando para saber si el sistema ha detectado nuestro joystick
cat /proc/bus/input/devices
obteniendo el siguiente resultado
(http://arcadespain.info/images/empardopo/Tutoriales/Raspberry/rasp3-joy-01.jpg)
Una nuestro joystick es detectado, un fichero especial de evento debería haber sido creado para cada joystick de nuestro sistema. Podemos ver estos ficheros especiales en /dev/input:
ls /dev/input/js*
(http://arcadespain.info/images/empardopo/Tutoriales/Raspberry/rasp3-joy-02.jpg)
Ahora podemos pasar el path de ese fichero especial como argumento a jstest, para testear nuestros botones y ejes. Por ejemplo, para testear en nuestro caso nuestro joystick lanzamos el siguiente comando:
jstest /dev/input/js0
En mi caso obtengo un mensaje de que no encuentra el comando
(http://arcadespain.info/images/empardopo/Tutoriales/Raspberry/rasp3-joy-03.jpg)
así que vamos a intentar instalar el comando lanzando el siguiente comando...
apt-get install joystick
Se instala sin problemas y una vez instalado vuelvo a lanzar el comando de antes
jstest /dev/input/js0
y cojonudo!! Ahora me sale lo siguiente
(http://arcadespain.info/images/empardopo/Tutoriales/Raspberry/rasp3-joy-04.jpg)
donde pulsando los botones de mi joystick veo si funciona o no, así como a qué botón corresponde!!!!
Ahora solo hace falta saber usarlo en los emuladores, jeje.
Añadir que en mi caso el joystick que he conectado a la raspberry me ha devuelto lo siguiente y los botones corresponden a
root@arcadePI:/home/pi# jstest /dev/input/js0
Driver version is 2.1.0.
Joystick (Generic X-Box pad) has 8 axes (X, Y, Z, Rx, Ry, Rz, Hat0X, Hat0Y)
and 11 buttons (BtnX, BtnY, BtnTL, BtnTR, BtnTR2, BtnSelect, BtnThumbL, BtnThumbR, ?, ?, ?).
Testing ... (interrupt to exit)
Axes: 0: 0 1: 0 2:-32767 3: 0 4: 0 5:-32767 6: 0 7: 0 Buttons: 0:off 1:off 2:off 3:off 4:off 5:off 6:off 7:off 8:off 9:off 10:off
Boton xbox 8
start 7
select 6
A 0
B 1
X 2
Y 3
LR 4
RR 5
LT Ejes/Axis 2 32767
RT Ejes/Axis 5 32767
Presionar joystick izquierdo --> 9
Presionar joystick derecho --> 10
Mando izquierdo --> Ejes/axis 0 (para izquierda y derecha) y 1 (para arriba y abajo) -32767 0 32767
Mando derecho --> Ejes/axis 3 (para izquierda y derecha) y 4 (para arriba y abajo) -32767 0 32767
D-Pad --> Ejes/axis 6 (para izquierda y derecha) y 7 (para arriba y abajo) -32767 0 32767
-
Me he puesto a buscar información por todos lados y aquí me dejo deberes para cuando esté en casa y pueda echar un vistazo...
sudo apt-get install joystick
Un par de links interesantes con info...
https://www.tinkerboy.xyz/retropie-testing-the-usb-controller-joystick-via-the-command-line-or-terminal/
https://www.piborg.org/blog/joyborg
https://github.com/recalbox/recalbox-os/wiki/Test-your-joystick-with-jstest-(EN)
A ver si esta tarde puedo probar el tema y contar resultados a ver...
-
Hace eones recuerdo que se podía ejecutar algo que mostraba en pantalla el código/número de boton que presionabas... pero fue hace mucho...
-
Como root lanzo el siguiente comando para saber si el sistema ha detectado nuestro joystick
cat /proc/bus/input/devices
obteniendo el siguiente resultado
(http://arcadespain.info/images/empardopo/Tutoriales/Raspberry/rasp3-joy-01.jpg)
Una nuestro joystick es detectado, un fichero especial de evento debería haber sido creado para cada joystick de nuestro sistema. Podemos ver estos ficheros especiales en /dev/input:
ls /dev/input/js*
(http://arcadespain.info/images/empardopo/Tutoriales/Raspberry/rasp3-joy-02.jpg)
Ahora podemos pasar el path de ese fichero especial como argumento a jstest, para testear nuestros botones y ejes. Por ejemplo, para testear en nuestro caso nuestro joystick lanzamos el siguiente comando:
jstest /dev/input/js0
En mi caso obtengo un mensaje de que no encuentra el comando
(http://arcadespain.info/images/empardopo/Tutoriales/Raspberry/rasp3-joy-03.jpg)
así que vamos a intentar instalar el comando lanzando el siguiente comando...
apt-get install joystick
Se instala sin problemas y una vez instalado vuelvo a lanzar el comando de antes
jstest /dev/input/js0
y cojonudo!! Ahora me sale lo siguiente
(http://arcadespain.info/images/empardopo/Tutoriales/Raspberry/rasp3-joy-04.jpg)
donde pulsando los botones de mi joystick veo si funciona o no, así como a qué botón corresponde!!!!
Ahora solo hace falta saber usarlo en los emuladores, jeje.
-
Añadir que en mi caso el joystick que he conectado a la raspberry me ha devuelto lo siguiente y los botones corresponden a
root@arcadePI:/home/pi# jstest /dev/input/js0
Driver version is 2.1.0.
Joystick (Generic X-Box pad) has 8 axes (X, Y, Z, Rx, Ry, Rz, Hat0X, Hat0Y)
and 11 buttons (BtnX, BtnY, BtnTL, BtnTR, BtnTR2, BtnSelect, BtnThumbL, BtnThumbR, ?, ?, ?).
Testing ... (interrupt to exit)
Axes: 0: 0 1: 0 2:-32767 3: 0 4: 0 5:-32767 6: 0 7: 0 Buttons: 0:off 1:off 2:off 3:off 4:off 5:off 6:off 7:off 8:off 9:off 10:off
Boton xbox 8
start 7
select 6
A 0
B 1
X 2
Y 3
LR 4
RR 5
LT Ejes/Axis 2 32767
RT Ejes/Axis 5 32767
Presionar joystick izquierdo --> 9
Presionar joystick derecho --> 10
Mando izquierdo --> Ejes/axis 0 (para izquierda y derecha) y 1 (para arriba y abajo) -32767 0 32767
Mando derecho --> Ejes/axis 3 (para izquierda y derecha) y 4 (para arriba y abajo) -32767 0 32767
D-Pad --> Ejes/axis 6 (para izquierda y derecha) y 7 (para arriba y abajo) -32767 0 32767