Mando de infrarojo [Solucionado]

Hola, me estoy volviendo loco con el mando infrarojo.

El mando venia con un receptor TDT por USB, el Pinnacle 72e. Cuando conecto el USB el "dmesg" me da esto:

[14093.613055] usb 5-2: new high speed USB device using ehci_hcd and address 7
[14093.749343] usb 5-2: configuration #1 chosen from 1 choice
[14093.752162] dvb-usb: found a 'Pinnacle PCTV 72e' in cold state, will try to load a firmware
[14093.752196] firmware: requesting dvb-usb-dib0700-1.10.fw
[14093.775310] dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.10.fw'
[14094.038255] dib0700: firmware started successfully.
[14094.539766] dvb-usb: found a 'Pinnacle PCTV 72e' in warm state.
[14094.539929] dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
[14094.541128] DVB: registering new adapter (Pinnacle PCTV 72e)
[14094.780118] DVB: registering frontend 0 (DiBcom 7000PC)...
[14094.974324] DiB0070: successfully identified
[14094.974395] input: IR-receiver inside an USB DVB receiver as /class/input/input11
[14094.983217] dvb-usb: schedule remote query interval to 150 msecs.
[14094.983217] dvb-usb: Pinnacle PCTV 72e successfully initialized and connected.
[14094.983217] usb 5-2: New USB device found, idVendor=2304, idProduct=0236
[14094.983217] usb 5-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[14094.983217] usb 5-2: Product: Pinnacle 72e
[14094.983217] usb 5-2: Manufacturer: LITEON
[14094.983217] usb 5-2: SerialNumber: HTF

Parece que todo a ido bien, y la verdad que si aprieto las teclas de volumen y el mute funcionan a la perfeccion. Cuando me pongo el la terminal y aprieto los numero me los escribe en la terminal, lo unico que no hace son los otros botones de "play", "adelante", "atras", pantalla completa, etc.

Lo que quiero saber es si es posible configurarlo para que cuando este viendo imagenes con el "Eye of GNOME" o con otro visor pueda pasar de imagen, ponerlo a pantalla completa y utilizar el zoom. Si estoy en el "Eye of GNOME" y aprieto el boton "1" me pone el zoom a 100%, pero solo me hace esto.

Me imagino que tendre que editar algun fichero, pero no se si tengo que editar un fichero global para todas las aplicaciones o un fichero por cada aplicacion que utilice.

Como puedo saber si funcionan los otros botones? Existe algun capturador de infrarojo que me diga que he pulsado?

Gracias por todo y saludos.

pues diria que depende de lirc y del entorno de escritorio. con xev puedes ver a qué te mapea lirc lo botones del mando (si los mapea)

Muchas gracias!!! Con "xev" me pilla todos los botones, recuerdo andar con esto cuando solia configurar a mano los botones de subir/bajar volumen y el mute del portatil.

Para los que anden un poco perdidos como yo se instala con este paquete:

apt-get install inputlirc

Ahora seguire buscando sobre lirc, pero me interesa configurar varios programas como algun visor de imagenes y algun reproductor multimedia como el Totem o el Rhythmbox.

Gracias de nuevo y saludos.

He estado buscando un poco mas, aqui van mas cosas:

cat /proc/bus/input/devices
...
I: Bus=0003 Vendor=2304 Product=0236 Version=0100
N: Name="IR-receiver inside an USB DVB receiver"
P: Phys=usb-0000:00:1d.7-2/ir0
S: Sysfs=/class/input/input10
U: Uniq=
H: Handlers=kbd event10
B: EV=3
B: KEY=14afc336 284284d 0 0 0 4 80058000 2190 40000801 9e96c0 0 900200 ffd

Por lo que he leido debo de editar lis ficheros de /etc/lirc/ pero no acierto, he probado muchas configuraciones, pero nada.

Tambien he leido que existe una forma de mapear automaticamente con esto:

irrecord -H dev/input -d /dev/input/event10 /tmp/lircd.conf

Aqui meto el nombre de cada boton y lo pulso, asi se supone que se queda guardado. Pero despues no se que mas hacer, tompoco funciona.

Alguna sugerencia?

Seguire buscando, gracias.

Si xev te reconoce todos los botones, ya no tienes que tocar lirc, sinó configurar tu entorno de escritorio o aplicaciones para poner de atajos de teclado los botones del mando.

Exactamente igual que con el mando de la wii mrgreen

Te pongo un ejemplo del .lircrc que uso a ver si te sirve de ayuda. Lo añades a tu /home/usuario

############################MPLAYER###################################
#MPlayer
begin
   prog = mplayer
   button = Power
   config = quit
end
begin
   prog = mplayer
   button = EPG
   config = osd
end

begin
   prog = mplayer
   button = Rewind
   config = seek -10
   repeat = 0
end

begin
   prog = mplayer
   button = Forward
   config = seek +10
   repeat = 0
end

begin
   prog = mplayer
   button = Previous
   config = seek -60
   repeat = 0
end

begin
   prog = mplayer
   button = Next
   config = seek +60
   repeat = 0
end

