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