es revision 0412cded
1154daed1Smrg// based on a keyboard
2154daed1Smrg// Modified for a real Spanish Keyboard by Jon Tombs
3154daed1Smrg//
4154daed1Smrg
5154daed1Smrgpartial default alphanumeric_keys
6154daed1Smrgxkb_symbols "basic" {
7154daed1Smrg
8154daed1Smrg    include "latin(type4)"
9154daed1Smrg
10bfd7cbc1Smrg    name[Group1]="Spanish";
11154daed1Smrg
12154daed1Smrg    key <AE01>	{ [         1,     exclam,          bar,   exclamdown ]	};
13154daed1Smrg    key <AE03>	{ [         3, periodcentered, numbersign,   sterling ]	};
14154daed1Smrg    key <AE04>	{ [         4,     dollar,   asciitilde,       dollar ]	};
15154daed1Smrg    key <AE06>	{ [         6,  ampersand,      notsign,  fiveeighths ]	};
16154daed1Smrg    key <AE11>	{ [apostrophe,   question,    backslash, questiondown ]	};
17c067fea9Sghen    key <AE12>	{ [exclamdown, questiondown, dead_tilde,   asciitilde ]	};
18154daed1Smrg
19154daed1Smrg    key <AD11>	{ [dead_grave, dead_circumflex, bracketleft, dead_abovering ] };
20154daed1Smrg    key <AD12>	{ [      plus,   asterisk, bracketright,  dead_macron ]	};
21154daed1Smrg
22154daed1Smrg    key <AC10>	{ [    ntilde, Ntilde,   asciitilde, dead_doubleacute ]	};
23154daed1Smrg    key <AC11>	{ [dead_acute, dead_diaeresis, braceleft,   braceleft ]	};
24154daed1Smrg    key <TLDE>	{ [ masculine, ordfeminine,    backslash,   backslash ]	};
25154daed1Smrg
26154daed1Smrg    key <BKSL>	{ [  ccedilla,   Ccedilla,   braceright,   dead_breve ]	};
27154daed1Smrg
28154daed1Smrg    include "level3(ralt_switch)"
29154daed1Smrg};
30154daed1Smrg
31154daed1Smrgpartial alphanumeric_keys
32154daed1Smrgxkb_symbols "Sundeadkeys" {
33154daed1Smrg
34154daed1Smrg    include "es(basic)"
35154daed1Smrg
36c067fea9Sghen    key <AC11>	{ [dead_acute, dead_diaeresis, braceleft, braceleft ]	};
37c067fea9Sghen    key <AD11>	{ [dead_grave, dead_circumflex, bracketleft, dead_abovering ] };
38154daed1Smrg};
39154daed1Smrg
40154daed1Smrgpartial alphanumeric_keys
41154daed1Smrgxkb_symbols "sundeadkeys" {
42154daed1Smrg
43154daed1Smrg    include "es(Sundeadkeys)"
44154daed1Smrg
45bfd7cbc1Smrg    name[Group1]="Spanish (Sun dead keys)";
46154daed1Smrg};
47154daed1Smrg
48154daed1Smrgpartial alphanumeric_keys
49154daed1Smrgxkb_symbols "nodeadkeys" {
50154daed1Smrg
51154daed1Smrg    include "es(basic)"
52154daed1Smrg
53bfd7cbc1Smrg    name[Group1]="Spanish (eliminate dead keys)";
54154daed1Smrg
55154daed1Smrg    key <AD11>	{ [     grave, asciicircum,  bracketleft,      degree ]	};
56154daed1Smrg    key <AD12>	{ [      plus,   asterisk, bracketright,       macron ]	};
57154daed1Smrg    key <AC10>	{ [    ntilde,     Ntilde,   asciitilde,  doubleacute ]	};
58154daed1Smrg    key <AC11>	{ [     acute,  diaeresis,    braceleft,    braceleft ]	};
59154daed1Smrg    key <BKSL>	{ [  ccedilla,   Ccedilla,   braceright,        breve ]	};
60154daed1Smrg    key <AB10>	{ [     minus, underscore, dead_belowdot,    abovedot ]	};
61154daed1Smrg};
62154daed1Smrg
63154daed1Smrg// Spanish mapping (note R-H exchange)
64154daed1Smrgpartial alphanumeric_keys
65154daed1Smrgxkb_symbols "dvorak" {
66154daed1Smrg
67bfd7cbc1Smrg    name[Group1]="Spanish (Dvorak)";
68154daed1Smrg
69154daed1Smrg    // Alphanumeric section
70154daed1Smrg    key <TLDE> {[  masculine, ordfeminine, backslash, degree		]};
71154daed1Smrg    key <AE01> {[          1, exclam, bar, onesuperior			]};
72154daed1Smrg    key <AE02> {[          2, quotedbl, at, twosuperior			]};
73154daed1Smrg    key <AE03> {[          3, periodcentered, numbersign, threesuperior	]};
74154daed1Smrg    key <AE04> {[          4, dollar, asciitilde, onequarter		]};
75154daed1Smrg    key <AE05> {[          5, percent, brokenbar, fiveeighths		]};
76154daed1Smrg    key <AE06> {[          6, ampersand, notsign, threequarters		]};
77154daed1Smrg    key <AE07> {[          7, slash, onehalf, seveneighths		]};
78154daed1Smrg    key <AE08> {[          8, parenleft, oneeighth, threeeighths	]};
79154daed1Smrg    key <AE09> {[          9, parenright, asciicircum			]};
80154daed1Smrg    key <AE10> {[          0, equal, grave, dead_doubleacute		]};
81154daed1Smrg    key <AE11> {[ apostrophe, question, dead_macron, dead_ogonek	]};
82154daed1Smrg    key <AE12> {[ exclamdown, questiondown, dead_breve, dead_abovedot	]};
83154daed1Smrg
840412cdedSmrg    key <AD01> {[     period, colon, less				]};
850412cdedSmrg    key <AD02> {[      comma, semicolon, greater			]};
86154daed1Smrg    key <AD03> {[     ntilde, Ntilde, lstroke, Lstroke			]};
87154daed1Smrg    key <AD04> {[          p, P, paragraph				]};
88154daed1Smrg    key <AD05> {[          y, Y, yen					]};
89154daed1Smrg    key <AD06> {[          f, F, tslash, Tslash				]};
90154daed1Smrg    key <AD07> {[          g, G, dstroke, Dstroke			]};
91154daed1Smrg    key <AD08> {[          c, C, cent, copyright			]};
92154daed1Smrg    key <AD09> {[          h, H, hstroke, Hstroke			]};
93154daed1Smrg    key <AD10> {[          l, L, sterling				]};
94154daed1Smrg    key <AD11> {[ dead_grave, dead_circumflex, bracketleft, dead_caron	]};
95154daed1Smrg    key <AD12> {[       plus, asterisk, bracketright, plusminus		]};
96154daed1Smrg
97154daed1Smrg    key <AC01> {[          a, A, ae, AE					]};
98154daed1Smrg    key <AC02> {[          o, O, oslash, Oslash				]};
99154daed1Smrg    key <AC03> {[          e, E, EuroSign				]};
100154daed1Smrg    key <AC04> {[          u, U, aring, Aring				]};
101154daed1Smrg    key <AC05> {[          i, I, oe, OE					]};
102154daed1Smrg    key <AC06> {[          d, D, eth, ETH				]};
103154daed1Smrg    key <AC07> {[          r, R, registered, trademark			]};
104154daed1Smrg    key <AC08> {[          t, T, thorn, THORN				]};
105154daed1Smrg    key <AC09> {[          n, N, eng, ENG				]};
106154daed1Smrg    key <AC10> {[          s, S, ssharp, section			]};
107154daed1Smrg    key <AC11> {[ dead_acute, dead_diaeresis, braceleft, dead_tilde	]};
108154daed1Smrg    key <BKSL> {[   ccedilla, Ccedilla, braceright, dead_cedilla	]};
109154daed1Smrg
110154daed1Smrg    key <LSGT> {[       less, greater, guillemotleft, guillemotright	]};
111154daed1Smrg    key <AB01> {[      minus, underscore, hyphen, macron		]};
112154daed1Smrg    key <AB02> {[          q, Q, currency				]};
113154daed1Smrg    key <AB03> {[          j, J						]};
114154daed1Smrg    key <AB04> {[          k, K, kra					]};
115154daed1Smrg    key <AB05> {[          x, X, multiply, division			]};
116154daed1Smrg    key <AB06> {[          b, B						]};
117154daed1Smrg    key <AB07> {[          m, M, mu					]};
118154daed1Smrg    key <AB08> {[          w, W						]};
119154daed1Smrg    key <AB09> {[          v, V						]};
120154daed1Smrg    key <AB10> {[          z, Z						]};
121154daed1Smrg
122154daed1Smrg    include "level3(ralt_switch)"
123154daed1Smrg};
124154daed1Smrg
125154daed1Smrgpartial alphanumeric_keys
126154daed1Smrgxkb_symbols "cat" {
127154daed1Smrg
128154daed1Smrg    include "es(basic)"
129154daed1Smrg
130bfd7cbc1Smrg    name[Group1]="Catalan (Spain, with middle-dot L)";
131154daed1Smrg
132154daed1Smrg    key <AC09>  { [	    l,      L,		0x1000140,  0x100013F ] };
133154daed1Smrg};
134154daed1Smrg
135154daed1Smrgpartial alphanumeric_keys
136154daed1Smrgxkb_symbols "ast" {
137154daed1Smrg
138154daed1Smrg    include "es(basic)"
139154daed1Smrg
140bfd7cbc1Smrg    name[Group1]="Asturian (Spain, with bottom-dot H and bottom-dot L)";
141154daed1Smrg
142154daed1Smrg    key <AC06>  { [	    h,      H,		0x1001E25,  0x1001E24 ] };
143154daed1Smrg    key <AC09>  { [	    l,      L,		0x1001E37,  0x1001E36 ] };
144154daed1Smrg};
145154daed1Smrg
146154daed1Smrg// Copied from macintosh_vndr/es
147154daed1Smrgpartial alphanumeric_keys 
148154daed1Smrgxkb_symbols "mac" {
149154daed1Smrg
150154daed1Smrg    // Describes the differences between a very simple mac_US
151154daed1Smrg    // keyboard and a very simple Spanish keybaord
152154daed1Smrg
153154daed1Smrg    include "es"
154bfd7cbc1Smrg    name[Group1]= "Spanish (Macintosh)";
155154daed1Smrg
156154daed1Smrg};
157154daed1Smrg
158154daed1Smrgpartial alphanumeric_keys
159154daed1Smrgxkb_symbols "olpc" {
160154daed1Smrg
1610412cdedSmrg    // http://wiki.laptop.org/go/OLPC_Spanish_Keyboard
1620412cdedSmrg
163154daed1Smrg    include "us(basic)"
164bfd7cbc1Smrg    name[Group1]="Spanish";
165154daed1Smrg
1660412cdedSmrg    key <AE00> { [    masculine,    ordfeminine      ] };
167154daed1Smrg    key <AE01> { [            1,         exclam,             bar ] };
168154daed1Smrg    key <AE02> { [            2,       quotedbl,              at ] };
169154daed1Smrg    key <AE03> { [            3,     dead_grave,      numbersign,   grave           ] };
170154daed1Smrg    key <AE05> { [            5,        percent,     asciicircum,   dead_circumflex ] };
171154daed1Smrg    key <AE06> { [            6,      ampersand,         notsign ] };
172154daed1Smrg    key <AE07> { [            7,          slash,       backslash ] };
173154daed1Smrg    key <AE08> { [            8,      parenleft                         ] };
174154daed1Smrg    key <AE09> { [            9,     parenright                         ] };
175154daed1Smrg    key <AE10> { [            0,          equal                  ] };
176154daed1Smrg    key <AE11> { [   apostrophe,       question                  ] };
177154daed1Smrg    key <AE12> { [   exclamdown,   questiondown                  ] };
178154daed1Smrg
179154daed1Smrg    key <AD03> { [            e,              E,        EuroSign ] };
180154daed1Smrg    key <AD11> { [   dead_acute, dead_diaeresis,           acute,   dead_abovering  ] };
181154daed1Smrg    key <AD12> { [  bracketleft,      braceleft                  ] };
182154daed1Smrg
183154daed1Smrg    key <AC10> { [       ntilde,        Ntilde                  ] };
184154daed1Smrg    key <AC11> { [         plus,       asterisk,      dead_tilde ] };
1850412cdedSmrg    key <AC12> { [ bracketright,     braceright,      section    ] };
186154daed1Smrg
187154daed1Smrg    key <AB08> { [        comma,      semicolon                  ] };
188154daed1Smrg    key <AB09> { [       period,          colon                  ] };
189154daed1Smrg    key <AB10> { [        minus,     underscore                  ] };
190154daed1Smrg  
191154daed1Smrg    key <I219> { [         less,        greater,  ISO_Next_Group ] };
192154daed1Smrg
193154daed1Smrg    include "level3(ralt_switch)"
194154daed1Smrg};
195c067fea9Sghen
1960412cdedSmrgpartial alphanumeric_keys
1970412cdedSmrgxkb_symbols "olpcm" {
1980412cdedSmrg
1990412cdedSmrg    // Mechanical (non-membrane) OLPC Spanish keyboard layout.
2000412cdedSmrg    // See: http://wiki.laptop.org/go/OLPC_Spanish_Non-membrane_Keyboard
2010412cdedSmrg
2020412cdedSmrg    include "us(basic)"
2030412cdedSmrg    name[Group1]="Spain";
2040412cdedSmrg
2050412cdedSmrg    key <AE00> { [    questiondown,    exclamdown, backslash      ] };
2060412cdedSmrg    key <AE01> { [            1,         exclam,             bar ] };
2070412cdedSmrg    key <AE02> { [            2,       quotedbl,              at ] };
2080412cdedSmrg    key <AE03> { [            3,     dead_grave,      numbersign,   grave           ] };
2090412cdedSmrg    key <AE04> { [            4,     dollar,     asciitilde,     dead_tilde ] };
2100412cdedSmrg    key <AE05> { [            5,        percent,     asciicircum,   dead_circumflex ] };
2110412cdedSmrg    key <AE06> { [            6,      ampersand,         notsign ] };
2120412cdedSmrg    key <AE07> { [            7,          slash,       backslash ] };   // no '\' label on olpcm, leave for compatibility
2130412cdedSmrg    key <AE08> { [            8,      parenleft,    masculine                ] };
2140412cdedSmrg    key <AE09> { [            9,     parenright,    ordfeminine                 ] };
2150412cdedSmrg    key <AE10> { [            0,          equal                  ] };
2160412cdedSmrg    key <AE11> { [   apostrophe,       question                  ] };
2170412cdedSmrg
2180412cdedSmrg    key <AD03> { [            e,              E,        EuroSign ] };
2190412cdedSmrg    key <AD11> { [   dead_acute, dead_diaeresis,     dead_abovering, acute  ] };
2200412cdedSmrg    key <AD12> { [  plus,      asterisk                  ] };
2210412cdedSmrg
2220412cdedSmrg    key <AC10> { [       ntilde,        Ntilde                  ] };
2230412cdedSmrg    // no AC11 or AC12 on olpcm
2240412cdedSmrg
2250412cdedSmrg    key <AB08> { [        comma,      semicolon                  ] };
2260412cdedSmrg    key <AB09> { [       period,          colon                  ] };
2270412cdedSmrg    key <AB10> { [        minus,     underscore                  ] };
2280412cdedSmrg
2290412cdedSmrg    key <AA02>  { [        less,        greater ] };
2300412cdedSmrg    key <AA06>  { [  bracketleft,      braceleft,   ccedilla,         Ccedilla  ] };
2310412cdedSmrg    key <AA07>  { [  bracketright,     braceright                ] };
2320412cdedSmrg
2330412cdedSmrg
2340412cdedSmrg    include "level3(ralt_switch)"
2350412cdedSmrg};
2360412cdedSmrg
237c067fea9Sghenpartial alphanumeric_keys
238c067fea9Sghenxkb_symbols "deadtilde" {
239c067fea9Sghen
240c067fea9Sghen    include "es(basic)"
241c067fea9Sghen
242bfd7cbc1Smrg    name[Group1]="Spanish (include dead tilde)";
243c067fea9Sghen
244c067fea9Sghen    key <AE04>	{ [         4,     dollar,   dead_tilde,       dollar ]	};
245c067fea9Sghen};
246bfd7cbc1Smrg
247bfd7cbc1Smrgpartial alphanumeric_keys
248bfd7cbc1Smrgxkb_symbols "olpc2" {
249bfd7cbc1Smrg
250bfd7cbc1Smrg    // Modified variant of US International layout, specifically for Peru
251bfd7cbc1Smrg    // Contact: Sayamindu Dasgupta <sayamindu@laptop.org>
252bfd7cbc1Smrg
253bfd7cbc1Smrg    include "us(olpc)"
254bfd7cbc1Smrg    name[Group1]="Spanish (OLPC2)";
255bfd7cbc1Smrg
256bfd7cbc1Smrg    key <AE03> { [  3, numbersign,   dead_grave,  dead_grave] }; // combining grave
257bfd7cbc1Smrg    key <I236>  { [ XF86Start ] };
258bfd7cbc1Smrg
259bfd7cbc1Smrg    include "level3(ralt_switch)"
260bfd7cbc1Smrg};
2610412cdedSmrg
2620412cdedSmrg// EXTRAS:
2630412cdedSmrg
2640412cdedSmrgpartial alphanumeric_keys
2650412cdedSmrg	xkb_symbols "sun_type6" {
2660412cdedSmrg	include "sun_vndr/es(sun_type6)"
2670412cdedSmrg};
268