begin
    prog = mplayer
    button = Pause
    config = pause
end

begin
    prog = mplayer
    button = Play
    config = pause
end

begin
   prog = mplayer
   button = VolumeUp
   config = volume +24
   repeat = 32
end

begin
   prog = mplayer
   button = VolumeDown
   config = volume -24
   repeat = 32
end

begin
   prog=mplayer
   button=Mute
   config=mute
end

# Toggle full-screen
begin
   prog = mplayer
   button = Zoom
   repeat = 32
   config = vo_fullscreen
end

########APAGAR ORDENADOR#######
begin
   prog = irexec
   button = Power
   button = Blue
   config = shutdown -h now
end

Muchas gracias por el fichero, la verdad que no utilizo el MPlayer, pero instalare para probar. Antes de nada, lo que me mosquea es que al arrancar el ordenador y reiniciar el servicio de LIRC me da este error:

LG:/home/lazkano# /etc/init.d/lirc restart
Stopping lirc daemon: irexec lircmd lircd.
##################################################
## LIRC IS NOT CONFIGURED                       ##
##                                              ##
## read /usr/share/doc/lirc/html/configure.html ##
##################################################
Additional hint: Either /etc/lirc/lircd.conf or
/etc/lirc/hardware.conf doesn't exist or either
of the two has the string UNCONFIGURED in it at
some important place. Try: 'dpkg-reconfigure lirc'
Starting lirc daemon:.

Por lo que pone esos dos achivos no existen, os pongo lo que tengo en ellos:

lazkano@LG:~$ cat /etc/lirc/hardware.conf
# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS="-d /dev/input/event10"

#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=false

#Don't start irexec, even if a good config file seems to exist.
#START_IREXEC=false

#Try to load appropriate kernel modules
LOAD_MODULES=true

# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="devinput"
# If DEVICE is set to /dev/lirc and udev is in use /dev/lirc0 will be
# automatically used instead
DEVICE="/dev/input/event10"
MODULES=""

# Default configuration files for your hardware if any
LIRCD_CONF="/etc/lirc/lircd.conf"
LIRCMD_CONF="/etc/lirc/lircmd.conf"

lazkano@LG:~$ cat /etc/lirc/lircd.conf
#UNCONFIGURED
#
# To find out how to get a proper configuration file please read:
#
# /usr/share/doc/lirc/README.Debian

begin remote

  name  FlyVideo2000FM
  bits           16
  eps            30
  aeps          100

  one             0     0
  zero            0     0
  pre_data_bits   16
  pre_data       0x8001
  gap            207509
  toggle_bit      0

      begin codes
          Air/CATV                 0x0175
          Video                    0x0189
          Audio                    0x0188
          Power                    0x0074
          AV_Source                0x0182
          Full_Screen              0x0174
          Stereo                   0x0170
          Mute                     0x0071
          1                        0x0002
          2                        0x0003
          3                        0x0004
          4                        0x0005
          5                        0x0006
          6                        0x0007
          7                        0x0008
          8                        0x0009
          9                        0x000A
          Recall                   0x0081
          0                        0x000B
          Enter                    0x001C
          VOL_UP                   0x0073
          VOL_DOWN                 0x0072
          CH_UP                    0x0192
          CH_DOWN                  0x0193
      end codes

end remote

Los he rellenado con informacion que he buscado en internet, por lo visto es esto lo que falla. Alguien me puede ayudar con esto? Es que ya no se que mas mirar.

Respecto al fichero .lircrd, no se podria poner uno en /etc/lirc para todos los usuarios?

Ya se que estoy un poco pesado con el tema, pero es que ya llevo mucho tiempo con esto y me desespera.

Gracias a todos y saludos.

Haz lo que dice ssorgatem, si xev te reconoce bien las teclas (es decir con nombre y todo) sólo necesitas configurar los programas para que respondan a estas teclas, por ejemplo si con el botón de siguiente xev te devuelve algo como XF86Next (creo que ese era) en el programa que deseas controlar debes configurar esa tecla. Pero es EN el programa que deseas controlar, no en lirc ni nada de eso.

Ahora que si xev reconoce los eventos pero no les coloca nombre lo que debes hacer es mapear esos keycodes para que tengan un identificador, algo de eso se encuentra aquí en el wiki.

http://www.esdebian.org/wiki/configuracion-teclas-especiales

Funciona para portátiles, teclados multimedia y como no, también para los eventos que genera lirc. wink

Haz una prueba y sigue los pasos que aquí menciono

Tienes ejemplos de .lircrc aquí. Debes que cambiar button por el nombre de tu button correspondiente.

jlazkano escribió:

Respecto al fichero .lircrd, no se podria poner uno en /etc/lirc para todos los usuarios?

Lo siento pero desconozco esa posibilidad.

Muchas gracias por la ayuda! Creo que queda poco para la solucion. Ahora al menos no me da ese error al reiniciar el servicio LIRC.

Os comento lo que tengo:

lazkano@LG:~$ cat /etc/lirc/hardware.conf
# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS="-d /dev/input/event10"

#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=false

