• Vítejte na XBMC-Kodi.cz
  • Česko-slovenská komunita fanoušků XBMC/Kodi
Vítejte návštevníku! Přihlášení Registrace


Hodnocení tématu:
  • 1 Hlas(ů) - 5 Průměr
  • 1
  • 2
  • 3
  • 4
  • 5
Mapování tlačítek DO - tipy a triky
#97
@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
 
Citovat
  


Příspěvků v tématu
RE: Mapování tlačítek DO - tipy a triky - od JiRo - 21.4.2022, 8:41

Přejít na fórum:


Prochází: 3 host(ů)