Dále uvedené řešení se dá bez velkých zásahů a změn použít v instalací typu *ELEC nebo Linux používající IR DO. Testované je na instalaci LibreELEC. Bez problémů by mělo být funkční i na jiných Linux instalacích.
Nápis tématu je poněkud komplikovaný, pokusím se jednoduše vysvětlit. Občas se v Kodi objeví řešení, v rámci kterého Kodi spouští nějakou externí aplikaci. Nejčastěji to asi bývá webový prohlížeč. V Kodi jsou známé hlavně Chrome Launcher (který spuští v systému instalované Chrome) nebo addon Chromium (čtěte Poznámku na konci odstavce), který do systému prohlížeč také nainstaluje. Já sám provozuji ten druhý a jsem s ním, na svých LibreELEC instalacích, vcelku spokojen. Drobné i větší mušky má, ale co mě osobně a celou rodinu štve, že nejsme schopni alespoň částečného ovládání prohlížeče z DO. Spustit ho, to ano, ale na všechno další je třeba si vzít klávesnici a pokračovat s ní. Jsou výjimky, např. ve Windows lze IR ovladače (např. Logitech Harmony One) využívat v režimu klávesnice, ale linuxové aplikace tuto možnost použití IR neumožňují.
Poznámka: V současné chvíli je addon Chromium k dispozici pouze v AMD/Intel/nVidia Generic instalaci.
Zamyslel jsem se a zjistil, že ve většině případů, kdy používám webový prohlížeč v Kodi, nejde o žádné divoké brouzdání. Většinou chci zobrazit jednu konkrétní stránku, a v ní mít možnost listovat nahoru a dolů. Žádné klikání na odkazy, otevírání dalších stránek na nových záložkách, atd. Na brouzdání si rád sednu k počítači nebo vezmu do ruky tablet. U Kodi chci jen kliknout, přečíst a odejít zpět. Nejčastěji takhle chodím na stránky filmů v IMDB (rozšíření v Estuary Stream Cinema), případně na stránky, které mám pevně předvolené - například přehled zpráv sledovaných deníků. S kolegy navíc pracujeme na novém addon, kterým by mělo být rozšíření RSS čtečky, a který by umožňoval klikem na běžící headline v Kodi otevřít seznam zpráv a tam, opět klikem, otevřít zdrojový článek na webovém serveru.
Úkolem tedy bylo, zajistit, aby když si přes DO otevřu webový prohlížeč (Chromium nebo Chrome), mohl přes to samé DO listovat ve stránce nahoru a dolů, jít na konec nebo začátek, přepínat si mezi záložkami a dalším klikem na DO se vrátit do Kodi. Nepodstatným požadavkem bylo, aby se pro tyto činnosti daly používat klávesy DO tak, jak jsou na to uživatelé v Kodi zvyklí. Návrat do Kodi přes klávesu Home, přepínání záložek některými ze šipek, listování nahoru a dolů pomocí šipek nebo PgUp a PgDown, atp.
Princip řešení vychází z tohoto popisu Funkce tlačítek DO mimo Kodi, který je uveden v tématu Vychytávky. Popsané řešení umožňuje stiskem tlačítka spustit příkaz či aplikaci přímo v systému. No a na místě té aplikaci si lze celkem bez potíží představit i tradiční a známý xdotools. A to je vlastně to podstatné, na čem je celé řešení postaveno.
Doplněním klávesy, kterou chceme použít v externí aplikaci, si zajistíme, že se při stisku klávesy zajistí odeslání příslušného kódu do okna, ve kterém běží externí aplikace. Tím kódem mohou být jak příkazy xdotools, kterými je možné ovládat příslušná okna, tak kódy kláves, které jsou přes stdin předány do (v okně bežící) aplikace.
To podstatné, co především účelem mého zkoumání bylo, bylo to, jak zajistit, aby se správné klávesy dostaly do správného okna. Tady je ještě prostor pro další vylepšování a hlavně zobecnění řešení tak, aby ho bylo možné použít různým způsobem (tzn. nejenom v prohlížeči). Zatím je koncipováno tak, že je možné mít v Kodi právě jen jednu takovou aplikaci, v našem případě tedy Chromium. Není ale problém doplnit řešení i pro více aplikací.
Ukázka, jak vypadá upravený soubor s definicemi kódů tlačítek DO, které mohou být využity v externí aplikaci je zde:
Kód:
begin
prog = irexec
button = KEY_EXIT
config = xdotool search --name Chromium getwindowfocus key --window %1 Ctrl+w
end
begin
prog = irexec
button = KEY_CHANNELUP
config = xdotool search --name Chromium getwindowfocus key --window %1 Page_Up
end
begin
prog = irexec
button = KEY_CHANNELDOWN
config = xdotool search --name Chromium getwindowfocus key --window %1 Page_Down
end
begin
prog = irexec
button = KEY_UP
config = xdotool search --name Chromium getwindowfocus key --window %1 Up
end
begin
prog = irexec
button = KEY_DOWN
config = xdotool search --name Chromium getwindowfocus key --window %1 Down
endbegin
prog = irexec
button = KEY_RIGHT
config = xdotool search --name Chromium getwindowfocus key --window %1 Ctrl+Page_Up
end
begin
prog = irexec
button = KEY_LEFT
config = xdotool search --name Chromium getwindowfocus key --window %1 Ctrl+Page_Down
end
Upozorňuji, že je to jen příklad, definitivní přiřazení tlačítek a funkcí bude ještě předmětem dalších úvah, co všechno a jak by vlastně mělo být v prohlížeči ovládané přes DO. Závisí to taky na celkové koncepci použití prohlížeče v Kodi. Já dnes zatím používám (nebo plánuji používat) dva základní režimy:
- Zobrazení jedné pevné stránky - prohlížeč se spustí v nastavení režimu "kiosek". Využívá se například při zobrazení webové stránky filmu/seriálu, volba je ve skinu Estuary Stream-Cinema přidána na stránku s detailem filmu/seriálu a to pouze tehdy, pokud je v daném detailu k dispozici IMDB kód (ttNNNNNNN).
- Zobrazení více stránek, každá na vlastní záložce - je to jakýsi "pevně definovaný přehled denního tisku", kdy si najednou zobrazím stránky vybraných zpravodajských webů. Takovýchto komplexů stránek může být libovolně mnoho a mohou být také libovolně sestaveny. Podle titulu, oboru, tématu, atp.
Asi největší potenciál od tohoto řešení očekáváme ve spojitosti s rozšířenou funkcí RSS čtečky. Ale na to je, jak jsme už napsal, opravdu ještě brzy.
Co je v dané chvíli podstatně jé to, že základní princip je funkční, i když jen v "domácích" podmínkách. Zatím neuvažujeme o nějaké další distribuci. To je také důvod, proč jsem se rozhodl tento popis vytvořit, i když řešení je ještě hodně syrové. Najde se jistě mnoho kutilů, kteří si sami uvedený koncept upraví pro své potřeby. Těm je tento popis určen především.
Budeme rádi, pokud se se svými nápady a poznatky z vlastního laborování také pochlubíte.