// Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.

xkb_symbols "sgd_legacy" {

    name[group1]="German (Legacy AltGr)";

    include "sgd_vndr/sgd(legacy_common)"

    key <AE01> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               1,          exclam,     onesuperior,
     NoSymbol ]
    };
    key <AE02> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               2,        quotedbl,     twosuperior,
     NoSymbol ],
        symbols[Group2]= [     twosuperior,       oneeighth ]
    };
    key <AE03> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               3,         section,   threesuperior,
     NoSymbol ],
        symbols[Group2]= [   threesuperior,        sterling ]
    };
    key <AE04> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               4,          dollar,      onequarter,
     NoSymbol ],
        symbols[Group2]= [      onequarter,        currency ]
    };
    key <AE05> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               5,         percent,         onehalf,
     NoSymbol ],
        symbols[Group2]= [         onehalf,    threeeighths ]
    };
    key <AE06> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               6,       ampersand,         notsign,
     NoSymbol ],
        symbols[Group2]= [         notsign,     fiveeighths ]
    };
    key <AE07> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               7,           slash,       braceleft,
     NoSymbol ],
        symbols[Group2]= [       braceleft,    seveneighths ]
    };
    key <AE08> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               8,       parenleft,     bracketleft,
     NoSymbol ],
        symbols[Group2]= [     bracketleft,       trademark ]
    };
    key <AE09> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               9,      parenright,    bracketright,
     NoSymbol ],
        symbols[Group2]= [    bracketright,       plusminus ]
    };
    key <AE10> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [               0,           equal,      braceright,
     NoSymbol ],
        symbols[Group2]= [      braceright,          degree ]
    };
    key <AE11> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [          ssharp,        question,           backslash, questiondown ],
        symbols[Group2]= [       backslash,    questiondown ]
    };
    key <AE12> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [      dead_acute,      dead_grave,    dead_cedilla,  dead_ogonek ],
        symbols[Group2]= [    dead_cedilla,     dead_ogonek ]
    };
    key <AD01> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               q,               Q,              at,  Greek_OMEGA ],
        symbols[Group2]= [              at,     Greek_OMEGA ]
    };
    key <AD02> {
        type[group1]= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               w,               W,         lstroke,  Lstroke ],
        symbols[Group2]= [         lstroke,         Lstroke ]
    };
    key <AD03> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               e,               E,        EuroSign,  EuroSign ],
        symbols[Group2]= [        EuroSign,        EuroSign ]
    };
    key <AD04> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               r,               R,       paragraph,  registered ],
        symbols[Group2]= [       paragraph,      registered ]
    };
    key <AD05> {
        type[group1]= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               t,               T,          tslash, Tslash ],
        symbols[Group2]= [          tslash,          Tslash ]
    };
    key <AD06> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               z,               Z,       leftarrow, yen ],
        symbols[Group2]= [       leftarrow,             yen ]
    };
    key <AD07> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               u,               U,       downarrow, uparrow ],
        symbols[Group2]= [       downarrow,         uparrow ]
    };
    key <AD08> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               i,               I,      rightarrow, idotless ],
        symbols[Group2]= [      rightarrow,        idotless ]
    };
    key <AD09> {
        type[group1]= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               o,               O,          oslash, Oslash ],
        symbols[Group2]= [          oslash,          Oslash ]
    };
    key <AD10> {
        type[group1]= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               p,               P,           thorn, THORN  ],
        symbols[Group2]= [           thorn,           THORN ]
    };
    key <AD11> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [      udiaeresis,      Udiaeresis,  dead_diaeresis, dead_abovering ],
        symbols[Group2]= [  dead_diaeresis,  dead_abovering ]
    };
    key <AD12> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [            plus,        asterisk,      asciitilde, macron ],
        symbols[Group2]= [      asciitilde,          macron ]
    };
    key <AC01> {
        type[group1]= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               a,               A,              ae, AE ],
        symbols[Group2]= [              ae,              AE ]
    };
    key <AC02> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               s,               S,           U017F, U1E9E ],
        symbols[Group2]= [           U017F,           U1E9E ]
    };
    key <AC03> {
        type[group1]= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               d,               D,             eth, ETH ],
        symbols[Group2]= [             eth,             ETH ]
    };
    key <AC04> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               f,               F,         dstroke, ordfeminine ],
        symbols[Group2]= [         dstroke,     ordfeminine ]
    };
    key <AC05> {
        type[group1]= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               g,               G,             eng, ENG ],
        symbols[Group2]= [             eng,             ENG ]
    };
    key <AC06> {
        type[group1]= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               h,               H,         hstroke, Hstroke ],
        symbols[Group2]= [         hstroke,         Hstroke ]
    };
    key <AC07> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               j,               J,   dead_belowdot, dead_abovedot ],
        symbols[Group2]= [   dead_belowdot,   dead_abovedot ]
    };
    key <AC08> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               k,               K,             kra, ampersand ],
        symbols[Group2]= [             kra,       ampersand ]
    };
    key <AC09> {
        type[group1]= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               l,               L,         lstroke, Lstroke ],
        symbols[Group2]= [         lstroke,         Lstroke ]
    };
    key <AC10> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [      odiaeresis,      Odiaeresis, dead_doubleacute, dead_belowdot ],
        symbols[Group2]= [ dead_doubleacute,   dead_belowdot ]
    };
    key <AC11> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [      adiaeresis,      Adiaeresis, dead_circumflex, dead_caron ],
        symbols[Group2]= [ dead_circumflex,      dead_caron ]
    };
    key <TLDE> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [ dead_circumflex,          degree,           U2032, U2033 ],
        symbols[Group2]= [           U2032,           U2033 ]
    };
    key <BKSL> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [      numbersign,      apostrophe, rightsinglequotemark,        dead_breve ],
        symbols[Group2]= [ rightsinglequotemark,      dead_breve ]
    };
    key <AB01> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               y,               Y,  guillemotright, U203A ],
        symbols[Group2]= [  guillemotright,           U203A ]
    };
    key <AB02> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               x,               X,   guillemotleft, U2039 ],
        symbols[Group2]= [   guillemotleft,           U2039 ]
    };
    key <AB03> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               c,               C,            cent, copyright ],
        symbols[Group2]= [            cent,       copyright ]
    };
    key <AB04> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               v,               V, doublelowquotemark,        singlelowquotemark ],
        symbols[Group2]= [ doublelowquotemark, singlelowquotemark ]
    };
    key <AB05> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               b,               B, leftdoublequotemark,        leftsinglequotemark ],
        symbols[Group2]= [ leftdoublequotemark, leftsinglequotemark ]
    };
    key <AB06> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               n,               N, rightdoublequotemark,        rightsinglequotemark ],
        symbols[Group2]= [ rightdoublequotemark, rightsinglequotemark ]
    };
    key <AB07> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               m,               M,              mu, masculine ],
        symbols[Group2]= [              mu,       masculine ]
    };
    key <AB08> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [           comma,       semicolon,  periodcentered, multiply ],
        symbols[Group2]= [  periodcentered,        multiply ]
    };
    key <AB09> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [          period,           colon,           U2026, division ],
        symbols[Group2]= [           U2026,        division ]
    };
    key <AB10> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [           minus,      underscore,          endash, emdash ],
        symbols[Group2]= [          endash,          emdash ]
    };
    key <LSGT> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [            less,         greater,             bar,
     NoSymbol ],
        symbols[Group2]= [             bar,       brokenbar ]
    };

    include "sgd_vndr/sgd(legacy_modifiers)"
};

