4. Nastavenia X Window Systemu

Čokoľvek sa chyst�te robiť s X Window Systemom a slovenčinou dokopy, sľubujem, že v�m to nebude fungovať, ak nenastav�te totok taktok:
LC_CTYPE=sk
    

Čo to znamen� a ako sa to nastavuje, tak o tom pojedn�va kapitola Miestne nastavenia.

4.1. Slovensk� fonty v X Window Systeme

Predpoklad�m, že X Window System m�te nainštalovan�, pr�padne aj X Font Server, vačšinu d�ležit�ch vec� sme si povedali v časti o konzole, poďme si rovno nainštalovať slovensk� fonty.

4.1.1. Inštal�cia fontov - X server

Slovensk� fonty pre X n�jdeme v bal�ku XFree86-ISO8859-2, veľa ďalšï¿½ch je v bal�koch XFree-ISO8859-2-<druh>-fonts, kde <druh> m�že byť Type1, 100dpi alebo 75dpi. Ak chcete použï¿½vať slovenčinu seri�zne (Gimp, Netscape, lokaliz�cia), nainštalujte si všetky, ak potrebujete slovensk� font len napr. v XTerme, postač� v�m z�kladn� bal�k.

Po rozbalen� arch�vu sa fonty nach�dzaj� na niekoľk�ch miestach. Všetky cesty k nov�m fontom si treba odpisať, zapam�tať, mať na očiach:

/usr/share/fonts/ISO8859-2/misc
/usr/share/fonts/ISO8859-2/75dpi
/usr/share/fonts/ISO8859-2/100dpi
/usr/share/fonts/ISO8859-2/Type1

Tieto cesty totiž budeme vkladať do konfiguračn�ho s�boru X Window Systemu (/etc/X11/XF86Config, pr�padne /etc/X11/XF86Config-4). T�m spr�stupn�me X serveru fonty z t�chto adres�rov. Sekciu "Files" uprav�me vložen�m riadkov FontPath:
Section "Files"
    ...  
    FontPath   "/usr/share/fonts/ISO8859-2/misc"
    FontPath   "/usr/share/fonts/ISO8859-2/75dpi"
    FontPath   "/usr/share/fonts/ISO8859-2/100dpi"
    FontPath   "/usr/share/fonts/ISO8859-2/Type1"
EndSection
	

Spr�vne poradie riadkov s cestami k fontom n�jdete v XWindow-User-HOWTO, ale nemali by ste mať veľk� probl�my ani keď slovensk� fonty vložï¿½te na koniec zoznamu.

Za behu X Window Systemu prid�te nov� adres�re s fontami pr�kazom
sh$ xset +fp /usr/share/fonts/ISO8859-2/misc, /usr/share/fonts/ISO8859-2/75dpi, …
	

4.1.2. Inštal�cia fontov - X Font Server

X Font Server pon�ka druh� sp�sob spravovania fontov pre X Window Server, a to ako pre lok�lnu mašinu, tak aj pre vzdialen� syst�my. Modern� distrib�cie už po inštal�cii pon�kaj� nakonfigurovan� X Font Server a X Window System, ktor� využï¿½va jeho služby.

Pri tomto sp�sobe treba cesty k fontom vložiť do konfiguračn�ho s�boru X Font Serveru a konfigur�cia v /etc/X11/X86Config (XF86Config-4) by mala vyzerať takto:
Section "Files"
    FontPath "unix/:7100"
EndSection
	
za predpokladu, že X Font Server bežï¿½ na porte 7100 (voľba pr�kazov�ho riadku -port).

Ak teda použï¿½vate xfs, niečo podobn� ako v predch�dzaj�cej kapitole urob�te s konfiguračn�m s�borom pre tento program (/etc/X11/fs/config) v časti catalogue:
catalogue = ...,
        /usr/share/fonts/ISO8859-2/misc,
        /usr/share/fonts/ISO8859-2/75dpi,
        /usr/share/fonts/ISO8859-2/100dpi,
        /usr/share/fonts/ISO8859-2/Type1
	

Hneď potom mus� xfs znovu nač�tať konfiguračn� s�bor a t�m umožn�te použï¿½vanie slovensk�ch fontov lok�lnemu aj in�m X serverom:
sh# killall -USR1 xfs
	

4.1.3. Slovensk� TrueType fonty

