Neste momento o comando apenas me serve para controlar o Totem, pelo que o facto de o Totem não suportar pesquisar no ficheiro quando ficamos a carregar no botão se torna aborrecido. Para permitir que se tenha vários modos onde possa mudar de faixa ou andar para a frente ou para trás no ficheiro com tão poucos botões, o lirc suporta um sistema de modos que neste caso eu mudo com a tecla do MENU.
Além disso uso também o gnome-osd para mostrar um aviso da mudança de modo. Será necessário instalar o pacote com o mesmo nome e adicionar o irexec à lista de daemons da sessão do GNOME
O .lircrc que tenho na minha $HOME:
begin
flags = startup_mode
mode = totem1
end
begin totem1
begin
prog = Totem
button = PLAY
config = play_pause
end
begin
prog = irexec
button = MENU
config = gnome-osd-client -f "Changed to mode 2"
end
begin
prog = Totem
button = MENU
mode = totem2
flags = mode quit
end
begin
prog = Totem
button = NEXT
config = seek_forward
repeat = 3
end
begin
prog = Totem
button = PREV
config = seek_backward
repeat = 3
end
begin
prog = Totem
button = PLUS
config = volume_up
repeat = 3
end
begin
prog = Totem
button = MINUS
config = volume_down
repeat = 3
end
end totem1
begin totem2
begin
prog = Totem
button = PLAY
config = fullscreen
end
begin
prog = Totem
button = NEXT
config = next
end
begin
prog = Totem
button = PREV
config = previous
end
end totem2
begin
button = MENU
mode = totem1
flags = mode quit
prog = irexec
config = gnome-osd-client -f "Changed to mode 1"
end
O meu /etc/lirc/lircd.conf:
begin remote
name lircd.conf
bits 8
eps 30
aeps 100
one 0 0
zero 0 0
pre_data_bits 24
pre_data 0x800100
gap 132990
toggle_bit_mask 0x800100A4
begin codes
NEXT 0xA3
PREV 0xA5
PLUS 0x73
MINUS 0x72
PLAY 0xA4
MENU 0x8B
end codes
end remote
O meu /etc/lirc/hardware.conf:
# /etc/lirc/hardware.conf
#
# Arguments which will be used when launching lircd
LIRCD_ARGS=""
#Don't start lircmd even if there seems to be a good config file
#START_LIRCMD=false
#Try to load appropriate kernel modules
LOAD_MODULES=false
# Run "lircd --driver=help" for a list of supported drivers.
DRIVER="dev/input"
# If DEVICE is set to /dev/lirc and devfs is in use /dev/lirc/0 will be
# automatically used instead
DEVICE="/dev/input/event1"
MODULES=""
# Default configuration files for your hardware if any
LIRCD_CONF=""
LIRCMD_CONF=""
Ainda me faltam experimentar mais do que 2 modos, mas isso fica para outro dia. 😛