use intl kb variants
authorIan Kelling <ian@iankelling.org>
Thu, 21 Oct 2021 21:29:54 +0000 (17:29 -0400)
committerIan Kelling <ian@iankelling.org>
Thu, 21 Oct 2021 21:29:54 +0000 (17:29 -0400)
result of:
diff -u etiona-2021.xkb etiona-2021-intl.xkb | patch x2.xkb
diff -u etiona-2021.xkb etiona-2021-intl.xkb | patch model01.xkb

model01.xkb
x2.xkb

index 50384bfa150d40c426ffd1ec48c47a6c94b0ef13..57a151f23ff2c85f7d96a5dcbd396960335a20be 100644 (file)
@@ -1178,144 +1178,207 @@ xkb_compatibility "complete" {
     };
 };
 
-xkb_symbols "pc+us+inet(evdev)+ctrl(nocaps)+terminate(ctrl_alt_bksp)" {
+xkb_symbols "pc+us(intl)+inet(evdev)+ctrl(nocaps)+terminate(ctrl_alt_bksp)" {
 
-    name[group1]="English (US)";
+    name[group1]="English (US, intl., with dead keys)";
 
     key  <ESC> {         [          Escape ] };
-    key <AE01> {         [               1,          exclam ] };
-    key <AE02> {         [               2,              at ] };
-    key <AE03> {         [               3,      numbersign ] };
-    key <AE04> {         [               4,          dollar ] };
-    key <AE05> {         [               5,         percent ] };
-    key <AE06> {         [               6,     asciicircum ] };
-    key <AE07> {         [               7,       ampersand ] };
-    key <AE08> {         [               8,        asterisk ] };
-    key <AE09> {         [               9,       parenleft ] };
-    key <AE10> {         [               0,      parenright ] };
-    key <AE11> {         [           minus,      underscore ] };
-    key <AE12> {         [           equal,            plus ] };
+    key <AE01> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               1,          exclam,      exclamdown,     onesuperior ]
+    };
+    key <AE02> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               2,              at,     twosuperior, dead_doubleacute ]
+    };
+    key <AE03> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               3,      numbersign,   threesuperior,     dead_macron ]
+    };
+    key <AE04> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               4,          dollar,        currency,        sterling ]
+    };
+    key <AE05> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               5,         percent,        EuroSign,    dead_cedilla ]
+    };
+    key <AE06> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               6, dead_circumflex,      onequarter,     asciicircum ]
+    };
+    key <AE07> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               7,       ampersand,         onehalf,       dead_horn ]
+    };
+    key <AE08> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               8,        asterisk,   threequarters,     dead_ogonek ]
+    };
+    key <AE09> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               9,       parenleft, leftsinglequotemark,      dead_breve ]
+    };
+    key <AE10> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               0,      parenright, rightsinglequotemark,  dead_abovering ]
+    };
+    key <AE11> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [           minus,      underscore,             yen,   dead_belowdot ]
+    };
+    key <AE12> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [           equal,            plus,        multiply,        division ]
+    };
     key <BKSP> {
         type= "CTRL+ALT",
         symbols[Group1]= [       BackSpace,       BackSpace,        NoSymbol,        NoSymbol, Terminate_Server ]
     };
     key  <TAB> {         [             Tab,    ISO_Left_Tab ] };
     key <AD01> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               q,               Q ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               q,               Q,      adiaeresis,      Adiaeresis ]
     };
     key <AD02> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               w,               W ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               w,               W,           aring,           Aring ]
     };
     key <AD03> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               e,               E ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               e,               E,          eacute,          Eacute ]
     };
     key <AD04> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               r,               R ]
