1// Esperanto keyboard maps -- "Ekverto"
2
3// Ekverto B ("basic") (2006-12-02)
4// Benno Schulenberg (Beno Sĥilenberĥ) <bensberg@justemail.net>
5// Chusslove Illich (Ĉaslavo Iliĉo) <caslav.ilic@gmx.net>
6
7default partial alphanumeric_keys
8xkb_symbols "basic" {
9
10  include "us(basic)"
11
12  name[Group1]= "Esperanto";
13
14  key <AE05>  { [ 5,            percent,      EuroSign,      EuroSign   ] };
15
16  key <AD01>  { [ scircumflex,  Scircumflex,  q,             Q          ] };
17  key <AD02>  { [ gcircumflex,  Gcircumflex,  w,             W          ] };
18  key <AD06>  { [ ubreve,       Ubreve,       y,             Y          ] };
19  key <AD09>  { [ o,            O,            braceleft,     braceleft  ] };
20  key <AD10>  { [ p,            P,            braceright,    braceright ] };
21  key <AD11>  { [ jcircumflex,  Jcircumflex,  bracketleft,   braceleft  ] };
22  key <AD12>  { [ hcircumflex,  Hcircumflex,  bracketright,  braceright ] };
23
24  key <AC01>  { [ a,            A,     leftsinglequotemark,  NoSymbol   ] };
25  key <AC02>  { [ s,            S,    rightsinglequotemark,  NoSymbol   ] };
26  key <AC03>  { [ d,            D,     leftdoublequotemark,  NoSymbol   ] };
27  key <AC04>  { [ f,            F,    rightdoublequotemark,  NoSymbol   ] };
28
29  key <AB02>  { [ ccircumflex,  Ccircumflex,  x,             X          ] };
30  key <AB06>  { [ n,            N,            endash,        endash     ] };
31  key <AB07>  { [ m,            M,            emdash,        emdash     ] };
32  key <AB08>  { [ comma,        less,        guillemotleft,  U2039      ] }; // « ‹
33  key <AB09>  { [ period,       greater,    guillemotright,  U203A      ] }; // » ›
34
35  include "level3(ralt_switch)"
36};
37
38
39// Ekverto A ("legacy") (2004-01-10)
40// Chusslove Illich (Ĉaslavo Iliĉo) <caslav.ilic@gmx.net>
41
42partial alphanumeric_keys
43xkb_symbols "legacy" {
44
45  name[Group1]= "Esperanto (legacy)";
46
47  key.type[Group1] = "FOUR_LEVEL";
48
49  key <TLDE>  { [ grave,         asciitilde,  NoSymbol,  NoSymbol ] };
50  key <AE01>  { [ 1,             exclam,      NoSymbol,  NoSymbol ] };
51  key <AE02>  { [ 2,             quotedbl,    NoSymbol,  NoSymbol ] };
52  key <AE03>  { [ 3,             numbersign,  NoSymbol,  NoSymbol ] };
53  key <AE04>  { [ 4,             dollar,      NoSymbol,  NoSymbol ] };
54  key <AE05>  { [ 5,             percent,     NoSymbol,  NoSymbol ] };
55  key <AE06>  { [ 6,             apostrophe,  NoSymbol,  NoSymbol ] };
56  key <AE07>  { [ 7,             ampersand,   NoSymbol,  NoSymbol ] };
57  key <AE08>  { [ 8,             asterisk,    NoSymbol,  NoSymbol ] };
58  key <AE09>  { [ 9,             parenleft,   NoSymbol,  NoSymbol ] };
59  key <AE10>  { [ 0,             parenright,  NoSymbol,  NoSymbol ] };
60  key <AE11>  { [ minus,         underscore,  NoSymbol,  NoSymbol ] };
61  key <AE12>  { [ equal,         plus,        NoSymbol,  NoSymbol ] };
62
63  key <AB08>  { [ comma,         semicolon,   NoSymbol,  NoSymbol ] };
64  key <AB09>  { [ period,        colon,       NoSymbol,  NoSymbol ] };
65  key <AB10>  { [ slash,         question,    NoSymbol,  NoSymbol ] };
66
67  key <AD11>  { [ bracketleft,   braceleft,   NoSymbol,  NoSymbol ] };
68  key <AD12>  { [ bracketright,  braceright,  NoSymbol,  NoSymbol ] };
69
70  key <BKSL>  { [ backslash,     bar,         NoSymbol,  NoSymbol ] };
71  key <LSGT>  { [ NoSymbol,      NoSymbol,    NoSymbol,  NoSymbol ] };
72
73  key.type[Group1] = "FOUR_LEVEL_SEMIALPHABETIC";
74
75  key <AD01>  { [ scircumflex,  Scircumflex,  at,                    NoSymbol ] };
76  key <AD02>  { [ jcircumflex,  Jcircumflex,  asciicircum,           NoSymbol ] };
77  key <AD03>  { [ e,            E,            EuroSign,              NoSymbol ] };
78  key <AD04>  { [ r,            R,            emdash,                NoSymbol ] };
79  key <AD05>  { [ t,            T,            endash,                NoSymbol ] };
80  key <AD06>  { [ gcircumflex,  Gcircumflex,  NoSymbol,              NoSymbol ] };
81  key <AD07>  { [ u,            U,            NoSymbol,              NoSymbol ] };
82  key <AD08>  { [ i,            I,            NoSymbol,              NoSymbol ] };
83  key <AD09>  { [ o,            O,            NoSymbol,              NoSymbol ] };
84  key <AD10>  { [ p,            P,            NoSymbol,              NoSymbol ] };
85
86  key <AC01>  { [ a,            A,            less,                  NoSymbol ] };
87  key <AC02>  { [ s,            S,            greater,               NoSymbol ] };
88  key <AC03>  { [ d,            D,            leftdoublequotemark,   NoSymbol ] };
89  key <AC04>  { [ f,            F,            rightdoublequotemark,  NoSymbol ] };
90  key <AC05>  { [ g,            G,            NoSymbol,              NoSymbol ] };
91  key <AC06>  { [ h,            H,            NoSymbol,              NoSymbol ] };
92  key <AC07>  { [ j,            J,            NoSymbol,              NoSymbol ] };
93  key <AC08>  { [ k,            K,            NoSymbol,              NoSymbol ] };
94  key <AC09>  { [ l,            L,            NoSymbol,              NoSymbol ] };
95  key <AC10>  { [ ubreve,       Ubreve,       NoSymbol,              NoSymbol ] };
96  key <AC11>  { [ hcircumflex,  Hcircumflex,  NoSymbol,              NoSymbol ] };
97
98  key <AB01>  { [ z,            Z,            leftsinglequotemark,   NoSymbol ] };
99  key <AB02>  { [ ccircumflex,  Ccircumflex,  rightsinglequotemark,  NoSymbol ] };
100  key <AB03>  { [ c,            C,            NoSymbol,              NoSymbol ] };
101  key <AB04>  { [ v,            V,            NoSymbol,              NoSymbol ] };
102  key <AB05>  { [ b,            B,            NoSymbol,              NoSymbol ] };
103  key <AB06>  { [ n,            N,            NoSymbol,              NoSymbol ] };
104  key <AB07>  { [ m,            M,            NoSymbol,              NoSymbol ] };
105
106  include "level3(ralt_switch)"
107};
108
109
110// Add the Esperanto supersigned letters to their related keys on a Qwerty keyboard.
111// This is a generic "component" that is not used by the other layouts in this file,
112// but is meant to be applied to any Qwerty or Azerty or Qwertz layout.  If you have
113// any questions, ask J. Pablo Fernández <pupeno@pupeno.com>.
114partial
115xkb_symbols "qwerty" {
116    key <AB03> { [ NoSymbol, NoSymbol, ccircumflex, Ccircumflex ] };
117    key <AC05> { [ NoSymbol, NoSymbol, gcircumflex, Gcircumflex ] };
118    key <AC06> { [ NoSymbol, NoSymbol, hcircumflex, Hcircumflex ] };
119    key <AC07> { [ NoSymbol, NoSymbol, jcircumflex, Jcircumflex ] };
120    key <AC02> { [ NoSymbol, NoSymbol, scircumflex, Scircumflex ] };
121    key <AD07> { [ NoSymbol, NoSymbol,      ubreve,      Ubreve ] };
122};
123
124// Add the Esperanto supersigned letters to their related keys in a
125// Dvorak layout.  Similar comment as above applies.
126partial
127xkb_symbols "dvorak" {
128    key <AD08> { [ NoSymbol, NoSymbol, ccircumflex, Ccircumflex ] };
129    key <AD07> { [ NoSymbol, NoSymbol, gcircumflex, Gcircumflex ] };
130    key <AC07> { [ NoSymbol, NoSymbol, hcircumflex, Hcircumflex ] };
131    key <AB03> { [ NoSymbol, NoSymbol, jcircumflex, Jcircumflex ] };
132    key <AC10> { [ NoSymbol, NoSymbol, scircumflex, Scircumflex ] };
133    key <AC04> { [ NoSymbol, NoSymbol,      ubreve,      Ubreve ] };
134};
135
136// Add the Esperanto supersigned letters to their related keys in a
137// Colemak layout.  Similar comment as above applies.
138partial
139xkb_symbols "colemak" {
140    key <AB03> { [ NoSymbol, NoSymbol, ccircumflex, Ccircumflex ] };
141    key <AD05> { [ NoSymbol, NoSymbol, gcircumflex, Gcircumflex ] };
142    key <AC06> { [ NoSymbol, NoSymbol, hcircumflex, Hcircumflex ] };
143    key <AD06> { [ NoSymbol, NoSymbol, jcircumflex, Jcircumflex ] };
144    key <AC03> { [ NoSymbol, NoSymbol, scircumflex, Scircumflex ] };
145    key <AD08> { [ NoSymbol, NoSymbol,      ubreve,      Ubreve ] };
146};
147