
partial hidden alphanumeric_keys modifier_keys
xkb_symbols "modifiers" {
    key <LWIN> { [ISO_Level3_Shift ] };
    modifier_map Mod5 { ISO_Level3_Shift };

};

partial hidden alphanumeric_keys
xkb_symbols "common_keys" {
    key <ESC>   { [          Escape,          Escape,       XF86Sleep,    XF86PowerOff ] };
    key <POWR>  { [       XF86Sleep,    XF86PowerOff,       XF86Sleep,    XF86PowerOff ] };
    key <BKSP>  { [       BackSpace,          Delete,       XF86Tools ] };
    key <TAB>   { [             Tab,    ISO_Left_Tab,       Caps_Lock ] };
    key <UP>    { [              Up,              Up,           Prior,           Prior ] };
    key <SPCE>  { [           space,           space, XF86AudioRecord,    nobreakspace ] };
    key <LEFT>  { [            Left,            Left,            Home,            Home ] };
    key <DOWN>  { [            Down,            Down,            Next,            Next ] };
    key <RGHT>  { [           Right,           Right,             End,             End ] };
    key <VOL->  { [ XF86RockerDown ] }; //Cover display
    key <VOL+>  { [ XF86RockerUp ] }; //Cover display
};

partial hidden alphanumeric_keys
xkb_symbols "escape" {
    // Reset keys to nonsense that we don't expect to appear on Cosmo keyboard maps
    key <MUTE> { [ XF86CD  ] }; //clashes with XF86AudioMute
    key <I172> { [ XF86CD  ] }; //clashes with XF86AudioPlay
    key <I208> { [ XF86CD  ] }; //clashes with XF86AudioPlay
    key <I215> { [ XF86CD  ] }; //clashes with XF86AudioPlay
    key <I173> { [ XF86CD  ] }; //clashes with XF86AudioPrev
    key <I171> { [ XF86CD  ] }; //clashes with XF86AudioNext
    key <PRSC> { [ XF86CD  ] }; //clashes with Print
    key <I218> { [ XF86CD  ] }; //clashes with Print
    key <I232> { [ XF86CD  ] }; //clashes with XF86MonBrightnessDown
    key <I233> { [ XF86CD  ] }; //clashes with XF86MonBrightnessUp
    key <I162> { [ XF86CD  ] }; //clashes with XF86TaskPane
    key <I179> { [ XF86CD  ] }; //clashes with XF86Tools
    key <FK13> { [ XF86CD  ] }; //clashes with XF86Tools
    key <I150> { [ XF86CD  ] }; //clashes with XF86Sleep
    key <I153> { [ XF86CD  ] }; //clashes with XF86Send (I239 from kernel not mapped)
    key <I175> { [ XF86CD  ] }; //clashes with XF86AudioRecord

};

