1default
2xkb_symbols "abnt2" {
3
4    // Based on a very simple Brazilian ABNT2 keyboard,
5    // by Ricardo Y. Igarashi (iga@that.com.br).
6    // With added support for dead keys in I18N applications,
7    // by Conectiva  (http://www.conectiva.com.br).
8
9    include "latin"
10    name[Group1]="Portuguese (Brazil)";
11
12    key <TLDE> { [   apostrophe,       quotedbl,       notsign,         notsign ] };
13    key <AE02> { [            2,             at,   twosuperior,         onehalf ] };
14    key <AE03> { [            3,     numbersign, threesuperior,   threequarters ] };
15    key <AE04> { [            4,         dollar,      sterling,      onequarter ] };
16    key <AE05> { [            5,        percent,          cent,    threeeighths ] };
17    key <AE06> { [            6, dead_diaeresis,       notsign,       diaeresis ] };
18    key <AE12> { [        equal,           plus,       section,     dead_ogonek ] };
19
20    key <AD01> { [            q,              Q,         slash,           slash ] };
21    key <AD02> { [            w,              W,      question,        question ] };
22    key <AD03> { [            e,              E,        degree,          degree ] };
23    key <AD04> { [            r,              R,    registered,      registered ] };
24    key <AD11> { [   dead_acute,     dead_grave,         acute,           grave ] };
25    key <AD12> { [  bracketleft,      braceleft,   ordfeminine,     dead_macron ] };
26    key <BKSL> { [ bracketright,     braceright,     masculine,       masculine ] };
27
28    key <AC10> { [     ccedilla,       Ccedilla,    dead_acute,dead_doubleacute ] };
29    key <AC11> { [   dead_tilde,dead_circumflex,    asciitilde,     asciicircum ] };
30
31    key <LSGT> { [    backslash,            bar,    dead_caron,      dead_breve ] };
32    key <AB03> { [            c,              C,     copyright,       copyright ] };
33    key <AB07> { [            m,              M,            mu,              mu ] };
34    key <AB10> { [    semicolon,          colon, dead_belowdot,   dead_abovedot ] };
35
36    // The ABNT-2 keyboard has this special key:
37    key <AB11> { [        slash,       question,        degree,    questiondown ] };
38
39    include "kpdl(comma)"
40
41    include "level3(ralt_switch)"
42};
43
44partial alphanumeric_keys
45xkb_symbols "nodeadkeys" {
46
47    include "br(abnt2)"
48    name[Group1]="Portuguese (Brazil, no dead keys)";
49
50    key <AE06> { [            6,      diaeresis,       notsign,         notsign ] };
51    key <AD11> { [   apostrophe,          grave                                 ] };
52    key <AC10> { [     ccedilla,       Ccedilla,         acute,     doubleacute ] };
53    key <AC11> { [   asciitilde,    asciicircum                                 ] };
54    key <AB10> { [    semicolon,          colon, dead_belowdot,        abovedot ] };
55};
56
57
58// The ABNT2 keyboard on IBM/Lenovo Thinkpads,
59// by Piter PUNK <piterpk@terra.com.br>.
60//
61partial alphanumeric_keys
62xkb_symbols "thinkpad" {
63
64    include "br(abnt2)"
65    name[Group1]="Portuguese (Brazil, IBM/Lenovo ThinkPad)";
66
67    key <RCTL> { [        slash,       question,        degree,    questiondown ] };
68};
69
70
71partial alphanumeric_keys
72xkb_symbols "olpc" {
73
74    include "us(basic)"
75    name[Group1]="Portuguese (Brazil)";
76
77    key <TLDE> { [   apostrophe,        quotedbl                                ] };
78    key <AE01> { [            1,          exclam,   onesuperior                 ] };
79    key <AE02> { [            2,              at,   twosuperior                 ] };
80    key <AE03> { [            3,      numbersign, threesuperior                 ] };
81    key <AE04> { [            4,          dollar,      sterling                 ] };
82    key <AE05> { [            5,         percent,          cent                 ] };
83    key <AE06> { [            6,  dead_diaeresis,       notsign                 ] };
84    key <AE12> { [        equal,            plus,       section                 ] };
85
86    key <AD03> { [            e,               E,      EuroSign                 ] };
87    key <AD11> { [   dead_acute,      dead_grave,         acute,          grave ] };
88    key <AD12> { [  bracketleft,       braceleft,     0x10000AA                 ] };
89    key <BKSL> { [ bracketright,      braceright,     0x10000BA                 ] };
90
91    key <AC10> { [     ccedilla,        Ccedilla                                ] };
92    key <AC11> { [   dead_tilde, dead_circumflex                                ] };
93
94    key <AB01> { [            z,               Z,           bar                 ] };
95    key <AB03> { [            c,               C,     0x10020A2                 ] };
96    key <AB09> { [       period,         greater,     backslash                 ] };
97    key <AB10> { [    semicolon,           colon                                ] };
98
99    key <I219> { [        slash,        question,        degree, ISO_Next_Group ] };
100
101    include "level3(ralt_switch)"
102};
103
104
105//
106// Brazilian Dvorak layout                                 2005-04-18
107// "Teclado Simplificado Brasileiro" ou "Dvorak Brasileiro"
108//
109// Heitor Moraes    heitor.moraes@gmail.com
110// Luiz Portella    lfpor@lujz.org
111// Nando Florestan  nando2003@mandic.com.br
112// Ari Caldeira     ari@tecladobrasileiro.com.br
113//
114partial alphanumeric_keys
115xkb_symbols "dvorak" {
116
117    name[Group1]="Portuguese (Brazil, Dvorak)";
118
119// Numeric row
120    key <TLDE> { [   apostrophe,        quotedbl,           dead_caron, dead_doubleacute ] };
121    key <AE01> { [            1,          exclam,          onesuperior,       exclamdown ] };
122    key <AE02> { [            2,              at,          twosuperior,          onehalf ] };
123    key <AE03> { [            3,      numbersign,        threesuperior,    threequarters ] };
124    key <AE04> { [            4,          dollar,             sterling,       onequarter ] };
125    key <AE05> { [            5,         percent,                 cent,       0x01002030 ] };
126    key <AE06> { [            6,  dead_diaeresis,              notsign,        diaeresis ] };
127    key <AE07> { [            7,       ampersand,        dead_belowdot,    dead_abovedot ] };
128    key <AE08> { [            8,        asterisk,          dead_ogonek,        dead_horn ] };
129    key <AE09> { [            9,       parenleft,         dead_cedilla,        dead_hook ] };
130    key <AE10> { [            0,      parenright,          dead_macron,       dead_breve ] };
131    key <AE11> { [  bracketleft,       braceleft,          ordfeminine,       0x01000326 ] };
132    key <AE12> { [ bracketright,      braceright,            masculine,   dead_abovering ] };
133
134
135// Upper row
136    key <AD01> { [        slash,        question,               degree,     questiondown ] };
137    key <AD02> { [        comma,            less,           0x01000329,       0x01000313 ] };
138    key <AD03> { [       period,         greater,           0x01002022,   periodcentered ] };
139    key <AD04> { [            p,               P,                thorn,            THORN ] };
140    key <AD05> { [            y,               Y,                  yen,              yen ] };
141    key <AD06> { [            f,               F,  leftdoublequotemark,  leftsinglequotemark ] };
142    key <AD07> { [            g,               G, rightdoublequotemark, rightsinglequotemark ] };
143    key <AD08> { [            c,               C,              uparrow,        copyright ] };
144    key <AD09> { [            r,               R,           registered,       registered ] };
145    key <AD10> { [            l,               L,              lstroke,          Lstroke ] };
146    key <AD11> { [   dead_acute,      dead_grave,                acute,            grave ] };
147    key <AD12> { [        equal,            plus,              section,        plusminus ] };
148
149// Central row
150    key <AC01> { [            a,               A,                   ae,               AE ] };
151    key <AC02> { [            o,               O,                   oe,               OE ] };
152    key <AC03> { [            e,               E,             EuroSign,         EuroSign ] };
153    key <AC04> { [            u,               U,               oslash,         Ooblique ] };
154    key <AC05> { [            i,               I,             idotless,        Iabovedot ] };
155    key <AC06> { [            d,               D,                  eth,              ETH ] };
156    key <AC07> { [            h,               H,            leftarrow,        paragraph ] };
157    key <AC08> { [            t,               T,           rightarrow,        trademark ] };
158    key <AC09> { [            n,               N,                  eng,              ENG ] };
159    key <AC10> { [            s,               S,               ssharp,            U1E9E ] };
160    key <AC11> { [   dead_tilde, dead_circumflex,           asciitilde,      asciicircum ] };
161    key <BKSL> { [        minus,      underscore,           0x01002015,       0x01000336 ] };
162
163// Lower row
164    key <LSGT> { [     ccedilla,        Ccedilla,            backslash,              bar ] };
165    key <AB01> { [    semicolon,           colon,           0x01000331,       0x0100032D ] };
166    key <AB02> { [            q,               Q,           0x01000259,       0x0100018F ] };
167    key <AB03> { [            j,               J,           0x01000292,       0x010001B7 ] };
168    key <AB04> { [            k,               K,        guillemotleft,       0x01002039 ] };
169    key <AB05> { [            x,               X,             multiply,         division ] };
170    key <AB06> { [            b,               B,       guillemotright,       0x0100203A ] };
171    key <AB07> { [            m,               M,            downarrow,               mu ] };
172    key <AB08> { [            w,               W,               ubreve,           Ubreve ] };
173    key <AB09> { [            v,               V,   doublelowquotemark, singlelowquotemark ] };
174    key <AB10> { [            z,               Z,           0x0100201F,       0x0100201B ] };
175    key <AB11> { [    backslash,             bar,             currency,        brokenbar ] };
176
177    key <SPCE> { [        space,           space,         nobreakspace,     nobreakspace ] };
178
179// Configures the "," for the numeric keypad
180    include "kpdl(comma)"
181
182// Configures the use of the AltGr key
183    include "level3(ralt_switch)"
184};
185
186
187//
188// Brazilian Nativo layout.
189//     This is a Dvorak-based layout, designed for the Portuguese language.
190//
191// Ari Caldeira    <ari@tecladobrasileiro.com.br>    2005-07-19
192//
193partial alphanumeric_keys
194xkb_symbols "nativo" {
195
196    name[Group1]="Portuguese (Brazil, Nativo)";
197
198// Numeric row
199    key <TLDE> { [        equal,            plus,              section,        plusminus ] };
200    key <AE01> { [            1,          exclam,          onesuperior,       exclamdown ] };
201    key <AE02> { [            2,              at,          twosuperior,          onehalf ] };
202    key <AE03> { [            3,      numbersign,        threesuperior,    threequarters ] };
203    key <AE04> { [            4,          dollar,             sterling,       onequarter ] };
204    key <AE05> { [            5,         percent,                 cent,       0x01002030 ] };
205    key <AE06> { [            6,  dead_diaeresis,              notsign,        diaeresis ] };
206    key <AE07> { [            7,       ampersand,        dead_belowdot,    dead_abovedot ] };
207    key <AE08> { [            8,        asterisk,          dead_ogonek,        dead_horn ] };
208    key <AE09> { [            9,       parenleft,         dead_cedilla,        dead_hook ] };
209    key <AE10> { [            0,      parenright,          dead_macron,       dead_breve ] };
210    key <AE11> { [  bracketleft,       braceleft,          ordfeminine,       0x01000326 ] };
211    key <AE12> { [ bracketright,      braceright,            masculine,   dead_abovering ] };
212
213// Upper row
214    key <AD01> { [        slash,        question,               degree,     questiondown ] };
215    key <AD02> { [        comma,            less,           0x01000329,       0x01000313 ] };
216    key <AD03> { [       period,         greater,           0x01002022,   periodcentered ] };
217    key <AD04> { [            h,               H,            paragraph,        paragraph ] };
218    key <AD05> { [            x,               X,             multiply,         division ] };
219    key <AD06> { [            w,               W,               ubreve,           Ubreve ] };
220    key <AD07> { [            l,               L,              lstroke,          Lstroke ] };
221    key <AD08> { [            t,               T,            trademark,        trademark ] };
222    key <AD09> { [            c,               C,            copyright,        copyright ] };
223    key <AD10> { [            p,               P,                thorn,            THORN ] };
224    key <AD11> { [   dead_tilde, dead_circumflex,           asciitilde,      asciicircum ] };
225    key <AD12> { [        minus,      underscore,           0x01002015,       0x01000336 ] };
226
227// Central row
228    key <AC01> { [            i,               I,             idotless,        Iabovedot ] };
229    key <AC02> { [            e,               E,             EuroSign,         EuroSign ] };
230    key <AC03> { [            a,               A,                   ae,               AE ] };
231    key <AC04> { [            o,               O,                   oe,               OE ] };
232    key <AC05> { [            u,               U,               oslash,         Ooblique ] };
233    key <AC06> { [            m,               M,                   mu,               mu ] };
234    key <AC07> { [            d,               D,                  eth,              ETH ] };
235    key <AC08> { [            s,               S,               ssharp,            U1E9E ] };
236    key <AC09> { [            r,               R,           registered,       registered ] };
237    key <AC10> { [            n,               N,                  eng,              ENG ] };
238    key <AC11> { [   dead_acute,      dead_grave,                acute,            grave ] };
239    key <BKSL> { [   apostrophe,        quotedbl,           dead_caron, dead_doubleacute ] };
240
241// Lower row
242    key <LSGT> { [    semicolon,           colon,           0x01000331,       0x0100032D ] };
243    key <AB01> { [            y,               Y,                  yen,              yen ] };
244    key <AB02> { [     ccedilla,        Ccedilla,            backslash,              bar ] };
245    key <AB03> { [            j,               J,           0x01000292,       0x010001B7 ] };
246    key <AB04> { [            b,               B,        guillemotleft,       0x01002039 ] };
247    key <AB05> { [            k,               K,       guillemotright,       0x0100203A ] };
248    key <AB06> { [            q,               Q,           0x01000259,       0x0100018F ] };
249    key <AB07> { [            v,               V,   doublelowquotemark,   singlelowquotemark ] };
250    key <AB08> { [            g,               G,  leftdoublequotemark,  leftsinglequotemark ] };
251    key <AB09> { [            f,               F, rightdoublequotemark, rightsinglequotemark ] };
252    key <AB10> { [            z,               Z,           0x0100201F,       0x0100201B ] };
253    key <AB11> { [    backslash,             bar,             currency,        brokenbar ] };
254
255    key <SPCE> { [        space,           space,         nobreakspace,     nobreakspace ] };
256
257// Configures the "," for the numeric keypad
258    include "kpdl(comma)"
259
260// Configures the use of the AltGr key
261    include "level3(ralt_switch)"
262};
263
264
265//
266// Brazilian Nativo layout for US keyboards.
267//
268// Ari Caldeira    <ari@tecladobrasileiro.com.br>    2005-07-19
269//
270partial alphanumeric_keys
271xkb_symbols "nativo-us" {
272
273    include "br(nativo)"
274
275    name[Group1]="Portuguese (Brazil, Nativo for US keyboards)";
276
277    key <AB01> { [            y,               Y,              ccedilla,        Ccedilla ] };
278    key <AB02> { [    semicolon,           colon,             backslash,             bar ] };
279};
280
281
282//
283// Brazilian Nativo layout for typing Esperanto.
284//
285// Ari Caldeira    <ari@tecladobrasileiro.com.br>    2005-07-19
286//
287partial alphanumeric_keys
288xkb_symbols "nativo-epo" {
289
290    include "br(nativo)"
291
292    name[Group1]="Esperanto (Brazil, Nativo)";
293
294    key <AD04> { [            h,               H,          hcircumflex,      Hcircumflex ] };
295    key <AD05> { [  ccircumflex,     Ccircumflex,                    x,                X ] };
296    key <AD06> { [       ubreve,          Ubreve,                    w,                W ] };
297
298    key <AB01> { [  jcircumflex,     Jcircumflex,                    y,                Y ] };
299    key <AB02> { [  scircumflex,     Scircumflex,             ccedilla,         Ccedilla ] };
300    key <AB06> { [  gcircumflex,     Gcircumflex,                    q,                Q ] };
301};
302
303// EXTRAS:
304
305partial alphanumeric_keys
306	xkb_symbols "sun_type6" {
307	include "sun_vndr/br(sun_type6)"
308};
309