Vleklá letní vedra, potažmo moje neschopnost dělat v nich něco pořádného, způsobila, že mám svůj emulátor již téměř zcela přepsán do JavaScriptu. Ten jsem si celkem oblíbil: má sice své quirks (česky bychom asi řekli neuralgické body
), nicméně nenutí autora aplikací podřizovat se téměř nábožensky pojatému prostředí a dává mu volnost koncipovat software podle svých představ, se zachováním rozumné rovnováhy mezi systematickým a praktickým.
Řeším tedy, předtím než emulátor otestuji a poté vypustím mezi uživatele (a na GitHub), poslední koncepční otázky. Jednou z nich je, jak pojmout klávesové zkratky. Počítače z 80. let neměly klávesnici podobnou té dnešní, jež je co do označení a funkce kláves dědicem legendární klávesnice IBM PC, a je tedy nutné zařídit co nejlepší namapování. Bez něj zbývá, minimálně na nedotykových displejích, ovládání klávesnice myší, což se omrzí nejpozději po dvou minutách; prakticky ověřeno.
V zásadě existují dvě možnost, jak to provést: mapovat znaky nebo stisky. První možnost se prima facie nejeví příliš vhodnou, protože bychom se vzdálili od originálu a nemohli emulovat různé dvoj-, troj- a vícehmaty, arci i druhá má své nedostatky. Tím hlavním jsou shiftované znaky: příkladmo PMD 85 má uvozovky na shiftované dvojce, kdežto moderní české klávesnice je mají na shiftovaném ů
, a neexistuje způsob, jak takové mapování v emulátoru zařídit.
V javové versi jsem vyšel z toho, že každou klávesu na PC budu mapovat na množinu znaků na cílové klávesnici, čímž dosáhnu aspoň částečného řešení: neumím sice mapovat shiftované klávesy, ale shiftovaná může být cílová klávesa. Příliš to nefungovalo, protože na PMD 85 byl problém se současným stiskem shiftu a klávesy, a hlavně bylo nastavování zkratek naprosto nepřehledné, jak je patrno z obrázku.
V JavaScriptu jsem proto řekl Ne! a model jsem ještě zjednodušil: jednu klávesu na PC lze nyní namapovat na jedinou klávesu na emulovaném stroji. To mi dovoluje zachytit nastavení na jediném obrázku, byť s určitými omezeními. A také je ještě na hranici přehlednosti modál, kterým se výběr provádí.
Obojí si můžete podrobně prohlédnout na obrázcích, a zakrátko i na živém emulátoru.
Číst dále...