Usar el mando remoto de la PS3 en XBMC

BDRemote
Como ya he comentado, recientemente le compré una Playstation 3 a mi hijo (y a mi, claro está) y aproveché para comprarme el mando BDRemote para poder manejar las (pocas) películas bluray que tengo en casa. Además de sufrir el atraco a mano armada de pagar sus 30 Euros por él (si, ya se que ahora están más baratos) descubrí que la mayoría de las operaciones que se hacen con el BDRemote se pueden hacer desde el mando sixaxis. Además, dio la fatal casualidad que a los pocos días de tener la PS3 mi mediacenter empezó a fallar (cosas del hardware), así que me decidí a montarme otro mediacenter cambiando placa y micro (y caja) y qué mejor que usar el completisimo mando a distancia de la PS3 para controlarlo.

Y alguno dirá ¿pero la PS3 no es ya un media center?… Si, pero no. Es decir, yo necesito ver las películas en alta definición con MKV y este formato no lo soporta la PS3, además, es tal el calor que desprende la bestia que cualquier media center que quiera montar será un congelador a su lado.

Antes de montar del todo el mediacenter (que irá con ubuntu + xbmc) he probado la configuración del mando en otro ordenador que tenía de prueba y ha funcionado. Aqui os explico como:

Primero instalaremos todos los paquetes necesarios por si no los tenemos todavía:

sudo apt-get install cmake libbluetooth-dev lirc bluez-compat bluez-hcidump

