// Common Latin alphabet layout

default partial
xkb_symbols "basic" {

    key <AE01>	{ [         1,     exclam,  onesuperior,   exclamdown ]	};
    key <AE02>	{ [         2,         at,  twosuperior,    oneeighth ]	};
    key <AE03>	{ [         3, numbersign, threesuperior,    sterling ]	};
    key <AE04>	{ [         4,     dollar,   onequarter,       dollar ]	};
    key <AE05>	{ [         5,    percent,      onehalf, threeeighths ]	};
    key <AE06>	{ [         6, asciicircum, threequarters, fiveeighths ] };
    key <AE07>	{ [         7,  ampersand,    braceleft, seveneighths ]	};
    key <AE08>	{ [         8,   asterisk,  bracketleft,    trademark ]	};
    key <AE09>	{ [         9,  parenleft, bracketright,    plusminus ]	};
    key <AE10>	{ [         0, parenright,   braceright,       degree ]	};
    key <AE11>	{ [     minus, underscore,    backslash, questiondown ]	};
    key <AE12>	{ [     equal,       plus, dead_cedilla,  dead_ogonek ]	};

    key <AD01>	{ [         q,          Q,           at,  Greek_OMEGA ]	};
    key <AD02>	{ [         w,          W,      lstroke,      Lstroke ]	};
    key <AD03>	{ [         e,          E,            e,            E ]	};
    key <AD04>	{ [         r,          R,    paragraph,   registered ]	};
    key <AD05>	{ [         t,          T,       tslash,       Tslash ]	};
    key <AD06>	{ [         y,          Y,    leftarrow,          yen ]	};
    key <AD07>	{ [         u,          U,    downarrow,      uparrow ]	};
    key <AD08>	{ [         i,          I,   rightarrow,     idotless ]	};
    key <AD09>	{ [         o,          O,       oslash,     Ooblique ]	};
    key <AD10>	{ [         p,          P,        thorn,        THORN ]	};
    key <AD11>	{ [bracketleft,  braceleft, dead_diaeresis, dead_abovering ] };
    key <AD12>	{ [bracketright, braceright, dead_tilde,  dead_macron ]	};

    key <AC01>	{ [         a,          A,           ae,           AE ]	};
    key <AC02>	{ [         s,          S,       ssharp,      section ]	};
    key <AC03>	{ [         d,          D,          eth,          ETH ]	};
    key <AC04>	{ [         f,          F,      dstroke,  ordfeminine ]	};
    key <AC05>	{ [         g,          G,          eng,          ENG ]	};
    key <AC06>	{ [         h,          H,      hstroke,      Hstroke ]	};
    key <AC07>	{ [         j,          J,    dead_hook,    dead_horn ] };
    key <AC08>	{ [         k,          K,          kra,    ampersand ]	};
    key <AC09>	{ [         l,          L,      lstroke,      Lstroke ]	};
    key <AC10>	{ [ semicolon,    colon, dead_acute, dead_doubleacute ]	};
    key <AC11>	{ [apostrophe, quotedbl, dead_circumflex,  dead_caron ]	};
    key <TLDE>	{ [     grave, asciitilde,      notsign,      notsign ]	};

    key <BKSL>	{ [ backslash,        bar,   dead_grave,   dead_breve ]	};
    key <AB01>	{ [         z,          Z, guillemotleft,        less ]	};
    key <AB02>	{ [         x,          X, guillemotright,    greater ]	};
    key <AB03>	{ [         c,          C,         cent,    copyright ]	};
    key <AB04>	{ [         v,          V, leftdoublequotemark, leftsinglequotemark ]	};
    key <AB05>	{ [         b,          B, rightdoublequotemark, rightsinglequotemark ] };
    key <AB06>	{ [         n,          N,            n,            N ]	};
    key <AB07>	{ [         m,          M,           mu,    masculine ]	};
    key <AB08>	{ [     comma,       less, horizconnector,   multiply ]	};
    key <AB09>	{ [    period,    greater, periodcentered,   division ]	};
    key <AB10>	{ [     slash,   question, dead_belowdot, dead_abovedot ] };

};

