Návody
Dálkové ovládání na linuxu
Instalace na Gentoo linux
Konfigurace jádra
Loadable module support --->
[*] Module unloading
Device Drivers --->
Input device support --->
[*] Event interface
Nastavení se liší podle použitého adaptéru, osvědčené jsou irda přes seriový port
Úprava /etc/make.conf
pokud nechceme přeložit všechny dostupné moduly, uvedeme kýžené jako parametr "LIRC_DEVICES"
LIRC_DEVICES="driver"
* X10/Medion/ATI remote controls (ati_remote kernel module)
* Hauppage NOVA-T
LIRC_DEVICES="devinput"
Jinak zkompilujete podporu pro všechny:
LIRC_DEVICES="all"
Instalace balíku setserial
emerge setserial
rc-update add setserial default
pro automatický start při rebootu
nastavení konfiguračního souboru /etc/serial.conf:
/dev/ttyS0 uart none
/dev/ttyS1 uart none
/dev/ttyS2 uart none
/dev/ttyS3 uart none
pro jistotu pro všechny dostupné porty
Instalace balíku lirc
emerge lirc
rc-update add lircd default
pro automatický start při rebootu
pokud nechceme hned restartovat, do konzole napiseme
setserial /dev/ttyS0 uart none
modprobe lirc_serial type=1
a výstup logu /var/log/messages by měl vypadat takto:
Sep 15 08:37:18 s_local@pracovna kernel:lirc_dev: IR Remote Control driver registered, major 61
Sep 15 08:37:18 s_local@pracovna kernel:BUG: using smp_processor_id() in preemptible [00000000] code: modprobe/1079
Sep 15 08:37:18 s_local@pracovna kernel:caller is 0xf859f3ac
Sep 15 08:37:18 s_local@pracovna kernel:Pid: 1079, comm: modprobe Tainted: P 2.6.30-gentoo-r6 #1
Sep 15 08:37:18 s_local@pracovna kernel:Call Trace:
Sep 15 08:37:18 s_local@pracovna kernel:[<c02a0698>] ? debug_smp_processor_id+0xa4/0xb8
Sep 15 08:37:18 s_local@pracovna kernel:[<f859f3ac>] ? 0xf859f3ac
Sep 15 08:37:18 s_local@pracovna kernel:[<f85ad000>] ? init_module+0x0/0x287 [lirc_serial]
Sep 15 08:37:18 s_local@pracovna kernel:[<f85ad110>] ? init_module+0x110/0x287 [lirc_serial]
Sep 15 08:37:18 s_local@pracovna kernel:[<c010112d>] ? do_one_initcall+0x44/0x111
Sep 15 08:37:18 s_local@pracovna kernel:[<c016f5eb>] ? tracepoint_module_notify+0x21/0x24
Sep 15 08:37:18 s_local@pracovna kernel:[<c0150af2>] ? notifier_call_chain+0x2a/0x47
Sep 15 08:37:18 s_local@pracovna kernel:[<c0150cfd>] ? __blocking_notifier_call_chain+0x3f/0x49
Sep 15 08:37:18 s_local@pracovna kernel:[<c015bbf7>] ? sys_init_module+0x87/0x187
Sep 15 08:37:18 s_local@pracovna kernel:[<c011cacc>] ? sysenter_do_call+0x12/0x28
Sep 15 08:37:19 s_local@pracovna kernel:lirc_serial: auto-detected active low receiver
Sep 15 08:37:19 s_local@pracovna kernel:lirc_dev: lirc_register_driver: sample_rate: 0
Sep 15 08:37:19 s_local@pracovna kernel:lirc_serial $Revision: 5.104 $ registered
Parametry modulu zapíšeme do souboru /etc/modprobe.d/lircd.conf
options modprobe lirc_serial type=1
otestujeme jestli prijima kody (lircd daemon musi byt zastaven):mode2 -d /dev/lirc0
meli by se vypisovat kody pri stisknuti nejakych tlacitek,pokud funguje pokracujeme dal...
postupujeme dal podle instrukci,nastavime tim tlacitka pojmenujeme apod.
irrecord -d /dev/lirc0 remote.lirc
zkopirujeme config
cp remote.lirc /etc/lirc/lircd.conf
/etc/init.d/lirc start
[editovat] nastaveni tlacitek a funkci
ve svem home vytvorime soubor .lircrc
do nej napiseme funkce ktere chceme
[editovat] amarok
begin
prog = irexec
remote = remote
button = vol+
config = dcop amarok player volumeUp
end
begin
prog = irexec
remote = remote
button = vol-
config = dcop amarok player volumeDown
end
funkce jedou pres dcop, musi byt pusteny dcopserver
dale je potreba pusteny irexec (pod uzivatelem,ne pod rootem)
irexec -d
seznam kodu pro amarok [1]
[editovat] amarok2
begin
prog = irexec
remote = remote
button = play
config = qdbus org.mpris.amarok /Player Pause
end
begin
prog = irexec
remote = remote
button = prev
config = qdbus org.mpris.amarok /Player Prev
end
pro vol+ a vol-
begin
prog = irexec
remote = remote
button = vol+
config = env /home/vondra/lirc-amarok.sh volUp
end
begin
prog = irexec
remote = remote
button = vol-
config = env /home/vondra/lirc-amarok.sh volDown
end
v amarok 2 neni vyreseno pridavani/ubirani hlasitosti proto to resime skriptempracovna@pracovna:~$ cat lirc-amarok.sh
#!/bin/bash
if [ $1 ];
then
if [ $1 == "volUp" ];
then
CURRENT_VOLUME=`qdbus org.mpris.amarok /Player VolumeGet`
NEW_VOLUME=`expr $CURRENT_VOLUME + 8`
`qdbus org.mpris.amarok /Player VolumeSet $NEW_VOLUME`
elif [ $1 == "volDown" ];
then
CURRENT_VOLUME=`qdbus org.mpris.amarok /Player VolumeGet`
NEW_VOLUME=`expr $CURRENT_VOLUME - 8`
`qdbus org.mpris.amarok /Player VolumeSet $NEW_VOLUME`
elif [ $1 == "seekUp" ];
then
CURRENT_POS=`qdbus org.mpris.amarok /Player PositionGet`
NEW_POS=`expr $CURRENT_POS + 2000`
`qdbus org.mpris.amarok /Player PositionSet $NEW_POS`
elif [ $i == "seekDown" ];
then
CURRENT_POS=`qdbus org.mpris.amarok /Player PositionGet`
NEW_POS=`expr $CURRENT_POS - 2000`
`qdbus org.mpris.amarok /Player PositionSet $NEW_POS`
fi
else
if [ `ps aux | grep "irexec --name amarok" | grep -v "grep" | wc -l` -le 0 ]
then
echo "Starting irexec"
irexec -d
else
echo "Already running"
fi
fi
[editovat] vlcbegin
prog = vlc
remote = remote
button = pres-
config = key-vol-down
end
begin
prog = vlc
remote = remote
button = tuner
config = key-play-pause
end
je potreba pustit vlc s podporou lirc, melo by to fungovat diky tomuhle souboru
#$home/.vlc/vlcrc
control=lirc
ale mne to nejak nefunguje, takze postim vlc takhle
vlc --control lirc
seznam kodu pro vlc [2]
lock screenbegin
prog = irexec
remote = remote
button = power
config = qdbus org.freedesktop.ScreenSaver /ScreenSaver Lock
end
odkazy ...http://www.vdr-wiki.de/wiki/index.php/Debian_-_LIRC_Installation
http://amarok.kde.org/wiki/RemoteControl
http://en.gentoo-wiki.com/wiki/VLC/LIRC