// Keyboard layouts for Brazil. default xkb_symbols "abnt2" { // Based on a very simple Brazilian ABNT2 keyboard, // by Ricardo Y. Igarashi (iga@that.com.br). // With added support for dead keys in I18N applications, // by Conectiva (http://www.conectiva.com.br). include "latin" name[Group1]="Portuguese (Brazil)"; key { [ apostrophe, quotedbl, notsign, notsign ] }; key { [ 2, at, twosuperior, onehalf ] }; key { [ 3, numbersign, threesuperior, threequarters ] }; key { [ 4, dollar, sterling, onequarter ] }; key { [ 5, percent, cent, threeeighths ] }; key { [ 6, dead_diaeresis, notsign, diaeresis ] }; key { [ equal, plus, section, dead_ogonek ] }; key { [ q, Q, slash, slash ] }; key { [ w, W, question, question ] }; key { [ e, E, degree, degree ] }; key { [ r, R, registered, registered ] }; key { [ dead_acute, dead_grave, acute, grave ] }; key { [ bracketleft, braceleft, ordfeminine, dead_macron ] }; key { [ bracketright, braceright, masculine, masculine ] }; key { [ ccedilla, Ccedilla, dead_acute,dead_doubleacute ] }; key { [ dead_tilde,dead_circumflex, asciitilde, asciicircum ] }; key { [ backslash, bar, dead_caron, dead_breve ] }; key { [ c, C, copyright, copyright ] }; key { [ m, M, mu, mu ] }; key { [ semicolon, colon, dead_belowdot, dead_abovedot ] }; // The ABNT-2 keyboard has this special key: key { [ slash, question, degree, questiondown ] }; include "kpdl(comma)" include "level3(ralt_switch)" }; partial alphanumeric_keys xkb_symbols "nodeadkeys" { include "br(abnt2)" name[Group1]="Portuguese (Brazil, no dead keys)"; key { [ 6, diaeresis, notsign, notsign ] }; key { [ equal, plus, section, radical ] }; key { [ apostrophe, grave ] }; key { [ bracketleft, braceleft, ordfeminine, dagger ] }; key { [ j, J, ezh, EZH ] }; key { [ ccedilla, Ccedilla, acute, doubleacute ] }; key { [ asciitilde, asciicircum ] }; key { [ backslash, bar, endash, emdash ] }; key { [ semicolon, colon, ellipsis, abovedot ] }; }; // The ABNT2 keyboard on IBM/Lenovo Thinkpads, // by Piter PUNK . // partial alphanumeric_keys xkb_symbols "thinkpad" { include "br(abnt2)" name[Group1]="Portuguese (Brazil, IBM/Lenovo ThinkPad)"; key { [ slash, question, degree, questiondown ] }; }; partial alphanumeric_keys xkb_symbols "olpc" { // #HW-SPECIFIC include "us(basic)" name[Group1]="Portuguese (Brazil)"; key { [ apostrophe, quotedbl ] }; key { [ 1, exclam, onesuperior ] }; key { [ 2, at, twosuperior ] }; key { [ 3, numbersign, threesuperior ] }; key { [ 4, dollar, sterling ] }; key { [ 5, percent, cent ] }; key { [ 6, dead_diaeresis, notsign ] }; key { [ equal, plus, section ] }; key { [ e, E, EuroSign ] }; key { [ dead_acute, dead_grave, acute, grave ] }; key { [ bracketleft, braceleft, ordfeminine ] }; key { [ bracketright, braceright, masculine ] }; key { [ ccedilla, Ccedilla ] }; key { [ dead_tilde, dead_circumflex ] }; key { [ z, Z, bar ] }; key { [ c, C, 0x10020A2 ] }; key { [ period, greater, backslash ] }; key { [ semicolon, colon ] }; key { [ slash, question, degree, ISO_Next_Group ] }; include "level3(ralt_switch)" }; // A phonetic layout for typing Russian on a ABNT2 keyboard. // Originally by: Evandro Bernardes , February 2023. partial alphanumeric_keys xkb_symbols "rus" { include "br(abnt2)" name[Group1]= "Russian (Brazil, phonetic)"; key {[ Cyrillic_softsign, Cyrillic_SOFTSIGN, Cyrillic_hardsign, Cyrillic_HARDSIGN ]}; key {[ Cyrillic_zhe, Cyrillic_ZHE ]}; key {[ Cyrillic_ie, Cyrillic_IE, Cyrillic_e, Cyrillic_E ]}; key {[ Cyrillic_er, Cyrillic_ER ]}; key {[ Cyrillic_te, Cyrillic_TE ]}; key {[ Cyrillic_yeru, Cyrillic_YERU ]}; key {[ Cyrillic_u, Cyrillic_U, Cyrillic_yu, Cyrillic_YU ]}; key {[ Cyrillic_i, Cyrillic_I ]}; key {[ Cyrillic_o, Cyrillic_O, Cyrillic_io, Cyrillic_IO ]}; key {[ Cyrillic_pe, Cyrillic_PE ]}; key {[ Cyrillic_a, Cyrillic_A, Cyrillic_ya, Cyrillic_YA ]}; key {[ Cyrillic_es, Cyrillic_ES ]}; key {[ Cyrillic_de, Cyrillic_DE ]}; key {[ Cyrillic_ef, Cyrillic_EF ]}; key {[ Cyrillic_ghe, Cyrillic_GHE ]}; key {[ Cyrillic_ha, Cyrillic_HA ]}; key {[ Cyrillic_shorti, Cyrillic_SHORTI ]}; key {[ Cyrillic_ka, Cyrillic_KA ]}; key {[ Cyrillic_el, Cyrillic_EL ]}; key {[ Cyrillic_che, Cyrillic_CHE ]}; key {[ Cyrillic_ze, Cyrillic_ZE ]}; key {[ Cyrillic_sha, Cyrillic_SHA, Cyrillic_shcha, Cyrillic_SHCHA ]}; key {[ Cyrillic_tse, Cyrillic_TSE ]}; key {[ Cyrillic_ve, Cyrillic_VE ]}; key {[ Cyrillic_be, Cyrillic_BE ]}; key {[ Cyrillic_en, Cyrillic_EN ]}; key {[ Cyrillic_em, Cyrillic_EM ]}; }; // // Brazilian Dvorak layout 2005-04-18 // "Teclado Simplificado Brasileiro" ou "Dvorak Brasileiro" // // Heitor Moraes heitor.moraes@gmail.com // Luiz Portella lfpor@lujz.org // Nando Florestan nando2003@mandic.com.br // Ari Caldeira ari@tecladobrasileiro.com.br // partial alphanumeric_keys xkb_symbols "dvorak" { name[Group1]="Portuguese (Brazil, Dvorak)"; // Numeric row key { [ apostrophe, quotedbl, dead_caron, dead_doubleacute ] }; key { [ 1, exclam, onesuperior, exclamdown ] }; key { [ 2, at, twosuperior, onehalf ] }; key { [ 3, numbersign, threesuperior, threequarters ] }; key { [ 4, dollar, sterling, onequarter ] }; key { [ 5, percent, cent, permille ] }; key { [ 6, dead_diaeresis, notsign, diaeresis ] }; key { [ 7, ampersand, dead_belowdot, dead_abovedot ] }; key { [ 8, asterisk, dead_ogonek, dead_horn ] }; key { [ 9, parenleft, dead_cedilla, dead_hook ] }; key { [ 0, parenright, dead_macron, dead_breve ] }; key { [ bracketleft, braceleft, ordfeminine, 0x01000326 ] }; key { [ bracketright, braceright, masculine, dead_abovering ] }; // Upper row key { [ slash, question, degree, questiondown ] }; key { [ comma, less, 0x01000329, 0x01000313 ] }; key { [ period, greater, 0x01002022, periodcentered ] }; key { [ p, P, thorn, THORN ] }; key { [ y, Y, yen, yen ] }; key { [ f, F, leftdoublequotemark, leftsinglequotemark ] }; key { [ g, G, rightdoublequotemark, rightsinglequotemark ] }; key { [ c, C, uparrow, copyright ] }; key { [ r, R, registered, registered ] }; key { [ l, L, lstroke, Lstroke ] }; key { [ dead_acute, dead_grave, acute, grave ] }; key { [ equal, plus, section, plusminus ] }; // Central row key { [ a, A, ae, AE ] }; key { [ o, O, oe, OE ] }; key { [ e, E, EuroSign, EuroSign ] }; key { [ u, U, oslash, Oslash ] }; key { [ i, I, idotless, Iabovedot ] }; key { [ d, D, eth, ETH ] }; key { [ h, H, leftarrow, paragraph ] }; key { [ t, T, rightarrow, trademark ] }; key { [ n, N, eng, ENG ] }; key { [ s, S, ssharp, U1E9E ] }; key { [ dead_tilde, dead_circumflex, asciitilde, asciicircum ] }; key { [ minus, underscore, 0x01002015, 0x01000336 ] }; // Lower row key { [ ccedilla, Ccedilla, backslash, bar ] }; key { [ semicolon, colon, 0x01000331, 0x0100032D ] }; key { [ q, Q, schwa, SCHWA ] }; key { [ j, J, ezh, EZH ] }; key { [ k, K, guillemotleft, 0x01002039 ] }; key { [ x, X, multiply, division ] }; key { [ b, B, guillemotright, 0x0100203A ] }; key { [ m, M, downarrow, mu ] }; key { [ w, W, ubreve, Ubreve ] }; key { [ v, V, doublelowquotemark, singlelowquotemark ] }; key { [ z, Z, 0x0100201F, 0x0100201B ] }; key { [ backslash, bar, currency, brokenbar ] }; key { [ space, space, nobreakspace, nobreakspace ] }; // Configures the "," for the numeric keypad include "kpdl(comma)" // Configures the use of the AltGr key include "level3(ralt_switch)" }; // // Brazilian Nativo layout. // This is a Dvorak-based layout, designed for the Portuguese language. // // Ari Caldeira 2005-07-19 // partial alphanumeric_keys xkb_symbols "nativo" { name[Group1]="Portuguese (Brazil, Nativo)"; // Numeric row key { [ equal, plus, section, plusminus ] }; key { [ 1, exclam, onesuperior, exclamdown ] }; key { [ 2, at, twosuperior, onehalf ] }; key { [ 3, numbersign, threesuperior, threequarters ] }; key { [ 4, dollar, sterling, onequarter ] }; key { [ 5, percent, cent, permille ] }; key { [ 6, dead_diaeresis, notsign, diaeresis ] }; key { [ 7, ampersand, dead_belowdot, dead_abovedot ] }; key { [ 8, asterisk, dead_ogonek, dead_horn ] }; key { [ 9, parenleft, dead_cedilla, dead_hook ] }; key { [ 0, parenright, dead_macron, dead_breve ] }; key { [ bracketleft, braceleft, ordfeminine, 0x01000326 ] }; key { [ bracketright, braceright, masculine, dead_abovering ] }; // Upper row key { [ slash, question, degree, questiondown ] }; key { [ comma, less, 0x01000329, 0x01000313 ] }; key { [ period, greater, 0x01002022, periodcentered ] }; key { [ h, H, paragraph, paragraph ] }; key { [ x, X, multiply, division ] }; key { [ w, W, ubreve, Ubreve ] }; key { [ l, L, lstroke, Lstroke ] }; key { [ t, T, trademark, trademark ] }; key { [ c, C, copyright, copyright ] }; key { [ p, P, thorn, THORN ] }; key { [ dead_tilde, dead_circumflex, asciitilde, asciicircum ] }; key { [ minus, underscore, 0x01002015, 0x01000336 ] }; // Central row key { [ i, I, idotless, Iabovedot ] }; key { [ e, E, EuroSign, EuroSign ] }; key { [ a, A, ae, AE ] }; key { [ o, O, oe, OE ] }; key { [ u, U, oslash, Oslash ] }; key { [ m, M, mu, mu ] }; key { [ d, D, eth, ETH ] }; key { [ s, S, ssharp, U1E9E ] }; key { [ r, R, registered, registered ] }; key { [ n, N, eng, ENG ] }; key { [ dead_acute, dead_grave, acute, grave ] }; key { [ apostrophe, quotedbl, dead_caron, dead_doubleacute ] }; // Lower row key { [ semicolon, colon, 0x01000331, 0x0100032D ] }; key { [ y, Y, yen, yen ] }; key { [ ccedilla, Ccedilla, backslash, bar ] }; key { [ j, J, ezh, EZH ] }; key { [ b, B, guillemotleft, 0x01002039 ] }; key { [ k, K, guillemotright, 0x0100203A ] }; key { [ q, Q, schwa, SCHWA ] }; key { [ v, V, doublelowquotemark, singlelowquotemark ] }; key { [ g, G, leftdoublequotemark, leftsinglequotemark ] }; key { [ f, F, rightdoublequotemark, rightsinglequotemark ] }; key { [ z, Z, 0x0100201F, 0x0100201B ] }; key { [ backslash, bar, currency, brokenbar ] }; key { [ space, space, nobreakspace, nobreakspace ] }; // Configures the "," for the numeric keypad include "kpdl(comma)" // Configures the use of the AltGr key include "level3(ralt_switch)" }; // // Brazilian Nativo layout for US keyboards. // // Ari Caldeira 2005-07-19 // partial alphanumeric_keys xkb_symbols "nativo-us" { include "br(nativo)" name[Group1]="Portuguese (Brazil, Nativo for US keyboards)"; key { [ y, Y, ccedilla, Ccedilla ] }; key { [ semicolon, colon, backslash, bar ] }; }; // // Brazilian Nativo layout for typing Esperanto. // // Ari Caldeira 2005-07-19 // partial alphanumeric_keys xkb_symbols "nativo-epo" { include "br(nativo)" name[Group1]="Esperanto (Brazil, Nativo)"; key { [ h, H, hcircumflex, Hcircumflex ] }; key { [ ccircumflex, Ccircumflex, x, X ] }; key { [ ubreve, Ubreve, w, W ] }; key { [ jcircumflex, Jcircumflex, y, Y ] }; key { [ scircumflex, Scircumflex, ccedilla, Ccedilla ] }; key { [ gcircumflex, Gcircumflex, q, Q ] }; }; // EXTRAS: partial alphanumeric_keys xkb_symbols "sun_type6" { include "sun_vndr/br(sun_type6)" };