// Northern Europe ( Danish, Finnish, Norwegian, Swedish) common layout

partial
xkb_symbols "type2" {

    include "latin"

    key <AE01>	{ [         1,     exclam,   exclamdown,  onesuperior ]	};
    key <AE02>	{ [         2,   quotedbl,           at,  twosuperior ]	};
    key <AE03>	{ [         3, numbersign,     sterling, threesuperior]	};
    key <AE04>	{ [         4,   currency,       dollar,   onequarter ]	};
    key <AE05>	{ [         5,    percent,      onehalf,         cent ]	};
    key <AE06>	{ [         6,  ampersand,          yen,  fiveeighths ]	};
    key <AE07>	{ [         7,      slash,    braceleft,     division ]	};
    key <AE08>	{ [         8,  parenleft,  bracketleft, guillemotleft]	};
    key <AE09>	{ [         9, parenright, bracketright, guillemotright] };
    key <AE10>	{ [         0,      equal,   braceright,       degree ]	};

    key <AD03>	{ [         e,          E,     EuroSign,         cent ]	};
    key <AD04>	{ [         r,          R,   registered,   registered ]	};
    key <AD05>	{ [         t,          T,        thorn,        THORN ]	};
    key <AD09>	{ [         o,          O,           oe,           OE ]	};
    key <AD11>	{ [     aring,  Aring, dead_diaeresis, dead_abovering ]	};
    key <AD12>	{ [dead_diaeresis, dead_circumflex, dead_tilde, dead_caron ] };

    key <AC01>	{ [         a,          A,  ordfeminine,    masculine ]	};

    key <AB03>	{ [         c,          C,    copyright,    copyright ]	};
    key <AB08>	{ [     comma,  semicolon, dead_cedilla,  dead_ogonek ]	};
    key <AB09>	{ [    period,   colon, periodcentered, dead_abovedot ]	};
    key <AB10>	{ [     minus, underscore, dead_belowdot, dead_abovedot ] };
};

// Slavic Latin ( Albanian, Croatian, Polish, Slovene, Yugoslav)
// common layout

partial
xkb_symbols "type3" {

    include "latin"

    key <AD01>	{ [         q,          Q,    backslash,  Greek_OMEGA ]	};
    key <AD02>	{ [         w,          W,          bar,      Lstroke ]	};
    key <AD06>	{ [         z,          Z,    leftarrow,          yen ]	};

    key <AC04>	{ [         f,          F,  bracketleft,  ordfeminine ]	};
    key <AC05>	{ [         g,          G, bracketright,          ENG ]	};
    key <AC08>	{ [         k,          K,      lstroke,    ampersand ]	};

    key <AB01>	{ [         y,          Y, guillemotleft,        less ]	};
    key <AB04>	{ [         v,          V,           at,        grave ]	};
    key <AB05>	{ [         b,          B,    braceleft,   apostrophe ]	};
    key <AB06>	{ [         n,          N,   braceright,   braceright ]	};
    key <AB07>	{ [         m,          M,      section,    masculine ]	};
    key <AB08>	{ [     comma,  semicolon,         less,     multiply ]	};
    key <AB09>	{ [    period,      colon,      greater,     division ]	};
};

// Another common Latin layout
// (German, Estonian, Spanish, Icelandic, Italian, Latin American, Portuguese)

partial
xkb_symbols "type4" {

    include "latin"

    key <AE02>	{ [         2,   quotedbl,           at,    oneeighth ]	};
    key <AE06>	{ [         6,  ampersand,      notsign,  fiveeighths ]	};
    key <AE07>	{ [         7,      slash,    braceleft, seveneighths ]	};
    key <AE08>	{ [         8,  parenleft,  bracketleft,    trademark ]	};
    key <AE09>	{ [         9, parenright, bracketright,    plusminus ]	};
    key <AE10>	{ [         0,      equal,   braceright,       degree ]	};

    key <AD03>	{ [         e,          E,     EuroSign,         cent ]	};

    key <AB08>	{ [   comma,  semicolon, horizconnector,     multiply ]	};
    key <AB09>	{ [  period,      colon, periodcentered,     division ]	};
    key <AB10>	{ [   minus, underscore, dead_belowdot, dead_abovedot ]	};
};

