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