Fórum Ubuntu CZ/SK
Ubuntu pro osobní počítače => Hardware => Téma založeno: Amon 26 Prosince 2010, 17:28:00
-
Zdravím,
už několik dní řeším jak zprovoznit dálkový ovladač Acer RC6 dodaný ke stolnímu PC v Ubuntu. Řídil jsem se tímto návodem (http://wiki.ubuntu.cz/D%C3%A1lkov%C3%A9%20ovl%C3%A1d%C3%A1n%C3%AD) a nainstaloval LIRC. Nejprve vůbec nereagoval na stisk žádného z tlačítek v příkazu irw, až jsem našel tento návod: http://ubuntuforums.org/showthread.php?t=1076587 (http://ubuntuforums.org/showthread.php?t=1076587), který mi dopomohl k rozchození ovladače a v irw už vidím reakce na zmáčknutí jednotlivých tlačítek, bohužel to je zatím vše, co se mi podařilo vyřešit. Žádná z aplikací, ale nereaguje na stisk tlačítek, v Rhytmboxu by to mělo údajně fungovat po aktivaci zásuvného modulu, ale ani tak to nejede. Vygooglil jsem tedy tento návod: http://ubuntuforums.org/showthread.php?t=502924 (http://ubuntuforums.org/showthread.php?t=502924) pro konfiguraci tlačítek ve VLC, prezentaci v OO a některých dalších aplikacích, postupoval jsem přesně podle návodu, ale reakce ve zmíněných programech stále žádná. Myslím si, že bude problém v tom, že nemám správně namapované kódy k jednotlivým tlačítkům, jak je psáno v tomto článku: http://www.root.cz/clanky/lirc-dalkove-ovladani-pro-vas-linux/ (http://www.root.cz/clanky/lirc-dalkove-ovladani-pro-vas-linux/). Nějaká malá zmínka o nastavení programů je i na wiki a zde (http://forum.ubuntu.cz/index.php/topic,46751.0.html), má se použít nějaký program irexec, který je součástí balíku, ale nikde jsem ho nenašel a nevím tak, jak ho spustit.
PS: Chtěl jsem zkusit postupovat podle toho návodu na rootu, jenže jsem se zasekl hned na začátku. Ověřil jsem sice, kterému eventu (event3) připadá ovladač a pak spustil ten příkaz irrecord..., hlásí mi ale že mám nejprve vypnout spuštěný lircd:
irrecord: initializing '/dev/input/event3'
irrecord: unable to open '/dev/input/event3'
irrecord: could not init hardware (lircd running ? --> close it, check permissions)
Popravdě mé znalosti nesahají ještě tak daleko, abych si s tímto poradil, nějaké základní příkazy umím, ale tady už jsem v koncích. Poradí mi prosím někdo co s tím? Za případné rady budu velice rád. Díky předem za pomoc.
EDIT: tak už jsem se posunul o kousek dál, nevadil mu běžící lircd, ale to oprávnění. Přes sudo už se příkaz provedl, jenže i když mačkám tlačítka na ovladači, tak mi hlásí tuto chybu:
Hold down an arbitrary button.
.irrecord: gap not found, can't continue
irrecord: closing '/dev/input/event3'
-
Už se mi konečně po pár hodinách podařilo hnout z místa. Všiml jsem si, že ty kódy tlačítek, které mi vypisuje irw jsou totožné s těmi na stránce, kde jsem našel způsob, jak rozchodit dálkový ovladač, viz. výše. Jenže ani tak to nefungovalo, protože jsem spouštěl irexec s parametrem -d. Teprve až jsem jej spustil v terminálu bez parametru, tak mi začal tento jednoduchý skript fungovat:
begin
remote = *
button = OK
prog = irexec
repeat = 0
config = echo "Test"
end
Bylo ale potřeba vždy předtím v terminálu spustit irexec a pak už to vypisovalo tuto hlášku. S tímto mám právě největší problém, nějak nerozumím tomu, jak to mám zaráz spustit. Dostal jsem se až tak daleko, že už mi funguje na ovladači tlačítko mute v Ubuntu:
#volume mute
begin
prog = irexec
remote = *
button = Mute
repeat = 0
config = amixer set Master toggle
end
To je v pohodě, problém nastává v případě, kdy mám definovat akci do nějaké aplikace. V tom případě musím do příkazu "prog =" zadat danou aplikaci, tedy např. v případě vlc by to bylo: "prog = vlc", tak se ale zase nedovolám na irexec. Nemá někdo nějaký nápad jak na to? Ten autor článku na rootu to řešil tím způsobem, že se z lircrc odvolával na soubor vytvořený pro daný program, kde pro něj bylo samostatné nastavení, nepovedlo se mi to alespoň prozatím takto zprovoznit, část kódu jak to má autor:
soubor .lircrc:
begin
prog = irexec
remote = *
button = 1
repeat = 0
delay = 0
#config = skill xmessage; xmessage -center -timeout 1 "Mplayer mode";
mode = mplayer
end
begin mplayer
include ~/.lircd/mplayer
end mplayer
soubor mplayer:
#MPLAYER
#mute
begin
prog = mplayer
remote = *
button = MUTE
repeat = 0
config = mute
end
-
Nakonec jsem si s tím poradil. Ve VLC bylo potřeba ještě spustit tento s parametrem vlc --control lirc aby zachytil zmáčknutí tlačítka nebo ještě jednodušeji povolit v samotném VLC ovládání pomocí IR. Pro případ, že by si s tím někdo nevěděl rady: Nástroje --> Preferences --> Zobrazit kompletní nastavení --> Rozhraní --> Ovládací rozhraní --> Povolit infračervené dálkové ovládání.
Něco víc o tom je zde (http://wiki.f-site.eu/mediawiki/index.php/Lirc) a tady (http://en.gentoo-wiki.com/wiki/VLC/LIRC) je potom výpis kódů pro VLC. Pak už není potřeba spouštět irexec manuálně, měl by se spustit automaticky, alespoň u mě tomu tak je. Skript v lircrc by měl pak vypadat nějak takto pro jedno tlačítko:
begin
prog = vlc
remote = *
button = Pause
repeat = 1
config = key-play-pause
end
U prezentace v Open Office je to o něco jednodušší. Zde je zase potřeba spouštět na místo irexec daemona irxevent. Irxevent ale na rozdíl od irexec pošle signál aplikaci o zmáčknutí tlačítka na klávesnici přiřazenému tlačítku na ovladači, takže není potřeba ve skriptu specifikovat, kterému programu má část kódu připadat, takže stačí napsat kód pro tlačítko v tomto tvaru:
begin
prog = irxevent
button = Right
config = Key Next CurrentWindow
repeat = 1
end
Před použitím je potřeba spustit daemona irxevent nebo jej nechat nějak spouštět po startu OS. Pro pár dalších tlačítek je skript tady (http://ubuntuforums.org/showthread.php?t=502924).
Vyřešeno sám sobě sám. :)