partial
xkb_symbols "nodeadkeys" {

    key <AE12>	{ [     equal,       plus,     cedilla,        ogonek ]	};
    key <AD11>	{ [bracketleft,  braceleft,  diaeresis,        degree ]	};
    key <AD12>	{ [bracketright, braceright, asciitilde,       macron ]	};
    key <AC10>	{ [ semicolon,      colon,       acute,   doubleacute ]	};
    key <AC11>	{ [apostrophe,   quotedbl, asciicircum,         caron ]	};
    key <BKSL>	{ [ backslash,        bar,       grave,         breve ]	};
    key <AB10>	{ [     slash,   question, dead_belowdot,    abovedot ]	};
};

partial
xkb_symbols "type2_nodeadkeys" {

    include "latin(nodeadkeys)"

    key <AD11>	{ [     aring,      Aring,   diaeresis,        degree ]	};
    key <AD12>	{ [ diaeresis, asciicircum, asciitilde,         caron ]	};
    key <AB08>	{ [     comma,  semicolon,     cedilla,        ogonek ]	};
    key <AB09>	{ [    period,   colon, periodcentered,      abovedot ]	};
    key <AB10>	{ [   minus, underscore, dead_belowdot,      abovedot ]	};
};

partial
xkb_symbols "type3_nodeadkeys" {

    include "latin(nodeadkeys)"
};

partial
xkb_symbols "type4_nodeadkeys" {

    include "latin(nodeadkeys)"

    key <AB10>	{ [   minus, underscore, dead_belowdot,      abovedot ]	};
};

// Added 2008.03.05 by Marcin Woliński
// See http://marcinwolinski.pl/keyboard/ for a description.
// Used by pl(intl)
//
// ┌─────┐
// │ 2 4 │   2 = Shift,  4 = Level3 + Shift
// │ 1 3 │   1 = Normal, 3 = Level3
// └─────┘
// ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
// │ ~ ~ │ ! ' │ @ " │ # ˝ │ $ ¸ │ % ˇ │ ^ ^ │ & ˘ │ * ̇  │ ( ̣  │ ) ° │ _ ¯ │ + ˛ ┃ ⌫ Back- ┃
// │ ` ` │ 1 ¡ │ 2 © │ 3 • │ 4 § │ 5 € │ 6 ¢ │ 7 − │ 8 × │ 9 ÷ │ 0 ° │ - – │ = — ┃  space  ┃
// ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
// ┃       ┃ Q   │ W   │ E   │ R   │ T   │ Y   │ U   │ I   │ O   │ P   │ { « │ } » ┃ Enter ┃
// ┃Tab ↹  ┃ q   │ w   │ e   │ r   │ t   │ y   │ u   │ i   │ o   │ p   │ [ ‹ │ ] › ┃   ⏎   ┃
// ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓      ┃
// ┃        ┃ A   │ S   │ D   │ F   │ G   │ H   │ J   │ K   │ L   │ : “ │ " ” │ | ¶ ┃      ┃
// ┃Caps ⇬  ┃ a   │ s   │ d   │ f   │ g   │ h   │ j   │ k   │ l   │ ; ‘ │ ' ’ │ \   ┃      ┃
// ┣━━━━━━━━┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━┫
// ┃             │ Z   │ X   │ C   │ V   │ B   │ N   │ M   │ < „ │ > · │ ? ¿ ┃             ┃
// ┃Shift ⇧      │ z   │ x   │ c   │ v   │ b   │ n   │ m   │ , ‚ │ . … │ / ⁄ ┃Shift ⇧      ┃
// ┣━━━━━━━┳━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴───┲━┷━━━━━╈━━━━━┻━┳━━━━━━━┳━━━┛
// ┃       ┃       ┃       ┃ ␣                               ⍽ ┃       ┃       ┃       ┃
// ┃Ctrl   ┃Meta   ┃Alt    ┃ ␣           Space               ⍽ ┃AltGr ⇮┃Menu   ┃Ctrl   ┃
// ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛

partial
xkb_symbols "intl" {

    key <TLDE>	{ [     grave,  asciitilde, dead_grave,       dead_tilde ]	};
    key <AE01>	{ [         1,      exclam, exclamdown,       dead_acute ]	};
    key <AE02>	{ [         2,          at,  copyright,   dead_diaeresis ]	};
    key <AE03>	{ [         3,  numbersign,      U2022, dead_doubleacute ]	}; // U+2022 is bullet (the name bullet does not work)
    key <AE04>	{ [         4,      dollar,    section,     dead_cedilla ]	};
    key <AE05>	{ [         5,     percent,   EuroSign,       dead_caron ]	};
    key <AE06>	{ [         6, asciicircum,       cent,  dead_circumflex ]	};
    key <AE07>	{ [         7,   ampersand,      U2212,       dead_breve ]	}; // U+2212 is MINUS SIGN
    key <AE08>	{ [         8,    asterisk,   multiply,    dead_abovedot ]	};
    key <AE09>	{ [         9,   parenleft,   division,    dead_belowdot ]	};
    key <AE10>	{ [         0,  parenright,     degree,   dead_abovering ]	};
    key <AE11>	{ [     minus,  underscore,     endash,      dead_macron ]	};
    key <AE12>	{ [     equal,        plus,     emdash,      dead_ogonek ]	};

    key <AD01>	{ [         q,          Q ]	};
    key <AD02>	{ [         w,          W ]	};
    key <AD03>	{ [         e,          E ]	};
    key <AD04>	{ [         r,          R ]	};
    key <AD05>	{ [         t,          T ]	};
    key <AD06>	{ [         y,          Y ]	};
    key <AD07>	{ [         u,          U ]	};
    key <AD08>	{ [         i,          I ]	};
    key <AD09>	{ [         o,          O ]	};
    key <AD10>	{ [         p,          P ]	};
    key <AD11>	{ [bracketleft,   braceleft,  U2039, guillemotleft ]    };
    key <AD12>	{ [bracketright, braceright, U203A, guillemotright ]	};

    key <AC01>	{ [         a,          A ]	};
    key <AC02>	{ [         s,          S ]	};
    key <AC03>	{ [         d,          D ]	};
    key <AC04>	{ [         f,          F ]	};
    key <AC05>	{ [         g,          G ]	};
    key <AC06>	{ [         h,          H ]	};
    key <AC07>	{ [         j,          J ]	};
    key <AC08>	{ [         k,          K ]	};
    key <AC09>	{ [         l,          L ]	};
    key <AC10>	{ [ semicolon,      colon,  leftsinglequotemark,  leftdoublequotemark  ]  };
    key <AC11>	{ [apostrophe,   quotedbl, rightsinglequotemark, rightdoublequotemark  ]  };

    key <BKSL>	{ [ backslash,        bar, 	NoSymbol, paragraph ] };
    key <AB01>	{ [         z,          Z ]	};
    key <AB02>	{ [         x,          X ]	};
    key <AB03>	{ [         c,          C ]	};
    key <AB04>	{ [         v,          V ]	};
    key <AB05>	{ [         b,          B ]     };
    key <AB06>	{ [         n,          N ]	};
    key <AB07>	{ [         m,          M ]	};
    key <AB08>	{ [     comma,       less, singlelowquotemark, doublelowquotemark ]	};
    key <AB09>	{ [    period,    greater, ellipsis, periodcentered ]	};
    key <AB10>	{ [     slash,   question, U2044,  questiondown ]     };  // U+2044 is FRACTION SLASH

};