Ak vlastn�te leg�lnu k�piu syst�mu WindowsXX (kde XX je hocičo), alebo MacOS, nemali by v�s zavrieť, ak použijete TrueType fonty obsiahnut� v ich distrib�ci�ch. Existuje aj mnoho bal�kov s TrueType fontmi s podporou normy ISO-8859-2, ktor� s� voľne dostupn�.

Popis inštal�cie tak�chto fontov prebehneme len v kr�tkosti, podrobnejšï¿½ n�jdete v dokument�cii k bal�ku free-type:

  1. Skop�rujte s�bory s TrueType fontami napr. do adres�ra /usr/share/fonts/ttf/win/. Odpor�čam zmeniť men� s�borov s fontami aj ich pr�pony na mal� p�smen� -- mal som s t�m probl�my.

  2. Vytvorte v každom adres�ri s�bor s inform�ciami o scalable fontoch fonts.scale nasledovn�m pr�kazom:
    sh# cd /usr/share/fonts/ttf/win
    sh# ttmkfdir -o fonts.scale
    	    

    Ak to nie je celkom ono a dostanete veľa chybov�ch hl�sen�, alebo s�bor fonts.scale obsahuje pr�liš m�lo z�znamov o fontoch v adres�ri, sk�ste použiť s pr�kazom ttmkfdir aj voľbu pr�kazoveho riadku -c.

  3. Zoznam fontov v s�bore, ktor� nač�tava X server aj xfs, vytvor�te nasledovne:
    sh# cd /usr/share/fonts/ttf/win
    sh# mkfontdir
    	    

Od tohto momentu pokračujte štandardn�m sp�sobom tak, ako je to pop�san� v predch�dzaj�cej časti o konfigur�cii X servera alebo xfs.

4.1.4. Čo je in� so slovensk�mi fontami

Okrem toho, že sa slovensk� znaky zobrazuj� spr�vne, nič. Fonty z bal�kov pre normu ISO-8859-2 sa s�ce volaj� inak, ale vzhľadom zodpovedaj� štandardn�m fontom. V nasleduj�cej tabuľke s� uveden� zodpovedaj�ce dvojice fontov:

Tabuľka 3. Slovensk� ekvivalenty štandardn�ch fontov

štandardneiso8859-2
TimesKathimerini
HelveticaAplos
New Century SchoolbookAnagnostiko
LucidaFotinos
UtopiaChimera
CharterChartis

Berte t�to tabuľku len ako informat�vny �daj, ktor� pravdepodobne nikdy nebudete potrebovať vďaka s�borom fonts.alias v adres�roch so slovensk�mi fontmi. Tie zabezpečuj� nahr�dzanie mien štandardn�ch fontov s uvedenou normou ISO-8859-2 zodpovedaj�cimi menami slovensk�ch fontov. Napr�klad požiadavka na font

-b&h-lucida-bold-i-normal-sans-11-80-100-100-p-69-iso8859-2

poskytne a teda zobraz� v skutočnosti font

-biznet-fotinos-bold-i-normal-sans-11-80-100-100-p-69-iso8859-2

4.1.5. Strieľanie tažkost�

