// $XKeyboardConfig: xkbdesc/symbols/epo,v 1.1 2005/12/31 01:30:18 svu Exp $

// Esperanto keyboard map "Ekverto"
//
// Ekverto A (2004-01-10)
//
// Chusslove Illich (Ĉaslavo Iliĉo) <caslav.ilic@gmx.net>

default partial alphanumeric_keys
xkb_symbols "basic" {

  name[Group1]= "Esperanto";

  key.type[Group1] = "FOUR_LEVEL";

  key <TLDE>  { [ grave,         asciitilde,  NoSymbol,  NoSymbol ] };
  key <AE01>  { [ 1,             exclam,      NoSymbol,  NoSymbol ] };
  key <AE02>  { [ 2,             quotedbl,    NoSymbol,  NoSymbol ] };
  key <AE03>  { [ 3,             numbersign,  NoSymbol,  NoSymbol ] };
  key <AE04>  { [ 4,             dollar,      NoSymbol,  NoSymbol ] };
  key <AE05>  { [ 5,             percent,     NoSymbol,  NoSymbol ] };
  key <AE06>  { [ 6,             apostrophe,  NoSymbol,  NoSymbol ] };
  key <AE07>  { [ 7,             ampersand,   NoSymbol,  NoSymbol ] };
  key <AE08>  { [ 8,             asterisk,    NoSymbol,  NoSymbol ] };
  key <AE09>  { [ 9,             parenleft,   NoSymbol,  NoSymbol ] };
  key <AE10>  { [ 0,             parenright,  NoSymbol,  NoSymbol ] };
  key <AE11>  { [ minus,         underscore,  NoSymbol,  NoSymbol ] };
  key <AE12>  { [ equal,         plus,        NoSymbol,  NoSymbol ] };

  key <AB08>  { [ comma,         semicolon,   NoSymbol,  NoSymbol ] };
  key <AB09>  { [ period,        colon,       NoSymbol,  NoSymbol ] };
  key <AB10>  { [ slash,         question,    NoSymbol,  NoSymbol ] };

  key <AD11>  { [ bracketleft,   braceleft,   NoSymbol,  NoSymbol ] };
  key <AD12>  { [ bracketright,  braceright,  NoSymbol,  NoSymbol ] };

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

  key.type[Group1] = "FOUR_LEVEL_ALPHABETIC";

  key <AD01>  { [ scircumflex,  Scircumflex,  at,                    NoSymbol ] };
  key <AD02>  { [ jcircumflex,  Jcircumflex,  asciicircum,           NoSymbol ] };
  key <AD03>  { [ e,            E,            EuroSign,              NoSymbol ] };
  key <AD04>  { [ r,            R,            emdash,                NoSymbol ] };
  key <AD05>  { [ t,            T,            endash,                NoSymbol ] };
  key <AD06>  { [ gcircumflex,  Gcircumflex,  NoSymbol,              NoSymbol ] };
  key <AD07>  { [ u,            U,            NoSymbol,              NoSymbol ] };
  key <AD08>  { [ i,            I,            NoSymbol,              NoSymbol ] };
  key <AD09>  { [ o,            O,            NoSymbol,              NoSymbol ] };
  key <AD10>  { [ p,            P,            NoSymbol,              NoSymbol ] };

  key <AC01>  { [ a,            A,            less,                  NoSymbol ] };
  key <AC02>  { [ s,            S,            greater,               NoSymbol ] };
  key <AC03>  { [ d,            D,            leftdoublequotemark,   NoSymbol ] };
  key <AC04>  { [ f,            F,            rightdoublequotemark,  NoSymbol ] };
  key <AC05>  { [ g,            G,            NoSymbol,              NoSymbol ] };
  key <AC06>  { [ h,            H,            NoSymbol,              NoSymbol ] };
  key <AC07>  { [ j,            J,            NoSymbol,              NoSymbol ] };
  key <AC08>  { [ k,            K,            NoSymbol,              NoSymbol ] };
  key <AC09>  { [ l,            L,            NoSymbol,              NoSymbol ] };
  key <AC10>  { [ ubreve,       Ubreve,       NoSymbol,              NoSymbol ] };
  key <AC11>  { [ hcircumflex,  Hcircumflex,  NoSymbol,              NoSymbol ] };

  key <AB01>  { [ z,            Z,            leftsinglequotemark,   NoSymbol ] };
  key <AB02>  { [ ccircumflex,  Ccircumflex,  rightsinglequotemark,  NoSymbol ] };
  key <AB03>  { [ c,            C,            NoSymbol,              NoSymbol ] };
  key <AB04>  { [ v,            V,            NoSymbol,              NoSymbol ] };
  key <AB05>  { [ b,            B,            NoSymbol,              NoSymbol ] };
  key <AB06>  { [ n,            N,            NoSymbol,              NoSymbol ] };
  key <AB07>  { [ m,            M,            NoSymbol,              NoSymbol ] };

  include "level3(ralt_switch)"
};

