XBMC-Kodi.cz
Mapování tlačítek DO - tipy a triky - Verze k tisku

+- XBMC-Kodi.cz (https://www.xbmc-kodi.cz)
+-- Fórum: Obecná diskuse (https://www.xbmc-kodi.cz/forum-obecna-diskuse)
+--- Fórum: Tipy, triky a návody (https://www.xbmc-kodi.cz/forum-tipy-triky-a-navody)
+--- Téma: Mapování tlačítek DO - tipy a triky (/prispevek-mapovani-tlacitek-do-tipy-a-triky)

Stran: 1 2 3 4 5 6


RE: Mapování tlačítek DO - tipy a triky - streamex - 20.4.2022

@JiRo: diky, uz som nasiel Open TV Guide, ale otvara mi to zoznam kanalov, nie TV program


RE: Mapování tlačítek DO - tipy a triky - JiRo - 20.4.2022

@streamex Tak to jsi někde udělal nějakou chybu, protože Open TV Guide skutečně otevře stránku s EPG TV kanálů. Zkontroluj si soubor mapování, který addon Keymap Editor vytváří. Pokud nevíš, tak ho najdeš takto .../userdata/keymaps/gen.xml.


RE: Mapování tlačítek DO - tipy a triky - meda - 20.4.2022

@streamex: Někde ale musíš vzit obsah EPG. Nějak nemohu dohledat, co vlastně zobrazuješ ...asi jsem zabloudil v příspěvcích.


RE: Mapování tlačítek DO - tipy a triky - jkmh - 20.4.2022

@streamex: JiRo radí dobře. Soubor musí vypadat takto včetně odsazení. Zároveň musí být EPG v addonu k dispozici. Funkce je v tomto případě namapována na modré tlačítko:

<keymap>
    <global>
        <keyboard>
            
            <key id="254">ActivateWindow(TVGuide)</key>#Blue
            
        </keyboard>
    </global>
<keymap>

Odstranil jsem řádky, které se tvého dotazu netýkají a je to funkční na addon SledováníTV.


RE: Mapování tlačítek DO - tipy a triky - JiRo - 20.4.2022

@jkmh Jen poznámka... Soubor je formátu xml, žádné odsazení tedy dodržovat není třeba. I když je to samozřejmě doporučované, ale ne kvůli funkčnosti, ale kvůli přehlednosti.


RE: Mapování tlačítek DO - tipy a triky - jkmh - 20.4.2022

@JiRo: Díky. To jsem nevěděl. Odsazení jsem bral dosud jako povinnost.  6


RE: Mapování tlačítek DO - tipy a triky - JiRo - 20.4.2022

@jkmh Záleží samozřejmě na jazyku/normě. V pythonu je to například hodně důležité, v xml a nebo třeba v json vůbec. Ostatně například i zde zmiňovaný addon Keymap Editor, to co si člověk v něm nastaví, tak vysype do souboru celé v jedné řádce. Naštěstí jsou editory, které to umí přeformátovat do čitelnější podoby (např. Notepad++).

@meda O to tady ale vůbec nejde. I kdyby bylo EPG prázdné, tak pokud bude instalován a aktivní alespoň jeden PVR doplněk, tak by se po zadání příkazu ActivateWindow(TVGuide) příslušné okno s pozadím (i když bez bez dat) zobrazit mělo.

Podle mne se @streamex prostě jen uklikl, v seznamu actions Keymap Editor-u je seznam kanálů hned nad EPG.


RE: Mapování tlačítek DO - tipy a triky - streamex - 20.4.2022

@JiRo: @jkmh
nepreklikol som sa, isiel som cez keymap editor - fullscreen live tv - windows - open tv guide
Opakoval som to triktat, ale vzdy bol vysledok taky, ze to tlacidlo, ktore som nastavil (cervene) otvorilo zoznam kanalov.
gen.xml:
Citace:<keymap><fullscreenlivetv><keyboard><key id="61572">up</key><key id="61573">down</key><key id="61668">activatewindow(pvrguideinfo)</key><key id="61668">activatewindow(tvguide)</key></keyboard></fullscreenlivetv></keymap>



RE: Mapování tlačítek DO - tipy a triky - jkmh - 20.4.2022

@streamex: Jestli vidím dobře, tak máš stejné ID (61668) pro dvě funkce v rámci jednoho bloku (fullscreenlivetv). To máš schválně?


RE: Mapování tlačítek DO - tipy a triky - streamex - 20.4.2022

@jkmh: ano


RE: Mapování tlačítek DO - tipy a triky - JiRo - 20.4.2022

@streamex A nemáš tam ještě nějaké další soubory s mapováním, které ti tohle mapování, cos tu ukázal, přepíšou?


RE: Mapování tlačítek DO - tipy a triky - streamex - 20.4.2022

@JiRo
ano, ale ten je gen.old takze neaktivny.


RE: Mapování tlačítek DO - tipy a triky - JiRo - 20.4.2022

@streamex Různé funkce pro jednu klávesu nevadí. Kodi mapuje jedno po druhém, takže druhé mapování přepíše to první. To platí i v případě, jsou-li různé funkce mapované na stejnou klávesu ve dvou nebo více mapovacích souborech.

Co však nechápu, proč tam to dvojí mapování máš a ještě píšeš, že to máš tak schválně. Předpokládal jsem, že je to nějaký omyl, který ale nevadí, protože je to mapování vzápětí překryto tím activatewindow(tvguide).

Jinak si ale dej pozor, použití funkce activatewindow(pvrguideinfo) v okně fullscreenlivetv nedává smysl. Okno pvrguideinfo se může použít pouze v okně tvguide nebo radioguide. Řekl bych, že pokud se použije v jiném okně, tak to způsobí v Kodi problémy.


RE: Mapování tlačítek DO - tipy a triky - streamex - 20.4.2022

@JiRo
nieco som testoval a preto som si dal posuvanie kanalov aj sipkami (hore, dole) a aj prog. tlacidlami (+ -)
pvrguide info nepouzivam, skusal som to iba dnes ked mi nefungovalo open tvguide.
Takze neviete kde je problem ohladom tvguide?


RE: Mapování tlačítek DO - tipy a triky - JiRo - 21.4.2022

@streamex Nenapsal jsi, jaké máš vlastně DO! Není náhodou mapované jak typ remote? To by pak znamenalo, že ho jako keyboard nepřemapuješ! Když jsi zkoušel ta ostatní "barevná tlačítka", tak tam ty ostatní příkazy fungovaly? Mám takový dojem, že default Kodi mapování pro DO typu remote má na červené tlačítko namapované právě tvchannels, takže to by tomu chování odpovídalo. Nemohu si to ověřit, nejsem teď u žádného funkčního Kodi. Tak v tom tvém mapování změň tagy <keyboard></keyboard> na <remote></remote>. Nezapomeň restarovat Kodi nebo dát reloadkeymaps.
EDIT Konečně jsme si to doma mohl vyzkoušet a zdá se, ž ejsm ese do tho nějak zamotal. Mně to přemapování DO jako keyboard funguje, i když je pravda, že s tím mám také nějaké problémy. Budu muset ještě zapátrat, takže jsem raději to doporučení přeškrtl.


RE: Mapování tlačítek DO - tipy a triky - meda - 21.4.2022

(20.4.2022, 22:17)JiRo Napsal(a): @streamex Různé funkce pro jednu klávesu nevadí. Kodi mapuje jedno po druhém, takže druhé mapování přepíše to první. ...

Řekl bych, že to není přesné. Já mám zelené tlačítko (D.O. TV CEC) použito v přehrávání full video namapované pro hledání titulků a zároveň na domovské stránce namapované na restart Kodi (jen Kodi, ne systému).
Fungují obě mapování, pokud je odlišení ve volbě pro rozsah působení.
(Chybí mi terminologie!)

Edit: Ještě k tomu, jak Kodi řeší víc stejných ID. Nemám čas testovat, ale řekl bych, že při akci tlačitka/klávesy prochází soubor a pokud vyhovuje podmínka pro okamžitý stav, tedy např <fullscreenlivetv>, hledá shodu ID a první nalezenou provede. Takže logicky každá další se neuplatní. ...Leč ...nenapadlo mne zkoušet, zda mám pravdu.


RE: Mapování tlačítek DO - tipy a triky - JiRo - 21.4.2022

@meda Ale to do sebe motáš dvě nesouvisející věci. Tlačítko se mapuje vždy pro konkrétní okno (a nebo global) a konkrétní typ (keyboard, remote, gamepad, ...). Takže mapování stejného tlačítka pro různá okna a/nebo různé typy je naprosto normální situace, a ta mapování spolu nijak nesouvisí a ani se nijak neovlivňují.

Ten příklad, co jsem komentoval, bylo vícenásobné mapování jednoho tlačítka v jednom souboru, pro jedno okno a jeden typ. V takovém případě platí, že později definované mapování přepíše to předchozí. A to platí jak v rámci jednoho mapovacího souboru (kde to "později" znamená pořadí jednotlivých mapování v souboru, který Kodi zpracovává sekvenčně), tedy tak, jak to ve své ukázce výše provedl @streamex, tak ve více souborech.

V případě více souborů je Kodi načítá postupně, podle toho, jak mu seznam souborů z daného adresáře vrátí systém. Proto se ostatně doporučuje, pokud má uživatel v .../userdata/keymaps více mapovacích souborů, dávat jménům souborů číselný prefix, aby bylo jejich řazení vždycky jednoznačné. Mohou v tom totiž, pro některé jazykové mutace OS být drobné rozdíly (viz např. písmeno ch), což v případě, začíná-li jméno souboru číslem, nehrozí. Tahle metoda pojmenovávání souborů, kde chceme vždy zachovat jejich pořadí za všech okolností, se ostatně používá celkem často.

Ta hierarchie (řazení) mapování je celkem jendoduchá. Kodi po spuštění (nebo po provedení příkazu reloadkeymaps) postupuje takto:
  1. Postupně (podle pořadí) načítá soubory *.xml z adresáře (a jeho podadresářů, kde je to ale, myslím si, ale řešené podle systému) .../kodi/system/keymaps a mapuje tlačítka podle předpisů v nich umístěných pro global/okna a typy
  2. Postupně (podle pořadí) načítá soubory *.xml z adresáře .../userdata/keymaps a mapuje tlačítka podle předpisů v nich umístěných pro global/okna a typy
Tady je třeba zmínit jeden z mýtů, tedy to, že Kodi má ty default klávesové zkratky zadrátované někde v kódu. Nemá! Jsou mapovány úplně stejným mechanismem jako ty, které si mapuje uživatel například pomocí addon Keymap Editor, jen je definice je uložena v *.xml souborech v adresáři tak, jak popisuji ad 1. Což mimo jiné znamená, že se tam dostávají při instalaci Kodi a také to, že se mohou verze od verze a také, systém od systému, i odlišovat (viz např. OSMC a některé další).

Dá se to napsat i tak, že Kodi bez jednoho (ad. 1) či druhého (ad. 2) mapování vlastně nerozumí žádnému stisku tlačítka. Vždy reaguje pouze na příkazy, viz List of built-in functions nebo akce, viz Action IDs, které skrze ona mapování dostává. Existují tam teď už jen dvě výjimky. Těmi je přepínání kanálů v Live TV pomocí stisku číselné klávesy a stisk klávesy 0, přepínající mezi dvěma naposledy navolenými kanály. V dřívější verzi k těmto výjimkám patřila jestě kombinace ctrl-shift-o, které Kodi rozumělo i bez mapování, ale to se změnilo někdy ve verzi 16 (nevím přesně).

Tedy ono je to místy ještě krapet složitější, v mapování existuje celá řada specifických postupů (defince a použití metakódů místo id tlačítek) a některá omezení (při přemapovávání longpress), ale tím tu teď už nebudu zatěžovat. O tom třeba až někdy příště.

@meda Ne, tak to skutečně Kodi nedělá! Načte si mapovací soubory, případné duplicity v nich vyřeší tím, že akceptuje vždy tu poslední definici, a pak už dál posílá příkazy nebo akce podle dekódovací tabulky, kterou si z načtených definic mapování vytvořil. Klíčem podle kterého v ní hledá je okno, typ a tlačítko. Pokud pro dané okno nic nenajde, zkusí ještě definici v global. U tlačítka a vybraných typů (keyboard) samozřejmě ještě zohledňuje dlouhý stisk o ctrl, shift ani nemluvě. 6


RE: Mapování tlačítek DO - tipy a triky - meda - 21.4.2022

(21.4.2022, 8:41)JiRo Napsal(a):
@meda Ne, tak to skutečně Kodi nedělá! Načte si mapovací soubory, případné duplicity v nich vyřeší tím, že akceptuje vždy tu poslední definici, a pak už dál posílá příkazy nebo akce podle dekódovací tabulky, kterou si z načtených definic mapování vytvořil.


Díky za poučení - představoval jsem si to jinak.


RE: Mapování tlačítek DO - tipy a triky - streamex - 21.4.2022

(21.4.2022, 0:31)JiRo Napsal(a): @streamex Nenapsal jsi, jaké máš vlastně DO! Není náhodou mapované jak typ remote? To by pak znamenalo, že ho jako keyboard nepřemapuješ! Když jsi zkoušel ta ostatní "barevná tlačítka", tak tam ty ostatní příkazy fungovaly? Mám takový dojem, že default Kodi mapování pro DO typu remote má na červené tlačítko namapované právě tvchannels, takže to by tomu chování odpovídalo. Nemohu si to ověřit, nejsem teď u žádného funkčního Kodi. Tak v tom tvém mapování změň tagy <keyboard></keyboard> na <remote></remote>. Nezapomeň restarovat Kodi nebo dát reloadkeymaps.

Su to original ovladace Philips a Sony ktore boli dodane k tym TV, takze ked sa k tomu dostane skusim prepisat podla tvojej rady keyboard na remote a uvidim co to spravi.


RE: Mapování tlačítek DO - tipy a triky - JiRo - 23.4.2022

@streamex Píšeš original ovladace Philips a Sony, tak to asi budeš ovládat Kodi před HDMI-CEC? Doufám, že je to tak. Hmm, tak to bude možná potřeba udělat ještě trochu jinak... 11 Moje původní doporučení zde jsem editoval, prosté přepsání typu na remote fungovat nebude, to jsme se seknul a omlouvám se za to (nikdo není dokonalý). NAvíc, mapování je prostě trochu "loterie", zvláště, když se u toho používá Keymap Editor a DO typu remote se mapuje jako keyboard.

Tak jsem si s tím po sobotní snídani chvíli pohrál. Přiznám se, že s tím moc zkušeností nemám. Myslím s mapováním DO které Kodi nativně zpracovává jako remote, ale mapování se provádí jako keyboard. Já se zásadně držím pravidel a pokud je DO typu remote, tak ho i jako remote mapuji a hlavně, používám u toho metakódy. Tzn. že němapuji přes id, ale přes kódy tlačítek. Jansně, nejde to vždy, zejména pokud se používají nějaké exotické DO. Já prostě takové DO nepoužívám. Znamená to, že pokud bych mapoval červené tlačítko na DO komunikující přes IR nebo HDMI-CEC tak, jak chceš ty, vypadalo by to vždy nějak takto:
 
Kód:
<keymap>
    <fullscreenlivetv>
        <remote>
            <red>activatewindow(tvguide)</red>
        </remote>
    </fullscreenlivetv>
</keymap>

Každopádně jsem ale i přesto vyzkoušel mapování remote jako keyboard u mého Samsung DO komunikující s Kodi (CoreELEC 19.4) přes HDMI-CEC. Jako id jsem použil to, které mě vrací Keymap Editor, tedy 251. A mapování funguje. Pravda, asi 2x jsme s tím měl problémy, ale je otázka, zda jsme se při těch editacích mapovacích souborů, spouštění keymapreloads nebo restartování Kodi někde nespletl. Nicméně konečné resumé je, že pokud přemapuji červené tlačítko v sekci global a keyboard, tak mně funguje. Trochu mě zaráží to id 61668, které pro červené tlačítko používáš.  Většinou se barevné tlačítka identifikují id 251, 2, 3 a 4. Ale pokud ti to takto vrátil Keymap Editor, tak asi jinou možnost nemáš.

Ještě bych vyzkoušel jednu možnost. Ponechat to tvé původní mapování a přidat do mapovacího souboru sekvenci: 
 
Kód:
    <global>
        <remote>
            <red></red>
        </remote>
    <global>

Ta by měla to default mapování červeného tlačítka, na základě kterého se ti zobrazuje seznam kanálů, zrušit.