+        type= "FOUR_LEVEL_SEMIALPHABETIC",
+        symbols[Group1]= [               r,               R,      registered,      registered ]
     };
     key <AD05> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               t,               T ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               t,               T,           thorn,           THORN ]
     };
     key <AD06> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               y,               Y ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               y,               Y,      udiaeresis,      Udiaeresis ]
     };
     key <AD07> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               u,               U ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               u,               U,          uacute,          Uacute ]
     };
     key <AD08> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               i,               I ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               i,               I,          iacute,          Iacute ]
     };
     key <AD09> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               o,               O ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               o,               O,          oacute,          Oacute ]
     };
     key <AD10> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               p,               P ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               p,               P,      odiaeresis,      Odiaeresis ]
+    };
+    key <AD11> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [     bracketleft,       braceleft,   guillemotleft, leftdoublequotemark ]
+    };
+    key <AD12> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [    bracketright,      braceright,  guillemotright, rightdoublequotemark ]
     };
-    key <AD11> {         [     bracketleft,       braceleft ] };
-    key <AD12> {         [    bracketright,      braceright ] };
     key <RTRN> {         [          Return ] };
     key <LCTL> {         [       Control_L ] };
     key <AC01> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               a,               A ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               a,               A,          aacute,          Aacute ]
     };
     key <AC02> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               s,               S ]
+        type= "FOUR_LEVEL_SEMIALPHABETIC",
+        symbols[Group1]= [               s,               S,          ssharp,         section ]
     };
     key <AC03> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               d,               D ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               d,               D,             eth,             ETH ]
     };
     key <AC04> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               f,               F ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               f,               F,               f,               F ]
     };
     key <AC05> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               g,               G ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               g,               G,               g,               G ]
     };
     key <AC06> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               h,               H ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               h,               H,               h,               H ]
     };
     key <AC07> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               j,               J ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               j,               J,               j,               J ]
     };
     key <AC08> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               k,               K ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               k,               K,              oe,              OE ]
     };
     key <AC09> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               l,               L ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               l,               L,          oslash,          Oslash ]
+    };
+    key <AC10> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [       semicolon,           colon,       paragraph,          degree ]
+    };
+    key <AC11> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [      dead_acute,  dead_diaeresis,      apostrophe,        quotedbl ]
+    };
+    key <TLDE> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [      dead_grave,      dead_tilde,           grave,      asciitilde ]
     };
-    key <AC10> {         [       semicolon,           colon ] };
-    key <AC11> {         [      apostrophe,        quotedbl ] };
-    key <TLDE> {         [           grave,      asciitilde ] };
     key <LFSH> {         [         Shift_L ] };
-    key <BKSL> {         [       backslash,             bar ] };
+    key <BKSL> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [       backslash,             bar,         notsign,       brokenbar ]
+    };
     key <AB01> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               z,               Z ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               z,               Z,              ae,              AE ]
     };
     key <AB02> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               x,               X ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               x,               X,               x,               X ]
     };
     key <AB03> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               c,               C ]
+        type= "FOUR_LEVEL_SEMIALPHABETIC",
+        symbols[Group1]= [               c,               C,       copyright,            cent ]
     };
     key <AB04> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               v,               V ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               v,               V,               v,               V ]
     };
     key <AB05> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               b,               B ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               b,               B,               b,               B ]
     };
     key <AB06> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               n,               N ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               n,               N,          ntilde,          Ntilde ]
     };
     key <AB07> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               m,               M ]
+        type= "FOUR_LEVEL_SEMIALPHABETIC",
+        symbols[Group1]= [               m,               M,              mu,              mu ]
+    };
+    key <AB08> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [           comma,            less,        ccedilla,        Ccedilla ]
+    };
+    key <AB09> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [          period,         greater,   dead_abovedot,      dead_caron ]
+    };
+    key <AB10> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [           slash,        question,    questiondown,       dead_hook ]
     };