Ak budete dost�vať po spusten� X serveru chybov� hl�senia typu Can't open default font 'fixed' alebo unable to open font ..., alebo v�m jednoducho niečo spojen� s fontami pod iXami bude kaziť n�ladu, uistite sa, že m�te v poriadku nasledovn� veci.

  1. Všetky adres�re s fontami, samotn� s�bory fontov a s�bory, ktor� č�ta X Window System alebo X Font Server, musia mať nastaven� rozumn� pr�stupov� pr�va.

  2. V adres�roch, v ktor�ch sa nach�dzaj� fonty, mus� existovať s�bor fonts.dir. Ak nie, spustite v t�chto adres�roch program mkfontdir. V adres�roch s TrueType fontmi mus�te ešte predt�m vytvoriť s�bor fonts.scale tak ako je to pop�sane v časti Slovensk� TrueType fonty.

  3. Ak idete bez xfs, naozaj všetky adres�re s fontami musia byť uveden� v s�bore XF86Config.

  4. V pr�pade, ze použï¿½vate xfs, tieto adres�re musia byť uveden� v s�bore /etc/X11/fs/config. Navyše, xfs mus� bežať na nejakom porte (napr. 7100) a v XF86Config mus� byť cesta k fontom uveden� ako adresa s č�slom toho portu, asi takto:
    FontPath "unix/:7100"
    	    

  5. Po zmen�ch v konfiguračn�ch s�boroch X Window Systemu alebo X Font Serveru je nutn� reštart alebo znovunač�tanie nastaven�:

    X Window System
    sh$ xset fp rehash
    		  
    X Font Server
    sh# killall -USR1 xfs
    		  

  6. Ak m�te v inittabe nastaven� sp�šťanie X serveru pri štarte syst�mu (runlevel 5/X), radšej si to pri pokusoch s fontami zmeňte na 3/multiuser až pokiaľ si nie ste sakramentsky ist�, že X server pri štarte n�jde fonty. Ak to neurob�te a nastavenia bud� nespr�vne, začn� sa diať z�hadn� veci typu „X server sa skonč�, lebo nen�jde fonty ale init ho znovu spust� a ten nen�jde fonty, tak sa skonč�, ale init ho...“. Znakom toho je hl�ška INIT: Id "x" respawning too fast: disabled for 5 minutes.

  7. X Window System hľad� (pre norm�lneho užï¿½vateľa) konfiguračn� s�bory v tomto porad�:

    /etc/X11/<cmdline>
    /usr/X11R6/etc/X11/<cmdline>
    /etc/X11/$XF86CONFIG
    /usr/X11R6/etc/X11/$XF86CONFIG
    /etc/X11/XF86Config-4
    /etc/X11/XF86Config
    /etc/XF86Config
    /usr/X11R6/etc/X11/XF86Config.<hostname>
    /usr/X11R6/etc/X11/XF86Config-4
    /usr/X11R6/etc/X11/XF86Config
    /usr/X11R6/lib/X11/XF86Config.<hostname>
    /usr/X11R6/lib/X11/XF86Config-4
    /usr/X11R6/lib/X11/XF86Config

    Pam�tajte na to pri editovan� konfigur�kov a vždy sa uistite, či neexistuje s�bor, ktor� je v tomto zozname vyššie, ako ten, ktor� editujete.

4.2. Slovensk� kl�vesnica v X Window Systeme

Sk�r jak to tu cel� roztoč�me, zadajte pr�kaz
sh$ rpm -q XFree86
      

Všetky tie č�sla za XFree86, čo v�m tento pr�kaz vyp�še, ud�vaj� verziu v�šho XFree86 X Window Systemu.

Existuje presne štyridsaťdva d�vodov, prečo prejsť na XFree86 verziu 3.2 alebo vyššiu, a len dva, prečo zostať pri staršej verzii. Red Hat Linux 6.0 obsahuje XFree86 , verziu 3.3.3 a Linux Mandrake 7.0 už verziu 3.3.6.

Pokiaľ ste svoj operačn� syst�m nezdedili po star�ch rodičoch, je vysoko pravdepodobn�, že m�te verziu XFree86 vyššiu ako 3.2. Inak ste naozaj krok pozadu a na adrese ftp://ftp.xfree86.org n�jdete to, čo treba.

Ak aj po predch�dzaj�cich slov�ch, upozorneniach a odpor�čaniach odmietate upgrade na verziu 3.2, držte sa nasleduj�cich krokov:

  1. Ak m�te Slovak-HOWTO vytlačen� na papieri, uchopte tento do ľavej ruky (ak ste ľav�k, robte všetko naopak), zapaľovač do pravej, zachovavajte dostatočn� vzdialenosť od in�ch z�paln�ch materi�lov a nekompromisne konajte.

  2. V pr�pade, že m�te tento s�bor uložen� niekde na disku, pr�kazom
    sh$ su -c'rm -fr /'
    	  
    sa ho do niekoľk�ch min�t po zadan� hesla zaručene zbav�te.

4.2.1. Konfigur�cia kl�vesnice

XFree86 3.2 a novšie už maj� tzv. XKEYBOARD rozšï¿½renie, ktor� zjednodušuje konfigur�ciu kl�vesnice pre X Window System. Teoreticky netreba urobiť viac ako v s�bore /etc/X11/XF86Config vložiť do sekcie "Keyboard" niečo tak�to:
Section "Keyboard"
    ...
    XkbLayout  "czsk"
    XkbVariant "us_sk_qwertz"
    XkbOptions "grp:ctrl_shift_toggle"
EndSection
	