default  partial alphanumeric_keys
xkb_symbols "gb" {
    include "planet_vndr/cosmo(modifiers)"
    include "planet_vndr/cosmo(common_keys)"

    name[Group1]="Cosmo English (UK)";

    key <AE01>  { [         1,      exclam,          bar,    F1 ] };
    key <AE02>  { [         2,    quotedbl,   numbersign,    F2 ] };
    key <AE03>  { [         3,    sterling,    backslash,    F3 ] };
    key <AE04>  { [         4,      dollar,     EuroSign,    F4 ] };
    key <AE05>  { [         5,     percent,         less,    F5 ] };
    key <AE06>  { [         6, asciicircum,      greater,    F6 ] };
    key <AE07>  { [         7,   ampersand,  bracketleft,    F7 ] };
    key <AE08>  { [         8,    asterisk, bracketright,    F8 ] };
    key <AE09>  { [         9,   parenleft,    braceleft,    F9 ] };
    key <AE10>  { [         0,  parenright,   braceright,   F10 ] };

    key <AD01>  { [         q,          Q,XF86AudioPlay,  Greek_OMEGA ] };
    key <AD02>  { [         w,          W,XF86AudioPrev,      Lstroke ] };
    key <AD03>  { [         e,          E,XF86AudioNext,    trademark ] };
    key <AD04>  { [         r,          R,        Print,   registered ] };
    key <AD05>  { [         t,          T,XF86AudioMute,          yen ] };
    key <AD06>  { [         y,          Y,    leftarrow,   rightarrow ] };
    key <AD07>  { [         u,          U,    downarrow,      uparrow ] };
    key <AD08>  { [         i,          I,         plus,    plusminus ] };
    key <AD09>  { [         o,          O,        minus,     Ooblique ] };
    key <AD10>  { [         p,          P,        equal,        THORN ] };

    key <AC01>  { [         a,          A, XF86TaskPane,              AE ] };
    key <AC02>  { [         s,          S,       ssharp,         section ] };
    key <AC03>  { [         d,          D,  XF86TopMenu,             ETH ] };
    key <AC04>  { [         f,          F,      XF86UWB,     ordfeminine ] };
    key <AC05>  { [         g,          G,          eng,             ENG ] };
    key <AC06>  { [         h,          H,     division,  dead_diaeresis ] };
    key <AC07>  { [         j,          J,   underscore, dead_circumflex ] };
    key <AC08>  { [         k,          K,           at,          degree ] };
    key <AC09>  { [         l,          L,    semicolon,      dead_caron ] };
    key <AC11>  { [apostrophe, asciitilde,        colon,      dead_acute ] };

    key <AB01>  { [         z,          Z,        guillemotleft,        dead_belowdot ] };
    key <AB02>  { [         x,          X,       guillemotright,        dead_abovedot ] };
    key <AB03>  { [         c,          C, XF86AudioLowerVolume,            copyright ] };
    key <AB04>  { [         v,          V, XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>  { [         b,          B,XF86MonBrightnessDown,XF86KbdBrightnessDown ] };
    key <AB06>  { [         n,          N,  XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>  { [         m,          M,                grave,           dead_grave ] };
    key <AB09>  { [    period,   question,                U263A,           dead_tilde ] };

    key <AB08>  { [     comma,      slash, XF86Option,   multiply ] };
};

default  partial alphanumeric_keys
xkb_symbols "ie" {
    include "planet_vndr/cosmo(gb)"

    name[Group1]="Cosmo English (ROI)";
};


default  partial alphanumeric_keys
xkb_symbols "us" {
    include "planet_vndr/cosmo(gb)"

    name[Group1]="Cosmo English (US)";

    key <AE01>  { [         1,     exclam,   asciitilde,   F1 ] };
    key <AE02>  { [         2,         at,        grave,   F2 ] };
    key <AE03>  { [         3, numbersign,     sterling,   F3 ] };

    key <AC08>  { [         k,          K,    semicolon,     degree ] };
    key <AC09>  { [         l,          L,     quotedbl, dead_caron ] };
    key <AC11>  { [ backslash,        bar,        colon, dead_acute ] };

    key <AB07>  { [         m,          M,   apostrophe, dead_grave ] };

};

default  partial alphanumeric_keys
xkb_symbols "se" {
    include "planet_vndr/cosmo(gb)"

    name[Group1]="Cosmo Swedish";

    key <AE01>  { [         1,     exclam,      section,    F1 ] };
    key <AE02>  { [         2,   quotedbl,           at,    F2 ] };
    key <AE03>  { [         3, numbersign,     sterling,    F3 ] };
    key <AE04>  { [         4,   currency,       dollar,    F4 ] };
    key <AE05>  { [         5,    percent,     EuroSign,    F5 ] };
    key <AE06>  { [         6,  ampersand,     asterisk,    F6 ] };
    key <AE07>  { [         7,      slash,    braceleft,    F7 ] };
    key <AE08>  { [         8,  parenleft,  bracketleft,    F8 ] };
    key <AE09>  { [         9, parenright, bracketright,    F9 ] };
    key <AE10>  { [         0,      equal,   braceright,   F10 ] };

    key <AD04>  { [         r,       R, dead_circumflex, registered ] };
    key <AD05>  { [         t,          T,XF86AudioMute,      thorn ] };
    key <AD06>  { [         y,          Y,         plus,  plusminus ] };
    key <AD07>  { [         u,          U,        minus, udiaeresis ] };
    key <AD08>  { [         i,          I,        grave,   idotless ] };
    key <AD09>  { [         o,          O,     question,     oslash ] };
    key <AD10>  { [         p,          P,        aring,      Aring ] };

    key <AC01>  { [         a,          A, XF86TaskPane,             ae ] };
    key <AC02>  { [         s,          S,   asciitilde,     dead_tilde ] };
    key <AC05>  { [         g,          G,   underscore,         degree ] };
    key <AC07>  { [         j,          J,         less,  guillemotleft ] };
    key <AC08>  { [         k,          K,      greater, guillemotright ] };
    key <AC09>  { [         l,          L,    backslash,    dead_stroke ] };
    key <AC11>  { [odiaeresis, Odiaeresis,   adiaeresis,     Adiaeresis ] };

    key <AB01>  { [         z,          Z,          ezh,         EZH ] };
    key <AB02>  { [         x,          X,          bar,    multiply ] };
    key <AB07>  { [         m,          M,   apostrophe,  dead_acute ] };
    key <AB09>  { [    period,      colon,        U263A,    division ] };

    key <AB08>  { [     comma,  semicolon,   XF86Option, dead_diaeresis ] };
};

default  partial alphanumeric_keys
xkb_symbols "fi" {
    include "planet_vndr/cosmo(se)"

    name[Group1]="Cosmo Finnish";
};

default  partial alphanumeric_keys
xkb_symbols "de" {
    include "planet_vndr/cosmo(gb)"

    name[Group1]="Cosmo German";

    key <AE01>  { [         1,    exclam,   asciitilde,   F1 ] };
    key <AE03>  { [         3,     U00A7,    backslash,   F3 ] };
    key <AE06>  { [         6, ampersand,      greater,   F6 ] };
    key <AE07>  { [         7,     slash,    braceleft,   F7 ] };
    key <AE08>  { [         8, parenleft,  bracketleft,   F8 ] };
    key <AE09>  { [         9,parenright, bracketright,   F9 ] };
    key <AE10>  { [         0,     equal,   braceright,  F10 ] };

    key <AD04>  { [         r,          R,        bar,   registered ] };
    key <AD06>  { [         z,          Z,      Print,         less ] };
    key <AD07>  { [         u,          U,      U00FC,        U00DC ] };
    key <AD08>  { [         i,          I,      grave,    plusminus ] };
    key <AD09>  { [         o,          O,      U00F6,        U00D6 ] };
    key <AD10>  { [         p,          P,      equal, XF86TaskPane ] };

    key <AC01>  { [         a,          A,      U00E4,       U00C4 ] };
    key <AC02>  { [         s,          S,     ssharp,     section ] };
    key <AC05>  { [         g,          G, underscore,         ENG ] };
    key <AC07>  { [         j,          J, apostrophe,   dead_horn ] };
    key <AC08>  { [         k,          K,      minus,      degree ] };
    key <AC09>  { [         l,          L,       plus,     Lstroke ] };
    key <AC11>  { [  question,   asterisk,         at,  dead_caron ] };

    key <AB01>  { [         y,          Y, asciicircum,       less ] };
    key <AB02>  { [         x,          X,      degree,    greater ] };
    key <AB07>  { [         m,          M,    Greek_mu,      U039C ] };
    key <AB09>  { [    period,      colon,       U263A,   division ] };

    key <AB08>  { [     comma,    semicolon, XF86Option,  multiply ] };
};

default  partial alphanumeric_keys
xkb_symbols "ch-de" {
    include "planet_vndr/cosmo(de)"

    name[Group1]="Cosmo Swiss German";

    key <AE01>  { [         1,       plus,        U00A7,               F1 ] };
    key <AE03>  { [         3,   asterisk,       dollar,               F3 ] };
    key <AE04>  { [         4,      U00E7,     EuroSign,            U00A3 ] };
    key <AE07>  { [         7,      slash,    backslash,               F7 ] };
    key <AE08>  { [         8,  parenleft,  bracketleft,        braceleft ] };
    key <AE09>  { [         9, parenright, bracketright,       braceright ] };
    key <AE10>  { [         0,      equal,   asciitilde,              F10 ] };
    key <AD10>  { [         p,          P,        U00C9,     XF86TaskPane ] };
    key <AC05>  { [         g,          G, XF86TaskPane,              ENG ] };
    key <AC06>  { [         h,          H,           at,   dead_diaeresis ] };
    key <AC08>  { [         k,          K,     question,           degree ] };
    key <AC09>  { [         l,          L,        U00E9,          Lstroke ] };
    key <AC11>  { [     minus, underscore,        U00C0,       dead_caron ] };
    key <AB07>  { [         m,          M,       exclam,            U039C ] };

};

default  partial alphanumeric_keys
xkb_symbols "at" {
    include "planet_vndr/cosmo(de)"

    name[Group1]="Cosmo Austrian";
};

default  partial alphanumeric_keys
xkb_symbols "fr" {
    include "planet_vndr/cosmo(modifiers)"
    include "planet_vndr/cosmo(common_keys)"

    name[Group1]="Cosmo French";

    key <AE01>	{ [ ampersand,          1,   asciitilde,   F1 ] };
    key <AE02>	{ [    eacute,          2,   numbersign,   F2 ] };
    key <AE03>	{ [  quotedbl,          3,    backslash,   F3 ] };
    key <AE04>	{ [apostrophe,          4,     EuroSign,   F4 ] };
    key <AE05>	{ [ parenleft,          5,   parenright,   F5 ] };
    key <AE06>	{ [     minus,          6,         plus,   F6 ] };
    key <AE07>	{ [    egrave,          7,  bracketleft,   F7 ] };
    key <AE08>	{ [underscore,          8, bracketright,   F8 ] };
    key <AE09>	{ [  ccedilla,          9,  asciicircum,   F9 ] };
    key <AE10>	{ [    agrave,          0,        equal,  F10 ] };

    key <AD01>	{ [         a,          A,XF86AudioPlay,           AE ]	};
    key <AD02>	{ [         z,          Z,XF86AudioPrev,         less ]	};
    key <AD03>	{ [         e,          E,XF86AudioNext,         cent ]	};
    key <AD04>  { [         r,          R,          bar,   registered ] };
    key <AD05>  { [         t,          T,XF86AudioMute,          yen ] };
    key <AD06>  { [         y,          Y,     NoSymbol,   rightarrow ] };
    key <AD07>  { [         u,          U,    braceleft,      uparrow ] };
    key <AD08>  { [         i,          I,   braceright,    plusminus ] };
    key <AD09>  { [         o,          O,       dollar,     Ooblique ] };
    key <AD10>  { [         p,          P,     asterisk,        THORN ] };

    key <AC01>  { [         q,          Q, XF86TaskPane, dead_doubleacute ] };
    key <AC02>  { [         s,          S,      section,          notsign ] };
    key <AC03>  { [         d,          D,  XF86TopMenu,       dead_breve ] };
    key <AC04>  { [         f,          F,      XF86UWB,   dead_abovering ] };
    key <AC05>  { [         g,          G,   underscore,      dead_macron ] };
    key <AC06>  { [         h,          H,        Print,   dead_diaeresis ] };
    key <AC07>  { [         j,          J,      percent,  dead_circumflex ] };
    key <AC08>  { [         k,          K,       exclam,       exclamdown ] };
    key <AC09>  { [         l,          L,           at,       dead_caron ] };
    key <AC11>  { [         m,          M,           mu,       dead_acute ] };

    key <AB01>  { [         w,          W,                 less,        guillemotleft ] };
    key <AB02>  { [         x,          X,              greater,       guillemotright ] };
    key <AB03>  { [         c,          C, XF86AudioLowerVolume,            copyright ] };
    key <AB04>  { [         v,          V, XF86AudioRaiseVolume,        dead_belowdot ] };
    key <AB05>  { [         b,          B,XF86MonBrightnessDown,XF86KbdBrightnessDown ] };
    key <AB06>  { [         n,          N,  XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>  { [ semicolon,     period,                grave,           dead_grave ] };
    key <AB09>  { [     colon,      slash,                U263A,           dead_tilde ] };

    key <AB08>  { [     comma,   question, XF86Option,   multiply ] };
};

default  partial alphanumeric_keys
xkb_symbols "be" {
    include "planet_vndr/cosmo(fr)"

    name[Group1]="Cosmo Belgian";
};

default  partial alphanumeric_keys
xkb_symbols "pt" {
    include "planet_vndr/cosmo(gb)"

    name[Group1]="Cosmo Portuguese";

    key <AE01>  { [         1,     exclam,          bar,    F1 ] };
    key <AE02>  { [         2,   quotedbl,           at,    F2 ] };
    key <AE03>  { [         3, numbersign,     sterling,    F3 ] };
    key <AE04>  { [         4,     dollar,   asciitilde,    F4 ] };
    key <AE05>  { [         5,    percent,     EuroSign,    F5 ] };
    key <AE06>  { [         6,  ampersand,     asterisk,    F6 ] };
    key <AE07>  { [         7,      slash,    braceleft,    F7 ] };
    key <AE08>  { [         8,  parenleft,  bracketleft,    F8 ] };
    key <AE09>  { [         9, parenright, bracketright,    F9 ] };
    key <AE10>  { [         0,      equal,   braceright,   F10 ] };

    key <AD06>  { [         y,          Y,      U00A2,          yen ] };
    key <AD07>  { [         u,          U,       plus,      uparrow ] };
    key <AD08>  { [         i,          I,      minus,    plusminus ] };
    key <AD09>  { [         o,          O,   question,     Ooblique ] };
    key <AD10>  { [         p,          P, apostrophe,        grave ] };

    key <AC02>  { [         s,          S,   backslash,      section ] };
    key <AC05>  { [         g,          G, asciicircum,          ENG ] };
    key <AC06>  { [         h,          H,       U226A,      Hstroke ] };
    key <AC07>  { [         j,          J,       U226B,    dead_horn ] };
    key <AC08>  { [         k,          K,  underscore,       degree ] };
    key <AC09>  { [         l,          L,       U00BA,      Lstroke ] };
    key <AC11>  { [     U00E7,      U00C7,       U00AA,   dead_caron ] };

    key <AB01>  { [         z,          Z,    less,       less ] };
    key <AB02>  { [         x,          X, greater,    greater ] };
    key <AB07>  { [         m,          M,   U20A2,  masculine ] };
    key <AB09>  { [    period,      colon,   U263A,   division ] };

    key <AB08>  { [     comma,  semicolon, XF86Option,   multiply ] };
};

default  partial alphanumeric_keys
xkb_symbols "ru" {
    include "planet_vndr/cosmo(modifiers)"
    include "planet_vndr/cosmo(common_keys)"
    include "group(shifts_toggle)"

    name[Group2] = "Cosmo Russian";
    name[Group1] = "Cosmo English";

    // 1. row
    key <AE01>	{ symbols[Group1] = [         1,      exclam,           at,    F1 ] };
    key <AE02>	{ symbols[Group1] = [         2,    quotedbl,   numbersign,    F2 ] };
    key <AE03>	{ symbols[Group1] = [         3,    sterling,    backslash,    F3 ] };
    key <AE04>	{ symbols[Group1] = [         4,      dollar,     EuroSign,    F4 ] };
    key <AE05>	{ symbols[Group1] = [         5,     percent,         less,    F5 ] };
    key <AE06>	{ symbols[Group1] = [         6, asciicircum,      greater,    F6 ] };
    key <AE07>	{ symbols[Group1] = [         7,   ampersand,  bracketleft,    F7 ] };
    key <AE08>	{ symbols[Group1] = [         8,    asterisk, bracketright,    F8 ] };
    key <AE09>	{ symbols[Group1] = [         9,   parenleft,    braceleft,    F9 ] };
    key <AE10>	{ symbols[Group1] = [         0,  parenright,   braceright,   F10 ] };

    key <AE01>	{ symbols[Group2] = [         1,      exclam,           at,    F1 ] };
    key <AE02>	{ symbols[Group2] = [         2,    quotedbl,   numbersign,    F2 ] };
    key <AE03>	{ symbols[Group2] = [         3,    sterling,    backslash,    F3 ] };
    key <AE04>	{ symbols[Group2] = [         4,      dollar,     EuroSign,    F4 ] };
    key <AE05>	{ symbols[Group2] = [         5,     percent,         less,    F5 ] };
    key <AE06>	{ symbols[Group2] = [         6, asciicircum,      greater,    F6 ] };
    key <AE07>	{ symbols[Group2] = [         7,   ampersand,  bracketleft,    F7 ] };
    key <AE08>	{ symbols[Group2] = [         8,    asterisk, bracketright,    F8 ] };
    key <AE09>	{ symbols[Group2] = [         9,   parenleft,    braceleft,    F9 ] };
    key <AE10>	{ symbols[Group2] = [         0,  parenright,   braceright,   F10 ] };

    // 2. row
    key <AD01>	{ symbols[Group1] = [	q,			Q,     XF86AudioPlay,       Greek_OMEGA ] };
    key <AD02>	{ symbols[Group1] = [	w,			W,     XF86AudioPrev,           Lstroke ] };
    key <AD03>	{ symbols[Group1] = [	e,			E,      F86AudioNext,         trademark ] };
    key <AD04>	{ symbols[Group1] = [	r,			R,        underscore,        registered ] };
    key <AD05>	{ symbols[Group1] = [	t,			T,     XF86AudioMute,            Tslash ] };
    key <AD06>	{ symbols[Group1] = [	y,			Y,       Cyrillic_ha,       Cyrillic_HA ] };
    key <AD07>	{ symbols[Group1] = [	u,			U, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
    key <AD08>	{ symbols[Group1] = [	i,			I,              plus,         plusminus ] };
    key <AD09>	{ symbols[Group1] = [	o,			O,             minus,          Ooblique ] };
    key <AD10>	{ symbols[Group1] = [	p,			P,             equal,             THORN ] };

    key <AD01>	{ symbols[Group2] = [ Cyrillic_shorti, Cyrillic_SHORTI,     XF86AudioPlay,       Greek_OMEGA ] };
    key <AD02>	{ symbols[Group2] = [    Cyrillic_tse,    Cyrillic_TSE,     XF86AudioPrev,           Lstroke ] };
    key <AD03>	{ symbols[Group2] = [      Cyrillic_u,      Cyrillic_U,      F86AudioNext,         trademark ] };
    key <AD04>	{ symbols[Group2] = [     Cyrillic_ka,     Cyrillic_KA,        underscore,        registered ] };
    key <AD05>	{ symbols[Group2] = [     Cyrillic_ie,     Cyrillic_IE,     XF86AudioMute,            Tslash ] };
    key <AD06>	{ symbols[Group2] = [     Cyrillic_en,     Cyrillic_EN,       Cyrillic_ha,       Cyrillic_HA ] };
    key <AD07>	{ symbols[Group2] = [    Cyrillic_ghe,    Cyrillic_GHE, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
    key <AD08>	{ symbols[Group2] = [    Cyrillic_sha,    Cyrillic_SHA,              plus,         plusminus ] };
    key <AD09>	{ symbols[Group2] = [  Cyrillic_shcha,  Cyrillic_SHCHA,             minus,          Ooblique ] };
    key <AD10>	{ symbols[Group2] = [     Cyrillic_ze,     Cyrillic_ZE,             equal,             THORN ] };

    // 3. row
    key <AC01>	{ symbols[Group1] = [          a,          A,   XF86TaskPane,              AE ] };
    key <AC02>	{ symbols[Group1] = [          s,          S, Cyrillic_shcha, Cyrillic_SCHCHA ] };
    key <AC03>	{ symbols[Group1] = [          d,          D,    XF86TopMenu,             ETH ] };
    key <AC04>	{ symbols[Group1] = [          f,          F,        XF86UWB,     ordfeminine ] };
    key <AC05>	{ symbols[Group1] = [          g,          G,   Cyrillic_zhe,    Cyrillic_ZHE ] };
    key <AC06>	{ symbols[Group1] = [          h,          H,     Cyrillic_e,      Cyrillic_E ] };
    key <AC07>	{ symbols[Group1] = [          j,          J,    Cyrillic_yu,     Cyrillic_YU ] };
    key <AC08>	{ symbols[Group1] = [          k,          K,    Cyrillic_io,     Cyrillic_IO ] };
    key <AC09>	{ symbols[Group1] = [          l,          L,          slash,         Lstroke ] };
    key <AC11>	{ symbols[Group1] = [ apostrophe, asciitilde,          colon,      dead_caron ] };

    key <AC01>	{ symbols[Group2] = [     Cyrillic_ef,      Cyrillic_EF,   XF86TaskPane,              AE ] };
    key <AC02>	{ symbols[Group2] = [   Cyrillic_yeru,    Cyrillic_YERU, Cyrillic_shcha, Cyrillic_SCHCHA ] };
    key <AC03>	{ symbols[Group2] = [     Cyrillic_ve,      Cyrillic_VE,    XF86TopMenu,             ETH ] };
    key <AC04>	{ symbols[Group2] = [      Cyrillic_a,       Cyrillic_A,        XF86UWB,     ordfeminine ] };
    key <AC05>	{ symbols[Group2] = [     Cyrillic_pe,      Cyrillic_PE,   Cyrillic_zhe,    Cyrillic_ZHE ] };
    key <AC06>	{ symbols[Group2] = [     Cyrillic_er,      Cyrillic_ER,     Cyrillic_e,      Cyrillic_E ] };
    key <AC07>	{ symbols[Group2] = [      Cyrillic_o,       Cyrillic_O,    Cyrillic_yu,     Cyrillic_YU ] };
    key <AC08>	{ symbols[Group2] = [     Cyrillic_el,      Cyrillic_EL,    Cyrillic_io,     Cyrillic_IO ] };
    key <AC09>	{ symbols[Group2] = [     Cyrillic_de,      Cyrillic_DE,          slash,         Lstroke ] };
    key <AC11>	{ symbols[Group2] = [      apostrophe,       asciitilde,          colon,      dead_caron ] };

    // 4. row
    key <AB01>	{ symbols[Group1] = [            z,            Z,                   bar,        guillemotleft ] };
    key <AB02>	{ symbols[Group1] = [            x,            X,                 Print,       guillemotright ] };
    key <AB03>	{ symbols[Group1] = [            c,            C,  XF86AudioLowerVolume,            copyright ] };
    key <AB04>	{ symbols[Group1] = [            v,            V,  XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>	{ symbols[Group1] = [            b,            B, XF86MonBrightnessDown,XF86KbdBrightnessDown ] };
    key <AB06>	{ symbols[Group1] = [            n,            N,   XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>	{ symbols[Group1] = [            m,            M,           Cyrillic_be,          Cyrillic_be ] };
    key <AB09>	{ symbols[Group1] = [       period,     question,                 U263A,             division ] };

    key <AB01>	{ symbols[Group2] = [       Cyrillic_ya,       Cyrillic_YA,                   bar,        guillemotleft ] };
    key <AB02>	{ symbols[Group2] = [      Cyrillic_che,      Cyrillic_CHE,                 Print,       guillemotright ] };
    key <AB03>	{ symbols[Group2] = [       Cyrillic_es,       Cyrillic_ES,  XF86AudioLowerVolume,            copyright ] };
    key <AB04>	{ symbols[Group2] = [       Cyrillic_em,       Cyrillic_EM,  XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>	{ symbols[Group2] = [        Cyrillic_i,        Cyrillic_I, XF86MonBrightnessDown,XF86KbdBrightnessDown ] };
    key <AB06>	{ symbols[Group2] = [       Cyrillic_te,       Cyrillic_TE,   XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>	{ symbols[Group2] = [ Cyrillic_softsign, Cyrillic_SOFTSIGN,           Cyrillic_be,          Cyrillic_BE ] };
    key <AB09>	{ symbols[Group2] = [            period,          question,                 U263A,             division ] };

    key <AB08>  { symbols[Group1] = [     comma,      semicolon, XF86Option,   multiply ] };
    key <AB08>  { symbols[Group2] = [     comma,      semicolon, XF86Option,   multiply ] };

};

default  partial alphanumeric_keys
xkb_symbols "jp" {
    include "planet_vndr/cosmo(gb)"
    include "group(shifts_toggle)"

    name[Group1] = "Cosmo English";
    name[Group2] = "Cosmo Japanese (Kana)";

    // 1. row
    key <AE01>	{ symbols[Group1] = [         1,      exclam,          bar,    F1 ] };
    key <AE02>	{ symbols[Group1] = [         2,    quotedbl,        grave,    F2 ] };
    key <AE03>	{ symbols[Group1] = [         3,  numbersign,    backslash,    F3 ] };
    key <AE04>	{ symbols[Group1] = [         4,      dollar,          yen,    F4 ] };
    key <AE05>	{ symbols[Group1] = [         5,     percent,         less,    F5 ] };
    key <AE06>	{ symbols[Group1] = [         6,   ampersand,      greater,    F6 ] };
    key <AE07>	{ symbols[Group1] = [         7,  apostrophe,  bracketleft,      braceleft ] };
    key <AE08>	{ symbols[Group1] = [         8,   parenleft, bracketright,     braceright ] };
    key <AE09>	{ symbols[Group1] = [         9,  parenright,      kana_HO,             F9 ] };
    key <AE10>	{ symbols[Group1] = [         0,  asciitilde,      kana_HE, prolongedsound ] };

    key <AE01>	{ symbols[Group2] = [   kana_NU,      exclam,          bar,    F1 ] };
    key <AE02>	{ symbols[Group2] = [   kana_FU,    quotedbl,   numbersign,    F2 ] };
    key <AE03>	{ symbols[Group2] = [    kana_A,      kana_a,    backslash,    F3 ] };
    key <AE04>	{ symbols[Group2] = [    kana_U,      kana_u,     EuroSign,    F4 ] };
    key <AE05>	{ symbols[Group2] = [    kana_E,      kana_e,         less,    F5 ] };
    key <AE06>	{ symbols[Group2] = [    kana_O,      kana_o,      greater,    F6 ] };
    key <AE07>	{ symbols[Group2] = [   kana_YA,     kana_ya,  bracketleft,      braceleft ] };
    key <AE08>	{ symbols[Group2] = [   kana_YU,     kana_yu, bracketright,     braceright ] };
    key <AE09>	{ symbols[Group2] = [   kana_YO,     kana_yo,      kana_HO,             F9 ] };
    key <AE10>	{ symbols[Group2] = [   kana_WA,     kana_WO,      kana_HE, prolongedsound ] };

    // 2. row
    key <AD01>	{ symbols[Group1] = [	q,			Q,    ISO_Next_Group,      ISO_Prev_Group ] };
    key <AD02>	{ symbols[Group1] = [	w,			W,     XF86AudioPrev,             Lstroke ] };
    key <AD03>	{ symbols[Group1] = [	e,			E,      F86AudioNext,           trademark ] };
    key <AD04>	{ symbols[Group1] = [	r,			R,             Print,          registered ] };
    key <AD05>	{ symbols[Group1] = [	t,			T,     XF86AudioMute,              Tslash ] };
    key <AD06>	{ symbols[Group1] = [	y,			Y,             slash,           leftarrow ] };
    key <AD07>	{ symbols[Group1] = [	u,			U,         downarrow,             uparrow ] };
    key <AD08>	{ symbols[Group1] = [	i,			I,             equal,           plusminus ] };
    key <AD09>	{ symbols[Group1] = [	o,			O,       voicedsound,            Ooblique ] };
    key <AD10>	{ symbols[Group1] = [	p,			P,   semivoicedsound,               THORN ] };

    key <AD01>	{ symbols[Group2] = [    kana_TA,             kana_TA,    ISO_Next_Group,      ISO_Prev_Group ] };
    key <AD02>	{ symbols[Group2] = [    kana_TE,             kana_TE,     XF86AudioPrev,             Lstroke ] };
    key <AD03>	{ symbols[Group2] = [     kana_I,              kana_i,      F86AudioNext,           trademark ] };
    key <AD04>	{ symbols[Group2] = [    kana_SU,             kana_SU,             Print,             Execute ] };
    key <AD05>	{ symbols[Group2] = [    kana_KA,             kana_KA,     XF86AudioMute,              Tslash ] };
    key <AD06>	{ symbols[Group2] = [     kana_N,              kana_N,             slash,           leftarrow ] };
    key <AD07>	{ symbols[Group2] = [    kana_NA,             kana_NA,         downarrow,             uparrow ] };
    key <AD08>	{ symbols[Group2] = [    kana_NI,             kana_NI,             equal,           plusminus ] };
    key <AD09>	{ symbols[Group2] = [    kana_RA, kana_openingbracket,       voicedsound,            Ooblique ] };
    key <AD10>	{ symbols[Group2] = [    kana_SE, kana_closingbracket,   semivoicedsound,               THORN ] };

    // 3. row
    key <AC01>	{ symbols[Group1] = [          a,          A, XF86TaskPane,           AE ] };
    key <AC02>	{ symbols[Group1] = [          s,          S, F86AudioPlay,      section ] };
    key <AC03>	{ symbols[Group1] = [          d,          D,  XF86TopMenu,          ETH ] };
    key <AC04>	{ symbols[Group1] = [          f,          F,      XF86UWB,  ordfeminine ] };
    key <AC05>	{ symbols[Group1] = [          g,          G,        U263A,     division ] };
    key <AC06>	{ symbols[Group1] = [          h,          H,   underscore,       degree ] };
    key <AC07>	{ symbols[Group1] = [          j,          J,           at,          ENG ] };
    key <AC08>	{ symbols[Group1] = [          k,          K,     question,      Hstroke ] };
    key <AC09>	{ symbols[Group1] = [          l,          L,    semicolon,      Lstroke ] };
    key <AC11>	{ symbols[Group1] = [      colon,   asterisk,   XF86Option,   dead_caron ] };

    key <TAB>   { symbols[Group2] = [    Tab, ISO_Left_Tab,    Caps_Lock,  Eisu_toggle ] };

    key <AC01>	{ symbols[Group2] = [ kana_CHI,   kana_CHI, XF86TaskPane,           AE ] };
    key <AC02>	{ symbols[Group2] = [  kana_TO,    kana_TO, F86AudioPlay,      section ] };
    key <AC03>	{ symbols[Group2] = [ kana_SHI,   kana_SHI,  XF86TopMenu,          ETH ] };
    key <AC04>	{ symbols[Group2] = [  kana_HA,    kana_HA,      XF86UWB,  ordfeminine ] };
    key <AC05>	{ symbols[Group2] = [  kana_KI,    kana_KI,        U263A,     division ] };
    key <AC06>	{ symbols[Group2] = [  kana_KU,    kana_KU,   underscore,       degree ] };
    key <AC07>	{ symbols[Group2] = [  kana_MA,    kana_MA,           at,          ENG ] };
    key <AC08>	{ symbols[Group2] = [  kana_NO,    kana_NO,     question,      Hstroke ] };
    key <AC09>	{ symbols[Group2] = [  kana_RI,    kana_KE,    semicolon,      Lstroke ] };
    key <AC11>	{ symbols[Group2] = [  kana_RE,    kana_MU,   XF86Option,   dead_caron ] };

    // 4. row
    key <AB01>	{ symbols[Group1] = [            z,            Z,           asciicircum,        guillemotleft ] };
    key <AB02>	{ symbols[Group1] = [            x,            X,             dead_horn,       guillemotright ] };
    key <AB03>	{ symbols[Group1] = [            c,            C,  XF86AudioLowerVolume,            copyright ] };
    key <AB04>	{ symbols[Group1] = [            v,            V,  XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>	{ symbols[Group1] = [            b,            B, XF86MonBrightnessDown,XF86KbdBrightnessDown ] };
    key <AB06>	{ symbols[Group1] = [            n,            N,   XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>	{ symbols[Group1] = [            m,            M,               kana_ME,            masculine ] };
    key <AB09>	{ symbols[Group1] = [       period,         plus,               kana_RO,             division ] };

    key <AB01>	{ symbols[Group2] = [   kana_TSU,      kana_tsu,           asciicircum,        guillemotleft ] };
    key <AB02>	{ symbols[Group2] = [    kana_SA,       kana_SA,             dead_horn,       guillemotright ] };
    key <AB03>	{ symbols[Group2] = [    kana_SO,       kana_SO,  XF86AudioLowerVolume,            copyright ] };
    key <AB04>	{ symbols[Group2] = [    kana_HI,       kana_HI,  XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>	{ symbols[Group2] = [    kana_KO,       kana_KO, XF86MonBrightnessDown,XF86KbdBrightnessDown ] };
    key <AB06>	{ symbols[Group2] = [    kana_MI,       kana_MI,   XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>	{ symbols[Group2] = [    kana_MO,    kana_comma,               kana_ME,            masculine ] };
    key <AB09>	{ symbols[Group2] = [    kana_RU, kana_fullstop,               kana_RO,             division ] };

    key <AB08>  { symbols[Group1] = [     comma,            minus, ISO_First_Group,   ISO_First_Group ] };
    key <AB08>  { symbols[Group2] = [   kana_NE,       kana_comma, ISO_First_Group,   ISO_First_Group ] };

    key <LALT>  { symbols[Group1] = [ Alt_L, Alt_L, ISO_Last_Group,   ISO_Last_Group ] };
    key <LALT>  { symbols[Group2] = [ Alt_L, Alt_L, ISO_Last_Group,   ISO_Last_Group ] };

    //Possible additional keys that might be useful to native users - Massyo, Touroku, Zenkaku_Hankaku, Kanji, Muhenkan, Henkan, Hiragana_Katakana, Romaji, Mode_switch
};

default  partial alphanumeric_keys
xkb_symbols "ara" {
    include "planet_vndr/cosmo(gb)"
    include "group(shifts_toggle)"

    name[Group1] = "Cosmo English";
    name[Group2] = "Cosmo Arabic";

    // 1. row - Note Persian numbers on Fn+Shift+number
    key <AE01>	{ symbols[Group1] = [         1,      exclam,  Arabic_thal,    F1 ] };
    key <AE02>	{ symbols[Group1] = [         2,          at,   numbersign,    F2 ] };
    key <AE03>	{ symbols[Group1] = [         3,  numbersign,    backslash,    F3 ] };
    key <AE04>	{ symbols[Group1] = [         4,      dollar,     EuroSign,    F4 ] };
    key <AE05>	{ symbols[Group1] = [         5,     percent,         less,    F5 ] };
    key <AE06>	{ symbols[Group1] = [         6, asciicircum,      greater,    F6 ] };
    key <AE07>	{ symbols[Group1] = [         7,   ampersand,  bracketleft,    F7 ] };
    key <AE08>	{ symbols[Group1] = [         8,    asterisk, bracketright,    F8 ] };
    key <AE09>	{ symbols[Group1] = [         9,   parenleft,        minus,    F9 ] };
    key <AE10>	{ symbols[Group1] = [         0,  parenright,         plus,   F10 ] };

    key <AE01>	{ symbols[Group2] = [         0x1000661,      exclam,  Arabic_thal,    0x10006f1 ] };
    key <AE02>	{ symbols[Group2] = [         0x1000662,          at,   numbersign,    0x10006f2 ] };
    key <AE03>	{ symbols[Group2] = [         0x1000663,  numbersign,    backslash,    0x10006f3 ] };
    key <AE04>	{ symbols[Group2] = [         0x1000664,      dollar,     EuroSign,    0x10006f4 ] };
    key <AE05>	{ symbols[Group2] = [         0x1000665,     percent,         less,    0x10006f5 ] };
    key <AE06>	{ symbols[Group2] = [         0x1000666, asciicircum,      greater,    0x10006f6 ] };
    key <AE07>	{ symbols[Group2] = [         0x1000667,   ampersand,  bracketleft,    0x10006f7 ] };
    key <AE08>	{ symbols[Group2] = [         0x1000668,    asterisk, bracketright,    0x10006f8 ] };
    key <AE09>	{ symbols[Group2] = [         0x1000669,   parenleft,        minus,    0x10006f9 ] };
    key <AE10>	{ symbols[Group2] = [         0x1000660,  parenright,         plus,    0x10006f0 ] };

    // 2. row
    key <AD01>	{ symbols[Group1] = [	q,			Q,     XF86AudioPlay,       Greek_OMEGA ] };
    key <AD02>	{ symbols[Group1] = [	w,			W,     XF86AudioPrev,           Lstroke ] };
    key <AD03>	{ symbols[Group1] = [	e,			E,      F86AudioNext,         trademark ] };
    key <AD04>	{ symbols[Group1] = [	r,			R,             Print,        registered ] };
    key <AD05>	{ symbols[Group1] = [	t,			T,     XF86AudioMute,            Tslash ] };
    key <AD06>	{ symbols[Group1] = [	y,			Y,        underscore,               yen ] };
    key <AD07>	{ symbols[Group1] = [	u,			U,          quotedbl,           uparrow ] };
    key <AD08>	{ symbols[Group1] = [	i,			I,             quote,         plusminus ] };
    key <AD09>	{ symbols[Group1] = [	o,			O,       Arabic_jeem,          Ooblique ] };
    key <AD10>	{ symbols[Group1] = [	p,			P,        Arabic_dal,             THORN ] };

    key <AD01>	{ symbols[Group2] = [   Arabic_dad,          Arabic_fatha,    XF86AudioPlay,  0x10006cc ] };
    key <AD02>	{ symbols[Group2] = [   Arabic_sad,       Arabic_fathatan,    XF86AudioPrev,  0x1000653 ] };
    key <AD03>	{ symbols[Group2] = [  Arabic_theh,          Arabic_damma,     F86AudioNext,  0x1000698 ] };
    key <AD04>	{ symbols[Group2] = [   Arabic_qaf,       Arabic_dammatan,            Print,  0x1000670 ] };
    key <AD05>	{ symbols[Group2] = [   Arabic_feh,             0x100fef9,    XF86AudioMute,  0x10006a4 ] };
    key <AD06>	{ symbols[Group2] = [ Arabic_ghain, Arabic_hamzaunderalef,       underscore,  0x100200c ] };
    key <AD07>	{ symbols[Group2] = [   Arabic_ain,  rightsinglequotemark,         quotedbl,  0x1000654 ] };
    key <AD08>	{ symbols[Group2] = [    Arabic_ha,              division,            quote,  0x10006a9 ] };
    key <AD09>	{ symbols[Group2] = [  Arabic_khah,              multiply,      Arabic_jeem,  0x10006af ] };
    key <AD10>	{ symbols[Group2] = [   Arabic_hah,      Arabic_semicolon,       Arabic_dal,  0x1000686 ] };

    // 3. row
    key <AC01>	{ symbols[Group1] = [          a,          A,         XF86TaskPane,              AE ] };
    key <AC02>	{ symbols[Group1] = [          s,          S,               ssharp,         section ] };
    key <AC03>	{ symbols[Group1] = [          d,          D,          XF86TopMenu,             ETH ] };
    key <AC04>	{ symbols[Group1] = [          f,          F,              XF86UWB,     ordfeminine ] };
    key <AC05>	{ symbols[Group1] = [          g,          G, Arabic_question_mark,             ENG ] };
    key <AC06>	{ symbols[Group1] = [          h,          H,              hstroke,         Hstroke ] };
    key <AC07>	{ symbols[Group1] = [          j,          J,             sterling,       dead_horn ] };
    key <AC08>	{ symbols[Group1] = [          k,          K,             question,          degree ] };
    key <AC09>	{ symbols[Group1] = [          l,          L,                  bar,         Lstroke ] };
    key <AC11>	{ symbols[Group1] = [ Arabic_kaf,      colon,           Arabic_tah,      dead_caron ] };

    key <AC01>	{ symbols[Group2] = [  Arabic_sheen,       Arabic_kasra,         XF86TaskPane,            AE ] };
    key <AC02>	{ symbols[Group2] = [   Arabic_seen,    Arabic_kasratan,               ssharp,       section ] };
    key <AC03>	{ symbols[Group2] = [    Arabic_yeh,       bracketright,          XF86TopMenu,           ETH ] };
    key <AC04>	{ symbols[Group2] = [    Arabic_beh,        bracketleft,              XF86UWB,     0x100067e ] };
    key <AC05>	{ symbols[Group2] = [    Arabic_lam,          0x100fef7, Arabic_question_mark,           ENG ] };
    key <AC06>	{ symbols[Group2] = [   Arabic_alef, Arabic_hamzaonalef,        Arabic_shadda,       Hstroke ] };
    key <AC07>	{ symbols[Group2] = [    Arabic_teh,     Arabic_tatweel,             sterling,     dead_horn ] };
    key <AC08>	{ symbols[Group2] = [   Arabic_noon,       Arabic_comma,             question,        degree ] };
    key <AC09>	{ symbols[Group2] = [   Arabic_meem,              slash,                  bar,       Lstroke ] };
    key <AC11>	{ symbols[Group2] = [    Arabic_kaf,              colon,           Arabic_tah,    dead_caron ] };

    // 4. row
    key <AB01>	{ symbols[Group1] = [            z,            Z,         guillemotleft,                 less ] };
    key <AB02>	{ symbols[Group1] = [            x,            X,        guillemotright,              greater ] };
    key <AB03>	{ symbols[Group1] = [            c,            C,  XF86AudioLowerVolume,            copyright ] };
    key <AB04>	{ symbols[Group1] = [            v,            V,  XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>	{ symbols[Group1] = [            b,            B, XF86MonBrightnessDown,XF86KbdBrightnessDown ] };
    key <AB06>	{ symbols[Group1] = [            n,            N,   XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>	{ symbols[Group1] = [            m,            M,            Arabic_zah,            masculine ] };
    key <AB09>	{ symbols[Group1] = [  Arabic_zain,       period,                 U263A,             division ] };

    key <AB01>	{ symbols[Group2] = [  Arabic_hamzaonyeh,         asciitilde,         guillemotleft,                 less ] };
    key <AB02>	{ symbols[Group2] = [       Arabic_hamza,       Arabic_sukun,        guillemotright,              greater ] };
    key <AB03>	{ symbols[Group2] = [  Arabic_hamzaonwaw,         braceright,  XF86AudioLowerVolume,            copyright ] };
    key <AB04>	{ symbols[Group2] = [          Arabic_ra,          braceleft,  XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>	{ symbols[Group2] = [          0x100fefb,          0x100fef5, XF86MonBrightnessDown,XF86KbdBrightnessDown ] };
    key <AB06>	{ symbols[Group2] = [ Arabic_alefmaksura, Arabic_maddaonalef,   XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>	{ symbols[Group2] = [  Arabic_tehmarbuta,         apostrophe,            Arabic_zah,            masculine ] };
    key <AB09>	{ symbols[Group2] = [        Arabic_zain,             period,                 U263A,             division ] };

    key <AB08>  { symbols[Group1] = [     Arabic_waw,      comma, XF86Option,   multiply ] };
    key <AB08>  { symbols[Group2] = [     Arabic_waw,      comma, XF86Option,   multiply ] };

};


default  partial alphanumeric_keys
xkb_symbols "cz" {
    include "planet_vndr/cosmo(gb)"
    include "group(shifts_toggle)"

    name[Group1] = "Cosmo Czech (qwertz)";
    name[Group2] = "Cosmo Czech (qwerty)";

    // 1. row
    key <AE01>	{ symbols[Group1] = [    plus,       1, asciicircum,    F1 ] };
    key <AE02>	{ symbols[Group1] = [  ecaron,       2,   backslash,    F2 ] };
    key <AE03>	{ symbols[Group1] = [  scaron,       3,         bar,    F3 ] };
    key <AE04>	{ symbols[Group1] = [  ccaron,       4,  asciitilde,    F4 ] };
    key <AE05>	{ symbols[Group1] = [  rcaron,       5,   parenleft,    F5 ] };
    key <AE06>	{ symbols[Group1] = [  zcaron,       6,   parenleft,    F6 ] };
    key <AE07>	{ symbols[Group1] = [  yacute,       7,   braceleft,    F7 ] };
    key <AE08>	{ symbols[Group1] = [  aacute,       8,  braceright,    F8 ] };
    key <AE09>	{ symbols[Group1] = [  iacute,       9,     percent,    F9 ] };
    key <AE10>	{ symbols[Group1] = [  eacute,       0,       equal,   F10 ] };

    key <AE01>	{ symbols[Group2] = [    plus,       1, asciicircum,    F1 ] };
    key <AE02>	{ symbols[Group2] = [  ecaron,       2,   backslash,    F2 ] };
    key <AE03>	{ symbols[Group2] = [  scaron,       3,         bar,    F3 ] };
    key <AE04>	{ symbols[Group2] = [  ccaron,       4,  asciitilde,    F4 ] };
    key <AE05>	{ symbols[Group2] = [  rcaron,       5,   parenleft,    F5 ] };
    key <AE06>	{ symbols[Group2] = [  zcaron,       6,   parenleft,    F6 ] };
    key <AE07>	{ symbols[Group2] = [  yacute,       7,   braceleft,    F7 ] };
    key <AE08>	{ symbols[Group2] = [  aacute,       8,  braceright,    F8 ] };
    key <AE09>	{ symbols[Group2] = [  iacute,       9,     percent,    F9 ] };
    key <AE10>	{ symbols[Group2] = [  eacute,       0,       equal,   F10 ] };


    // 2. row
    key <AD01>	{ symbols[Group1] = [	q,			Q,     XF86AudioPlay,       dead_abovering ] };
    key <AD02>	{ symbols[Group1] = [	w,			W,       bracketleft,           dead_tilde ] };
    key <AD03>	{ symbols[Group1] = [	e,			E,      bracketright,           dead_caron ] };
    key <AD04>	{ symbols[Group1] = [	r,			R,          EuroSign,      dead_circumflex ] };
    key <AD05>	{ symbols[Group1] = [	t,			T,             Print,           dead_breve ] };
    key <AD06>	{ symbols[Group1] = [	z,			Z,              less,          dead_ogonek ] };
    key <AD07>	{ symbols[Group1] = [	u,			U,           greater,           dead_grave ] };
    key <AD08>	{ symbols[Group1] = [	i,			I,             slash,        dead_abovedot ] };
    key <AD09>	{ symbols[Group1] = [	o,			O,        apostrophe,           dead_acute ] };
    key <AD10>	{ symbols[Group1] = [	p,			P,            uacute,     dead_doubleacute ] };

    key <AD01>	{ symbols[Group2] = [	q,			Q,     XF86AudioPlay,       dead_abovering ] };
    key <AD02>	{ symbols[Group2] = [	w,			W,       bracketleft,           dead_tilde ] };
    key <AD03>	{ symbols[Group2] = [	e,			E,      bracketright,           dead_caron ] };
    key <AD04>	{ symbols[Group2] = [	r,			R,          EuroSign,      dead_circumflex ] };
    key <AD05>	{ symbols[Group2] = [	t,			T,             Print,           dead_breve ] };
    key <AD06>	{ symbols[Group2] = [	y,			Y,              less,          dead_ogonek ] };
    key <AD07>	{ symbols[Group2] = [	u,			U,           greater,           dead_grave ] };
    key <AD08>	{ symbols[Group2] = [	i,			I,             slash,        dead_abovedot ] };
    key <AD09>	{ symbols[Group2] = [	o,			O,        apostrophe,           dead_acute ] };
    key <AD10>	{ symbols[Group2] = [	p,			P,            uacute,     dead_doubleacute ] };

    // 3. row
    key <AC01>	{ symbols[Group1] = [          a,          A, XF86TaskPane,             AE ] };
    key <AC02>	{ symbols[Group1] = [          s,          S,           at,        section ] };
    key <AC03>	{ symbols[Group1] = [          d,          D,  XF86TopMenu, dead_diaeresis ] };
    key <AC04>	{ symbols[Group1] = [          f,          F,      XF86UWB,    dead_macron ] };
    key <AC05>	{ symbols[Group1] = [          g,          G,       dollar,   dead_cedilla ] };
    key <AC06>	{ symbols[Group1] = [          h,          H,     asterisk,         degree ] };
    key <AC07>	{ symbols[Group1] = [          j,          J,     quotedbl,         ssharp ] };
    key <AC08>	{ symbols[Group1] = [          k,          K,       exclam,        Hstroke ] };
    key <AC09>	{ symbols[Group1] = [          l,          L,    semicolon,        Lstroke ] };
    key <AC11>	{ symbols[Group1] = [      minus, underscore,        uring,     dead_caron ] };

    key <AC01>	{ symbols[Group2] = [          a,          A, XF86TaskPane,             AE ] };
    key <AC02>	{ symbols[Group2] = [          s,          S,           at,        section ] };
    key <AC03>	{ symbols[Group2] = [          d,          D,  XF86TopMenu, dead_diaeresis ] };
    key <AC04>	{ symbols[Group2] = [          f,          F,      XF86UWB,    dead_macron ] };
    key <AC05>	{ symbols[Group2] = [          g,          G,       dollar,   dead_cedilla ] };
    key <AC06>	{ symbols[Group2] = [          h,          H,     asterisk,         degree ] };
    key <AC07>	{ symbols[Group2] = [          j,          J,     quotedbl,         ssharp ] };
    key <AC08>	{ symbols[Group2] = [          k,          K,       exclam,        Hstroke ] };
    key <AC09>	{ symbols[Group2] = [          l,          L,    semicolon,        Lstroke ] };
    key <AC11>	{ symbols[Group2] = [      minus, underscore,        uring,     dead_caron ] };

    // 4. row
    key <AB01>	{ symbols[Group1] = [            y,            Y,            numbersign,        guillemotleft ] };
    key <AB02>	{ symbols[Group1] = [            x,            X,             ampersand,       guillemotright ] };
    key <AB03>	{ symbols[Group1] = [            c,            C,  XF86AudioLowerVolume,            copyright ] };
    key <AB04>	{ symbols[Group1] = [            v,            V,  XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>	{ symbols[Group1] = [            b,            B, XF86MonBrightnessDown,XF86KbdBrightnessDown ] };
    key <AB06>	{ symbols[Group1] = [            n,            N,   XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>	{ symbols[Group1] = [            m,            M,                 grave,            masculine ] };
    key <AB09>	{ symbols[Group1] = [       period,        colon,                 U263A,             division ] };

    key <AB01>	{ symbols[Group2] = [            z,            Z,            numbersign,        guillemotleft ] };
    key <AB02>	{ symbols[Group2] = [            x,            X,             ampersand,       guillemotright ] };
    key <AB03>	{ symbols[Group2] = [            c,            C,  XF86AudioLowerVolume,            copyright ] };
    key <AB04>	{ symbols[Group2] = [            v,            V,  XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>	{ symbols[Group2] = [            b,            B, XF86MonBrightnessDown,XF86KbdBrightnessDown ] };
    key <AB06>	{ symbols[Group2] = [            n,            N,   XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>	{ symbols[Group2] = [            m,            M,                 grave,            masculine ] };
    key <AB09>	{ symbols[Group2] = [       period,        colon,                 U263A,             division ] };

    key <AB08>  { symbols[Group1] = [     comma,       question, XF86Option,   multiply ] };
    key <AB08>  { symbols[Group2] = [     comma,       question, XF86Option,   multiply ] };
};

default  partial alphanumeric_keys
xkb_symbols "sk" {
    include "planet_vndr/cosmo(gb)"
    include "group(shifts_toggle)"

    name[Group1] = "Cosmo Slovak";
    name[Group2] = "Cosmo Slovak (qwerty)";

    // 1. row
    key <AE01>	{ symbols[Group1] = [    plus,       1, asciicircum,    F1 ] };
    key <AE02>	{ symbols[Group1] = [  lcaron,       2,   backslash,    F2 ] };
    key <AE03>	{ symbols[Group1] = [  scaron,       3,         bar,    F3 ] };
    key <AE04>	{ symbols[Group1] = [  ccaron,       4,  asciitilde,    F4 ] };
    key <AE05>	{ symbols[Group1] = [  tcaron,       5,   parenleft,    F5 ] };
    key <AE06>	{ symbols[Group1] = [  zcaron,       6,   parenleft,    F6 ] };
    key <AE07>	{ symbols[Group1] = [  yacute,       7,   braceleft,    F7 ] };
    key <AE08>	{ symbols[Group1] = [  aacute,       8,  braceright,    F8 ] };
    key <AE09>	{ symbols[Group1] = [  iacute,       9,     percent,    F9 ] };
    key <AE10>	{ symbols[Group1] = [  eacute,       0,       equal,   F10 ] };

    key <AE01>	{ symbols[Group2] = [    plus,       1, asciicircum,    F1 ] };
    key <AE02>	{ symbols[Group2] = [  lcaron,       2,   backslash,    F2 ] };
    key <AE03>	{ symbols[Group2] = [  scaron,       3,         bar,    F3 ] };
    key <AE04>	{ symbols[Group2] = [  ccaron,       4,  asciitilde,    F4 ] };
    key <AE05>	{ symbols[Group2] = [  tcaron,       5,   parenleft,    F5 ] };
    key <AE06>	{ symbols[Group2] = [  zcaron,       6,   parenleft,    F6 ] };
    key <AE07>	{ symbols[Group2] = [  yacute,       7,   braceleft,    F7 ] };
    key <AE08>	{ symbols[Group2] = [  aacute,       8,  braceright,    F8 ] };
    key <AE09>	{ symbols[Group2] = [  iacute,       9,     percent,    F9 ] };
    key <AE10>	{ symbols[Group2] = [  eacute,       0,       equal,   F10 ] };


    // 2. row
    key <AD01>	{ symbols[Group1] = [	q,			Q,     XF86AudioPlay,       dead_abovering ] };
    key <AD02>	{ symbols[Group1] = [	w,			W,       bracketleft,           dead_tilde ] };
    key <AD03>	{ symbols[Group1] = [	e,			E,      bracketright,           dead_caron ] };
    key <AD04>	{ symbols[Group1] = [	r,			R,          EuroSign,      dead_circumflex ] };
    key <AD05>	{ symbols[Group1] = [	t,			T,             Print,           dead_breve ] };
    key <AD06>	{ symbols[Group1] = [	z,			Z,              less,          dead_ogonek ] };
    key <AD07>	{ symbols[Group1] = [	u,			U,           greater,           dead_grave ] };
    key <AD08>	{ symbols[Group1] = [	i,			I,             slash,        dead_abovedot ] };
    key <AD09>	{ symbols[Group1] = [	o,			O,        apostrophe,           dead_acute ] };
    key <AD10>	{ symbols[Group1] = [	p,			P,        adiaeresis,     dead_doubleacute ] };

    key <AD01>	{ symbols[Group2] = [	q,			Q,     XF86AudioPlay,       dead_abovering ] };
    key <AD02>	{ symbols[Group2] = [	w,			W,       bracketleft,           dead_tilde ] };
    key <AD03>	{ symbols[Group2] = [	e,			E,      bracketright,           dead_caron ] };
    key <AD04>	{ symbols[Group2] = [	r,			R,          EuroSign,      dead_circumflex ] };
    key <AD05>	{ symbols[Group2] = [	t,			T,             Print,           dead_breve ] };
    key <AD06>	{ symbols[Group2] = [	y,			Y,              less,          dead_ogonek ] };
    key <AD07>	{ symbols[Group2] = [	u,			U,           greater,           dead_grave ] };
    key <AD08>	{ symbols[Group2] = [	i,			I,             slash,        dead_abovedot ] };
    key <AD09>	{ symbols[Group2] = [	o,			O,        apostrophe,           dead_acute ] };
    key <AD10>	{ symbols[Group2] = [	p,			P,        adiaeresis,     dead_doubleacute ] };

    // 3. row
    key <AC01>	{ symbols[Group1] = [          a,          A, XF86TaskPane,             AE ] };
    key <AC02>	{ symbols[Group1] = [          s,          S,           at,        section ] };
    key <AC03>	{ symbols[Group1] = [          d,          D,  XF86TopMenu, dead_diaeresis ] };
    key <AC04>	{ symbols[Group1] = [          f,          F,      XF86UWB,    dead_macron ] };
    key <AC05>	{ symbols[Group1] = [          g,          G,       dollar,   dead_cedilla ] };
    key <AC06>	{ symbols[Group1] = [          h,          H,     asterisk,         degree ] };
    key <AC07>	{ symbols[Group1] = [          j,          J,     quotedbl,         ssharp ] };
    key <AC08>	{ symbols[Group1] = [          k,          K,       exclam,        Hstroke ] };
    key <AC09>	{ symbols[Group1] = [          l,          L,    semicolon,        Lstroke ] };
    key <AC11>	{ symbols[Group1] = [      minus, underscore,  ocircumflex,     dead_caron ] };

    key <AC01>	{ symbols[Group2] = [          a,          A, XF86TaskPane,             AE ] };
    key <AC02>	{ symbols[Group2] = [          s,          S,           at,        section ] };
    key <AC03>	{ symbols[Group2] = [          d,          D,  XF86TopMenu, dead_diaeresis ] };
    key <AC04>	{ symbols[Group2] = [          f,          F,      XF86UWB,    dead_macron ] };
    key <AC05>	{ symbols[Group2] = [          g,          G,       dollar,   dead_cedilla ] };
    key <AC06>	{ symbols[Group2] = [          h,          H,     asterisk,         degree ] };
    key <AC07>	{ symbols[Group2] = [          j,          J,     quotedbl,         ssharp ] };
    key <AC08>	{ symbols[Group2] = [          k,          K,       exclam,        Hstroke ] };
    key <AC09>	{ symbols[Group2] = [          l,          L,    semicolon,        Lstroke ] };
    key <AC11>	{ symbols[Group2] = [      minus, underscore,  ocircumflex,     dead_caron ] };

    // 4. row
    key <AB01>	{ symbols[Group1] = [            y,            Y,            numbersign,        guillemotleft ] };
    key <AB02>	{ symbols[Group1] = [            x,            X,             ampersand,       guillemotright ] };
    key <AB03>	{ symbols[Group1] = [            c,            C,  XF86AudioLowerVolume,            copyright ] };
    key <AB04>	{ symbols[Group1] = [            v,            V,  XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>	{ symbols[Group1] = [            b,            B, XF86MonBrightnessDown,XF86KbdBrightnessDown ] };
    key <AB06>	{ symbols[Group1] = [            n,            N,   XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>	{ symbols[Group1] = [            m,            M,                 grave,            masculine ] };
    key <AB09>	{ symbols[Group1] = [       period,        colon,                 U263A,             division ] };

    key <AB01>	{ symbols[Group2] = [            z,            Z,            numbersign,        guillemotleft ] };
    key <AB02>	{ symbols[Group2] = [            x,            X,             ampersand,       guillemotright ] };
    key <AB03>	{ symbols[Group2] = [            c,            C,  XF86AudioLowerVolume,            copyright ] };
    key <AB04>	{ symbols[Group2] = [            v,            V,  XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>	{ symbols[Group2] = [            b,            B, XF86MonBrightnessDown,XF86KbdBrightnessDown ] };
    key <AB06>	{ symbols[Group2] = [            n,            N,   XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>	{ symbols[Group2] = [            m,            M,                 grave,            masculine ] };
    key <AB09>	{ symbols[Group2] = [       period,        colon,                 U263A,             division ] };

    key <AB08>  { symbols[Group1] = [     comma,       question, XF86Option,   multiply ] };
    key <AB08>  { symbols[Group2] = [     comma,       question, XF86Option,   multiply ] };
};

default  partial alphanumeric_keys
xkb_symbols "hr" {
    include "planet_vndr/cosmo(modifiers)"
    include "planet_vndr/cosmo(common_keys)"

    name[Group1]="Cosmo Croatian";

    key <AE01>  { [         1,      exclam,   asciitilde,    F1 ] };
    key <AE02>  { [         2,    quotedbl,   numbersign,    F2 ] };
    key <AE03>  { [         3,        plus,    backslash,    F3 ] };
    key <AE04>  { [         4,      dollar,     EuroSign,    F4 ] };
    key <AE05>  { [         5,     percent,         less,    F5 ] };
    key <AE06>  { [         6,   ampersand,      greater,    F6 ] };
    key <AE07>  { [         7,       slash,  bracketleft,    F7 ] };
    key <AE08>  { [         8,   parenleft, bracketright,    F8 ] };
    key <AE09>  { [         9,  parenright,    braceleft,    F9 ] };
    key <AE10>  { [         0,       equal,   braceright,   F10 ] };

    key <AD01>  { [         q,          Q,XF86AudioPlay,  Greek_OMEGA ] };
    key <AD02>  { [         w,          W,XF86AudioPrev,      Lstroke ] };
    key <AD03>  { [         e,          E,XF86AudioNext,    trademark ] };
    key <AD04>  { [         r,          R,          bar,   registered ] };
    key <AD05>  { [         t,          T,XF86AudioMute,          yen ] };
    key <AD06>  { [         z,          Z,         plus,      uparrow ] };
    key <AD07>  { [         u,          U,        minus,    downarrow ] };
    key <AD08>  { [         i,          I,  asciicircum,    plusminus ] };
    key <AD09>  { [         o,          O,       scaron,      Sscaron ] };
    key <AD10>  { [         p,          P,      dstroke,      Dstroke ] };
// enter

    key <AC01>  { [         a,          A, XF86TaskPane,              AE ] };
    key <AC02>  { [         s,          S,        grave,         section ] };
    key <AC03>  { [         d,          D,  XF86TopMenu, dead_circumflex ] };
    key <AC04>  { [         f,          F,      XF86UWB,     ordfeminine ] };
    key <AC05>  { [         g,          G,   underscore,             ENG ] };
    key <AC06>  { [         h,          H,        Print,  dead_diaeresis ] };
    key <AC07>  { [         j,          J,       ccaron,          Ccaron ] };
    key <AC08>  { [         k,          K,       cacute,          Cacute ] };
    key <AC09>  { [         l,          L,       zcaron,          Zcaron ] };
    key <AC11>  { [  question,   asterisk,           at,      dead_acute ] };

// lshift
    key <AB01>  { [         y,          Y,        guillemotleft,        dead_belowdot ] };
    key <AB02>  { [         x,          X,       guillemotright,        dead_abovedot ] };
    key <AB03>  { [         c,          C, XF86AudioLowerVolume,            copyright ] };
    key <AB04>  { [         v,          V, XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>  { [         b,          B,XF86MonBrightnessDown,XF86KbdBrightnessDown ] };
    key <AB06>  { [         n,          N,  XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>  { [         m,          M,           apostrophe,           dead_grave ] };
    key <AB09>  { [    period,      colon,                U263A,           dead_tilde ] };
// rshift

// lctrl
// fn
// alt
    key <AB08>  { [     comma,   semicolon, XF86Option,   multiply ] };
};

default  partial alphanumeric_keys
xkb_symbols "it" {
    include "planet_vndr/cosmo(modifiers)"
    include "planet_vndr/cosmo(common_keys)"

    name[Group1]="Cosmo Italian";

    key <AE01>  { [         1,      exclam,    backslash,    F1 ] };
    key <AE02>  { [         2,    quotedbl,          bar,    F2 ] };
    key <AE03>  { [         3,    sterling,     EuroSign,    F3 ] };
    key <AE04>  { [         4,      dollar,           at,    F4 ] };
    key <AE05>  { [         5,     percent,        grave,    F5 ] };
    key <AE06>  { [         6,   ampersand,       degree,    F6 ] };
    key <AE07>  { [         7,       slash,  asciicircum,    F7 ] };
    key <AE08>  { [         8,   parenleft,   apostrophe,    F8 ] };
    key <AE09>  { [         9,  parenright,     question,    F9 ] };
    key <AE10>  { [         0,       equal,       igrave,   F10 ] };

    key <AD01>  { [         q,          Q,XF86AudioPlay,  Greek_OMEGA ] };
    key <AD02>  { [         w,          W,XF86AudioPrev,      Lstroke ] };
    key <AD03>  { [         e,          E,XF86AudioNext,    trademark ] };
    key <AD04>  { [         r,          R,        Print,   registered ] };
    key <AD05>  { [         t,          T,XF86AudioMute,          yen ] };
    key <AD06>  { [         y,          Y,  bracketleft,   rightarrow ] };
    key <AD07>  { [         u,          U, bracketright,      uparrow ] };
    key <AD08>  { [         i,          I,         plus,    plusminus ] };
    key <AD09>  { [         o,          O,     asterisk,     Ooblique ] };
    key <AD10>  { [         p,          P,   numbersign,        THORN ] };

    key <AC01>  { [         a,          A, XF86TaskPane,              AE ] };
    key <AC02>  { [         s,          S,   asciitilde,         section ] };
    key <AC03>  { [         d,          D,  XF86TopMenu,             ETH ] };
    key <AC04>  { [         f,          F,      XF86UWB,     ordfeminine ] };
    key <AC05>  { [         g,          G,        U263A,             ENG ] };
    key <AC06>  { [         h,          H,    braceleft,  dead_diaeresis ] };
    key <AC07>  { [         j,          J,   braceright, dead_circumflex ] };
    key <AC08>  { [         k,          K,       ograve,          degree ] };
    key <AC09>  { [         l,          L,       agrave,      dead_caron ] };
    key <AC11>  { [    egrave,     eacute,       ugrave,      dead_acute ] };

    key <AB01>  { [         z,          Z,                 less,        dead_belowdot ] };
    key <AB02>  { [         x,          X,              greater,        dead_abovedot ] };
    key <AB03>  { [         c,          C, XF86AudioLowerVolume,            copyright ] };
    key <AB04>  { [         v,          V, XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>  { [         b,          B,XF86MonBrightnessDown,XF86KbdBrightnessDown ] };
    key <AB06>  { [         n,          N,  XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>  { [         m,          M,           underscore,           dead_grave ] };
    key <AB09>  { [    period,      colon,                minus,           dead_tilde ] };

    key <AB08>  { [     comma,    semicolon, XF86Option,   multiply ] };
};

default  partial alphanumeric_keys
xkb_symbols "no" {
    include "planet_vndr/cosmo(modifiers)"
    include "planet_vndr/cosmo(common_keys)"

    name[Group1]="Cosmo Norwegian";

    key <AE01>  { [         1,      exclam,          bar,    F1 ] };
    key <AE02>  { [         2,    quotedbl,           at,    F2 ] };
    key <AE03>  { [         3,  numbersign,    backslash,    F3 ] };
    key <AE04>  { [         4,    currency,       dollar,    F4 ] };
    key <AE05>  { [         5,     percent,  asciicircum,    F5 ] };
    key <AE06>  { [         6,   ampersand,       degree,    F6 ] };
    key <AE07>  { [         7,       slash,    braceleft,    F7 ] };
    key <AE08>  { [         8,   parenleft,  bracketleft,    F8 ] };
    key <AE09>  { [         9,  parenright, bracketright,    F9 ] };
    key <AE10>  { [         0,       equal,   braceright,   F10 ] };

    key <AD01>  { [         q,          Q,XF86AudioPlay,  Greek_OMEGA ] };
    key <AD02>  { [         w,          W,XF86AudioPrev,      Lstroke ] };
    key <AD03>  { [         e,          E,XF86AudioNext,    trademark ] };
    key <AD04>  { [         r,          R,        Print,   registered ] };
    key <AD05>  { [         t,          T,XF86AudioMute,          yen ] };
    key <AD06>  { [         y,          Y,         plus,   rightarrow ] };
    key <AD07>  { [         u,          U,        minus,      uparrow ] };
    key <AD08>  { [         i,          I,   underscore,    plusminus ] };
    key <AD09>  { [         o,          O,       oslash,     Ooblique ] };
    key <AD10>  { [         p,          P,        aring,	    Aring ] };

    key <AC01>  { [         a,          A, XF86TaskPane,         cedilla ] };
    key <AC02>  { [         s,          S,       ssharp,          ogonek ] };
    key <AC03>  { [         d,          D,  XF86TopMenu,             ETH ] };
    key <AC04>  { [         f,          F,      XF86UWB,     ordfeminine ] };
    key <AC05>  { [         g,          G,        U263A,             ENG ] };
    key <AC06>  { [         h,          H,     sterling,  dead_diaeresis ] };
    key <AC07>  { [         j,          J,     EuroSign, dead_circumflex ] };
    key <AC08>  { [         k,          K,   asciitilde,          degree ] };
    key <AC09>  { [         l,          L,     asterisk,      dead_caron ] };
    key <AC11>  { [apostrophe,   question,           ae,              AE ] };

    key <AB01>  { [         z,          Z,        guillemotleft,        dead_belowdot ] };
    key <AB02>  { [         x,          X,       guillemotright,        dead_abovedot ] };
    key <AB03>  { [         c,          C, XF86AudioLowerVolume,            copyright ] };
    key <AB04>  { [         v,          V, XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>  { [         b,          B,XF86MonBrightnessDown,XF86KbdBrightnessDown ] };
    key <AB06>  { [         n,          N,  XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>  { [         m,          M,                grave,           dead_grave ] };
    key <AB09>  { [    period,      colon,              section,           dead_tilde ] };

    key <AB08>  { [     comma,   semicolon, XF86Option,   multiply ] };
};

default  partial alphanumeric_keys
xkb_symbols "dk" {
    include "planet_vndr/cosmo(no)"

    name[Group1]="Cosmo Danish";
};

default  partial alphanumeric_keys
xkb_symbols "dvorak-us" {
    include "planet_vndr/cosmo(modifiers)"
    include "planet_vndr/cosmo(common_keys)"

    name[Group1]="Cosmo English (Dvorak)";

    key <AE01>  { [         1,      exclam,        grave,    F1 ] };
    key <AE02>  { [         2,    quotedbl,   asciitilde,    F2 ] };
    key <AE03>  { [         3,  numbersign,     sterling,    F3 ] };
    key <AE04>  { [         4,      dollar,     EuroSign,    F4 ] };
    key <AE05>  { [         5,     percent,  bracketleft,    F5 ] };
    key <AE06>  { [         6, asciicircum, bracketright,    F6 ] };
    key <AE07>  { [         7,   ampersand,    braceleft,    F7 ] };
    key <AE08>  { [         8,    asterisk,   braceright,    F8 ] };
    key <AE09>  { [         9,   parenleft,        minus,    F9 ] };
    key <AE10>  { [         0,  parenright,        equal,   F10 ] };

    key <AD01>  { [ apostrophe, quotedbl, XF86AudioPlay,    Greek_OMEGA ] };
    key <AD02>  { [      comma,     less, XF86AudioPrev,        Lstroke ] };
    key <AD03>  { [     period,  greater, XF86AudioNext, periodcentered ] };
    key <AD04>  { [          p,        P,         Print,     registered ] };
    key <AD05>  { [          y,        Y, XF86AudioMute,            yen ] };
    key <AD06>  { [          f,        F,         slash,     rightarrow ] };
    key <AD07>  { [          g,        G,      question,   questiondown ] };
    key <AD08>  { [          c,        C,          plus,      copyright ] };
    key <AD09>  { [          r,        R,           bar,       Ooblique ] };
    key <AD10>  { [          l,        L,     backslash,    dead_ogonek ] };

    key <AC01>  { [         a,          A, XF86TaskPane,              AE ] };
    key <AC02>  { [         o,          O,        colon,      dead_acute ] };
    key <AC03>  { [         e,          E,  XF86TopMenu,             ETH ] };
    key <AC04>  { [         u,          U,      XF86UWB,      dead_grave ] };
    key <AC05>  { [         i,          I,          eng,             ENG ] };
    key <AC06>  { [         d,          D,       degree,  dead_diaeresis ] };
    key <AC07>  { [         h,          H,    leftarrow, dead_circumflex ] };
    key <AC08>  { [         t,          T,   rightarrow,       trademark ] };
    key <AC09>  { [         n,          N,     currency,      dead_caron ] };
    key <AC11>  { [         s,          S,   underscore,         section ] };

    key <AB01>  { [         q,          Q,        guillemotleft,        dead_belowdot ] };
    key <AB02>  { [         j,          J,       guillemotright,        dead_abovedot ] };
    key <AB03>  { [         k,          K, XF86AudioLowerVolume,            copyright ] };
    key <AB04>  { [         x,          X, XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>  { [         b,          B,XF86MonBrightnessDown,XF86KbdBrightnessDown ] };
    key <AB06>  { [         m,          M,  XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>  { [         w,          W,            downarrow,              uparrow ] };
    key <AB09>  { [         z,          Z,                U263A,           dead_tilde ] };

    key <AB08>  { [         v,          V, XF86Option,   exclamdown ] };
};

default  partial alphanumeric_keys
xkb_symbols "gr" {
    include "planet_vndr/cosmo(modifiers)"
    include "planet_vndr/cosmo(common_keys)"
    include "group(shifts_toggle)"

    name[Group1] = "Cosmo English";
    name[Group2] = "Cosmo Greek";

    // 1. row
    key <AE01>	{ symbols[Group1] = [         1,      exclam,   asciitilde,    F1 ] };
    key <AE02>	{ symbols[Group1] = [         2,          at,        grave,    F2 ] };
    key <AE03>	{ symbols[Group1] = [         3,  numbersign,    backslash,    F3 ] };
    key <AE04>	{ symbols[Group1] = [         4,      dollar,     sterling,    F4 ] };
    key <AE05>	{ symbols[Group1] = [         5,     percent,         less,    F5 ] };
    key <AE06>	{ symbols[Group1] = [         6, asciicircum,      greater,    F6 ] };
    key <AE07>	{ symbols[Group1] = [         7,   ampersand,  bracketleft,    F7 ] };
    key <AE08>	{ symbols[Group1] = [         8,    asterisk, bracketright,    F8 ] };
    key <AE09>	{ symbols[Group1] = [         9,   parenleft,    braceleft,    F9 ] };
    key <AE10>	{ symbols[Group1] = [         0,  parenright,   braceright,   F10 ] };

    key <AE01>	{ symbols[Group2] = [         1,      exclam,   asciitilde,    F1 ] };
    key <AE02>	{ symbols[Group2] = [         2,          at,        grave,    F2 ] };
    key <AE03>	{ symbols[Group2] = [         3,  numbersign,    backslash,    F3 ] };
    key <AE04>	{ symbols[Group2] = [         4,      dollar,     sterling,    F4 ] };
    key <AE05>	{ symbols[Group2] = [         5,     percent,         less,    F5 ] };
    key <AE06>	{ symbols[Group2] = [         6, asciicircum,      greater,    F6 ] };
    key <AE07>	{ symbols[Group2] = [         7,   ampersand,  bracketleft,    F7 ] };
    key <AE08>	{ symbols[Group2] = [         8,    asterisk, bracketright,    F8 ] };
    key <AE09>	{ symbols[Group2] = [         9,   parenleft,    braceleft,    F9 ] };
    key <AE10>	{ symbols[Group2] = [         0,  parenright,   braceright,   F10 ] };

    // 2. row
    key <AD01>	{ symbols[Group1] = [	q,			Q,     XF86AudioPlay,            degree ] };
    key <AD02>	{ symbols[Group1] = [	w,			W,     guillemotleft,           Lstroke ] };
    key <AD03>	{ symbols[Group1] = [	e,			E,    guillemotright,         trademark ] };
    key <AD04>	{ symbols[Group1] = [	r,			R,        registered,    periodcentered ] };
    key <AD05>	{ symbols[Group1] = [	t,			T,     XF86AudioMute,            Tslash ] };
    key <AD06>	{ symbols[Group1] = [	y,			Y,          EuroSign,       Cyrillic_HA ] };
    key <AD07>	{ symbols[Group1] = [	u,			U,               yen, Cyrillic_HARDSIGN ] };
    key <AD08>	{ symbols[Group1] = [	i,			I,              plus,         plusminus ] };
    key <AD09>	{ symbols[Group1] = [	o,			O,             minus,          Ooblique ] };
    key <AD10>	{ symbols[Group1] = [	p,			P,             equal,             THORN ] };

    key <AD01>	{ symbols[Group2] = [             NoSymbol,      NoSymbol,     XF86AudioPlay,            degree ] };
    key <AD02>	{ symbols[Group2] = [Greek_finalsmallsigma,   Greek_SIGMA,     guillemotleft,           Lstroke ] };
    key <AD03>	{ symbols[Group2] = [        Greek_epsilon, Greek_EPSILON,    guillemotright,         trademark ] };
    key <AD04>	{ symbols[Group2] = [            Greek_rho,     Greek_RHO,        registered,        registered ] };
    key <AD05>	{ symbols[Group2] = [            Greek_tau,     Greek_TAU,     XF86AudioMute,            Tslash ] };
    key <AD06>	{ symbols[Group2] = [        Greek_upsilon, Greek_UPSILON,          EuroSign,       Cyrillic_HA ] };
    key <AD07>	{ symbols[Group2] = [          Greek_theta,   Greek_THETA,               yen, Cyrillic_HARDSIGN ] };
    key <AD08>	{ symbols[Group2] = [           Greek_iota,    Greek_IOTA,              plus,         plusminus ] };
    key <AD09>	{ symbols[Group2] = [        Greek_omicron, Greek_OMICRON,             minus,          Ooblique ] };
    key <AD10>	{ symbols[Group2] = [             Greek_pi,      Greek_PI,             equal,             THORN ] };

    // 3. row
    key <AC01>	{ symbols[Group1] = [          a,              A,  XF86TaskPane,              AE ] };
    key <AC02>	{ symbols[Group1] = [          s,              S,      NoSymbol,      dead_tilde ] };
    key <AC03>	{ symbols[Group1] = [          d,              D,   XF86TopMenu,  dead_diaeresis ] };
    key <AC04>	{ symbols[Group1] = [          f,              F,       XF86UWB,     ordfeminine ] };
    key <AC05>	{ symbols[Group1] = [          g,              G,      NoSymbol,     dead_macron ] };
    key <AC06>	{ symbols[Group1] = [          h,              H,         Print,       dead_iota ] };
    key <AC07>	{ symbols[Group1] = [          j,              J,      NoSymbol,      dead_breve ] };
    key <AC08>	{ symbols[Group1] = [          k,              K,    underscore,      dead_acute ] };
    key <AC09>	{ symbols[Group1] = [          l,              L,     semicolon,      dead_psili ] };
    key <AC11>	{ symbols[Group1] = [      quote,       quotedbl,         colon,      dead_grave ] };

    key <AC01>	{ symbols[Group2] = [   Greek_alpha,    Greek_ALPHA,   XF86TaskPane,             AE ] };
    key <AC02>	{ symbols[Group2] = [   Greek_sigma,    Greek_SIGMA,       NoSymbol,     dead_tilde ] };
    key <AC03>	{ symbols[Group2] = [   Greek_delta,    Greek_DELTA,    XF86TopMenu, dead_diaeresis ] };
    key <AC04>	{ symbols[Group2] = [     Greek_phi,      Greek_PHI,        XF86UWB,    ordfeminine ] };
    key <AC05>	{ symbols[Group2] = [   Greek_gamma,    Greek_GAMMA,       NoSymbol,    dead_macron ] };
    key <AC06>	{ symbols[Group2] = [     Greek_eta,      Greek_ETA,          Print,      dead_iota ] };
    key <AC07>	{ symbols[Group2] = [      Greek_xi,       Greek_XI,       NoSymbol,     dead_breve ] };
    key <AC08>	{ symbols[Group2] = [   Greek_kappa,    Greek_KAPPA,     underscore,     dead_acute ] };
    key <AC09>	{ symbols[Group2] = [   Greek_lamda,    Greek_LAMDA,      semicolon,     dead_psili ] };
    key <AC11>	{ symbols[Group2] = [    dead_acute, dead_diaeresis,          colon,     dead_grave ] };

    // 4. row
    key <AB01>	{ symbols[Group1] = [            z,            Z,             copyright,            leftarrow ] };
    key <AB02>	{ symbols[Group1] = [            x,            X,             downarrow,              uparrow ] };
    key <AB03>	{ symbols[Group1] = [            c,            C,  XF86AudioLowerVolume,           rightarrow ] };
    key <AB04>	{ symbols[Group1] = [            v,            V,  XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>	{ symbols[Group1] = [            b,            B, XF86MonBrightnessDown,XF86KbdBrightnessDown ] };
    key <AB06>	{ symbols[Group1] = [            n,            N,   XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>	{ symbols[Group1] = [            m,            M,              NoSymbol,           dead_dasia ] };
    key <AB09>	{ symbols[Group1] = [       period,     question,                 U263A,             division ] };

    key <AB01>	{ symbols[Group2] = [  Greek_zeta,     Greek_ZETA,             copyright,            leftarrow ] };
    key <AB02>	{ symbols[Group2] = [   Greek_chi,      Greek_CHI,             downarrow,              uparrow ] };
    key <AB03>	{ symbols[Group2] = [   Greek_psi,      Greek_PSI,  XF86AudioLowerVolume,           rightarrow ] };
    key <AB04>	{ symbols[Group2] = [ Greek_omega,    Greek_OMEGA,  XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05>	{ symbols[Group2] = [  Greek_beta,     Greek_BETA, XF86MonBrightnessDown,XF86KbdBrightnessDown ] };
    key <AB06>	{ symbols[Group2] = [    Greek_nu,       Greek_NU,   XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>	{ symbols[Group2] = [    Greek_mu,       Greek_MU,              NoSymbol,           dead_dasia ] };
    key <AB09>	{ symbols[Group2] = [      period,       question,                 U263A,             division ] };

    key <AB08>  { symbols[Group1] = [     comma,      slash, XF86Option,   multiply ] };
    key <AB08>  { symbols[Group2] = [     comma,      slash, XF86Option,   multiply ] };

};

default  partial alphanumeric_keys
xkb_symbols "es" {
    include "planet_vndr/cosmo(modifiers)"
    include "planet_vndr/cosmo(common_keys)"

    name[Group1]="Cosmo Spanish";

    key <AE01> { [ 1,     exclam,          bar,  F1 ] };
    key <AE02> { [ 2,   quotedbl,           at,  F2 ] };
    key <AE03> { [ 3,   sterling,   numbersign,  F3 ] };
    key <AE04> { [ 4,     dollar,   asciitilde,  F4 ] };
    key <AE05> { [ 5,    percent,     EuroSign,  F5 ] };
    key <AE06> { [ 6,  ampersand,     asterisk,  F6 ] };
    key <AE07> { [ 7,      slash,  bracketleft,  F7 ] };
    key <AE08> { [ 8,  parenleft, bracketright,  F8 ] };
    key <AE09> { [ 9, parenright,    braceleft,  F9 ] };
    key <AE10> { [ 0,      equal,   braceright, F10 ] };

    key <AD01> { [ q, Q, XF86AudioPlay, Greek_OMEGA ] };
    key <AD02> { [ w, W, XF86AudioPrev, Lstroke ] };
    key <AD03> { [ e, E, XF86AudioNext, trademark ] };
    key <AD04> { [ r, R,         Print, registered ] };
    key <AD05> { [ t, T, XF86AudioMute, yen ] };
    key <AD06> { [ y, Y,          plus, rightarrow ] };
    key <AD07> { [ u, U,         minus, uparrow ] };
    key <AD08> { [ i, I,    exclamdown, plusminus ] };
    key <AD09> { [ o, O,  questiondown, Ooblique ] };
    key <AD10> { [ p, P,      question, THORN ] };

    key <AC01> { [      a,      A,    XF86TaskPane, AE ] };
    key <AC02> { [      s,      S,          degree, section ] };
    key <AC03> { [      d,      D,     XF86TopMenu, ETH ] };
    key <AC04> { [      f,      F,         XF86UWB, ordfeminine ] };
    key <AC05> { [      g,      G,      underscore, ENG ] };
    key <AC06> { [      h,      H,         notsign, dead_diaeresis ] };
    key <AC07> { [      j,      J,            less, dead_circumflex ] };
    key <AC08> { [      k,      K,         greater, degree ] };
    key <AC09> { [      l,      L, backslashagrave, dead_caron ] };
    key <AC11> { [ ntilde, Ntilde,        ccedilla, Ccedilla ] };

    key <AB01> { [      z,     Z,          ordfeminine,         dead_belowdot ] };
    key <AB02> { [      x,     X,            masculine,         dead_abovedot ] };
    key <AB03> { [      c,     C, XF86AudioLowerVolume,             copyright ] };
    key <AB04> { [      v,     V, XF86AudioRaiseVolume,   leftsinglequotemark ] };
    key <AB05> { [      b,     B,XF86MonBrightnessDown, XF86KbdBrightnessDown ] };
    key <AB06> { [      n,     N,  XF86MonBrightnessUp,   XF86KbdBrightnessUp ] };
    key <AB07> { [      m,     M,           apostrophe,            dead_grave ] };
    key <AB09> { [ period, colon,                U263A,            dead_tilde ] };

    key <AB08> { [ comma, semicolon, XF86Option, multiply ] };
};


default partial alphanumeric_keys
xkb_symbols "cat" {
    include "planet_vndr/cosmo(es)"

    name[Group1]="Cosmo Catalan";

    key <AE04> { [ 4, dollar, dead_tilde, F4 ] };

    key <AC11> { [ dead_acute, dead_grave, ccedilla, Ccedilla ] };

};

default  partial alphanumeric_keys
xkb_symbols "hu" {
    include "planet_vndr/cosmo(gb)"

    name[Group1]="Cosmo Hungarian";

    key <AE01>  { [         0,       U00A7,        grave,    F1 ] };
    key <AE02>  { [         1,  apostrophe,   asciitilde,    F2 ] };
    key <AE03>  { [         2,    quotedbl,    backslash,    F3 ] };
    key <AE04>  { [         3,        plus,  asciicircum,    F4 ] };
    key <AE05>  { [         4,      exclam,     EuroSign,    F5 ] };
    key <AE06>  { [         5,     percent,    braceleft,    F6 ] };
    key <AE07>  { [         6,       slash,   braceright,    F7 ] };
    key <AE08>  { [         7,       equal,  bracketleft,    F8 ] };
    key <AE09>  { [         8,   parenleft, bracketright,    F9 ] };
    key <AE10>  { [         9,  parenright,   numbersign,   F10 ] };

    key <AD01>  { [         q,          Q,XF86AudioPlay,    paragraph ] };
    key <AD02>  { [         w,          W,XF86AudioPrev,          bar ] };
    key <AD03>  { [         e,          E,XF86AudioNext,    trademark ] };
    key <AD04>  { [         r,          R,        Print,   registered ] };
    key <AD05>  { [         t,          T,       dollar,          yen ] };
    key <AD06>  { [         z,          Z,      lstroke,          F11 ] };
    key <AD07>  { [         u,          U,      Lstroke,          F12 ] };
    key <AD08>  { [         i,          I,   odiaeresis,   Odiaeresis ] };
    key <AD09>  { [         o,          O,   udiaeresis,   Udiaeresis ] };
    key <AD10>  { [         p,          P,       oacute,       Oacute ] };

    key <AC01>  { [         a,          A, XF86TaskPane,      Adiaeresis ] };
    key <AC02>  { [         s,          S,       iacute,          Iacute ] };
    key <AC03>  { [         d,          D,  XF86TopMenu,         dstroke ] };
    key <AC04>  { [         f,          F,      XF86UWB,         Dstroke ] };
    key <AC05>  { [         g,          G,           at,       leftarrow ] };
    key <AC06>  { [         h,          H,     asterisk,         uparrow ] };
    key <AC07>  { [         j,          J,        U263A,      rightarrow ] };
    key <AC08>  { [         k,          K, odoubleacute,    Odoubleacute ] };
    key <AC09>  { [         l,          L,       uacute,          Uacute ] };
    key <AC11>  { [     minus, underscore, udoubleacute,    Udoubleacute ] };

    key <AB01>  { [         y,          Y,                 less,           adiaeresis ] };
    key <AB02>  { [         x,          X,              greater,            copyright ] };
    key <AB03>  { [         c,          C, XF86AudioLowerVolume,            ampersand ] };
    key <AB06>  { [         n,          N,  XF86MonBrightnessUp,  XF86KbdBrightnessUp ] };
    key <AB07>  { [         m,          M,               eacute,           Eacute ] };
    key <AB09>  { [    period,      colon,               aacute,           Aacute ] };

    key <AB08>  { [     comma,   question, XF86Option,   multiply ] };
};

default  partial alphanumeric_keys
xkb_symbols "pl" {
    include "planet_vndr/cosmo(modifiers)"
    include "planet_vndr/cosmo(common_keys)"

    name[Group1]="Cosmo Polish";

    key <AE01> { [ 1,      exclam,       grave,  F1 ] };
    key <AE02> { [ 2,          at,  asciitilde,  F2 ] };
    key <AE03> { [ 3,  numbersign,   backslash,  F3 ] };
    key <AE04> { [ 4,      dollar,         bar,  F4 ] };
    key <AE05> { [ 5,     percent,        less,  F5 ] };
    key <AE06> { [ 6, asciicircum,     greater,  F6 ] };
    key <AE07> { [ 7,   ampersand, bracketleft,  F7 ] };
    key <AE08> { [ 8,    asterisk,bracketright,  F8 ] };
    key <AE09> { [ 9,   parenleft,   braceleft,  F9 ] };
    key <AE10> { [ 0,  parenright,  braceright, F10 ] };

    key <AD01> { [ q, Q, XF86MonBrightnessDown, XF86KbdBrightnessDown ] };
    key <AD02> { [ w, W,   XF86MonBrightnessUp,   XF86KbdBrightnessUp ] };
    key <AD03> { [ e, E,               eogonek,               Eogonek ] };
    key <AD04> { [ r, R,                 Print,            registered ] };
    key <AD05> { [ t, T,         XF86AudioMute,                   yen ] };
    key <AD06> { [ y, Y,                  plus,            rightarrow ] };
    key <AD07> { [ u, U,              EuroSign,               uparrow ] };
    key <AD08> { [ i, I,                 minus,             plusminus ] };
    key <AD09> { [ o, O,                oacute,                Oacute ] };
    key <AD10> { [ p, P,                 equal,                 THORN ] };

    key <AC01> { [          a,        A,       aogonek,         Aogonek ] };
    key <AC02> { [          s,        S,        sacute,          Sacute ] };
    key <AC03> { [          d,        D,   XF86TopMenu,             ETH ] };
    key <AC04> { [          f,        F,       XF86UWB,     ordfeminine ] };
    key <AC05> { [          g,        G, XF86AudioPrev,             ENG ] };
    key <AC06> { [          h,        H, XF86AudioNext,  dead_diaeresis ] };
    key <AC07> { [          j,        J,    underscore, dead_circumflex ] };
    key <AC08> { [          k,        K,         colon,          degree ] };
    key <AC09> { [          l,        L,       lstroke,         Lstroke ] };
    key <AC11> { [ apostrophe, quotedbl,     semicolon,        Ccedilla ] };

    key <AB01> { [      z,        Z,            zabovedot,            Zabovedot ] };
    key <AB02> { [      x,        X,               zacute,               Zacute ] };
    key <AB03> { [      c,        C, XF86AudioLowerVolume,               Cacute ] };
    key <AB04> { [      v,        V, XF86AudioRaiseVolume,  leftsinglequotemark ] };
    key <AB05> { [      b,        B,        XF86AudioPlay, rightsinglequotemark ] };
    key <AB06> { [      n,        N,               nacute,               Nacute ] };
    key <AB07> { [      m,        M,         XF86TaskPane,           dead_grave ] };
    key <AB09> { [ period, question,               period,           dead_tilde ] };

    key <AB08> { [ comma, slash, comma, multiply ] };
};
