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

    include "latin"

    name[Group1] = "Slovak";

    key <TLDE>	{ [ semicolon, dead_abovering,    grave,   asciitilde ]	};
    key <AE01>	{ [      plus,          1,       exclam,   dead_tilde ]	};
    key <AE02>	{ [    lcaron,          2,           at,   dead_caron ]	};
    key <AE03>	{ [    scaron,          3,   numbersign, dead_circumflex ] };
    key <AE04>	{ [    ccaron,          4,       dollar,   dead_breve ]	};
    key <AE05>	{ [    tcaron,          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>	{ [adiaeresis,  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>	{ [ocircumflex,   quotedbl,      dollar,     NoSymbol ]	};
    key <AC11>	{ [   section,     exclam,   apostrophe,       ssharp ]	};
    key <AC12>	{ [  EuroSign, dead_diaeresis, NoSymbol,     NoSymbol ]	};
    key <BKSL>	{ [    ncaron, parenright,    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, nobreakspace, nobreakspace ] };

    include "level3(ralt_switch)"
};

// Use <BKSL> instead of <LSGT> (useful for keyboard without <LSGT> key)
xkb_symbols "bksl" {
    include "sk(basic)"

    name[Group1] = "Slovak (extended Backslash)";

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

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

    name[Group1] = "Slovak (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 "sk(qwerty)"

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

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