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