es revision 1.1.1.7 1 // Modified for a real Spanish keyboard by Jon Tombs.
2
3 default partial alphanumeric_keys
4 xkb_symbols "basic" {
5
6 include "latin(type4)"
7
8 name[Group1]="Spanish";
9
10 key <AE01> { [ 1, exclam, bar, exclamdown ] };
11 key <AE03> { [ 3, periodcentered, numbersign, sterling ] };
12 key <AE04> { [ 4, dollar, asciitilde, dollar ] };
13 key <AE06> { [ 6, ampersand, notsign, fiveeighths ] };
14 key <AE11> { [apostrophe, question, backslash, questiondown ] };
15 key <AE12> { [exclamdown, questiondown, dead_tilde, asciitilde ] };
16
17 key <AD11> { [dead_grave, dead_circumflex, bracketleft, dead_abovering ] };
18 key <AD12> { [ plus, asterisk, bracketright, dead_macron ] };
19
20 key <AC10> { [ ntilde, Ntilde, asciitilde, dead_doubleacute ] };
21 key <AC11> { [dead_acute, dead_diaeresis, braceleft, braceleft ] };
22 key <TLDE> { [ masculine, ordfeminine, backslash, backslash ] };
23
24 key <BKSL> { [ ccedilla, Ccedilla, braceright, dead_breve ] };
25
26 include "level3(ralt_switch)"
27 };
28
29 partial alphanumeric_keys
30 xkb_symbols "winkeys" {
31
32 include "es(basic)"
33 name[Group1]="Spanish (Winkeys)";
34 include "eurosign(5)"
35 };
36
37 partial alphanumeric_keys
38 xkb_symbols "Sundeadkeys" {
39
40 include "es(basic)"
41
42 key <AC11> { [dead_acute, dead_diaeresis, braceleft, braceleft ] };
43 key <AD11> { [dead_grave, dead_circumflex, bracketleft, dead_abovering ] };
44 };
45
46 partial alphanumeric_keys
47 xkb_symbols "sundeadkeys" {
48
49 include "es(Sundeadkeys)"
50
51 name[Group1]="Spanish (Sun dead keys)";
52 };
53
54 partial alphanumeric_keys
55 xkb_symbols "nodeadkeys" {
56
57 include "es(basic)"
58
59 name[Group1]="Spanish (eliminate dead keys)";
60
61 key <AD11> { [ grave, asciicircum, bracketleft, degree ] };
62 key <AD12> { [ plus, asterisk, bracketright, macron ] };
63 key <AC10> { [ ntilde, Ntilde, asciitilde, doubleacute ] };
64 key <AC11> { [ acute, diaeresis, braceleft, braceleft ] };
65 key <BKSL> { [ ccedilla, Ccedilla, braceright, breve ] };
66 key <AB10> { [ minus, underscore, dead_belowdot, abovedot ] };
67 };
68
69 // Spanish mapping (note R-H exchange)
70 partial alphanumeric_keys
71 xkb_symbols "dvorak" {
72
73 name[Group1]="Spanish (Dvorak)";
74
75 key <TLDE> {[ masculine, ordfeminine, backslash, degree ]};
76 key <AE01> {[ 1, exclam, bar, onesuperior ]};
77 key <AE02> {[ 2, quotedbl, at, twosuperior ]};
78 key <AE03> {[ 3, periodcentered, numbersign, threesuperior ]};
79 key <AE04> {[ 4, dollar, asciitilde, onequarter ]};
80 key <AE05> {[ 5, percent, brokenbar, fiveeighths ]};
81 key <AE06> {[ 6, ampersand, notsign, threequarters ]};
82 key <AE07> {[ 7, slash, onehalf, seveneighths ]};
83 key <AE08> {[ 8, parenleft, oneeighth, threeeighths ]};
84 key <AE09> {[ 9, parenright, asciicircum ]};
85 key <AE10> {[ 0, equal, grave, dead_doubleacute ]};
86 key <AE11> {[ apostrophe, question, dead_macron, dead_ogonek ]};
87 key <AE12> {[ exclamdown, questiondown, dead_breve, dead_abovedot ]};
88
89 key <AD01> {[ period, colon, less ]};
90 key <AD02> {[ comma, semicolon, greater ]};
91 key <AD03> {[ ntilde, Ntilde, lstroke, Lstroke ]};
92 key <AD04> {[ p, P, paragraph ]};
93 key <AD05> {[ y, Y, yen ]};
94 key <AD06> {[ f, F, tslash, Tslash ]};
95 key <AD07> {[ g, G, dstroke, Dstroke ]};
96 key <AD08> {[ c, C, cent, copyright ]};
97 key <AD09> {[ h, H, hstroke, Hstroke ]};
98 key <AD10> {[ l, L, sterling ]};
99 key <AD11> {[ dead_grave, dead_circumflex, bracketleft, dead_caron ]};
100 key <AD12> {[ plus, asterisk, bracketright, plusminus ]};
101
102 key <AC01> {[ a, A, ae, AE ]};
103 key <AC02> {[ o, O, oslash, Oslash ]};
104 key <AC03> {[ e, E, EuroSign ]};
105 key <AC04> {[ u, U, aring, Aring ]};
106 key <AC05> {[ i, I, oe, OE ]};
107 key <AC06> {[ d, D, eth, ETH ]};
108 key <AC07> {[ r, R, registered, trademark ]};
109 key <AC08> {[ t, T, thorn, THORN ]};
110 key <AC09> {[ n, N, eng, ENG ]};
111 key <AC10> {[ s, S, ssharp, section ]};
112 key <AC11> {[ dead_acute, dead_diaeresis, braceleft, dead_tilde ]};
113 key <BKSL> {[ ccedilla, Ccedilla, braceright, dead_cedilla ]};
114
115 key <LSGT> {[ less, greater, guillemotleft, guillemotright ]};
116 key <AB01> {[ minus, underscore, hyphen, macron ]};
117 key <AB02> {[ q, Q, currency ]};
118 key <AB03> {[ j, J ]};
119 key <AB04> {[ k, K, kra ]};
120 key <AB05> {[ x, X, multiply, division ]};
121 key <AB06> {[ b, B ]};
122 key <AB07> {[ m, M, mu ]};
123 key <AB08> {[ w, W ]};
124 key <AB09> {[ v, V ]};
125 key <AB10> {[ z, Z ]};
126
127 include "level3(ralt_switch)"
128 };
129
130 partial alphanumeric_keys
131 xkb_symbols "cat" {
132
133 include "es(basic)"
134
135 name[Group1]="Catalan (Spain, with middle-dot L)";
136
137 key <AC09> { [ l, L, 0x1000140, 0x100013F ] };
138 };
139
140 partial alphanumeric_keys
141 xkb_symbols "ast" {
142
143 include "es(basic)"
144
145 name[Group1]="Asturian (Spain, with bottom-dot H and bottom-dot L)";
146
147 key <AC06> { [ h, H, 0x1001E25, 0x1001E24 ] };
148 key <AC09> { [ l, L, 0x1001E37, 0x1001E36 ] };
149 };
150
151 // Copied from macintosh_vndr/es
152 partial alphanumeric_keys
153 xkb_symbols "mac" {
154 include "es"
155 name[Group1]= "Spanish (Macintosh)";
156 };
157
158 partial alphanumeric_keys
159 xkb_symbols "olpc" {
160
161 // http://wiki.laptop.org/go/OLPC_Spanish_Keyboard
162
163 include "us(basic)"
164 name[Group1]="Spanish";
165
166 key <AE00> { [ masculine, ordfeminine ] };
167 key <AE01> { [ 1, exclam, bar ] };
168 key <AE02> { [ 2, quotedbl, at ] };
169 key <AE03> { [ 3, dead_grave, numbersign, grave ] };
170 key <AE05> { [ 5, percent, asciicircum, dead_circumflex ] };
171 key <AE06> { [ 6, ampersand, notsign ] };
172 key <AE07> { [ 7, slash, backslash ] };
173 key <AE08> { [ 8, parenleft ] };
174 key <AE09> { [ 9, parenright ] };
175 key <AE10> { [ 0, equal ] };
176 key <AE11> { [ apostrophe, question ] };
177 key <AE12> { [ exclamdown, questiondown ] };
178
179 key <AD03> { [ e, E, EuroSign ] };
180 key <AD11> { [ dead_acute, dead_diaeresis, acute, dead_abovering ] };
181 key <AD12> { [ bracketleft, braceleft ] };
182
183 key <AC10> { [ ntilde, Ntilde ] };
184 key <AC11> { [ plus, asterisk, dead_tilde ] };
185 key <AC12> { [ bracketright, braceright, section ] };
186
187 key <AB08> { [ comma, semicolon ] };
188 key <AB09> { [ period, colon ] };
189 key <AB10> { [ minus, underscore ] };
190
191 key <I219> { [ less, greater, ISO_Next_Group ] };
192
193 include "level3(ralt_switch)"
194 };
195
196 partial alphanumeric_keys
197 xkb_symbols "olpcm" {
198
199 // Mechanical (non-membrane) OLPC Spanish keyboard layout.
200 // See: http://wiki.laptop.org/go/OLPC_Spanish_Non-membrane_Keyboard
201
202 include "us(basic)"
203 name[Group1]="Spanish";
204
205 key <AE00> { [ questiondown, exclamdown, backslash ] };
206 key <AE01> { [ 1, exclam, bar ] };
207 key <AE02> { [ 2, quotedbl, at ] };
208 key <AE03> { [ 3, dead_grave, numbersign, grave ] };
209 key <AE04> { [ 4, dollar, asciitilde, dead_tilde ] };
210 key <AE05> { [ 5, percent, asciicircum, dead_circumflex ] };
211 key <AE06> { [ 6, ampersand, notsign ] };
212 key <AE07> { [ 7, slash, backslash ] }; // no '\' label on olpcm, leave for compatibility
213 key <AE08> { [ 8, parenleft, masculine ] };
214 key <AE09> { [ 9, parenright, ordfeminine ] };
215 key <AE10> { [ 0, equal ] };
216 key <AE11> { [ apostrophe, question ] };
217
218 key <AD03> { [ e, E, EuroSign ] };
219 key <AD11> { [ dead_acute, dead_diaeresis, dead_abovering, acute ] };
220 key <AD12> { [ plus, asterisk ] };
221
222 key <AC10> { [ ntilde, Ntilde ] };
223 // no AC11 or AC12 on olpcm
224
225 key <AB08> { [ comma, semicolon ] };
226 key <AB09> { [ period, colon ] };
227 key <AB10> { [ minus, underscore ] };
228
229 key <AA02> { [ less, greater ] };
230 key <AA06> { [ bracketleft, braceleft, ccedilla, Ccedilla ] };
231 key <AA07> { [ bracketright, braceright ] };
232
233 include "level3(ralt_switch)"
234 };
235
236 partial alphanumeric_keys
237 xkb_symbols "deadtilde" {
238
239 include "es(basic)"
240
241 name[Group1]="Spanish (include dead tilde)";
242
243 key <AE04> { [ 4, dollar, dead_tilde, dollar ] };
244 };
245
246 partial alphanumeric_keys
247 xkb_symbols "olpc2" {
248
249 // Modified variant of US International layout, specifically for Peru
250 // Contact: Sayamindu Dasgupta <sayamindu (a] laptop.org>
251
252 include "us(olpc)"
253 name[Group1]="Spanish (OLPC2)";
254
255 key <AE03> { [ 3, numbersign, dead_grave, dead_grave] }; // combining grave
256 key <I236> { [ XF86Start ] };
257
258 include "level3(ralt_switch)"
259 };
260
261 // EXTRAS:
262
263 partial alphanumeric_keys
264 xkb_symbols "sun_type6" {
265 include "sun_vndr/es(sun_type6)"
266 };
267