#Don't start irexec, even if a good config file seems to exist.
#START_IREXEC=true

#Try to load appropriate kernel modules
LOAD_MODULES=true

# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="devinput"
# If DEVICE is set to /dev/lirc and udev is in use /dev/lirc0 will be
# automatically used instead
DEVICE="/dev/input/event10"
MODULES=""

# Default configuration files for your hardware if any
LIRCD_CONF="/etc/lirc/lircd.conf"
LIRCMD_CONF="/etc/lirc/lircmd.conf"

lazkano@LG:~$ cat /etc/lirc/lircd.conf
#
# this config file was automatically generated
# using lirc-0.8.2-CVS(default) on Sat Sep 22 13:37:28 2007
#
# contributed by kk75
#
# brand:                       Pinnacle
# model no. of remote control:
# devices being controlled by this remote: Pinnacle PCTV USB Stick
#

begin remote

  name  Pinnacle_PCTV_USB_STICK
  bits            5
  flags RC5|CONST_LENGTH
  eps            30
  aeps          100

  one           823   856
  zero          823   856
  plead         818
  pre_data_bits   8
  pre_data       0x8E
  gap          107532
  toggle_bit_mask 0x800

      begin codes
          play-pause               0x06
          stop                     0x05
          exit                     0x03
          screen                   0x02
          rew                      0x04
          ff                       0x07
          mute                     0x00
          volup                    0x0B
          voldown                  0x0F
          ask                      0x14
          m                        0x16
          chup                     0x13
          chdown                   0x17
          rec                      0x01
          1                        0x08
          2                        0x09
          3                        0x0A
          4                        0x0C
          5                        0x0D
          6                        0x0E
          7                        0x10
          8                        0x11
          9                        0x12
          0                        0x15
      end codes

end remote

Esto ultimo lo he copiado desde: http://lirc.sourceforge.net/remotes/pinnacle_systems/PCTV_USB_STICK que es el que mas se parece a mi mando, el mi es este: http://fattazzo.net46.net/wp-content/uploads/2009/05/pinnacle.jpg

lazkano@LG:~$ cat .lircrc
## Totem ##
begin totem
begin
prog   = Totem
button = power
config = quit
end
begin
prog   = Totem
button = play
config = play
end
begin
prog   = Totem
button = pause
repeat = 0
config = pause
end
begin
prog   = Totem
button = stop
config = pause
repeat = 0
end
begin
prog   = Totem
button = ff
config = next
repeat = 1
end
begin
prog   = Totem
button = rew
config = seek_previous
repeat = 1
end
begin
prog   = Totem
button = forward
config = seek_forward
repeat = 1
end
begin
prog   = Totem
button = rewind
config = seek_backward
repeat = 1
end
begin
prog   = Totem
button = vol-up
config = volume_up
repeat = 1
end
begin
prog   = Totem
button = vol-down
config = volume_down
repeat = 1
end
begin
prog   = Totem
button = max-window
config = fullscreen
repeat = 1
end
end totem

No he cambiado todo, pero al menos el pause y el adelante/atras tendrian que hacer, no?

Es que no me hace nada, ni subir/bajar el volumen, que esto sin ningun programa me lo hace.

Yo creo que es cosa del /etc/lirc/lircd.conf, seguire buscando a ver si encuantro alguno para mi mando, gracias y hasta pronto.

Saludos!

Iujuuu!!! Ya esta!!! Gracias a todos, os pongo como lo he hecho:

1. Mapear todos los botones con irrecord:

irrecord -H dev/input -d /dev/input/event10 /tmp/lircd.conf

Esto te genera un fichero en /tmp/lircd.conf y lo copias a /etc/lirc/

2. Configurar .lircrc:

## Totem ##
begin totem
begin
prog   = Totem
button = Shutdown
config = quit
end
begin
prog   = Totem
button = Play
config = play
end
begin
prog   = Totem
button = Play
repeat = 0
config = pause
end
begin
prog   = Totem
button = Stop
config = pause
repeat = 0
end
begin
prog   = Totem
button = Ford
config = next
repeat = 1
end
begin
prog   = Totem
button = Back
config = seek_previous
repeat = 1
end
begin
prog   = Totem
button = Ford
config = seek_forward
repeat = 1
end
begin
prog   = Totem
button = Back
config = seek_backward
repeat = 1
end
begin
prog   = Totem
button = VolUp
config = volume_up
repeat = 1
end
begin
prog   = Totem
button = VolDown
config = volume_down
repeat = 1
end
begin
prog   = Totem
button = FullScreen
config = fullscreen
repeat = 1
end
end totem

Este es para Totem, pero se puede poner para otras aplicaciones.

Espero que estos pasos valgan para otros, que a mi me a costado mucho tiempo.

Tengo una duda, se puede configurar un mismo boton para dos eventos diferentes? Por ejemplo, que el boton de Play valga para Play y Pause (ya que son un mismo boton), lo he configurado para el mismo evento pero me hace play y al segundo pause, y no arranca la cancion.

Pues nada mas, dejo eso pendiente pero cierro como solucionado.

Saludos.