partial default alphanumeric_keys 
xkb_symbols "basic" {
     
     // This layout conforms to a new cz compromise standard designed 
     // to satisfy most unix, windows and mac users.
     // 2001 by Kamil Toman <ktoman@email.cz>

    include "latin"

    name[Group1]= "Czech";

    key <TLDE>	{ [ semicolon, dead_abovering,    grave,   asciitilde ]	};
    key <AE01>	{ [      plus,          1,       exclam,   dead_tilde ]	};
    key <AE02>	{ [    ecaron,          2,           at,   dead_caron ]	};
    key <AE03>	{ [    scaron,          3,   numbersign, dead_circumflex ] };
    key <AE04>	{ [    ccaron,          4,       dollar,   dead_breve ]	};
    key <AE05>	{ [    rcaron,          5,      percent, dead_abovering ] };
    key <AE06>	{ [    zcaron,          6,  asciicircum,  dead_ogonek ]	};
    key <AE07>	{ [    yacute,          7,    ampersand,   dead_grave ]	};
    key <AE08>	{ [    aacute,          8,     asterisk, dead_abovedot]	};
    key <AE09>	{ [    iacute,          9,    braceleft,   dead_acute ]	};
    key <AE10>	{ [    eacute,          0,   braceright, dead_doubleacute ] };
    key <AE11>	{ [     equal,    percent,     NoSymbol, dead_diaeresis ] };
    key <AE12>	{ [dead_acute, dead_caron,  dead_macron, dead_cedilla ]	};

    key <AD01>	{ [         q,          Q,    backslash,     NoSymbol ]	};
    key <AD02>	{ [         w,          W,          bar,     Nosymbol ]	};
    key <AD03>	{ [         e,          E,     EuroSign,     NoSymbol ]	};
    key <AD04>	{ [         r,          R,     NoSymbol,     NoSymbol ]	};
    key <AD05>	{ [         t,          T,     NoSymbol,     NoSymbol ]	};
    key <AD06>	{ [         z,          Z,     NoSymbol,     NoSymbol ]	};
    key <AD07>	{ [         u,          U,     NoSymbol,     NoSymbol ]	};
    key <AD08>	{ [         i,          I,     NoSymbol,     NoSymbol ]	};
    key <AD09>	{ [         o,          O,     NoSymbol,     NoSymbol ]	};
    key <AD10>	{ [         p,          P,     NoSymbol,     NoSymbol ]	};

    key <AD11>	{ [    uacute,      slash,  bracketleft,     division ]	};
    key <AD12>	{ [parenright,  parenleft, bracketright,     multiply ]	};

    key <AC01>	{ [         a,          A,   asciitilde,     NoSymbol ]	};
    key <AC02>	{ [         s,          S,      dstroke,     NoSymbol ]	};
    key <AC03>	{ [         d,          D,      Dstroke,     NoSymbol ]	};
    key <AC04>	{ [         f,          F,  bracketleft,     NoSymbol ]	};
    key <AC05>	{ [         g,          G, bracketright,     NoSymbol ]	};
    key <AC06>	{ [         h,          H,        grave,     NoSymbol ]	};
    key <AC07>	{ [         j,          J,   apostrophe,     NoSymbol ]	};
    key <AC08>	{ [         k,          K,      lstroke,     NoSymbol ]	};
    key <AC09>	{ [         l,          L,      Lstroke,     NoSymbol ]	};
                  
    key <AC10>	{ [     uring,   quotedbl,       dollar,     NoSymbol ]	};
    key <AC11>	{ [   section,     exclam,   apostrophe,       ssharp ]	};
    key <AC12>	{ [  EuroSign, dead_diaeresis, NoSymbol,     NoSymbol ]	};
    key <BKSL>	{ [dead_diaeresis, apostrophe, backslash,         bar ]	};

    key <LSGT>	{ [ backslash,        bar,        slash,     NoSymbol ]	};
    key <AB01>	{ [         y,          Y,       degree,     NoSymbol ]	};
    key <AB02>	{ [         x,          X,   numbersign,     Nosymbol ]	};
    key <AB03>	{ [         c,          C,    ampersand,     NoSymbol ]	};
    key <AB04>	{ [         v,          V,           at,     NoSymbol ]	};
    key <AB05>	{ [         b,          B,    braceleft,     NoSymbol ]	};
    key <AB06>	{ [         n,          N,   braceright,     NoSymbol ]	};
    key <AB07>	{ [         m,          M,  asciicircum,     NoSymbol ]	};
    key <AB08>	{ [     comma,   question,         less,     NoSymbol ]	};
    key <AB09>	{ [    period,      colon,      greater,     NoSymbol ]	};
    key <AB10>	{ [     minus, underscore,     asterisk,     NoSymbol ]	};

    key <SPCE>	{ [     space,      space,        space,       space ]	};

    include "level3(ralt_switch)"
};

// Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
xkb_symbols "bksl" {
    include "cz(basic)"
    name[Group1]= "Czech (with <\|> key)";

    key <BKSL>	{ [ backslash,        bar,        slash,     NoSymbol ]	};
};

partial alphanumeric_keys 
xkb_symbols "qwerty" {
 
    // This layout should work exactly as a cz with the exception 
    // of 'Z' and 'Y' keys, which are in the qwerty style (ie. swapped).
    // 2001 by Kamil Toman <ktoman@email.cz>
    
    include "cz(basic)"
    name[Group1]= "Czech (qwerty)";

    key <AB01>	{ [         z,          Z,       degree,     NoSymbol ]	};
    key <AD06>	{ [         y,          Y,     NoSymbol,     NoSymbol ]	};
};

// Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
xkb_symbols "qwerty_bksl" {
    include "cz(qwerty)"

    name[Group1]= "Czech (qwerty, extended Backslash)";

    key <BKSL>	{ [ backslash,        bar,        slash,     NoSymbol ]	};
};

partial alphanumeric_keys alternate_group
xkb_symbols "ucw" {

    // This layout is usually used as the second group, it contains
    // accented characters only, no 'latin' set.
    // 2008 by Milan Vancura <mvancura@suse.cz>

    name[Group1]= "Czech (UCW layout, accented letters only)";

    key <AB01> { [zcaron,      Zcaron      ] };
    key <AB02> { [ssharp                   ] };
    key <AB03> { [ccaron,      Ccaron      ] };
    key <AB04> { [ccedilla,    Ccedilla    ] };
    key <AB05> { [ntilde,      Ntilde      ] };
    key <AB06> { [ncaron,      Ncaron      ] };
    key <AB07> { [lacute,      Lacute      ] };

    key <AC01> { [aacute,      Aacute      ] };
    key <AC02> { [scaron,      Scaron      ] };
    key <AC03> { [dcaron,      Dcaron      ] };
    key <AC04> { [ediaeresis,  Ediaeresis  ] };
    key <AC05> { [racute,      Racute      ] };
    key <AC06> { [uacute,      Uacute      ] };
    key <AC07> { [udiaeresis,  Udiaeresis  ] };
    key <AC08> { [ocircumflex, Ocircumflex ] };
    key <AC09> { [lcaron,      Lcaron      ] };

    key <AD01> { [adiaeresis,  Adiaeresis  ] };
    key <AD02> { [ecaron,      Ecaron      ] };
    key <AD03> { [eacute,      Eacute      ] };
    key <AD04> { [rcaron,      Rcaron      ] };
    key <AD05> { [tcaron,      Tcaron      ] };
    key <AD06> { [yacute,      Yacute      ] };
    key <AD07> { [uring,       Uring       ] };
    key <AD08> { [iacute,      Iacute      ] };
    key <AD09> { [oacute,      Oacute      ] };
    key <AD10> { [odiaeresis,  Odiaeresis  ] };
};

partial alphanumeric_keys
xkb_symbols "dvorak-ucw" {

    // US Dvorak layout extend with UCW - AltGr produces accented characters

    include "us(dvorak)"

    name[Group1]= "Czech (US Dvorak with CZ UCW support)";

    key <AB03> { [ j, J, eacute, Eacute ] };
    key <AB04> { [ k, K, uacute, Uacute ] };
    key <AB10> { [ z, Z, zcaron, Zcaron ] };

    key <AC01> { [ a, A, aacute, Aacute ] };
    key <AC02> { [ o, O, oacute, Oacute ] };
    key <AC03> { [ e, E, ecaron, Ecaron ] };
    key <AC04> { [ u, U, uring,  Uring  ] };
    key <AC05> { [ i, I, iacute, Iacute ] };
    key <AC06> { [ d, D, dcaron, Dcaron ] };
    key <AC08> { [ t, T, tcaron, Tcaron ] };
    key <AC09> { [ n, N, ncaron, Ncaron ] };
    key <AC10> { [ s, S, scaron, Scaron ] };

    key <AD05> { [ y, Y, yacute, Yacute ] };
    key <AD08> { [ c, C, ccaron, Ccaron ] };
    key <AD09> { [ r, R, rcaron, Rcaron ] };

    include "level3(ralt_switch)"
};
