Arcadespain

Proyectos => Seccion Hardware => Raspberry => Mensaje iniciado por: empardopo en Septiembre 13, 2019, 09:17:55 am

Título: Raspberry 3 - Raspbian - Equivalente a dispositivos de juegos
Publicado 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

Código: [Seleccionar]
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:

Código: [Seleccionar]
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:

Código: [Seleccionar]
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...

Código: [Seleccionar]
apt-get install joystick
Se instala sin problemas y una vez instalado vuelvo a lanzar el comando de antes

Código: [Seleccionar]
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
Título: Re:Raspberry 3 - Raspbian - Equivalente a dispositivos de juegos
Publicado por: empardopo en Septiembre 13, 2019, 10:48:59 am
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...

Código: [Seleccionar]
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...
Título: Re:Raspberry 3 - Raspbian - Equivalente a dispositivos de juegos
Publicado por: Josepzin en Septiembre 13, 2019, 01:04:37 pm
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...
Título: Re:Raspberry 3 - Raspbian - Equivalente a dispositivos de juegos
Publicado por: empardopo en Septiembre 13, 2019, 04:21:48 pm
Como root lanzo el siguiente comando para saber si el sistema ha detectado nuestro joystick

Código: [Seleccionar]
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:

Código: [Seleccionar]
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:

Código: [Seleccionar]
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...

Código: [Seleccionar]
apt-get install joystick
Se instala sin problemas y una vez instalado vuelvo a lanzar el comando de antes

Código: [Seleccionar]
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.
Título: Re:Raspberry 3 - Raspbian - Equivalente a dispositivos de juegos
Publicado por: empardopo en Septiembre 13, 2019, 05:15:59 pm
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