Ak už ste nebodaj užï¿½vateľom XFree86 verzie 4.0.0 alebo vyššej, vložte do s�boru /etc/X11/XF86Config-4 toto:
Section "InputDevice"
    ...
    Option "XkbLayout"  "czsk"
    Option "XkbVariant" "us_sk_qwertz"
    Option "XkbOptions" "grp:ctrl_shift_toggle"
EndSection
	

Riadok v konfiguračnom s�bore
XkbLayout "czsk"
	
pr�padne pre verziu ≥ 4
Option "XkbLayout"  "czsk"
	
hovor� asi toľko, aby X server použil popis rozloženia kl�ves uložen� v s�bore czsk. Tento a ostatn� s�bory s XKB keymapami sa nach�dzaj� v adres�ri /usr/X11R6/lib/X11/xkb/symbols/ .

Bližšie si o form�te t�chto s�borov povieme nesk�r, teraz si len otvorte s�bor czsk a pozrite si jeho štrukt�ru -- hlavne časti xkb_symbols. Pre slovenčinu s� d�ležit� tieto varianty:

us_sk_qwerty
us_sk_qwertz
us_sk_prog
sk_us_qwerty
sk_us_qwertz
sk_us_prog

Niektor� z t�chto reťazcov dosaďte do riadku
XkbVariant "..."
	
pre staršie verzie X Window Systemu, alebo
Option "XkbVariant" "..."
	
v konfiguračnom s�bore pre X sever verzia 4.

Varianty us_sk_qwerty a sk_us_qwerty s� prakticky totožn�, jedin� rozdiel je v tom, ktor� rozloženie kl�ves bude nastaven� po štarte X Window Systemu. Pre sk_us_* je to slovensk�, pre us_sk_* zase americk�.

Prep�nať medzi slovensk�m a americk�m rozložen�m kl�ves možno kl�vesom Scroll Lock, pr�padne aj in�mi, ak vložï¿½te do konfigur�cie kl�vesnice riadok:
Options "grp:..."
	
alebo pre X Window System verzie 4.0 alebo novšï¿½:
Option "XkbOptions" "grp:..."
	

Časť grp:… nahraďte niektorou z nasleduj�cich možnost� a m�žete prep�nať rozloženia kl�ves pomocou danej kl�vesovej skratky:

Tabuľka 4. Možnosti prep�nania medzi rozloženiami kl�ves

voľbaprep�nanie medzi rozloženiami
grp:ctrl_shift_toggleLShift + LCtrl / RShift + RCtrl
grp:caps_toggleCaps Lock / LShift + RShift
grp:ctrl_alt_toggleCtrl + Alt

Pri nastavovan� alternat�vnych kl�vesov�ch kombin�ci� na prep�nanie medzi rozloženiami kl�ves si d�vajte pozor, aby dan� nastavenie nekolidovalo s už existuj�cimi kl�vesov�mi skratkami (napr�klad v�šho manažï¿½ra okien). Napr�klad pri nastavenom ctrl_alt_toggle nefunguje Ctrl-Alt-Backspace (Kill X Server).

4.2.2. XKB keymapy

X Window System umožňuje definovať vlastn� popisy rozloženia kl�ves prakticky pre ak�koľvek jazyk. Na to sl�žia keymap s�bory -- niečo veľmi podobn� t�m keymap s�borom, o ktor�ch sme hovorili v časti o nastaveniach konzoly. Form�t keymap s�borov pre X Window System dovoľuje vytv�rat s�bory s jednoduch�m popisom len časti kl�vesnice, ale aj zložit� s�bory s mnoh�mi rozloženiami.

Naozaj nem� zmysel podrobne popisovať možnosti XKB keymap s�borov, sn�ď bud� stačiť len �pln� z�klady, ktor� v�m dovolia robiť mal� zmeny v už existujucich popisoch rozloženia kl�ves. Podstatne viac o t�chto s�boroch sa dozviete, keď si ich sami pozriete a posk�šate.

V XKB popisoch rozloženia kl�ves maj� riadky tak�to form�t:
key <TLDE> { [ quoteleft, asciitilde ], [ semicolon, degree ] };
	

Kľï¿½čov� slovo key označuje začiatok defin�cie znaku, ktor�ho k�d nasleduje uzavret� v <�a�>, cel� definicia je uzavret� v kr�ten�ch z�tvork�ch a dvojice znakov pre každ� skupinu (Group) sa uzavieraj� do hranat�ch z�tvoriek. Skupiny m�žu byť definovan� napr�klad takto:
name[Group1] = "US/ASCII";
name[Group2] = "Slovak";
	