xkb_symbols "sgd_legacy_nodeadkeys" {

    name[group1]="German (Legacy AltGr, eliminate dead keys)";

    include "sgd_vndr/sgd(legacy_common)"
    include "sgd_vndr/de(sgd_legacy)"

    key <AE12> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [  acute,      grave,    cedilla,  ogonek ],
        symbols[Group2]= [  cedilla,     ogonek ]
    };

    key <AD11> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [   udiaeresis,      Udiaeresis,  diaeresis, U02DA ],
        symbols[Group2]= [  diaeresis,  U02DA ]
    };

    key <AC07> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [   j,               J,   U0323, abovedot ],
        symbols[Group2]= [   U0323,   abovedot ]
    };

    key <AC10> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [ odiaeresis,      Odiaeresis, doubleacute, U0323 ],
        symbols[Group2]= [ doubleacute,   U0323 ]
    };

    key <AC11> {
        type[group1]= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [      adiaeresis,      Adiaeresis, caret, caron ],
        symbols[Group2]= [ caret,      caron ]
    };

    key <TLDE> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [ caret,          degree,           U2032, U2033 ],
        symbols[Group2]= [           U2032,           U2033 ]
    };

    key <BKSL> {
        type[group1]= "FOUR_LEVEL",
        symbols[Group1]= [ numbersign, apostrophe, rightsinglequotemark, breve ],
        symbols[Group2]= [ rightsinglequotemark,      breve ]
    };

};