Un aspecto previo que hay que tener en cuenta es que nuestro mando debe emparejarse por bluetooth con el ordenador antes de poder ser usado como mando a distancia y cada vez que se desempareje (porque lo volvamos a emparejar a la play, por ejemplo, deberemos emparejarlo de nuevo. El proceso es el siguiente:

1. Pulsar ENTER + START en el mando, así entramos en modo emparejamiento
2. Desde la consola:

hcitool scan

Esto os sacará algo como esto:

Scanning ...
      00:21:4F:B2:09:7C    BD Remote Control

Anotamos el número de identificación del mando y lo emparejamos:

sudo hidd --connect 00:21:4F:B2:09:7C

Para ver que todo ha ido bien (al margen de que no hayan salido mensajes de error), podemos usar el siguiente comando para ver el tráfico bluetooth mientras pulsamos teclas en el mando:

sudo hcidump -X

Si todo ha ido bien ahora instalaremos el bdremote-ng siguiendo estas instrucciones:

mkdir bdremote
cd bdremote
wget http://bdremote-ng.googlecode.com/files/bdremote-ng-0.5-RC2.tar.bz2
tar xjvf bdremote-ng-0.5-RC2.tar.bz2 
cd bdremote-ng-0.5/build
./gen.sh
cd linux
sudo make
sudo cp bdremoteng /usr/local/bin

Una vez con todo en su sitio modificamos el /etc/rc.local para que en el arranque todo esté preparado:

/etc/init.d/bluetooth stop
sleep 1
/usr/local/bin/bdremoteng -a 00:21:4F:B2:09:7C -p 8888 -t 20 &
sleep 1
# only required on Ubuntu 9.10, no /var/run/lirc directory on reboot
#mkdir /var/run/lirch
/usr/sbin/lircd -H null --connect 127.0.0.1:8888
sleep 1
/etc/init.d/bluetooth start
sleep 1

Ahora reiniciamos el equipo y si todo ha ido bien, podremos ejecutar el comando irw y obtener una salida como esta según pulsamos teclas:

0055 00 right SonyBDRemote
0056 00 down SonyBDRemote
0057 00 left SonyBDRemote
0054 00 up SonyBDRemote
000B 00 enter SonyBDRemote
...

Hay que tener en cuenta que el mando pasa a estado reposo cuando lleva un tiempo sin usarse y, por eso, la primera pulsación tardará en aparecer en pantalla, no hay que preocuparse, las siguientes irán bien.

Para configurar el xbmc hay que modificar el archivo .xbmc/userdata/Lircmap.xml y añadir esta entrada:

	<remote device="SonyBDRemote">
		<pause>pause</pause>
		<stop>stop</stop>
		<forward>scanfwd</forward>
		<reverse>scanrev</reverse>
		<left>left</left>
		<right>right</right>
		<up>up</up>
		<down>down</down>
		<select>enter</select>
		<pageplus>r1</pageplus>
		<pageminus>r3</pageminus>
		<back>return</back>
		<menu>ps</menu>
		<play>play</play>
		<title>select</title>
		<info>display</info>
		<skipplus>next</skipplus>
		<skipminus>prev</skipminus>
		<display>display</display>
		<start>start</start>
		<record>red</record>
		<volumeplus>l1</volumeplus>
		<volumeminus>l3</volumeminus>
		<mute>l2</mute>
		<power>eject</power>
		<one>1</one>
		<two>2</two>
		<three>3</three>
		<four>4</four>
		<five>5</five>
		<six>6</six>
		<seven>7</seven>
		<eight>8</eight>
		<nine>9</nine>
		<zero>0</zero>
		<mytv>Red</mytv>
		<mymusic>green</mymusic>
		<mypictures>yellow</mypictures>
		<myvideo>blue</myvideo>
	</remote>

Hay otras opciones para configurarlo, si necesitais más códigos del mando, solo teneis que utilizar irw para saber a qué código lircd corresponde y añadirlo al archivo anterior. Para probar que todo funciona, no hay más que arrancar el xbmc y moverse libremente por los menús…

La verdad es que las ventajas de un mando a distancia bluetooth son infinitas (se acabó eso de ir apuntando al dispositivo para que te haga caso), eso sí, veremos cuanto duran las baterías.

15 comentarios en “Usar el mando remoto de la PS3 en XBMC

  1. Por cierto: una cosa a tener en cuenta es que si instaláis una versión nueva de XBMC tendreis que añadir una línea más al archivo rc.local para que todo funcione a la primera:

    ln -s /var/run/lirc/lircd /dev/lircd

    Con eso ya os debería reconocer el mando en el arranque sin problemas.

  2. Que tal una consutal cundo mencionas en el paso uno que hay que apretar «1. Pulsar ENTER + START» te refires al «enter» de teclado del pc o bien hay un boton en el mando del PS3 que se denomina Enter

    Gracias!!!!

  3. Hola,

    Cuando me refiero a ENTER + START me refiero a las teclas del mando que se llaman así (la redonda en medio del dial y la que parece un «play»). De esa manera el mando se pone en modo «emparejamiento». Es lo mismo que si quieres emparejarlo con la PS3, en las instrucciones te indica que pulses esas teclas del mando.

    Espero que te sirva.

  4. Hola.

    Estoy «intentando» configurar el mando de la ps3 para usar el xbmc tal como indicas pero no obtengo los resultados esperados.
    Llego a detectar y mostrar la referencia de los eventos por la consola, pero cuando abro el programa xbmc no actúa sobre los menús con ninguna de las teclas.
    Dejando el irw en marcha, he provado de arrancar el xbmc, pero lo único que provoca cualquier tecla del mando es que desaparezca el cursor.

    Uso Ubuntu 9.10 Karmi Koala recién instalado y actualizado ala última.

    ¿Alguna sugerencia?

    Muchas gracias por adelantado.

  5. Generalmente se debe a que la versión nueva de xbmc busca el archivo lilrcd en otro sitio… Pon en depuración el xbmc y mira en el log a ver si aparece donde busca el lircd.

    Para eso estaba el

    ln -s /var/run/lirc/lircd /dev/lircd

    En el script de inicio.

  6. Bufff, me tendrás que explicar como poner el modo depuración.
    He provado ejecutando xbmc -n y he mirado el xbmc.log de la carpeta ./xbmc/temp y no veo nada de lirc.
    ¿Hay que habilitar algo cuando estás dentro del xbmc?

  7. Hola. Ya he conseguido visualizar el log en modo depuración.
    Cuando presiono teclas del mando me detecta lo siguiente:

    15:58:57 T:3077851024 M:758513664 DEBUG: LIRC: Update – NEW at 2839:0057 00 left SonyBDRemote (left)
    15:58:57 T:3077851024 M:758513664 DEBUG: OnKey: 140 pressed, action is 0
    15:58:58 T:3077851024 M:758513664 DEBUG: LIRC: Update – NEW at 3271:0056 00 down SonyBDRemote (down)
    15:58:58 T:3077851024 M:758513664 DEBUG: OnKey: 141 pressed, action is 0
    15:58:59 T:3077851024 M:758513664 DEBUG: LIRC: Update – NEW at 5149:000B 00 enter SonyBDRemote (enter)
    15:58:59 T:3077851024 M:758513664 DEBUG: OnKey: 144 pressed, action is 0

    Por lo que interpreto que a todas las teclas del mando se le asigna la función «0».

    ¿Cómo puedo hacer para corregir esto?

  8. Probablemente eso significa que el archivo de configuración del lirc no está en su sitio correcto. Mira a ver si en el log te dice de donde lo coje o prueba a ponerlo en el directorio de instalación (miralo desde el synaptic donde lo deja)… Ahora mismo no tengo acceso al media center, así que no puedo decirtelo.

  9. Buenas de nuevo.
    Si te refieres al lircd.conf lo tengo ubicado en /etc/lirc, y lo tengo sin configurar, o sea, todas las líneas anuladas que son comentarios.
    El log del xbmc no dice nada acerca de este archivo.
    ¿Cómo hay que dejar configurado el lirc? Cuando lo instalé lo dejé todo en none, ¿Es correcto?

  10. A lo mejor te hago retomar este post, que anda viejuno, pero….

    Estoy en una situacion similar, XBMC en un HTPC con Linux, pero usaba el Wiimote como mando a distiancia. Siendo comodo, a priori, tiene los problemas de que es un poco escasito, pocos botones, y se come las pilas con patatas, ademas de ser mas caro.

    He optado por comprarme el BD, que ahora se encuentra por unos 20€, y de momento parece que este es uno de los mejores metodos para emparejarlo. Ya me estaba empezando yo a volver loco y planteandome currarme algo en python.

    Antes de ponerme con el, tengo 2 dudas, que ahora sobre la experiencia me podras resolver:

    ¿Tienes que emparejarlo cada vez que lo usas o solo cuando cambias de PS5 a HTPC?

    y, como comentabas al final del post:

    ¿Cuanto duran las baterias aproximadamente? (Es que otros metodos se las comen en 4 dias, y pa eso mejor sigo con el wiiimote, que las tengo recargables…)

    Graciñas por la info….

  11. Hola dernails,

    Te respondo, ya que todavía estoy usando yo el bdremote para mi media center…

    El emparejamiento hay que hacerlo solo si has reemparejado el mando con la PS3, ya que en ese caso el mando conectará solo con la PS3 y no con tu ordenador. Yo tengo emparejado el bdremote con el ordenador y no lo tengo que emparejar nunca, ya que he dejado de usarlo con la PS3.

    Las pilas duran bastante, ya que el mando pasa a stand-by muy rápido, a veces tan rápido que se nota que tiene que volver a conectar y tarda unos segundos en responder cuando has dejado un rato de usar el mando.

    Espero que te sirva.

  12. Primero, aunque tarde, agradecer la respuesta, y de nuevo el post.

    Ahora, como aporte, a mi me están durando las baterías de 4 a 6 meses, y lo uso bastante. En cuanto al tiempo de conexión se me iba a los 6 segundos.

    Ayer se me ha ocurrido cambiar el dongle bluetooth 2.0 por uno 3.0 y he reducido el tiempo a alrededor de 1 segundo, prácticamente imperceptible.

    Ya que tu tiempo está intermedio, supongo que tendrás un bluetooth 2.1, por la diferencia de tiempo.

  13. Hola! Una pregunta: el mando funciona con pilas normales o son baterías especiales? O incluye pilas recargables pero puedes poner normales?

    Gracias!

Deja una respuesta

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.