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