1// Modified for a real Latin American keyboard by Fabian Mandelbaum.
2default partial alphanumeric_keys
3xkb_symbols "basic" {
4
5    include "latin(type4)"
6
7    name[Group1]="Spanish (Latin American)";
8
9    key <AE01>	{ [         1,     exclam,          bar,   exclamdown ]	};
10    key <AE03>	{ [         3, numbersign, periodcentered,   sterling ]	};
11    key <AE04>	{ [         4,     dollar,   asciitilde,       dollar ]	};
12    key <AE06>	{ [         6,  ampersand,      notsign,  fiveeighths ]	};
13    key <AE11>	{ [apostrophe,   question,    backslash, questiondown ]	};
14    key <AE12>	{ [questiondown, exclamdown, dead_cedilla, dead_ogonek]	};
15
16    key <AD11>	{ [dead_acute, dead_diaeresis, dead_diaeresis, dead_abovering ]	};
17    key <AD12>	{ [      plus,   asterisk,   asciitilde,  dead_macron ]	};
18
19    key <AC10>	{ [    ntilde,     Ntilde,   asciitilde, dead_doubleacute ] };
20    key <AC11>	{ [ braceleft, bracketleft, dead_circumflex, braceleft]	};
21    key <TLDE>	{ [       bar,     degree,      notsign,      notsign ]	};
22
23    key <BKSL>	{ [braceright, bracketright, dead_grave,   braceright ]	};
24
25    include "level3(ralt_switch)"
26};
27
28partial alphanumeric_keys
29xkb_symbols "nodeadkeys" {
30
31    include "latam(basic)"
32
33    name[Group1]="Spanish (Latin American, no dead keys)";
34
35    key <AE12>	{ [questiondown, exclamdown,    cedilla,       ogonek ]	};
36    key <AD11>	{ [     grave, asciicircum, bracketleft,       degree ]	};
37    key <AD12>	{ [      plus,   asterisk, bracketright,       macron ]	};
38    key <AC10>	{ [    ntilde,     Ntilde,   asciitilde,  doubleacute ]	};
39    key <AC11>	{ [     acute,  diaeresis,    braceleft,    braceleft ]	};
40    key <BKSL>	{ [  ccedilla,   Ccedilla,   braceright,        breve ]	};
41    key <AB10>	{ [     minus, underscore, dead_belowdot,    abovedot ]	};
42};
43
44partial alphanumeric_keys
45xkb_symbols "deadtilde" {
46
47    include "latam(basic)"
48
49    name[Group1]="Spanish (Latin American, dead tilde)";
50
51    key <AD12>	{ [      plus,   asterisk,   dead_tilde,  dead_macron ]	};
52};
53
54// Latin American Spanish Dvorak mapping (note R-H exchange)
55partial alphanumeric_keys
56xkb_symbols "dvorak" {
57
58    name[Group1]="Spanish (Latin American, Dvorak)";
59
60    key <TLDE> {[          bar,     degree,        notsign,      notsign ]};
61    key <AE01> {[            1,     exclam,            bar,   exclamdown ]};
62    key <AE02> {[            2,   quotedbl,             at,    oneeighth ]};
63    key <AE03> {[            3, numbersign, periodcentered,     sterling ]};
64    key <AE04> {[            4,     dollar,     asciitilde,       dollar ]};
65    key <AE05> {[            5,    percent,        onehalf, threeeighths ]};
66    key <AE06> {[            6,  ampersand,        notsign,  fiveeighths ]};
67    key <AE07> {[            7,      slash,      braceleft, seveneighths ]};
68    key <AE08> {[            8,  parenleft,    bracketleft,    trademark ]};
69    key <AE09> {[            9, parenright,   bracketright,    plusminus ]};
70    key <AE10> {[            0,      equal,     braceright,       degree ]};
71    key <AE11> {[   apostrophe,   question,      backslash, questiondown ]};
72    key <AE12> {[ questiondown, exclamdown,   dead_cedilla,  dead_ogonek ]};
73
74    key <AD01> {[     period,          colon,             at                 ]};
75    key <AD02> {[      comma,      semicolon                                 ]};
76    key <AD03> {[     ntilde,         Ntilde,        lstroke,        Lstroke ]};
77    key <AD04> {[          p,              P,      paragraph                 ]};
78    key <AD05> {[          y,              Y,            yen                 ]};
79    key <AD06> {[          f,              F,         tslash,         Tslash ]};
80    key <AD07> {[          g,              G,        dstroke,        Dstroke ]};
81    key <AD08> {[          c,              C,           cent,      copyright ]};
82    key <AD09> {[          h,              H,        hstroke,        Hstroke ]};
83    key <AD10> {[          l,              L,       sterling                 ]};
84    key <AD11> {[ dead_acute, dead_diaeresis, dead_diaeresis, dead_abovering ]};
85    key <AD12> {[       plus,       asterisk,     asciitilde,    dead_macron ]};
86
87    key <AC01> {[          a,            A,              ae,         AE ]};
88    key <AC02> {[          o,            O,          oslash,     Oslash ]};
89    key <AC03> {[          e,            E,        EuroSign             ]};
90    key <AC04> {[          u,            U,           aring,      Aring ]};
91    key <AC05> {[          i,            I,              oe,         OE ]};
92    key <AC06> {[          d,            D,             eth,        ETH ]};
93    key <AC07> {[          r,            R,      registered,  trademark ]};
94    key <AC08> {[          t,            T,           thorn,      THORN ]};
95    key <AC09> {[          n,            N,             eng,        ENG ]};
96    key <AC10> {[          s,            S,          ssharp,    section ]};
97    key <AC11> {[  braceleft,  bracketleft, dead_circumflex,  braceleft ]};
98    key <BKSL> {[ braceright, bracketright,      dead_grave, braceright ]};
99
100    key <LSGT> {[       less,    greater, guillemotleft, guillemotright ]};
101    key <AB01> {[      minus, underscore,        hyphen, macron         ]};
102    key <AB02> {[          q,          Q,      currency                 ]};
103    key <AB03> {[          j,          J                                ]};
104    key <AB04> {[          k,          K,           kra                 ]};
105    key <AB05> {[          x,          X,       multiply, division      ]};
106    key <AB06> {[          b,          B                                ]};
107    key <AB07> {[          m,          M,            mu                 ]};
108    key <AB08> {[          w,          W                                ]};
109    key <AB09> {[          v,          V                                ]};
110    key <AB10> {[          z,          Z                                ]};
111
112    include "level3(ralt_switch)"
113};
114
115// Latin American Spanish Colemak mapping (by eDreymaR)
116partial alphanumeric_keys
117xkb_symbols "colemak" {
118
119    name[Group1]="Spanish (Latin American, Colemak)";
120
121    key <TLDE> {[          bar,     degree,        notsign,      notsign ]};
122    key <AE01> {[            1,     exclam,            bar,   exclamdown ]};
123    key <AE02> {[            2,   quotedbl,             at,    oneeighth ]};
124    key <AE03> {[            3, numbersign, periodcentered,     sterling ]};
125    key <AE04> {[            4,     dollar,     asciitilde,       dollar ]};
126    key <AE05> {[            5,    percent,        onehalf, threeeighths ]};
127    key <AE06> {[            6,  ampersand,        notsign,  fiveeighths ]};
128    key <AE07> {[            7,      slash,      braceleft, seveneighths ]};
129    key <AE08> {[            8,  parenleft,    bracketleft,    trademark ]};
130    key <AE09> {[            9, parenright,   bracketright,    plusminus ]};
131    key <AE10> {[            0,      equal,     braceright,       degree ]};
132    key <AE11> {[   apostrophe,   question,      backslash, questiondown ]};
133    key <AE12> {[ questiondown, exclamdown,   dead_cedilla,  dead_ogonek ]};
134
135    key <AD01> {[          q,              Q,         U201A,         U201E ]};
136    key <AD02> {[          w,              W,         U2018,         U201C ]};
137    key <AD03> {[          f,              F,         U2019,         U201D ]};
138    key <AD04> {[          p,              P,         U2293,      paragraph ]};
139    key <AD05> {[          g,              G,            eng,            ENG ]};
140    key <AD06> {[          j,              J,         U222B,         U03A3 ]};
141    key <AD07> {[          l,              L,        lstroke,        Lstroke ]};
142    key <AD08> {[          u,              U,         U2039,  guillemotleft ]};
143    key <AD09> {[          y,              Y,         U203A, guillemotright ]};
144    key <AD10> {[     ntilde,         Ntilde,     asciitilde,         U02EE ]};
145    key <AD11> {[ dead_acute, dead_diaeresis, dead_diaeresis, dead_abovering ]};
146    key <AD12> {[       plus,       asterisk,     asciitilde,    dead_macron ]};
147
148    key <AC01> {[          a,            A,              ae,         AE ]};
149    key <AC02> {[          r,            R,      registered,  trademark ]};
150    key <AC03> {[          s,            S,          ssharp,    section ]};
151    key <AC04> {[          t,            T,           thorn,      THORN ]};
152    key <AC05> {[          d,            D,             eth,        ETH ]};
153    key <AC06> {[          h,            H,         hstroke,    Hstroke ]};
154    key <AC07> {[          n,            N,          hyphen,     U2190 ]};
155    key <AC08> {[          e,            E,        EuroSign,     U2191 ]};
156    key <AC09> {[          i,            I,          U2015,     U2192 ]};
157    key <AC10> {[          o,            O,          U00BA,     U00AA ]};
158    key <AC11> {[  braceleft,  bracketleft, dead_circumflex,  braceleft ]};
159    key <BKSL> {[ braceright, bracketright,      dead_grave, braceright ]};
160
161    key <LSGT> {[       less,      greater,             bar,     U00A6 ]};
162    key <AB01> {[          z,            Z,          U0292,     U01B7 ]};
163    key <AB02> {[          x,            X,          U2020,     U2021 ]};
164    key <AB03> {[          c,            C,            cent,  copyright ]};
165    key <AB04> {[          v,            V,        division,     U03B3 ]};
166    key <AB05> {[          b,            B,          U2022,     U03B2 ]};
167    key <AB06> {[          k,            K,          U00E7,     U00C7 ]};
168    key <AB07> {[          m,            M,        multiply,     U2193 ]};
169    key <AB08> {[      comma,    semicolon,          hyphen,   multiply ]};
170    key <AB09> {[     period,        colon,          U0323,   division ]};
171    key <AB10> {[      minus,   underscore                              ]};
172
173    include "level3(ralt_switch)"
174};
175
176
177// Latin American Spanish Colemak mapping (by eDreymaR), customized to
178// keep WASD in a qwerty-like layout
179partial alphanumeric_keys
180xkb_symbols "colemak-gaming" {
181
182    name[Group1]="Spanish (Latin American, Colemak for gaming)";
183
184    key <TLDE> {[          bar,     degree,        notsign,      notsign ]};
185    key <AE01> {[            1,     exclam,            bar,   exclamdown ]};
186    key <AE02> {[            2,   quotedbl,             at,    oneeighth ]};
187    key <AE03> {[            3, numbersign, periodcentered,     sterling ]};
188    key <AE04> {[            4,     dollar,     asciitilde,       dollar ]};
189    key <AE05> {[            5,    percent,        onehalf, threeeighths ]};
190    key <AE06> {[            6,  ampersand,        notsign,  fiveeighths ]};
191    key <AE07> {[            7,      slash,      braceleft, seveneighths ]};
192    key <AE08> {[            8,  parenleft,    bracketleft,    trademark ]};
193    key <AE09> {[            9, parenright,   bracketright,    plusminus ]};
194    key <AE10> {[            0,      equal,     braceright,       degree ]};
195    key <AE11> {[   apostrophe,   question,      backslash, questiondown ]};
196    key <AE12> {[ questiondown, exclamdown,   dead_cedilla,  dead_ogonek ]};
197
198    key <AD01> {[          q,              Q,         U201A,         U201E ]};
199    key <AD02> {[          w,              W,         U2018,         U201C ]};
200    key <AD03> {[          f,              F,         U2019,         U201D ]};
201    key <AD04> {[          p,              P,         U2293,      paragraph ]};
202    key <AD05> {[          g,              G,            eng,            ENG ]};
203    key <AD06> {[          j,              J,         U222B,         U03A3 ]};
204    key <AD07> {[          l,              L,        lstroke,        Lstroke ]};
205    key <AD08> {[          u,              U,         U2039,  guillemotleft ]};
206    key <AD09> {[          y,              Y,         U203A, guillemotright ]};
207    key <AD10> {[     ntilde,         Ntilde,     asciitilde,         U02EE ]};
208    key <AD11> {[ dead_acute, dead_diaeresis, dead_diaeresis, dead_abovering ]};
209    key <AD12> {[       plus,       asterisk,     asciitilde,    dead_macron ]};
210
211    key <AC01> {[          a,            A,              ae,         AE ]};
212    key <AC02> {[          s,            S,          ssharp,    section ]};
213    key <AC03> {[          d,            D,             eth,        ETH ]};
214    key <AC04> {[          t,            T,           thorn,      THORN ]};
215    key <AC05> {[          r,            R,      registered,  trademark ]};
216    key <AC06> {[          h,            H,         hstroke,    Hstroke ]};
217    key <AC07> {[          n,            N,          hyphen,     U2190 ]};
218    key <AC08> {[          e,            E,        EuroSign,     U2191 ]};
219    key <AC09> {[          i,            I,          U2015,     U2192 ]};
220    key <AC10> {[          o,            O,          U00BA,     U00AA ]};
221    key <AC11> {[  braceleft,  bracketleft, dead_circumflex,  braceleft ]};
222    key <BKSL> {[ braceright, bracketright,      dead_grave, braceright ]};
223
224    key <LSGT> {[       less,      greater,             bar,     U00A6 ]};
225    key <AB01> {[          z,            Z,          U0292,     U01B7 ]};
226    key <AB02> {[          x,            X,          U2020,     U2021 ]};
227    key <AB03> {[          c,            C,            cent,  copyright ]};
228    key <AB04> {[          v,            V,        division,     U03B3 ]};
229    key <AB05> {[          b,            B,          U2022,     U03B2 ]};
230    key <AB06> {[          k,            K,          U00E7,     U00C7 ]};
231    key <AB07> {[          m,            M,        multiply,     U2193 ]};
232    key <AB08> {[      comma,    semicolon,          hyphen,   multiply ]};
233    key <AB09> {[     period,        colon,          U0323,   division ]};
234    key <AB10> {[      minus,   underscore                              ]};
235
236    include "level3(ralt_switch)"
237};
238