added some br and pt layouts, b.fd.o#12816
authorsvu <svu>
Thu, 18 Oct 2007 20:46:07 +0000 (20:46 +0000)
committersvu <svu>
Thu, 18 Oct 2007 20:46:07 +0000 (20:46 +0000)
ChangeLog
geometry/pc
rules/base.xml.in
rules/compat/base.lists.part
symbols/br
symbols/pt

index 9fd6760..b28296e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2007-10-18  Sergey Udaltsov
+
+       * geometry/pc, rules/base.xml.in, rules/compat/base.lists.part,
+       symbols/br, symbols/pt: added some br and pt layouts,
+       https://bugs.freedesktop.org/show_bug.cgi?id=12816
+
 2007-10-13  Sergey Udaltsov
 
        * symbols/inet, rules/base.lists.part, rules/base.xml.in: added diNovo
index 2941dab..4efe5c3 100644 (file)
@@ -828,83 +828,27 @@ xkb_geometry "jp106" {
 
 // Added for brazilian ABNT2 by Ricardo Y. Igarashi(iga@that.com.br)
 xkb_geometry "abnt2" {
+    include "pc(pc105)"
 
     description= "Brazilian ABNT2";
-    width= 470;
-    height= 180;
 
-    shape.cornerRadius= 1;
-    shape "NORM" { { [ 18,18] }, { [2,1], [ 16,17] } };
-    shape "BKSP" { { [ 37,18] }, { [2,1], [ 35,17] } };
-    shape "TABK" { { [ 28,18] }, { [2,1], [ 26,17] } };
-    shape "BKSL" { { [ 27,18] }, { [2,1], [ 25,17] } };
     shape "RTRN" {
-        { [0,0],[ 27,0],[27,37],[4,37],[4,18],[0,18] } ,
-        { [2,1],[ 25,1],[25,36],[5,36],[5,17],[2,17] } };
-    shape "CAPS" { { [ 32,18] }, { [2,1], [ 30,17] } };
-    shape "LFSH" { { [ 24,18] }, { [2,1], [ 22,17] } };
-    shape "RTSH" { { [ 31,18] }, { [2,1], [ 29,17] } };
-    shape "MODK" { { [ 28,18] }, { [2,1], [ 26,17] } };
-    shape "SPCE" { { [133,18] }, { [2,1], [131,17] } };
-    shape "KP0"  { { [ 37,18] }, { [2,1], [ 35,17] } };
-    shape "KPAD" { { [ 18,37] }, { [2,1], [ 16,36] } };
-
-    shape "LEDS" { cornerRadius= 0, { [ 76 ,20 ] } };
-    shape "LED"  { cornerRadius= 0, { [  5,  1 ] } };
-    solid "LedPanel" {
-       shape= "LEDS";
-       top=  25;
-       left= 375;
-       color= "grey10";
-    };
-
-    indicator.onColor= "green";
-    indicator.offColor= "green30";
-    indicator.top= 40;
-    indicator.shape= "LED";
-    indicator "Num Lock"     { left= 379; };
-    indicator "Caps Lock"    { left= 404; };
-    indicator "Scroll Lock"  { left= 429; };
-    text.top= 28;
-    text.color= "black";
-    text "NumLockLabel"                { left= 378; text="Num\nLock"; };
-    text "CapsLockLabel"       { left= 403; text="Caps\nLock"; };
-    text "ScrollLockLabel"     { left= 428; text="Scroll\nLock"; };
+        { [0,0],[ 28,0],[28,37],[4,37],[4,18],[0,18] } ,
+        { [2,1],[ 26,1],[26,36],[5,36],[5,18],[2,18] } };
+    shape "RTSH" { { [ 31,18] }, { [2,1], [ 29,16] } };
 
     section.left= 19;
     row.left= 1;
     key.shape= "NORM";
     key.gap=  1;
-    section "Function" {
-       top= 25;
-       row {
-           top= 1;
-           keys {  { <ESC>, color="grey20" },
-                   { <FK01>, 18 }, <FK02>, <FK03>, <FK04>,
-                   { <FK05>, 11 ,color="grey20"}, {<FK06>,color="grey20"}, 
-                   { <FK07>, color="grey20"}, {<FK08>,color="grey20"},
-                   { <FK09>, 11 }, <FK10>, <FK11>, <FK12>,
-                   { <PRSC>, 8 }, <SCLK>, <PAUS> 
-           };
-       };
-    }; // End of "Function" section
-
     section "Alpha" {
-       top= 61;
-       row {
-           top= 1;
-           keys { {<HZTG>,color="grey20"}, <AE01>, <AE02>, 
-                    <AE03>, <AE04>, <AE05>, <AE06>, <AE07>, 
-                   <AE08>, <AE09>, <AE10>, <AE11>, <AE12>,
-                   { <BKSP>, "BKSP", color="grey20" }
-           };
-       };
+       top= 91;
        row {
            top= 20;
            keys { { <TAB>, "TABK", color="grey20" },
                   <AD01>, <AD02>, <AD03>, <AD04>, <AD05>, 
                   <AD06>, <AD07>, <AD08>, <AD09>, <AD10>, 
-                  <AD11>, <AD12>, { <RTRN>, 1 ,"RTRN",color="grey20" }
+                  <AD11>, <AD12>, { <RTRN>, "RTRN", color="grey20" }
            };
        };
        row {
@@ -917,75 +861,27 @@ xkb_geometry "abnt2" {
        };
        row {
            top= 58;
-           keys { { <LFSH>, "LFSH", color="grey20" }, <LSGT>,
-                   <AB01>, <AB02>, <AB03>, <AB04>, <AB05>, 
-                   <AB06>, <AB07>, <AB08>, <AB09>, <AB10>, 
-                   <AB11>, { <RTSH>, "RTSH", color="grey20" }
-           };
-       };
-       row {
-           top= 77;
-           key.shape= "MODK";
-           key.color= "grey20";
-           keys { <LCTL>, { <LALT>, 20 },
-                  { <SPCE>, "SPCE", color="white" },
-                  <RALT>, { <RCTL>, 17 }
+           keys { { <LFSH>, "LFSH", color="grey20" },
+                   <LSGT>, <AB01>, <AB02>, <AB03>, <AB04>, <AB05>, 
+                   <AB06>, <AB07>, <AB08>, <AB09>, <AB10>, <AB11>,
+                   { <RTSH>, "RTSH", color="grey20" }
            };
        };
     }; // End of "Alpha" section
 
-    section "Editing" {
-       top= 61;
-       left= 310;
-       key.color= "grey20";
-       row {
-           top= 1;
-           keys { <INS>, <HOME>, <PGUP> };
-       };
-        row {
-           top= 20;
-           keys { <DELE>, <END>, <PGDN> };
-       };
-       row {
-           top= 58;
-           left= 20;
-           keys { <UP> };
-       };
-       row {
-           top= 77;
-           keys { <LEFT>, <DOWN>, <RGHT> };
-       };
-    }; // End of "Editing" section
-
     section "Keypad" {
-       top= 61;
-       left= 375;
-       row {
-           top= 1;
-           key.color= "grey20";
-           keys { <NMLK>, <KPDV>, <KPMU>, <KPSU> };
-       };
+       top= 91;
+       left= 376;
        row {
            top= 20;
-           keys { <KP7>, <KP8>, <KP9>, { <KPAD>, "KPAD", color="grey20" } };
+           keys { <KP7>, <KP8>, <KP9>, { <KPAD>, color="grey20" } };
        };
        row {
            top= 39;
-           keys { <KP4>, <KP5>, <KP6> };
-       };
-       row {
-           top= 58;
-           keys { <KP1>, <KP2>, <KP3>, { <KPEN>, "KPAD", color="grey20" } };
-       };
-       row {
-           top= 77;
-           keys { { <KP0>, "KP0" }, <KPDL> };
+           keys { <KP4>, <KP5>, <KP6>, { <KPPT>, color="grey20" } };
        };
     }; // End of "Keypad" section
 
-    alias <AC00> = <CAPS>;
-    alias <AA00> = <LCTL>;
-
 }; // End of "abnt2" geometry
 
 
index ecb44bf..50d28e3 100644 (file)
             <_description>Eliminate dead keys</_description>
           </configItem>
         </variant>
+        <variant>
+          <configItem>
+            <name>thinkpad</name>
+            <description>Thinkpad</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>dvorak</name>
+            <description>Dvorak</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>nativo</name>
+            <description>Nativo</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>nativo-us</name>
+            <description>Nativo for USA keyboards</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>nativo-epo</name>
+            <description>Nativo for Esperanto</description>
+          </configItem>
+        </variant>
       </variantList>
     </layout>
     <layout>
             <_description>Macintosh, Sun dead keys</_description>
           </configItem>
         </variant>
+        <variant>
+          <configItem>
+            <name>nativo</name>
+            <description>Nativo</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>nativo-us</name>
+            <description>Nativo for USA keyboards</description>
+          </configItem>
+        </variant>
+        <variant>
+          <configItem>
+            <name>nativo-epo</name>
+            <description>Nativo for Esperanto</description>
+          </configItem>
+        </variant>
       </variantList>
     </layout>
     <layout>
index 7e5621b..f1cf7ee 100644 (file)
@@ -1,2 +1,2 @@
 
-! $dvoraklayouts = ca de ee es fr gb no pl se us
+! $dvoraklayouts = br ca de ee es fr gb no pl se us
index dc07edc..2cd9807 100644 (file)
@@ -1,13 +1,13 @@
-
+// $XKeyboardConfig$
+// $XdotOrg: xc/programs/xkbcomp/symbols/br,v 1.1.4.3 2004/03/05 13:41:32 eich Exp $
+// $XFree86: xc/programs/xkbcomp/symbols/br,v 1.3 2003/04/19 12:22:11 pascal Exp $
+//
 // based on 
 // "a very simple Brasilian ABNT2 keyboard
 // by Ricardo Y. Igarashi (iga@that.com.br)
 // Adds suport for dead-keys in I18N applications
 // by Conectiva  (http://www.conectiva.com.br)"
 //
-// $XKeyboardConfig$
-// $XdotOrg: xc/programs/xkbcomp/symbols/br,v 1.1.4.3 2004/03/05 13:41:32 eich Exp $
-// $XFree86: xc/programs/xkbcomp/symbols/br,v 1.3 2003/04/19 12:22:11 pascal Exp $
 
 default
 xkb_symbols "abnt2" {
@@ -64,6 +64,7 @@ xkb_symbols "nodeadkeys" {
     key <AB10> { [ semicolon,      colon, dead_belowdot,    abovedot ] };
 };
 
+
 // ABNT2 Keyboard to IBM/Lenovo Thinkpads 
 // by Piter PUNK <piterpk@terra.com.br>
 //
@@ -76,6 +77,7 @@ xkb_symbols "thinkpad" {
     key <RCTL> { [     slash,   question,       degree, questiondown ] };
 };
 
+
 partial alphanumeric_keys
 xkb_symbols "olpc" {
 
@@ -110,3 +112,211 @@ xkb_symbols "olpc" {
     include "level3(ralt_switch)"
 };
 
+
+//
+// Brazilian Dvorak keyboard                               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]="Brazil - Dvorak";
+
+// Numeric row
+    key <TLDE> { [   apostrophe,        quotedbl,           dead_caron, dead_doubleacute ] };
+    key <AE01> { [            1,          exclam,          onesuperior,       exclamdown ] };
+    key <AE02> { [            2,              at,          twosuperior,          onehalf ] };
+    key <AE03> { [            3,      numbersign,        threesuperior,    threequarters ] };
+    key <AE04> { [            4,          dollar,             sterling,       onequarter ] };
+    key <AE05> { [            5,         percent,                 cent,       0x01002030 ] };
+    key <AE06> { [            6,  dead_diaeresis,              notsign,        diaeresis ] };
+    key <AE07> { [            7,       ampersand,        dead_belowdot,    dead_abovedot ] };
+    key <AE08> { [            8,        asterisk,          dead_ogonek,        dead_horn ] };
+    key <AE09> { [            9,       parenleft,         dead_cedilla,        dead_hook ] };
+    key <AE10> { [            0,      parenright,          dead_macron,       dead_breve ] };
+    key <AE11> { [  bracketleft,       braceleft,          ordfeminine,       0x01000326 ] };
+    key <AE12> { [ bracketright,      braceright,            masculine,   dead_abovering ] };
+
+
+// Upper row
+    key <AD01> { [        slash,        question,               degree,     questiondown ] };
+    key <AD02> { [        comma,            less,           0x01000329,       0x01000313 ] };
+    key <AD03> { [       period,         greater,           0x01002022,   periodcentered ] };
+    key <AD04> { [            p,               P,                thorn,            THORN ] };
+    key <AD05> { [            y,               Y,                  yen,              yen ] };
+    key <AD06> { [            f,               F,  leftdoublequotemark, leftsinglequotemark ] };
+    key <AD07> { [            g,               G, rightdoublequotemark, rightsinglequotemark ] };
+    key <AD08> { [            c,               C,              uparrow,        copyright ] };
+    key <AD09> { [            r,               R,           registered,       registered ] };
+    key <AD10> { [            l,               L,              lstroke,          Lstroke ] };
+    key <AD11> { [   dead_acute,      dead_grave,                acute,            grave ] };
+    key <AD12> { [        equal,            plus,              section,        plusminus ] };
+
+// Central row
+    key <AC01> { [            a,               A,                   ae,               AE ] };
+    key <AC02> { [            o,               O,                   oe,               OE ] };
+    key <AC03> { [            e,               E,             EuroSign,         EuroSign ] };
+    key <AC04> { [            u,               U,               oslash,         Ooblique ] };
+    key <AC05> { [            i,               I,             idotless,        Iabovedot ] };
+    key <AC06> { [            d,               D,                  eth,              ETH ] };
+    key <AC07> { [            h,               H,            leftarrow,        paragraph ] };
+    key <AC08> { [            t,               T,           rightarrow,        trademark ] };
+    key <AC09> { [            n,               N,                  eng,              ENG ] };
+    key <AC10> { [            s,               S,               ssharp,           ssharp ] };
+    key <AC11> { [   dead_tilde, dead_circumflex,           asciitilde,      asciicircum ] };
+    key <BKSL> { [        minus,      underscore,           0x01002015,       0x01000336 ] };
+
+// Lower row
+    key <LSGT> { [     ccedilla,        Ccedilla,            backslash,              bar ] };
+    key <AB01> { [    semicolon,           colon,           0x01000331,       0x0100032D ] };
+    key <AB02> { [            q,               Q,           0x01000259,       0x0100018F ] };
+    key <AB03> { [            j,               J,           0x01000292,       0x010001B7 ] };
+    key <AB04> { [            k,               K,        guillemotleft,       0x01002039 ] };
+    key <AB05> { [            x,               X,             multiply,         division ] };
+    key <AB06> { [            b,               B,       guillemotright,       0x0100203A ] };
+    key <AB07> { [            m,               M,            downarrow,               mu ] };
+    key <AB08> { [            w,               W,               ubreve,           Ubreve ] };
+    key <AB09> { [            v,               V,   doublelowquotemark, singlelowquotemark ] };
+    key <AB10> { [            z,               Z,           0x0100201F,       0x0100201B ] };
+    key <AB11> { [    backslash,             bar,             currency,        brokenbar ] };
+
+    key <SPCE> { [        space,           space,         nobreakspace,     nobreakspace ] };
+
+// Configures the "." and the "," for the numeric keypad
+    key <KPPT> { [ KP_Decimal              ] };
+    include "kpdl(comma)"
+
+// Configures the use of the AltGr key
+    include "level3(ralt_switch)"
+
+};
+
+
+//
+// Teclado Nativo Brasileiro                               2005-07-19
+// Brazilian Nativo Keyboard
+//      This is a Dvorak-based layout, designed for the Portuguese language
+//
+// Ari Caldeira     ari@tecladobrasileiro.com.br
+//
+partial alphanumeric_keys
+xkb_symbols "nativo" {
+
+    name[Group1]="Brazil - Nativo";
+
+// Numeric row
+    key <TLDE> { [        equal,            plus,              section,        plusminus ] };
+    key <AE01> { [            1,          exclam,          onesuperior,       exclamdown ] };
+    key <AE02> { [            2,              at,          twosuperior,          onehalf ] };
+    key <AE03> { [            3,      numbersign,        threesuperior,    threequarters ] };
+    key <AE04> { [            4,          dollar,             sterling,       onequarter ] };
+    key <AE05> { [            5,         percent,                 cent,       0x01002030 ] };
+    key <AE06> { [            6,  dead_diaeresis,              notsign,        diaeresis ] };
+    key <AE07> { [            7,       ampersand,        dead_belowdot,    dead_abovedot ] };
+    key <AE08> { [            8,        asterisk,          dead_ogonek,        dead_horn ] };
+    key <AE09> { [            9,       parenleft,         dead_cedilla,        dead_hook ] };
+    key <AE10> { [            0,      parenright,          dead_macron,       dead_breve ] };
+    key <AE11> { [  bracketleft,       braceleft,          ordfeminine,       0x01000326 ] };
+    key <AE12> { [ bracketright,      braceright,            masculine,   dead_abovering ] };
+
+// Upper row
+    key <AD01> { [        slash,        question,               degree,     questiondown ] };
+    key <AD02> { [        comma,            less,           0x01000329,       0x01000313 ] };
+    key <AD03> { [       period,         greater,           0x01002022,   periodcentered ] };
+    key <AD04> { [            h,               H,            paragraph,        paragraph ] };
+    key <AD05> { [            x,               X,             multiply,         division ] };
+    key <AD06> { [            w,               W,               ubreve,           Ubreve ] };
+    key <AD07> { [            l,               L,              lstroke,          Lstroke ] };
+    key <AD08> { [            t,               T,            trademark,        trademark ] };
+    key <AD09> { [            c,               C,            copyright,        copyright ] };
+    key <AD10> { [            p,               P,                thorn,            THORN ] };
+    key <AD11> { [   dead_tilde, dead_circumflex,           asciitilde,      asciicircum ] };
+    key <AD12> { [        minus,      underscore,           0x01002015,       0x01000336 ] };
+
+// Central row
+    key <AC01> { [            i,               I,             idotless,        Iabovedot ] };
+    key <AC02> { [            e,               E,             EuroSign,         EuroSign ] };
+    key <AC03> { [            a,               A,                   ae,               AE ] };
+    key <AC04> { [            o,               O,                   oe,               OE ] };
+    key <AC05> { [            u,               U,               oslash,         Ooblique ] };
+    key <AC06> { [            m,               M,                   mu,               mu ] };
+    key <AC07> { [            d,               D,                  eth,              ETH ] };
+    key <AC08> { [            s,               S,               ssharp,           ssharp ] };
+    key <AC09> { [            r,               R,           registered,       registered ] };
+    key <AC10> { [            n,               N,                  eng,              ENG ] };
+    key <AC11> { [   dead_acute,      dead_grave,                acute,            grave ] };
+    key <BKSL> { [   apostrophe,        quotedbl,           dead_caron, dead_doubleacute ] };
+
+// Lower row
+    key <LSGT> { [    semicolon,           colon,           0x01000331,       0x0100032D ] };
+    key <AB01> { [            y,               Y,                  yen,              yen ] };
+    key <AB02> { [     ccedilla,        Ccedilla,            backslash,              bar ] };
+    key <AB03> { [            j,               J,           0x01000292,       0x010001B7 ] };
+    key <AB04> { [            b,               B,        guillemotleft,       0x01002039 ] };
+    key <AB05> { [            k,               K,       guillemotright,       0x0100203A ] };
+    key <AB06> { [            q,               Q,           0x01000259,       0x0100018F ] };
+    key <AB07> { [            v,               V,   doublelowquotemark, singlelowquotemark ] };
+    key <AB08> { [            g,               G,  leftdoublequotemark, leftsinglequotemark ] };
+    key <AB09> { [            f,               F, rightdoublequotemark, rightsinglequotemark ] };
+    key <AB10> { [            z,               Z,           0x0100201F,       0x0100201B ] };
+    key <AB11> { [    backslash,             bar,             currency,        brokenbar ] };
+
+    key <SPCE> { [        space,           space,         nobreakspace,     nobreakspace ] };
+
+// Configures the "." and the "," for the numeric keypad
+    key <KPPT> { [ KP_Decimal              ] };
+    include "kpdl(comma)"
+
+// Configures the use of the AltGr key
+    include "level3(ralt_switch)"
+
+};
+
+
+//
+// Teclado Nativo Brasileiro para o teclado estadunidense  2005-07-19
+// Brazilian Nativo Keyboard for USA keyboards
+//
+// Ari Caldeira     ari@tecladobrasileiro.com.br
+//
+partial alphanumeric_keys
+xkb_symbols "nativo-us" {
+    include "br(nativo)"
+
+    name[Group1]="Brazil - Nativo for USA keyboards";
+
+// Lower row
+    key <AB01> { [            y,               Y,              ccedilla,        Ccedilla ] };
+    key <AB02> { [    semicolon,           colon,             backslash,             bar ] };
+
+};
+
+
+//
+// Teclado Nativo Brasileiro para digitacao em Esperanto   2005-07-19
+// Brazilian Nativo Keyboard for typing Esperanto
+//
+// Ari Caldeira     ari@tecladobrasileiro.com.br
+//
+partial alphanumeric_keys
+xkb_symbols "nativo-epo" {
+    include "br(nativo)"
+
+    name[Group1]="Brazil - Nativo for Esperanto";
+
+// Upper row Esperanto
+    key <AD04> { [            h,               H,          hcircumflex,      Hcircumflex ] };
+    key <AD05> { [  ccircumflex,     Ccircumflex,                    x,                X ] };
+    key <AD06> { [       ubreve,          Ubreve,                    w,                W ] };
+
+// Lower row Esperanto
+    key <AB01> { [  jcircumflex,     Jcircumflex,                    y,                Y ] };
+    key <AB02> { [  scircumflex,     Scircumflex,             ccedilla,         Ccedilla ] };
+    key <AB06> { [  gcircumflex,     Gcircumflex,                    q,                Q ] };
+
+};
index a86fc45..ba141b3 100644 (file)
@@ -102,3 +102,123 @@ xkb_symbols "mac_nodeadkeys" {
     key <AC11> {       [      asciitilde,     asciicircum      ]       };
     key <AD12> {       [           acute,           grave      ]       };
 };
+
+
+//
+// Teclado Nativo Portugues                                2005-07-19
+// Portuguese Nativo Keyboard
+//      This is a Dvorak-based layout, designed for the Portuguese language
+//
+// Ari Caldeira     ari@tecladobrasileiro.com.br
+//
+partial alphanumeric_keys
+xkb_symbols "nativo" {
+
+    name[Group1]="Portugal - Nativo";
+
+// Numeric row
+    key <TLDE> { [         plus,        asterisk,       dead_diaeresis,        plusminus ] };
+    key <AE01> { [            1,          exclam,          onesuperior,       exclamdown ] };
+    key <AE02> { [            2,        quotedbl,                   at,      twosuperior ] };
+    key <AE03> { [            3,      numbersign,             sterling,    threesuperior ] };
+    key <AE04> { [            4,          dollar,              section,       onequarter ] };
+    key <AE05> { [            5,         percent,                 cent,       0x01002030 ] };
+    key <AE06> { [            6,       ampersand,              notsign,        diaeresis ] };
+    key <AE07> { [            7,           slash,            braceleft,       0x0100032D ] };
+    key <AE08> { [            8,       parenleft,          bracketleft,       0x01000331 ] };
+    key <AE09> { [            9,      parenright,         bracketright,        dead_horn ] };
+    key <AE10> { [            0,           equal,           braceright,        dead_hook ] };
+    key <AE11> { [    masculine,     ordfeminine,          dead_ogonek,       0x01000326 ] };
+    key <AE12> { [         less,         greater,         dead_cedilla,   dead_abovering ] };
+
+// Upper row
+    key <AD01> { [   apostrophe,        question,               degree,     questiondown ] };
+    key <AD02> { [        comma,       semicolon,           0x01000329,       0x01000315 ] };
+    key <AD03> { [       period,           colon,           0x01002022,   periodcentered ] };
+    key <AD04> { [            h,               H,            paragraph,        paragraph ] };
+    key <AD05> { [            x,               X,             multiply,         division ] };
+    key <AD06> { [            w,               W,               ubreve,           Ubreve ] };
+    key <AD07> { [            l,               L,              lstroke,          Lstroke ] };
+    key <AD08> { [            t,               T,            trademark,        trademark ] };
+    key <AD09> { [            c,               C,            copyright,        copyright ] };
+    key <AD10> { [            p,               P,                thorn,            THORN ] };
+    key <AD11> { [   dead_tilde, dead_circumflex,           dead_caron, dead_doubleacute ] };
+    key <AD12> { [        minus,      underscore,           0x01002015,       0x01000336 ] };
+
+// Central row
+    key <AC01> { [            i,               I,             idotless,        Iabovedot ] };
+    key <AC02> { [            e,               E,             EuroSign,         EuroSign ] };
+    key <AC03> { [            a,               A,                   ae,               AE ] };
+    key <AC04> { [            o,               O,                   oe,               OE ] };
+    key <AC05> { [            u,               U,               oslash,         Ooblique ] };
+    key <AC06> { [            m,               M,                   mu,               mu ] };
+    key <AC07> { [            d,               D,                  eth,              ETH ] };
+    key <AC08> { [            s,               S,               ssharp,           ssharp ] };
+    key <AC09> { [            r,               R,           registered,       registered ] };
+    key <AC10> { [            n,               N,                  eng,              ENG ] };
+    key <AC11> { [   dead_acute,      dead_grave,          dead_macron,       dead_breve ] };
+    key <BKSL> { [    backslash,             bar,        dead_belowdot,    dead_abovedot ] };
+
+// Lower row
+    key <LSGT> { [ guillemotleft, guillemotright,           0x01002039,       0x0100203A ] };
+    key <AB01> { [            y,               Y,                  yen,              yen ] };
+    key <AB02> { [     ccedilla,        Ccedilla                                         ] };
+    key <AB03> { [            j,               J,           0x01000292,       0x010001B7 ] };
+    key <AB04> { [            b,               B,           apostrophe,         quotedbl ] };
+    key <AB05> { [            k,               K,             currency,        brokenbar ] };
+    key <AB06> { [            q,               Q,           0x01000259,       0x0100018F ] };
+    key <AB07> { [            v,               V,   doublelowquotemark, singlelowquotemark ] };
+    key <AB08> { [            g,               G,  leftdoublequotemark, leftsinglequotemark ] };
+    key <AB09> { [            f,               F, rightdoublequotemark, rightsinglequotemark ] };
+    key <AB10> { [            z,               Z,           0x0100201F,       0x0100201B ] };
+
+    key <SPCE> { [        space,           space,         nobreakspace,     nobreakspace ] };
+
+// Configures the use of the AltGr key
+    include "level3(ralt_switch)"
+
+};
+
+
+//
+// Teclado Nativo Portugues para o teclado estadunidense   2005-07-19
+// Portuguese Nativo Keyboard for USA keyboards
+//
+// Ari Caldeira     ari@tecladobrasileiro.com.br
+//
+partial alphanumeric_keys
+xkb_symbols "nativo-us" {
+    include "pt(nativo)"
+
+    name[Group1]="Portugal - Nativo for USA keyboards";
+
+// Lower row
+    key <AB01> { [            y,               Y,              ccedilla,        Ccedilla ] };
+    key <AB02> { [ guillemotleft, guillemotright,           0x01002039,       0x0100203A ] };
+
+};
+
+
+//
+// Teclado Nativo Portugues para digitacao em Esperanto    2005-07-19
+// Portuguese Nativo Keyboard for typing Esperanto
+//
+// Ari Caldeira     ari@tecladobrasileiro.com.br
+//
+partial alphanumeric_keys
+xkb_symbols "nativo-epo" {
+    include "pt(nativo)"
+
+    name[Group1]="Portugal - Nativo for Esperanto";
+
+// Upper row Esperanto
+    key <AD04> { [            h,               H,          hcircumflex,      Hcircumflex ] };
+    key <AD05> { [  ccircumflex,     Ccircumflex,                    x,                X ] };
+    key <AD06> { [       ubreve,          Ubreve,                    w,                W ] };
+
+// Lower row Esperanto
+    key <AB01> { [  jcircumflex,     Jcircumflex,                    y,                Y ] };
+    key <AB02> { [  scircumflex,     Scircumflex,             ccedilla,         Ccedilla ] };
+    key <AB06> { [  gcircumflex,     Gcircumflex,                    q,                Q ] };
+
+};
\ No newline at end of file