-    key <AB08> {         [           comma,            less ] };
-    key <AB09> {         [          period,         greater ] };
-    key <AB10> {         [           slash,        question ] };
     key <RTSH> {         [         Shift_R ] };
     key <KPMU> {
         type= "CTRL+ALT",
@@ -1385,10 +1448,13 @@ xkb_symbols "pc+us+inet(evdev)+ctrl(nocaps)+terminate(ctrl_alt_bksp)" {
     key  <KP3> {         [         KP_Next,            KP_3 ] };
     key  <KP0> {         [       KP_Insert,            KP_0 ] };
     key <KPDL> {         [       KP_Delete,      KP_Decimal ] };
-    key <LVL3> {         [ ISO_Level3_Shift ] };
+    key <LVL3> {
+        type= "ONE_LEVEL",
+        symbols[Group1]= [ ISO_Level3_Shift ]
+    };
     key <LSGT> {
         type= "FOUR_LEVEL",
-        symbols[Group1]= [            less,         greater,             bar,       brokenbar ]
+        symbols[Group1]= [       backslash,             bar,       backslash,             bar ]
     };
     key <FK11> {
         type= "CTRL+ALT",
@@ -1414,8 +1480,8 @@ xkb_symbols "pc+us+inet(evdev)+ctrl(nocaps)+terminate(ctrl_alt_bksp)" {
         symbols[Group1]= [           Print,         Sys_Req ]
     };
     key <RALT> {
-        type= "TWO_LEVEL",
-        symbols[Group1]= [           Alt_R,          Meta_R ]
+        type= "ONE_LEVEL",
+        symbols[Group1]= [ ISO_Level3_Shift ]
     };
     key <LNFD> {         [        Linefeed ] };
     key <HOME> {         [            Home ] };
@@ -1555,7 +1621,6 @@ xkb_symbols "pc+us+inet(evdev)+ctrl(nocaps)+terminate(ctrl_alt_bksp)" {
     modifier_map Mod2 { <NMLK> };
     modifier_map Mod5 { <LVL3> };
     modifier_map Control { <RCTL> };
-    modifier_map Mod1 { <RALT> };
     modifier_map Mod4 { <LWIN> };
     modifier_map Mod4 { <RWIN> };
     modifier_map Mod5 { <MDSW> };
diff --git a/x2.xkb b/x2.xkb
index 361f60aa2f6ff1fd2ad2ab5c36dcca2dcb7a7a01..98b37b520bfd36ccd80cc1822f81bde71e74a606 100644 (file)
--- a/x2.xkb
+++ b/x2.xkb
@@ -1178,144 +1178,207 @@ xkb_compatibility "complete" {
     };
 };
 
-xkb_symbols "pc+us+inet(evdev)+ctrl(nocaps)+terminate(ctrl_alt_bksp)" {
+xkb_symbols "pc+us(intl)+inet(evdev)+ctrl(nocaps)+terminate(ctrl_alt_bksp)" {
 
-    name[group1]="English (US)";
+    name[group1]="English (US, intl., with dead keys)";
 
     key  <ESC> {         [          Escape ] };
-    key <AE01> {         [               1,          exclam ] };
-    key <AE02> {         [               2,              at ] };
-    key <AE03> {         [               3,      numbersign ] };
-    key <AE04> {         [               4,          dollar ] };
-    key <AE05> {         [               5,         percent ] };
-    key <AE06> {         [               6,     asciicircum ] };
-    key <AE07> {         [               7,       ampersand ] };
-    key <AE08> {         [               8,        asterisk ] };
-    key <AE09> {         [               9,       parenleft ] };
-    key <AE10> {         [               0,      parenright ] };
-    key <AE11> {         [           minus,      underscore ] };
-    key <AE12> {         [           equal,            plus ] };
+    key <AE01> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               1,          exclam,      exclamdown,     onesuperior ]
+    };
+    key <AE02> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               2,              at,     twosuperior, dead_doubleacute ]
+    };
+    key <AE03> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               3,      numbersign,   threesuperior,     dead_macron ]
+    };
+    key <AE04> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               4,          dollar,        currency,        sterling ]
+    };
+    key <AE05> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               5,         percent,        EuroSign,    dead_cedilla ]
+    };
+    key <AE06> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               6, dead_circumflex,      onequarter,     asciicircum ]
+    };
+    key <AE07> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               7,       ampersand,         onehalf,       dead_horn ]
+    };
+    key <AE08> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               8,        asterisk,   threequarters,     dead_ogonek ]
+    };
+    key <AE09> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               9,       parenleft, leftsinglequotemark,      dead_breve ]
+    };
+    key <AE10> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [               0,      parenright, rightsinglequotemark,  dead_abovering ]
+    };
+    key <AE11> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [           minus,      underscore,             yen,   dead_belowdot ]
+    };
+    key <AE12> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [           equal,            plus,        multiply,        division ]
+    };
     key <BKSP> {
         type= "CTRL+ALT",
         symbols[Group1]= [       BackSpace,       BackSpace,        NoSymbol,        NoSymbol, Terminate_Server ]
     };
     key  <TAB> {         [             Tab,    ISO_Left_Tab ] };
     key <AD01> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               q,               Q ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               q,               Q,      adiaeresis,      Adiaeresis ]
     };
     key <AD02> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               w,               W ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               w,               W,           aring,           Aring ]
     };
     key <AD03> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               e,               E ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               e,               E,          eacute,          Eacute ]
     };
     key <AD04> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               r,               R ]
