Usar o controlo remoto da Apple para controlar o Totem

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. 😛