partial alphanumeric_keys
xkb_symbols "dvorak" {
    include "us(dvorak)"

    name[Group1]= "Esperanto - Dvorak";

    // Alphanumeric section
    key.type[Group1] = "FOUR_LEVEL";

    key <TLDE> { [ bracketleft,	braceleft, bracketright, braceright	] };

    key <AE01> { [	    1,	exclam, numbersign	]	};
    key <AE02> { [	    2,	quotedbl, twosuperior 	]	};
    key <AE03> { [	    3,	sterling, threesuperior	]	};
    key <AE04> { [	    4,	dollar, EuroSign	]	};
    key <AE06> { [	    6,	asciicircum	]	};
    key <AE07> { [	    7,	ampersand, dead_circumflex	]	};
    key <AE08> { [	    8,	asterisk, dead_abovering	]	};
    key <AE09> { [	    9,	parenleft,  dead_tilde		]	};
    key <AE10> { [	    0,	parenright, dead_diaeresis	]	};
    key <AE11> { [	minus,	underscore, dead_grave	]	};
    key <AE12> { [      equal,  plus,       dead_acute	]	};

    key <AD01> { [  apostrophe,	at, dead_acute, dead_diaeresis	] };
    key <AD05> { [	    b,	B		]	};
    key <AD07> { [	    v,	V		]	};
    key <AD08> { [	    d,	D		]	};
    key <AD09> { [	    g,	G		]	};
    key <AD10> { [	    h,	H, hcircumflex, Hcircumflex	] };
    key <AD11> { [	slash,	question, asciitilde ]	};
    key <AD12> { [	    y,	Y, x, X		]	};

    key <AC01> { [	    r,	R 		]	};
    key <AC02> { [	    i,	I		]	};
    key <AC03> { [	    a,	A		]	};
    key <AC04> { [	    o,	O		]	};
    key <AC05> { [	    k,	K		]	};
    key <AC06> { [	    j,	J		]	};
    key <AC07> { [	    e,	E		]	};
    key <AC08> { [	    n,	N		]	};
    key <AC09> { [	    t,	T		]	};
    key <AC10> { [	    l,	L		]	};
    key <AC11> { [ gcircumflex,	Gcircumflex	]	};
    key <BKSL> { [	    w,	W, q, Q		] };

    key <LSGT> { [  backslash, bar ] };
    key <AB02> { [ scircumflex,	Scircumflex	]	};
    key <AB03> { [	    s,	S		]	};
    key <AB04> { [	    c,	C		]	};
    key <AB05> { [ ccircumflex,	Ccircumflex	]	};
    key <AB06> { [	    m,	M, mu		]	};
    key <AB07> { [	    u,	U		]	};
    key <AB08> { [ jcircumflex,	Jcircumflex	]	};
    key <AB09> { [     ubreve,	Ubreve		]	};
    key <AB10> { [	    z,	Z		]	};
};