+        type= "FOUR_LEVEL_SEMIALPHABETIC",
+        symbols[Group1]= [               r,               R,      registered,      registered ]
     };
     key <AD05> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               t,               T ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               t,               T,           thorn,           THORN ]
     };
     key <AD06> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               y,               Y ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               y,               Y,      udiaeresis,      Udiaeresis ]
     };
     key <AD07> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               u,               U ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               u,               U,          uacute,          Uacute ]
     };
     key <AD08> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               i,               I ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               i,               I,          iacute,          Iacute ]
     };
     key <AD09> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               o,               O ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               o,               O,          oacute,          Oacute ]
     };
     key <AD10> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               p,               P ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               p,               P,      odiaeresis,      Odiaeresis ]
+    };
+    key <AD11> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [     bracketleft,       braceleft,   guillemotleft, leftdoublequotemark ]
+    };
+    key <AD12> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [    bracketright,      braceright,  guillemotright, rightdoublequotemark ]
     };
-    key <AD11> {         [     bracketleft,       braceleft ] };
-    key <AD12> {         [    bracketright,      braceright ] };
     key <RTRN> {         [          Return ] };
     key <LCTL> {         [       Control_L ] };
     key <AC01> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               a,               A ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               a,               A,          aacute,          Aacute ]
     };
     key <AC02> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               s,               S ]
+        type= "FOUR_LEVEL_SEMIALPHABETIC",
+        symbols[Group1]= [               s,               S,          ssharp,         section ]
     };
     key <AC03> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               d,               D ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               d,               D,             eth,             ETH ]
     };
     key <AC04> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               f,               F ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               f,               F,               f,               F ]
     };
     key <AC05> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               g,               G ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               g,               G,               g,               G ]
     };
     key <AC06> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               h,               H ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               h,               H,               h,               H ]
     };
     key <AC07> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               j,               J ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               j,               J,               j,               J ]
     };
     key <AC08> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               k,               K ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               k,               K,              oe,              OE ]
     };
     key <AC09> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               l,               L ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               l,               L,          oslash,          Oslash ]
+    };
+    key <AC10> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [       semicolon,           colon,       paragraph,          degree ]
+    };
+    key <AC11> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [      dead_acute,  dead_diaeresis,      apostrophe,        quotedbl ]
+    };
+    key <TLDE> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [      dead_grave,      dead_tilde,           grave,      asciitilde ]
     };
-    key <AC10> {         [       semicolon,           colon ] };
-    key <AC11> {         [      apostrophe,        quotedbl ] };
-    key <TLDE> {         [           grave,      asciitilde ] };
     key <LFSH> {         [         Shift_L ] };