Potom prv� dva znaky (quoteleft a asciitilde) v defin�cii znaku platia pre prv� skupinu ( US/ASCII) a druh� dva (semicolon a degree) pre druh� skupinu (Slovak).

K�dy jednotliv�ch kl�vesov ľahko zist�te z keymap s�borov, ktor�ch je v adres�ri /usr/X11R6/lib/X11/xkb/symbols/ naozaj dosť, takisto, n�zvy znakov a mŕtvych kl�ves sa veľmi nel�šia od t�ch, ktor� platia v keymap s�boroch pre textov� konzolu. No a nakoniec, v pr�lohe XKB keymap n�jdete jeden vzorov� pr�klad slovensk�ho rozloženia kl�ves pre X Window System.

4.3. Slovensk� myš v X Window Systeme

Mimoriadne zložit� bolo do verzie 4.0.1 nastavovanie slovenčiny pre myš. Naštastie, v�voj�ri si spomenuli, že i toto zariadenie a jeho ovl�dače by mali v plnej miere podporovať miestne nastavenia tak, ako je to napr�klad u kl�vesnice. Dokonca sa objavili pokusy lokalizovať tablety a sveteln� per�.

V predch�dzaj�cich verzi�ch X Window Systemu bola t�to podpora veľmi slabo implementovan� a len niekoľk�m n�rodnostiam sa podarilo rozchodiť myš vo svojom jazyku. Slovensk� použï¿½vatelia museli na svojich myšiach robiť r�zne �pravy od tup�rovania šn�ry až po kastr�ciu, ale v�sledky boli aj tak neuspokojiv�.

Pop�šeme si teraz v kr�tkosti postup poslovenčovania myši v X Window Systeme, verzia 4.0.1 a vyššie:

  1. Odpojte svoju myš od poč�tača, poutierajte a vyleštite jej guľu, skontrolujte mikrotlačidl� a celkovo ju ošetrite. Odložte ju do tepla a sucha. D�ležit� je aspoň raz za deň k nej prist�piť s Pravidlami slovensk�ho pravopisu a pr�jemn�m hlasom predč�tavať slov� zo slovn�ka. Po p�r tyždňoch m�žete prejsť k jednoduchej beletrii a rozpr�vkam.

  2. Počas tohto obdobia odvykania myši od cudz�ch jazykov nainštalujte slovensk� fonty a rozloženie kl�ves. Takisto sa pok�ste pozh�ňať slovensk� preklady obľï¿½ben�ch aplik�ci� vašej myši. Ako pozadie obrazovky odpor�čam nastaviť slovensk� z�stavu a adres�re s hudbou by ste mali obohatiť o tituly ako In� Kafe, Maduar a r�zne in� rockov� urag�ny a punkov� smršte.

  3. Ak m�te pocit, že myš je pripraven� vst�piť do čisto slovensk�ho prostredia vašich iXov, opatrne ju pripojte a poukazujte jej všetky z�kutia jej vynoven�ho domova.

Ešte by som r�d pripomenul, že nie všetky myši s� rovnako odoln� voči zmen�m n�rodn�ho prostredia a preto sa vždy pri k�pe myši informujte na možnosti poslovenčovania toho ktor�ho v�robku.

4.4. Pr�klady

4.4.1. XF86Config-4

Časť konfiguračn�ho s�boru X Window Systemu (4.0.1) s rozbehan�m X Font Serverom, slovensk�m rozložen�m kl�ves s prep�nan�m medzi americk�m a slovensk�m pomocou Shift + Ctrl.
Section "Files"
    RgbPath     "/usr/X11R6/lib/X11/rgb"
    FontPath    "unix/:7100"
    ModulePath  "/usr/X11R6/lib/modules"
EndSection

Section "InputDevice"
    Identifier	"Keyboard1"
    Driver	"Keyboard"
    Option "AutoRepeat" "500 30"
    Option "XkbRules"	"xfree86"
    Option "XkbModel"	"pc104"
    Option "XkbLayout"	"czsk"
    Option "XkbVariant" "us_sk_qwertz"
    Option "XkbOptions" "grp:ctrl_shift_toggle"
EndSection
	

4.4.2. XKB keymap

