Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Namapování dálkového ovladače přes LIRC [vyřešeno]  (Přečteno 2156 krát)

Amon

  • Návštěvník
  • Příspěvků: 3
Namapování dálkového ovladače přes LIRC [vyřešeno]
« kdy: 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 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, 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 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/. Nějaká malá zmínka o nastavení programů je i na wiki a zde, 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:

Kód: [Vybrat]
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:

Kód: [Vybrat]
Hold down an arbitrary button.
.irrecord: gap not found, can't continue
irrecord: closing '/dev/input/event3'
« Poslední změna: 28 Prosince 2010, 21:12:17 od Amon »

Amon

  • Návštěvník
  • Příspěvků: 3
Re: Namapování dálkového ovladače přes LIRC
« Odpověď #1 kdy: 26 Prosince 2010, 22:08:18 »
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:

Kód: [Vybrat]
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:

Kód: [Vybrat]
#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:
Kód: [Vybrat]
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:
Kód: [Vybrat]
#MPLAYER
#mute
begin
    prog    = mplayer
    remote  = *
    button  = MUTE
    repeat  = 0
    config  = mute
end



Amon

  • Návštěvník
  • Příspěvků: 3
Re: Namapování dálkového ovladače přes LIRC
« Odpověď #2 kdy: 28 Prosince 2010, 21:09:54 »
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 a tady 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:

Kód: [Vybrat]
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:

Kód: [Vybrat]
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.


Vyřešeno sám sobě sám. :)

 

Provoz zaštiťuje spolek OpenAlt.