• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Modified for a real Spanish keyboard by Jon Tombs.
2
3default partial alphanumeric_keys
4xkb_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
29partial alphanumeric_keys
30xkb_symbols "winkeys" {
31
32    include "es(basic)"
33    name[Group1]="Spanish (Windows)";
34    include "eurosign(5)"
35};
36
37partial alphanumeric_keys
38xkb_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
46partial alphanumeric_keys
47xkb_symbols "sundeadkeys" {
48
49    include "es(Sundeadkeys)"
50
51    name[Group1]="Spanish (Sun dead keys)";
52};
53
54partial alphanumeric_keys
55xkb_symbols "nodeadkeys" {
56
57    include "es(basic)"
58
59    name[Group1]="Spanish (no 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)
70partial alphanumeric_keys
71xkb_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, guillemotleft                ]};
90    key <AD02> {[      comma, semicolon, greater, guillemotright        ]};
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
130partial alphanumeric_keys
131xkb_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
140partial alphanumeric_keys
141xkb_symbols "ast" {
142
143    include "es(basic)"
144
145    name[Group1]="Asturian (Spain, with bottom-dot H and L)";
146
147    key <AC06>  { [	    h,      H,		0x1001E25,  0x1001E24 ] };
148    key <AC09>  { [	    l,      L,		0x1001E37,  0x1001E36 ] };
149};
150
151// Copied from macintosh_vndr/es
152partial alphanumeric_keys
153xkb_symbols "mac" {
154    include "es"
155    name[Group1]= "Spanish (Macintosh)";
156};
157
158partial alphanumeric_keys
159xkb_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
196partial alphanumeric_keys
197xkb_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
236partial alphanumeric_keys
237xkb_symbols "deadtilde" {
238
239    include "es(basic)"
240
241    name[Group1]="Spanish (dead tilde)";
242
243    key <AE04>	{ [         4,     dollar,   dead_tilde,       dollar ]	};
244};
245
246partial alphanumeric_keys
247xkb_symbols "olpc2" {
248
249    // Modified variant of US International layout, specifically for Peru
250    // Contact: Sayamindu Dasgupta <sayamindu@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
263partial alphanumeric_keys
264	xkb_symbols "sun_type6" {
265	include "sun_vndr/es(sun_type6)"
266};
267