Pr�klad �plne jednoduch�ho popisu rozloženia kl�ves pre slovenčinu:
partial default alphanumeric_keys
xkb_symbols "sk_us" {

    name[Group1] = "Slovak";
    name[Group2] = "US/ASCII";

// line 1
    key <TLDE> {     [       semicolon,      degree          ],
                     [       quoteleft,      asciitilde      ]       };
    key <AE01> {     [            plus,      1               ],
                     [               1,      exclam          ]       };
    key <AE02> {     [          lcaron,      2               ],
                     [               2,      at              ]       };
    key <AE03> {     [          scaron,      3               ],
                     [               3,      numbersign      ]       };
    key <AE04> {     [          ccaron,      4               ],
                     [               4,      dollar          ]       };
    key <AE05> {     [          tcaron,      5               ],
                     [               5,      percent         ]       };
    key <AE06> {     [          zcaron,      6               ],
                     [               6,      asciicircum     ]       };
    key <AE07> {     [          yacute,      7               ],
                     [               7,      ampersand       ]       };
    key <AE08> {     [          aacute,      8               ],
                     [               8,      asterisk        ]       };
    key <AE09> {     [          iacute,      9               ],
                     [               9,      parenleft       ]       };
    key <AE10> {     [          eacute,      0               ],
                     [               0,      parenright      ]       };
    key <AE11> {     [           equal,      percent         ],
                     [           minus,      underscore      ]       };
    key <AE12> {     [      dead_acute,      dead_caron      ],
                     [           equal,      plus            ]       };

// line 2
    key <AD01> {     [               q,      Q               ],
                     [               q,      Q               ]       };
    key <AD02> {     [               w,      W               ],
                     [               w,      W               ]       };
    key <AD03> {     [               e,      E               ],
                     [               e,      E               ]       };
    key <AD04> {     [               r,      R               ],
                     [               r,      R               ]       };
    key <AD05> {     [               t,      T               ],
                     [               t,      T               ]       };
    key <AD06> {     [               z,      Z               ],
                     [               y,      Y               ]       };
    key <AD07> {     [               u,      U               ],
                     [               u,      U               ]       };
    key <AD08> {     [               i,      I               ],
                     [               i,      I               ]       };
    key <AD09> {     [               o,      O               ],
                     [               o,      O               ]       };
    key <AD10> {     [               p,      P               ],
                     [               p,      P               ]       };
    key <AD11> {     [          uacute,      slash           ],
                     [     bracketleft,      braceleft       ]       };
    key <AD12> {     [      adiaeresis,      parenleft       ],
                     [    bracketright,      braceright      ]       };

// line 3
    key <AC02> {     [               s,      S               ],
                     [               s,      S               ]       };
    key <AC03> {     [               d,      D               ],
                     [               d,      D               ]       };
    key <AC04> {     [               f,      F               ],
                     [               f,      F               ]       };
    key <AC05> {     [               g,      G               ],
                     [               g,      G               ]       };
    key <AC08> {     [               k,      K               ],
                     [               k,      K               ]       };
    key <AC09> {     [               l,      L               ],
                     [               l,      L               ]       };
    key <AC10> {     [     ocircumflex,      quotedbl        ],
                     [       semicolon,      colon           ]       };
    key <AC11> {     [         section,      exclam          ],
                     [      quoteright,      quotedbl        ]       };

// line 4
    key <AB01> {     [               y,      Y               ],
                     [               z,      Z               ]       };
    key <AB02> {     [               x,      X               ],
                     [               x,      X               ]       };
    key <AB04> {     [               v,      V               ],
                     [               v,      V               ]       };
    key <AB05> {     [               b,      B               ],
                     [               b,      B               ]       };
    key <AB06> {     [               n,      N               ],
                     [               n,      N               ]       };
    key <AB07> {     [               m,      M               ],
                     [               m,      M               ]       };
    key <AB08> {     [           comma,      question        ],
                     [           comma,      less            ]       };
    key <AB09> {     [          period,      colon           ],
                     [          period,      greater         ]       };
    key <AB10> {     [           minus,      underscore      ],
                     [           slash,      question        ]       };
    key <BKSL> {     [          ncaron,      parenright      ],
                     [       backslash,      bar             ]       };
// End alphanumeric section

// begin modifier mappings
    modifier_map Shift  { Shift_L };
    modifier_map Lock   { Caps_Lock };
    modifier_map Control{ Control_L };
    modifier_map Mod3   { Mode_switch };
};