Tento rezidentní program nazvaný podle imatrikulačního označení čs.letadel nebo vysílajících amatérů "OK" zavede do vašeho počítače české prostředí. Program je určen pro DOS a pro dosovou konsolu Windows 9x/NT jako náhrada za ovladače DEVICE=DISPLAY.SYS a KEYB.COM. Pokrývá současně tři oblasti dotčené existencí specifických českých znaků, tj.písmen opatřených háčkem nebo čárkou:
Program sestává z jediného spustitelného souboru OK.COM, který nakopírujte na pevný disk do některého adresáře uvedeného v systémové proměnné PATH, například C:\DOS.
Do souboru AUTOEXEC.BAT přidejte řádek s příkazem C:\DOS\OK /I
plus případné další parametry podle osobních preferencí uživatele.
Ostatní systémovou podporu národního prostředí
(příkazy DEVICE=C:\DOS\DISPLAY.SYS, KEYB, NLSFUNC, CHCP) můžete vyřadit.
Tím je program OK připraven k použití. Volitelné vlastnosti českého prostředí si uživatel nastavuje vyvoláním programu OK s různými parametry, jejichž seznam bude uveden níže.
Aby byl program OK účinný, musí být trvale zaveden do paměti s parametrem /I. Pokud je k dispozici místo v horní (upper) paměti, automaticky se instaluje tam, takže jej není třeba zavádět pomocí LOADHIGH. Parametrem /J lze automatickou instalaci do horní paměti zakázat; v tom případě se instaluje do konvenční paměti. Pro odinstalaci je určen tradiční parametr /U. Funkci programu je možné dočasně vyřadit parametrem /V, například před spuštěním aplikace s vlastním řešením české klávesnice. OK přitom zůstává nainstalován, ale je dezaktivován. Parametrem /O, případně /I se funkce češtiny zase obnoví. Pokud byly po instalaci OK zavedeny další rezidentní programy, může se stát, že OK nepůjde odinstalovat, dokud tyto další programy neodinstalujeme. V takovém případě zůstane OK v paměti, ale bude dezaktivován podobně, jako kdybychom místo parametru /U použili /V.
Vlastnosti programu se mění pomocí parametrů napsaných za příkaz OK. Pokud byla čeština OK již dříve nainstalována, stačí zadat ty parametry, které chceme změnit. Ostatní hodnoty se zdědí z nainstalované instance.
Nejdůležitější funkce OK češtiny se dají ovládat i z prostředí jiných programů pomocí speciální kombinace kláves (hot key):
Parametry jsou uvozeny lomítkem, za kterým následuje písmeno nebo číslice
představující požadovanou volbu. Malá a velká písmena se nerozlišují. Ostatní
znaky až do dalšího lomítka jsou považovány za komentář. Místo lomítka lze
použít i znaménko minus. Pokud by byly zadány dvě protikladné volby, platí
vždy později uvedená, jinak na pořadí parametrů nezáleží
(s výjimkou /X).
Například příkaz OK /3 /Instalovat češtinu-Kamenických
je ekvivalentní příkazu ok -k/i-3
Nejběžnější české znaky ěščřžýáíé se na české klávesnici zadávají klávesami horní číselné řady 234567890. Je-li nastaven CapsLock, zadávají se horní číselnou řadou velká písmena ĚŠČŘŽÝÁÍÉ. Písmena s diakritikou lze také zadávat podobně jako na psacím stroji dvěma úhozy: nejprve tzv. mrtvou klávesu diakritického znaménka a pak vlastní znak. V programu OK lze volit mezi dvěma sadami mrtvých kláves:
Uživatel může volit jedno ze tří rozložení kláves české klávesnice. Základní rozložení nazývané Consul je určeno normou a napodobuje klávesnici psacího stroje. Nastavíme jej parametrem /C. Od americké klávesnice se liší v těchto klávesách (vlevo je původní popis kláves, vpravo po zapnutí češtiny) :
+---++---++---++---++---++---++---++---++---++---++---++---++---++---+ |~ ;||! 1||@ 2||# 3||$ 4||% 5||^ 6||& 7||* 8||( 9||) 0||_ %||+ +||| || |` '||1 +||2 ě||3 š||4 č||5 ř||6 ž||7 ý||8 á||9 í||0 é||- =||= =||\ \| +---++---++---++---++---++---++---++---++---++---++---++---++---++---+ +---++---++---++---++---++---++---++---++---++---++---++---+ |Q Q||W W||E E||R R||T T||Y Y||U U||I I||O O||P P||{ /||} (| | || || || || || || || || || ||[ ú||] )| +---++---++---++---++---++---++---++---++---++---++---++---+ +---++---++---++---++---++---++---++---++---++---++---+ |A A||S S||D D||F F||G G||H H||J J||K K||L L||: "||" !| | || || || || || || || || ||; ů||' §| +---++---++---++---++---++---++---++---++---++---++---+ +---++---++---++---++---++---++---++---++---++---+ |Z Z||X X||C C||V V||B B||N N||M M||< ?||> :||? _| | || || || || || || ||, ,||. .||/ -| +---++---++---++---++---++---++---++---++---++---+
Rozložení je nakresleno pro parametry /Y a /F. V případě volby /= zadává klávesa rovnítko/plus háček a čárku a klávesa grave přehlásku. V obou případech můžeme psát středník klávesou pro tildu "~". Dvojím stiskem mrtvé klávesy se vyvolá její původní význam, tedy rovnítko nebo plus. Výjimka: dvojím stiskem přehlásky (grave) se místo původního znaku grave "`" napíše poněkud užitečnější apostrof "'".
Klávesnice Consul je vhodná pro písařky zběhlé v psaní na stroji, které se nepotřebují při psaní dívat na prsty. My ostatní obvykle dáváme přednost rozložení, které lépe koresponduje s původním významem kláves a kterému se říká amatérská klávesnice (parametr /A). Rozložení kláves amatérské klávesnice odpovídá americkému vzoru až na následující klávesy: místo 1234567890 se píše +ěščřžýáíé, případně s CapsLockem +ĚŠČŘŽÝÁÍÉ. S přeřaďovačem Shift tyto klávesy nedávají na rozdíl od Consulu číslice, ale původní znaky !@#$%^&*(). Z klávesnice Consul je dále převzato dlouhé "ú" místo levé hranaté závorky a kroužkované "ů" místo středníku. Středník lze napsat klávesou pro tildu "~".
Ještě více se původní americké klávesnici blíží tzv. programátorské rozložení přepínané parametrem /P . Od amatérské klávesnice se liší klávesou jedna/vykřičník, která se nemění, a vynecháním znaků "ú" a "ů". Dlouhé a kroužkované "u" tedy musíme psát dvěma úhozy, zato však najdeme s výjimkou číslic 2 až 0 všechny znaky včetně hranatých závorek a středníku tam, kde je IBM stvořil.
Uživatel může během psaní plynule přecházet mezi původní americkou klávesnicí a jednou ze tří českých klávesnic pomocí horké klávesy a/nebo pomocí přepínače ScrollLock či NumLock. Výměna za jiný typ české klávesnice je možná jen z příkazové řádky zadáním příkazu OK s jedním z parametrů /C, /P nebo /A.
Mrtvá klávesa přehlásky zapíná americkou klávesnici na jeden příští znak. To je užitečné při rozložení Consul, např. "$" lze napsat jako "`" a pak Shift-4.
Kódové tabulky obsahují kromě českých písmen i řadu znaků cizích abeced, které se mohou vyskytnout ve vlastních jménech, odborném textu apod. Několik takových znaků je možné zadávat i z české klávesnice programu OK pomocí mrtvých kláves. Například německé ostré 's' alias 'beta' zadáme jako přehlasované 's'. Většina speciálních znaků je dostupná jen v jednom druhu kódování, např. řecká abeceda je pouze v češtině Kamenických.
Úplný přehled speciálních znaků:
po čárce aA,eE,iI,lL,oO,rR,uU,yY: dlouhé aA,eE,iI,lL,rR,uU,yYjen pro kódování Kamenických:
po přehlásce C: velké řecké gammajen pro kódování Latin2:
po čárce cC,nN,sS,zZ: cC,nN,sS,zZ s čárkouParametrem /S objednáme signalizaci přepnutí na českou klávesnici pomocí svítivky ScrollLock. Stejnojmennou klávesou pak lze také obě rozložení přepínat souběžně s horkými klávesami. Několik málo programů funkci ScrollLock využívá k jiným účelům; pak je vhodnější obdobně využít NumLock (parametr /N), případně se obejít bez optické signalizace (parametr /B). Volby /S a /N nejsou vhodné pro počítače typu XT, které nemohou programově ovládat příslušné indikátory.
Horké klávesy pro přepínání CZ/US rozložení je možné v programu OK volit z deseti možností vybíraných číselnými parametry /0 až /9:
americká česká /0 žádná horká klávesa /1 Shift-Alt-F1 Shift-Alt-F2 /2 Ctrl-Alt-F1 Ctrl-Alt-F2 /3 Ctrl-Shift-F1 Ctrl-Shift-F2 /4 LevýShift-Alt PravýShift-Alt /5 LevýShift-Ctrl PravýShift-Ctrl /6 LevýShift-PravýShift LevýShift-PravýShift /7 LevýShift-Alt LevýShift-Alt /8 LevýShift-Ctrl LevýShift-Ctrl /9 PravýShift-Alt PravýShift-Alt
Volba /0 přenechává přepínání pouze na klávesy ScrollLock nebo NumLock; proto je třeba současně použít parametr /S nebo /N, jinak bychom byli v přepínání klávesnice odkázáni na příkazovou řádku DOSu. Kombinace podle /6 až /9 jsou bistabilní: jedním stiskem češtinu zapínají, druhým vypínají. Při výběru horkých kláves je třeba kromě osobních zvyklostí brát ohled i na používané programové vybavení. Pohodlná kombinace /4 například v některých programech (MS EDIT) může vyvolávat nežádoucí aktivaci menu, jiné kombinace zase mohou kolidovat s horkými klávesami využívanými jinými rezidentními programy apod.
Zapnutí české klávesnice umí program OK signalizovat i akusticky pomocí pípání kláves. Mrtvá klávesa pípá vysokým tónem, ostatní klávesy pak o oktávu níž. Zvuk lze vypnout parametrem /T - tichý mód, nebo zapnout pomocí /H - hlasitý mód, případně také horkou klávesou Ctrl-LevýShift-F11.
Čeština OK.COM a OK3.COM podporuje dva nejrozšířenější způsoby kódování: Kamenických a Latin2. Odpovídající parametry jsou /K a /L. Dočasně lze kód změnit také horkou klávesou Ctrl-PravýShift-F11;tato změna ale ovlivní pouze monitor (ne klávesnici) a vydrží jen do první změny videomódu nebo do spuštění OK.
Pro použití jiného než OEM kódu jsou určeny mutace OKW.COM, kde parametr /K volí kódování Windows CP1250, a varianta OKI.COM, kde parametr /L nastavuje kódování dle ISO-8859-2.
Při instalaci, ale i při každém dalším spuštění program OK také upravuje interní tabulky národní podpory (NLS), které systém ukládá do paměti při svém zavádění a které slouží ke třem účelům:
Po instalaci OK češtiny proto můžeme například i v názvech souborů používat písmena s diakritikou, přičemž nezáleží na tom, jestli je píšeme malými či velkými písmeny. Úpravu tabulek NLS lze zakázat parametrem /Q při instalaci a později povolit parametrem /R.
Pokud program OK zjistí, že je v počítači instalován videoadaptér EGA nebo VGA, zavede do jeho paměti potřebný znakový font, tj.předpis, jak má vypadat každý z 256 existujících ASCII znaků. Je-li OK rezidentně instalován, obnovuje zavedení svého fontu vždy, když zjistí změnu zobrazovacího režimu nebo zavedení cizího fontu voláním služby BIOS. Parametrem /# lze omezit obnovování fontu pouze na změnu videorežimu, což je nutné při používání programů měnících fonty dynamicky (např. PCtools). Zavádění fontů do videoadaptéru lze také zcela zakázat při instalaci parametrem /X. Uvedení kombinace /I/X nebo /J/X zabrání instalaci té rezidentní části, která se stará o zobrazování. Množství paměti zabrané programem OK se pak zmenší. Pokud není detekován adaptér EGA ani VGA, zavádění fontů se vypíná automaticky (např. na počítačích s kartou Hercules nebo CGA).
České znaky se do videoadaptéru nahrávají při každém spuštění OK z příkazové řádky, aby se korektně zobrazila informace o stavu programu, a to i tehdy, byla-li jejich trvalá instalace zakázána parametrem /X. V tomto případě ovšem toto "osvěžení" monitoru vydrží jen do první změny videomódu.
OK umí přepnout videoadaptér do některého z vyšších zobrazovacích módů, kdy se pak na displeji zobrazuje více znaků. K tomu slouží parametr /M, za kterým musí bezprostředně následovat dvě hexadecimální číslice označující číslo módu. Pokud vaše videokarta požadovaný mód nepodporuje, ponechá se původní nastavení karty. Pokud by zvolený režim nebyl textový, OK čeština se neuplatní. Čísla videomódů, zejména těch vyšších, nejsou bohužel standardizována a u různých výrobců VGA se liší, takže je bude třeba zjistit z technické dokumentace dodávané k videoadaptéru, případně vyzkoušet za pomoci následující tabulky:
sloupce 40 80 80 80 80 80 80 100 100 100 100 120 132 132 132 132 132 132 132 řádky 25 25 28 30 43 50 60 30 40 50 60 25 25 28 30 34 43 50 60 ------------------------------------------------------------------------------- Adv.Logic 01 03 24 25 26 20 21 22 23 Ahead B 01 03 42 43 34 50 24 52 Ahead EGA 01 03 23 22 All.Peacock01 03 26 2A 24 23 22 AST VGA+ 01 03 55 54 ATI 01 03 58 23 33 AT&T VDC60 01 03 55 54 Cirrus5320 01 03 23 24 19 1D 61 Cirrus5420 01 03 14 54 Cirr510/20 01 03 53 40 41 42 50 51 52 Compaq 01 03 2A 23 24 18 27 28 Diamond24X 01 03 41 67 66 55 47 21 69 EGA 01 03 Genoa EGA 01 03 44 45 72 76 6B 78 7A 46 47 48 49 64 HP D1180A 01 03 55 61 62 54 Chips&Tech 01 03 60 61 Intel 810 01 03 20 21 22 23 Lava Chrome01 03 51 50 52 54 53 Morse VGA 01 03 53 40 41 42 50 51 52 NCR 77C22 01 03 55 56 54 NEL Elec. 01 03 51 58 5A 5C 5D 55 54 NSI EGA+ 01 03 57 56 Oak 067/77 01 03 4E 50 51 4F Orchid VGA 01 03 26 2A 24 23 22 Paradise 01 03 51 55 54 Quadram VGA01 03 72 76 78 7A 60 61 62 63 Realtek 01 03 19 1A 1B 1C 1D 1E 1E s3 01 03 55 54 Tatung VGA 01 03 40 43 44 41 45 42 Taxan 565 01 03 55 54 Tecmar 01 03 40 17 Trident 01 03 50 51 52 57 58 55 5A Tseng 01 03 17 26 2A 23 24 22 21 UM587 01 03 50 51 VEGA VGA 01 03 50 43 44 4D 4F 42 Video7 01 03 40 43 44 41 45 42 WD90C 01 03 41 67 66 55 47 21 69 ------------------------------------------------------------------------------- sloupce 40 80 80 80 80 80 80 100 100 100 100 120 132 132 132 132 132 132 132 řádky 25 25 28 30 43 50 60 30 40 50 60 25 25 28 30 34 43 50 60
Videorežim lze měnit také příkazem MODE, je-li současně nainstalován ovladač ANSI.SYS, například "MODE 80 43" přeprogramuje videoadaptér tak, aby zobrazoval 43 řádky. Číslo videomódu přitom obvykle zůstává nezměněno (03).
Při každém spuštění programu OK se vypisuje jeho stav, tj.aktuální nastavení
parametrů, zda je instalován atd. Pokud bychom zadali některý nedefinovaný
parametr, jako např. /?, zobrazí se stručný přehled
přípustných parametrů.
Podrobnější dokumentace, kterou právě čtete, se vypíše na povel
/D. Je vhodné ji přesměrovat do diskového souboru voláním
OK /D > OK.DOC
a pak tento soubor oblíbeným textovým editorem
vytisknout (a přečíst).
Mimo slovního popisu aktuálních parametrů umí OK zobrazit svůj stav také
pomocí vzoru povelové řádky, která by program OK přivedla do aktuálního stavu.
Tato funkce se vyvolá parametrem /W. Veškeré výstupní projevy
se po použití parametru /W omezí na vypsání příkazu OK
následovaného seznamem aktuálních parametrů. Tato funkce je užitečná
v dávkových souborech pro spouštění aplikací, které mohou vyžadovat jinou
konfiguraci národního prostředí, než má uživatel právě nastavenu.
Máme-li poznamenán stav jeho češtiny před spuštěním aplikace, můžeme mu po
jejím ukončení snadno navrátit jeho preferované volby.
Příklad: uživatel normálně pracuje v kódování Kamenických, ale naše aplikace
používá Latin2. Navíc chceme, aby byla zapnuta volba /S,
která umožňuje naší aplikaci zapínat českou klávesnici kdykoli očekává
textový vstup a vypínat ji při očekávání číselného vstupu (to se dělá
řízením bitu 4 na adrese 40h:17h, neboli programovým nastavováním ScrollLock).
Vytvoříme proto ke spouštění naší aplikace takový dávkový soubor:
OK /W > OKorigin.BAT ; současná konfigurace češtiny se poznačí OK /I /L /S /G ; a pozmění podle potřeb aplikace APLIKACE ; aplikace se spustí v definovaném prostředí CALL OKorigin.BAT ; a po jejím ukončení se obnoví pův.konfigurace DEL OKorigin.BAT ; pomocný dávkový soubor již není potřebnýSoubor OKorigin.BAT mohl obsahovat například tento řádek : OK /I /# /O /K /R /C /Z /= /E /H /B /4
Příklad dávkového souboru, který spouští aplikaci s vlastním řešením české klávesnice:
@ECHO OFF C: CD \T602\TEXTY OK /Vyřadit > NUL T602 %1*.TXT OK /Obnovit > NUL
OK využívá dynamické nahrávání fontů, což spolu s pečlivou ruční optimalizací umožnilo radikální snížení spotřeby paměti zabrané programem. Integrace tří základních funkcí včetně všech fontů a dokumentace do jediného COM programu by měla přispět k bezproblémovému šíření a používání tohoto programu.
Zvolená koncepce má několik nevýhod:
Při volbě amatérské nebo programátorské klávesnice bude jako implicitní volba místo QWERTZ nastaveno QWERTY.
Parametry /X a /Q má smysl zadávat jen při první instalaci do paměti, tedy současně s parametrem /I nebo /J.
Vzájemně se přepínají tyto kombinace parametrů:
/A /C /P /B /N /S /D /W /E /G /F /+ /H /T Ctrl-LevýShift-F11 /I /J /U /K /L Ctrl-PravýShift-F11 /O /V /Q /R /Y /Z /# /$ Ctrl-PravýShift-F12 /0/1/2/3/4/5/6/7/8/9