Ok, поехали. Сразу оговариваюсь, что делал на линуксе, у вас на фре будет не так в "ядерно-модульной" части.
1. Разборки с модулями.
Будем считать, что модули поддержки i2c и тюнера прогружены и работают. Добавляем поддержку lirc. В etc/modules.conf добавляем
alias char-major-61 lirc_gpio
options lirc_gpio gpio_mask=0xf88000 gpio_lock_mask=0x10000 gpio_xor_mask=0x10000 soft_gap=0 sample_rate=10
Здесь всего две строки, если не поместилось. "Магические" цифры в параметрах брал из документации на lircd.
2. Обучение демона lircd командам пульта (иными словами, составление /etc/lircd.conf).
Пускаем
irrecord /tmp/lircd
и следуем его указаниям. Ранее я говорил, что к концу настройки палец отвалится. Получаем /tmp/lircd.conf (расширение лепится автоматически).
У меня получился вот такой:
begin remote
name AverMedia
bits 8
flags SPACE_ENC|CONST_LENGTH
eps 30
aeps 100
header 9078 4437
one 615 1631
zero 615 515
ptrail 620
repeat 9080 2189
gap 199999
toggle_bit 0
begin codes
TV/FM 0x0000000000000020
CD 0x0000000000000010
TELETEXT 0x0000000000000030
POWER 0x0000000000000000
1 0x0000000000000028
2 0x0000000000000018
3 0x0000000000000038
4 0x0000000000000024
5 0x0000000000000014
6 0x0000000000000034
7 0x000000000000002C
8 0x000000000000001C
9 0x000000000000003C
VIDEO 0x0000000000000008
AUDIO 0x0000000000000004
FULLSCREEN 0x000000000000000C
0 0x0000000000000022
DISPLAY 0x0000000000000012
LOOP 0x0000000000000032
PREVIEW 0x0000000000000002
AUTOSCAN 0x000000000000002A
FREEZE 0x000000000000001A
CAPTURE 0x000000000000003A
MUTE 0x000000000000000A
RECORD 0x0000000000000026
PAUSE 0x0000000000000016
STOP 0x0000000000000036
PLAY 0x0000000000000006
VOL_DOWN 0x000000000000001E
VOL_UP 0x000000000000003E
CHAN_DOWN 0x0000000000000011
CHAN_UP 0x0000000000000031
end codes
end remote
Смотрим, если нравится, копируем в /etc, стартуем демона lircd. В случае линукса он автоматически поднимает нужные модули.
3. Написание файла ~/.lircrc (сопоставление кнопок пульта командам). Я приведу свой, вы можете по аналогии что-то добавить/удалить.
begin
prog = irexec
button = audio
config = xmms&
mode = xmms
flags = once
end
begin
prog = mplayer
button = pause
config = pause
end
begin
prog = mplayer
button = power
config = quit
end
begin
prog = mplayer
button = vol_up
config = volume 1
end
begin
prog = mplayer
button = vol_down
config = volume -1
end
begin
prog = mplayer
button = fullscreen
config = vo_fullscreen
end
begin
prog = mplayer
button = stop
config = seek 0 1\npause
end
begin
prog = mplayer
button = chan_up
config = seek 10 0
end
begin
prog = mplayer
button = chan_down
config = seek 10 1
end
begin xmms
begin
prog = xmms
button = play
config = PLAY
end
begin
prog = xmms
button = clear
config = PLAYLIST_CLEAR
end
begin
prog = xmms
button = load
config = PLAYLIST_ADD .xmms/xmms.m3u
end
begin
prog = xmms
button = pause
config = PAUSE
end
begin
prog = xmms
button = stop
config = STOP
end
begin
prog = xmms
button = power
config = QUIT
flags = mode
end
begin
prog = xmms
button = chan_up
config = NEXT
end
begin
prog = xmms
button = chan_down
config = PREV
end
begin
prog = xmms
button = forw
config = FWD 3
repeat = 2
end
begin
prog = xmms
button = back
config = BWD 3
repeat = 2
end
begin
prog = xmms
button = vol_up
config = VOL_UP 10
repeat = 2
end
begin
prog = xmms
button = vol_down
config = VOL_DOWN 10
repeat = 2
end
begin
prog = xmms
button = 1
config = ONE
end
begin
prog = xmms
button = 2
config = TWO
end
begin
prog = xmms
button = 3
config = THREE
end
begin
prog = xmms
button = 4
config = FOUR
end
begin
prog = xmms
button = 5
config = FIVE
end
begin
prog = xmms
button = 6
config = SIX
end
begin
prog = xmms
button = 7
config = SEVEN
end
begin
prog = xmms
button = 8
config = EIGHT
end
begin
prog = xmms
button = 9
config = NINE
end
begin
prog = xmms
button = 0
config = ZERO
end
begin
prog = xmms
button = enter
config = SETPOS
end
end xmms
4. Запускаем демоненка irexec -d, пробуем нажать кнопку Audio. В моем случае запускается XMMS.
Вроде ничего не забыл.