Posts Tagged ‘ control ’

LIRC en Archlinux

Hola a todos, hace unos días descubrí que mi computador (acer 4520), tenia un infrarrojo receptor, para usarlo con un control remoto, tras saber eso me propuse configurarlo en archlinux y me encontré con varios inconvenientes. Bueno lo primero es saber si tenemos un receptor infrarrojo, pueden ver la lista de hardware compatible aquí. En mi caso el CIR es un “Winbond 8769L”, en caso de tener el mismo CIR lo pueden verificar con

hal-device | grep WEC

Si la salida es algo como esto, continuamos.

81: udi = ‘/org/freedesktop/Hal/devices/pnp_WEC1020’
pnp.id = ‘WEC1020’  (string)
info.product = ‘PnP Device (WEC1020)’  (string)
info.udi = ‘/org/freedesktop/Hal/devices/pnp_WEC1020’  (string)

Instalamos Lirc con

sudo pacman -S lirc lirc-utils

Luego debemos cargar los modulos correspondientes a nuestro receptor, podemos ver lo modulos necesarios aquí en la columna “Required LIRC kernel modules”, en mi caso los modulos son “lirc_dev” y “lirc_wpc8769l”, para cargarlos tecleamos

sudo modprobe lirc_dev

sudo modprobe lirc_wpc8769l

Si queremos que se carguen al inicio, los agregamos en “MODULES” en nuestro “rc.conf”.

Tras esto comprobamos que nuestro receptor capta las pulsaciones del control remoto que usaremos (puede ser cualquiera), esto lo vemos tecleando en un terminal

sudo mode2 -d /dev/lirc0

Si al presionar un boton del control remoto vemos en el terminal algo como lo siguiente, continuamos.

pulse 350
space 200
pulse 300
space 500
pulse 600
space 450
pulse 400
space 200
pulse 300

En mi caso, por algo que aún desconozco, al iniciar el notebook e intentar captar las pulsaciones no funciona, pero al suspender y volver de la suspensión, funciona todo correctamente y muestra una salida como la anterior. Si no les resulta en un comienzo pueden probar suspender; si alguien tiene alguna idea de como solucionarlo agradecería que me lo dijera :).

EDITO: Desde el kernel 2.6.34 funciona desde un comienzo 🙂 así que lo anterior esta solucionado.

Continuando, si nuestro CIR recibe las pulsaciones, solo nos queda configurar LIRC para nuestro control remoto, tenemos dos opciones para hacer esto, la primera es buscar si ya existe un archivo de configuración para nuestro control remoto en el sitio de lirc, o crear nuestro propio archivo de configuración.

Para crear el archivo de configuracion ponemos en un terminal

sudo irrecord -d /dev/lirc0 NOMBRECONTROLREMOTO

remplazando “NOMBRECONTROLREMOTO” por el nombre de nuestro control remoto (pueden poner el nombre que quieran), el programa nos mostrara algo así

Presionamos enter para continuar

Acá nos dice que debemos presionar distintos botos del control remoto, hasta que se completen dos filas de 80 puntos cada una, presionamos enter y comenzamos a pulsar botones hasta completar la primera columna y luego repetimos lo mismo para la segunda.

Tras esto, nos pide ingresar el nombre para el primer boton, la lista de nombres validos la pueden ver poniendo en un terminal

irrecord -l

Ingresamos el nombre del botón, presionamos enter y luego pulsamos el botón. Esto lo repetimos hasta terminar de ingresar todos los botones de nuestro control remoto, para finalizar el irrecord presionamos enter, dejando el nombre del botón en blanco (sin nada). Esto nos creara un archivo con la configuración de nuestro control remoto, el cual copiamos a “/etc/lircd.conf”, con

sudo cp NOMBRECONTROLREMOTO /etc/lircd.conf

Remplazando NOMBRECONTROLREMOTO por el nombre que pusimos al iniciar irrecord. Finalmente modificamos el archivo “/etc/conf.d/lircd.conf” con

sudo nano /etc/conf.d/lircd.conf

Y dejándolo de esta forma

Luego para que todo funcione desde un comienzo, agregamos el demonio “lircd” a nuestro “/etc/rc.conf”. Luego para hacer algo util con el control remoto, podemos configurarlo para que realice ciertas acciones.

Podemos ver si la configuración quedo bien, con el comando “irw” el cual muestra el nombre asignado a cada botón al presionarlo.

Lirc en xbmc

Xbmc es un mediacenter muy completo y el mejor de los que he probado, ademas es multiplataforma, para instalarlo en archlinux lo puden hacer con

sudo pacman -S xbmc

Luego lo pueden ejecutar desde un terminal con el comando “xbmc” o desde el menú (gnome, xfce, kde, etc…). Para configurar nuestro control remoto en xbmc editamos el archivo “Lircmap.xml” con

sudo nano /usr/share/xbmc/system/Lircmap.xml

Podemos agregar una configuración o modificar una existente, yo modifique el primero “mceusb”; en el comienzo

<remote device="mceusb">

Remplazamos mceusb por el nombre de nuestro control remoto, ademas en cada acción (play, stop, etc…) ponemos el nombre del botón (que definimos en irrecord), dejo mi “Lircmap.xml” como ejemplo. Con la configuración lista al abrir xbmc funcionara el control remoto.

Lirc en exaile

Exaile es un reproductor de audio simple y similar a amarok pero escrito en GTK, gracias a un plugin que encontré en una entrada de este blog, podemos configurarlo de manera sencilla para que funcione con lirc, simplemente descargamos el plugin desde aquí, lo instalamos y activamos en las preferencias de exaile. Y luego creamos el archivo “.lircrc” en nuestro home con

nano ~/.lircrc

En donde agregamoslos las acciones que queremos realice exaile al pulsar un botón, un ejemplo de la configuración de “.lircrc” la encontramos aquí, en donde solo debemos remplazar los nombres de los botones según corresponda y el nombre de nuestro control remoto.

Lirc en nuestro escritorio

Lirc trae una utilidad para asignarle un comando especifico a cada botón, para usar esto debomos modificar nuestro “.lircrc” y agregar lineas del tipo

begin
prog = irexec
remote = tv
button = KEY_GOTO
config = xdotool key s &
repeat = 0
end

En la primera linea “prog” dejamos irexec ya que es la utilidad que permite ejecutar distintos comandos al presionar un botón.

En “remote” ponemos el nombre de nuestro control remoto (el cual asignamos en irrecord); en “button” ponemos el nombre del botón (el cual podemos ver con “irw”) al cual queremos asignar una
acción.

En “config” ponemos el comando que queremos que ejecuta, en este caso use “xdotool” para hacer se presionara la tecla “s”.

En “repeat” ponemos si queremos que la pulsación de control remoto se repita al mantenerlo presionado, si queremos que sea asi le asignamos “1” en caso contrario “0”.

Con esto pueden construir su configuración para usar un control remoto en Archlinux y en Gnu/Linux en general. Bueno espero les sea útil, agradecimientos a este post en un foro de ubuntu que me ayudo bastante en un comienzo, para mas info pueden ver la wiki de archlinux. Saludos a todos y hasta pronto.

XaBz