-    key <BKSL> {         [       backslash,             bar ] };
+    key <BKSL> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [       backslash,             bar,         notsign,       brokenbar ]
+    };
     key <AB01> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               z,               Z ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               z,               Z,              ae,              AE ]
     };
     key <AB02> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               x,               X ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               x,               X,               x,               X ]
     };
     key <AB03> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               c,               C ]
+        type= "FOUR_LEVEL_SEMIALPHABETIC",
+        symbols[Group1]= [               c,               C,       copyright,            cent ]
     };
     key <AB04> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               v,               V ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               v,               V,               v,               V ]
     };
     key <AB05> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               b,               B ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               b,               B,               b,               B ]
     };
     key <AB06> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               n,               N ]
+        type= "FOUR_LEVEL_ALPHABETIC",
+        symbols[Group1]= [               n,               N,          ntilde,          Ntilde ]
     };
     key <AB07> {
-        type= "ALPHABETIC",
-        symbols[Group1]= [               m,               M ]
+        type= "FOUR_LEVEL_SEMIALPHABETIC",
+        symbols[Group1]= [               m,               M,              mu,              mu ]
+    };
+    key <AB08> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [           comma,            less,        ccedilla,        Ccedilla ]
+    };
+    key <AB09> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [          period,         greater,   dead_abovedot,      dead_caron ]
+    };
+    key <AB10> {
+        type= "FOUR_LEVEL",
+        symbols[Group1]= [           slash,        question,    questiondown,       dead_hook ]
     };
-    key <AB08> {         [           comma,            less ] };
-    key <AB09> {         [          period,         greater ] };
-    key <AB10> {         [           slash,        question ] };
     key <RTSH> {         [         Shift_R ] };
     key <KPMU> {
         type= "CTRL+ALT",
@@ -1385,10 +1448,13 @@ xkb_symbols "pc+us+inet(evdev)+ctrl(nocaps)+terminate(ctrl_alt_bksp)" {
     key  <KP3> {         [         KP_Next,            KP_3 ] };
     key  <KP0> {         [       KP_Insert,            KP_0 ] };
     key <KPDL> {         [       KP_Delete,      KP_Decimal ] };
-    key <LVL3> {         [ ISO_Level3_Shift ] };
+    key <LVL3> {
+        type= "ONE_LEVEL",
+        symbols[Group1]= [ ISO_Level3_Shift ]
+    };
     key <LSGT> {
         type= "FOUR_LEVEL",
-        symbols[Group1]= [            less,         greater,             bar,       brokenbar ]
+        symbols[Group1]= [       backslash,             bar,       backslash,             bar ]
     };
     key <FK11> {
         type= "CTRL+ALT",
@@ -1414,8 +1480,8 @@ xkb_symbols "pc+us+inet(evdev)+ctrl(nocaps)+terminate(ctrl_alt_bksp)" {
         symbols[Group1]= [           Print,         Sys_Req ]
     };
     key <RALT> {
-        type= "TWO_LEVEL",
-        symbols[Group1]= [           Alt_R,          Meta_R ]
+        type= "ONE_LEVEL",
+        symbols[Group1]= [ ISO_Level3_Shift ]
     };
     key <LNFD> {         [        Linefeed ] };
     key <HOME> {         [            Home ] };
@@ -1551,7 +1617,6 @@ xkb_symbols "pc+us+inet(evdev)+ctrl(nocaps)+terminate(ctrl_alt_bksp)" {
     modifier_map Mod2 { <NMLK> };
     modifier_map Mod5 { <LVL3> };
     modifier_map Control { <RCTL> };
-    modifier_map Mod1 { <RALT> };
     modifier_map Mod4 { <LWIN> };
     modifier_map Mod4 { <RWIN> };
     modifier_map Mod5 { <MDSW> };