bug-hurd
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 1/8] Update the parser to work with current XKB files.


From: Diego Nieto Cid
Subject: [PATCH 1/8] Update the parser to work with current XKB files.
Date: Wed, 4 Aug 2010 04:19:59 -0300

Squashed commits:

  * Add type to $$ in mid-rules.(see:
    http://www.mail-archive.com/address@hidden/msg02159.html )

  * Lexer support for keycodes with +/- symbols and arbitrary level
    numbers.

  * Skip to main file's default section when needed.

  * Update key type assigment routine. (Adds support for FOUR_LEVEL
    keys)

  * Recreate xkb/keymap/hurd based on xkeyboard-config-1.8's xfree86
    keymap.

    modified:   xkb/keymap/hurd
      - Don't include inexistant symbol file: pc104.
      - en_US was replaced by pc(pc105).
      - Append us layout by default as pc(pc105) no longer describes
        a full keyboard.
---
 lex.l           |    3 +-
 parser.y        |    6 +-
 xkb.c           |   47 ++++++---
 xkb/keymap/hurd |  294 +++++++++++++++++++++++++++++++------------------------
 4 files changed, 205 insertions(+), 145 deletions(-)

diff --git a/lex.l b/lex.l
index 37b88c3..6ef9134 100644
--- a/lex.l
+++ b/lex.l
@@ -30,7 +30,7 @@
 %option nodebug
 
 %option UNPUT
-KEYCODE                "<"[A-Z][A-Z0-9]*">"
+KEYCODE                "<"[A-Z][-+A-Z0-9]*">"
 DIGIT          [0-9]
 NUM            {DIGIT}{DIGIT}*
 FLOAT          {DIGIT}{DIGIT}*\.{DIGIT}{DIGIT}*
@@ -91,6 +91,7 @@ level1                        { yylval.val = 1; return LEVEL; 
}
 level2                 { yylval.val = 2; return LEVEL; }
 level3                 { yylval.val = 3; return LEVEL; }
 level4                 { yylval.val = 4; return LEVEL; }
+level[1-9][0-9]*       { yylval.val = atoi(yytext + 5); return LEVEL; }
 
                        /* Groups.  */
 group1                 { yylval.val = 1; return GROUPNUM; }
diff --git a/parser.y b/parser.y
index 9fe2a39..cf1ca33 100644
--- a/parser.y
+++ b/parser.y
@@ -336,8 +336,8 @@ mods:
   mods '+' rmod { $$.rmods = $1.rmods | $3; }
 | mods '+' vmod { $$.vmods = $1.vmods | $3; }
        /* Use a mid-rule action to start with no modifiers.  */
-| { $$.rmods = 0; $$.vmods = 0 } rmod          { $$.rmods = $2; }
-| { $$.rmods = 0; $$.vmods = 0 } vmod          { $$.vmods = $2; }
+| { $<modmap>$.rmods = 0; $<modmap>$.vmods = 0 } rmod          { $$.rmods = 
$2; }
+| { $<modmap>$.rmods = 0; $<modmap>$.vmods = 0 } vmod          { $$.vmods = 
$2; }
 | "all"        { $$.rmods = 0xFF; $$.vmods = 0xFFFF}
 | "none"  { $$.rmods = 0; $$.vmods = 0 }
 ;
@@ -1486,6 +1486,8 @@ parse_xkbconfig (char *xkbdir, char *xkbkeymapfile, char 
*xkbkeymap)
 
       if (xkbkeymap)
        skip_to_sectionname (xkbkeymap, XKBKEYMAP);
+      else
+        skip_to_defaultsection();
     } 
   else /* Use defaults.  */
     {
diff --git a/xkb.c b/xkb.c
index 9da51a2..00fa6e0 100644
--- a/xkb.c
+++ b/xkb.c
@@ -388,28 +388,47 @@ iskeypad (int width, int *sym)
 /* Get the keytype (the keytype determines which modifiers are used
    for shifting.
 
+   See address@hidden/symbols.c
+
    These rules are used:
 
-   * If the width is 1 the keytype is ONE_LEVEL.
-   * If the first symbol is lowercase and the second is uppercase
-   (latin alphabeth) the keytype is ALPHABETHIC.
-   * If one of the symbols is in the keypad range the keytype is KEYPAD.
-   * Else the keytype is TWO_LEVEL. */
+   Simple recipe:
+     - ONE_LEVEL for width 0/1
+     - ALPHABETIC for 2 shift levels, with lower/upercase
+     - KEYPAD for keypad keys.
+     - TWO_LEVEL for other 2 shift level keys.
+     and the same for four level keys.
+
+   Otherwise, the key type is TWO_LEVEL.
+ */
 static struct keytype *
 get_keytype (int width, symbol *sym)
 {
-  struct keytype *ktfound;
+  struct keytype *ktfound = NULL;
 
-  if (!width || !sym)
+  if (!sym)
     ktfound = keytype_find ("TWO_LEVEL");
-  else if (iskeypad (width, sym))
-    ktfound = keytype_find ("KEYPAD");
-  else if (width == 1)
+  else if ((width == 1) || (width == 0))
     ktfound = keytype_find ("ONE_LEVEL");
-  else if (width >= 2 && islatin_lower (sym[0]) && islatin_upper (sym[1]))
-    ktfound = keytype_find ("ALPHABETIC");
-  else
-    ktfound = keytype_find ("TWO_LEVEL");
+  else if (width == 2) {
+    if (islatin_lower (sym[0]) && islatin_upper (sym[1]))
+      ktfound = keytype_find ("ALPHABETIC");
+    else if (iskeypad (width, sym))
+      ktfound = keytype_find ("KEYPAD");
+    else
+      ktfound = keytype_find ("TWO_LEVEL");
+  }
+  else if (width <= 4) {
+    if (islatin_lower (sym[0]) && islatin_upper (sym[1]))
+      if (islatin_lower(sym[2]) && islatin_upper(sym[3]))
+        ktfound = keytype_find ("FOUR_LEVEL_ALPHABETIC");
+      else
+        ktfound = keytype_find ("FOUR_LEVEL_SEMIALPHABETIC");
+    else if (iskeypad (2, sym))
+      ktfound = keytype_find ("FOUR_LEVEL_KEYPAD");
+    else
+      ktfound = keytype_find ("FOUR_LEVEL");
+  }
 
   if (!ktfound)
     ktfound = keytype_find ("TWO_LEVEL");
diff --git a/xkb/keymap/hurd b/xkb/keymap/hurd
index 66de67e..8ee4de8 100644
--- a/xkb/keymap/hurd
+++ b/xkb/keymap/hurd
@@ -1,347 +1,385 @@
-// $Xorg: xfree86,v 1.3 2000/08/17 19:54:40 cpqbld Exp $
+// $XFree86: xc/programs/xkbcomp/keymap/xfree86,v 3.30 2003/04/03 16:34:49 
dawes Exp $
 
 
-
-
-// $XFree86: xc/programs/xkbcomp/keymap/xfree86,v 3.26 2002/01/16 18:20:11 
dawes Exp $
-
 xkb_keymap "Hurd" {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default+hurd"        };
     xkb_compatibility  { include "default"             };
-    xkb_symbols        { include 
"en_US(pc105)+hurd+pc104+group(win_switch)+compose(menu)"     };
+    xkb_symbols        { include 
"pc(pc105)+us+hurd+group(win_switch)+compose(menu)"   };
     xkb_geometry       { include "pc"                  };
 };
-xkb_keymap "us" {
+
+default xkb_keymap "us" {
     xkb_keycodes       { include "xfree86"             };
-    xkb_types          { include "default+hurd"        };
+    xkb_types          { include "default+hurd"                };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "us(pc105)+hurd"      };
+    xkb_symbols                { include "pc(pc105)+us+hurd"           };
     xkb_geometry       { include "pc"                  };
 };
-xkb_keymap "us_microsoft" {
+
+// "ar" addition by Arabeyes Team, <address@hidden>
+xkb_keymap "ar" {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "us(pc105)"           };
-    xkb_geometry       { include "microsoft"           };
+    xkb_symbols                { include "pc(pc105)+ara"       };
+    xkb_geometry       { include "pc(pc102)"           };
 };
-xkb_keymap "us_flexpro" {
+xkb_keymap "be"        {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "us(pc105)"           };
-    xkb_geometry       { include "keytronic(FlexPro)"  };
+    xkb_symbols                { include "pc(pc105)+be"        };
+    xkb_geometry       { include "pc(pc102)"           };
 };
-xkb_keymap "en_US" {
+xkb_keymap "bg"        {
     xkb_keycodes       { include "xfree86"             };
-    xkb_types          { include "default+hurd"        };
+    xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols        { include "en_US(pc105)+hurd"   };
-    xkb_geometry       { include "pc"                  };
+    xkb_symbols                { include "pc(pc105)+bg"        };
+    xkb_geometry       { include "pc(pc102)"           };
 };
-xkb_keymap "be"        {
+// us_intl and br by Ricardo Y. Igarashi (address@hidden)
+xkb_keymap "br"        {
+    xkb_keycodes       { include "xfree86"     };
+    xkb_types          { include "default"             };
+    xkb_compatibility  { include "default"             };
+    xkb_symbols                { include "pc(pc105)+br"        };
+    xkb_geometry       { include "pc(abnt2)"           };
+};
+// cz and sk keymaps by Kamil Toman (address@hidden) 
+// are designed to replace old czechoslovakian and czsk keyboards
+// and their prog variants. Those are now obsolete and should not be used 
anymore.
+xkb_keymap "cz" {
+    xkb_keycodes       { include "xfree86"             };
+    xkb_types          { include "default"             };
+    xkb_compatibility  { include "default"             };
+    xkb_symbols                { include "pc(pc105)+cz"        };
+    xkb_geometry       { include "pc"                  };
+};
+xkb_keymap "de"        {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+be"     };
+    xkb_symbols                { include "pc(pc105)+de"        };
     xkb_geometry       { include "pc(pc102)"           };
 };
-xkb_keymap "bg"        {
+xkb_keymap "ch_de"     {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+bg"     };
+    xkb_symbols                { include "pc(pc105)+ch(de)"    };
     xkb_geometry       { include "pc(pc102)"           };
 };
-xkb_keymap "de"        {
+xkb_keymap "ch_fr"     {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+de"     };
+    xkb_symbols                { include "pc(pc105)+ch(fr)"    };
     xkb_geometry       { include "pc(pc102)"           };
 };
 xkb_keymap "dk"        {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+dk"     };
+    xkb_symbols                { include "pc(pc105)+dk"        };
     xkb_geometry       { include "pc(pc102)"           };
 };
 xkb_keymap "dvorak" {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+dvorak" };
+    xkb_symbols                { include "pc(pc105)+us(dvorak)"};
     xkb_geometry       { include "pc(pc102)"           };
 };
-xkb_keymap "es"        {
+xkb_keymap "en_US" {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+es"     };
+    xkb_symbols        { include "pc(pc105)+us"        };
+    xkb_geometry       { include "pc"                  };
+};
+xkb_keymap "es"        {
+    xkb_keycodes       { include "xfree86"             };
+    xkb_types          { include "default+hurd"                };
+    xkb_compatibility  { include "default"             };
+    xkb_symbols                { include "pc(pc105)+es+hurd"   };
     xkb_geometry       { include "pc(pc102)"           };
 };
 xkb_keymap "fr"        {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default+hurd"                };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+fr+hurd"        };
+    xkb_symbols                { include "pc(pc105)+fr+hurd"   };
     xkb_geometry       { include "pc(pc102)"           };
 };
+xkb_keymap "fr-latin9" {
+    xkb_keycodes        { include "xfree86"             };
+    xkb_types           { include "default"             };
+    xkb_compatibility   { include "default"             };
+    xkb_symbols         { include "pc(pc105)+fr-latin9" };
+    xkb_geometry        { include "pc"                 };
+};
 xkb_keymap "fr_CA"     {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+ca"     };
+    xkb_symbols                { include "pc(pc105)+ca"        };
     xkb_geometry       { include "pc(pc102)"           };
 };
 xkb_keymap "gb"        {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+gb"     };
+    xkb_symbols                { include "pc(pc105)+gb"        };
     xkb_geometry       { include "pc(pc102)"           };
 };
 xkb_keymap "hr"        {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+hr"     };
+    xkb_symbols                { include "pc(pc105)+hr"        };
     xkb_geometry       { include "pc(pc102)"           };
 };
 xkb_keymap "it"        {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+it"     };
+    xkb_symbols                { include "pc(pc105)+it"        };
     xkb_geometry       { include "pc(pc102)"           };
 };
+xkb_keymap "jp106" {
+    xkb_keycodes       { include "xfree86"     };
+    xkb_types          { include "default"             };
+    xkb_compatibility  { include "default"             };
+    xkb_symbols                { include "jp(jp106)"           };
+    xkb_geometry       { include "pc(jp106)"           };
+};
 xkb_keymap "lt"        {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+lt"     };
+    xkb_symbols                { include "pc(pc105)+lt"        };
     xkb_geometry       { include "pc(pc102)"           };
 };
 xkb_keymap "lt_std"    {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+lt_std" };
+    xkb_symbols                { include "pc(pc105)+lt(std)"   };
     xkb_geometry       { include "pc(pc102)"           };
 };
 xkb_keymap "lv"        {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+lv"     };
+    xkb_symbols                { include "pc(pc105)+lv"        };
     xkb_geometry       { include "pc(pc102)"           };
 };
 xkb_keymap "mk" {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+mk"     };
+    xkb_symbols                { include "pc(pc105)+mk"        };
     xkb_geometry       { include "pc(pc102)"           };
 };
 xkb_keymap "mt" {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+mt"     };
-    xkb_geometry       { include "pc(pc102)"           };
-};
-xkb_keymap "mt_us" {
-    xkb_keycodes       { include "xfree86"             };
-    xkb_types          { include "default"             };
-    xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+mt_us"  };
+    xkb_symbols                { include "pc(pc105)+mt"        };
     xkb_geometry       { include "pc(pc102)"           };
 };
 xkb_keymap "no"        {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+no"     };
+    xkb_symbols                { include "pc(pc105)+no"        };
     xkb_geometry       { include "pc(pc102)"           };
 };
 xkb_keymap "pl"        {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+pl"     };
+    xkb_symbols                { include "pc(pc105)+pl"        };
     xkb_geometry       { include "pc(pc102)"           };
 };
 xkb_keymap "pt"        {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+pt"     };
+    xkb_symbols                { include "pc(pc105)+pt"        };
     xkb_geometry       { include "pc(pc102)"           };
 };
+// ro: additions by Cristian Gafton, <address@hidden>
+xkb_keymap "ro" {
+    xkb_keycodes       { include "xfree86"                     };
+    xkb_types          { include "default"                     };
+    xkb_compatibility  { include "default"                     };
+    xkb_symbols                { include "pc(pc105)+ro(pc101)" };
+    xkb_geometry       { include "pc(pc101)"                   };
+};
+xkb_keymap "ro_microsoft" {
+    xkb_keycodes       { include "xfree86"                     };
+    xkb_types          { include "default"                     };
+    xkb_compatibility  { include "default"                     };
+    xkb_symbols                { include "pc(pc105)+ro(pc105)" };
+    xkb_geometry       { include "pc(pc105)"                   };
+};
 xkb_keymap "ru"        {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+ru"     };
+    xkb_symbols                { include "pc(pc105)+ru"        };
     xkb_geometry       { include "pc(pc102)"           };
 };
 xkb_keymap "se_FI"     {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+fi"     };
+    xkb_symbols                { include "pc(pc105)+fi"        };
     xkb_geometry       { include "pc(pc102)"           };
 };
 xkb_keymap "se_SE"     {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+se"     };
+    xkb_symbols                { include "pc(pc105)+se"        };
     xkb_geometry       { include "pc(pc102)"           };
 };
-xkb_keymap "th"        {
+xkb_keymap "sl" {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+th"     };
-    xkb_geometry       { include "pc(pc102)"           };
+    xkb_symbols                { include "pc(pc105)+si"        };
+    xkb_geometry       { include "pc(pc102)"           };
 };
-xkb_keymap "de_CH"     {
+xkb_keymap "sl_SI" {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+de_CH"  };
-    xkb_geometry       { include "pc(pc102)"           };
+    xkb_symbols                { include "pc(pc105)+si"        };
+    xkb_geometry       { include "pc(pc102)"           };
 };
-xkb_keymap "fr_CH"     {
+// cz and sk keymaps by Kamil Toman (address@hidden) 
+// are designed to replace old czechoslovakian and czsk keyboards
+// and their prog variants. Those are now obsolete and should not be used 
anymore.
+xkb_keymap "sk" {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+fr_CH"  };
-    xkb_geometry       { include "pc(pc102)"           };
+    xkb_symbols                { include "pc(pc105)+sk"        };
+    xkb_geometry       { include "pc"                  };
 };
-xkb_keymap "jp106" {
-    xkb_keycodes       { include "xfree86(jp106)"              };
+// Additions by Emil Soleyman-Zomalan, <address@hidden>
+xkb_keymap "syr" {
+    xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
-    xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "jp(jp106)"           };
-    xkb_geometry       { include "pc(jp106)"                   };
-};
-
-// Additions by Eric Moreau, 1998-09-27
-// I am reachable at address@hidden
-
-xkb_keymap "fr_CA_sundeadkeys" {
+    xkb_compatibility  { include "default"             };
+    xkb_symbols                { include "pc(pc105)+syr"       };
+    xkb_geometry       { include "pc(pc102)"           };
+};    
+xkb_keymap "th"        {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include 
"en_US(pc102)+ca_enhanced(sundeadkeys)+us_group3(basic)+group(ctrl_shift_toggle)+ralt(mode_switch)"
 };
+    xkb_symbols                { include "pc(pc105)+th"        };
     xkb_geometry       { include "pc(pc102)"           };
 };
-
-xkb_keymap "fr_CA"     {
+xkb_keymap "th_tis"    {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include 
"en_US(pc102)+ca_enhanced(basic)+us_group3(basic)+group(ctrl_shift_toggle)+ralt(mode_switch)"
 };
+    xkb_symbols                { include "pc(pc105)+th(tis)"   };
     xkb_geometry       { include "pc(pc102)"           };
 };
-
-// us_intl and br by Ricardo Y. Igarashi (address@hidden)
-// us_intl means standard us keyboard plus dead_keys symbols
-// these keyboards are very popular in Brazil
-
-xkb_keymap "us_intl" {
+xkb_keymap "th_pat"    {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "us(pc101)+us_intl"   };
-    xkb_geometry       { include "pc"                  };
+    xkb_symbols                { include "pc(pc105)+th(pat)"   };
+    xkb_geometry       { include "pc(pc102)"           };
 };
-xkb_keymap "br"        {
-    xkb_keycodes       { include "xfree86(abnt2)"      };
+xkb_keymap "tr" {
+    xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "us(pc101)+br"        };
-    xkb_geometry       { include "pc(abnt2)"           };
+    xkb_symbols                { include "pc(pc105)+tr"        };
+    xkb_geometry       { include "pc(pc102)"           };
 };
-
-// cz and sk keymaps by Kamil Toman (address@hidden) 
-// are designed to replace old czechoslovakian and czsk keyboards
-// and their prog variants. Those are now obsolete and should not be used 
anymore.
-xkb_keymap "cz" {
+xkb_keymap "uk" {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+cz"     };
-    xkb_geometry       { include "pc"                  };
+    xkb_symbols                { include "pc(pc105)+uk)"       };
+    xkb_geometry       { include "pc(pc102)"           };
 };
-xkb_keymap "cz_qwerty" {
+xkb_keymap "us_flexpro" {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+cz_qwerty"      };
-    xkb_geometry       { include "pc"                  };
+    xkb_symbols                { include "us(pc105)"           };
+    xkb_geometry       { include "keytronic(FlexPro)"  };
 };
-xkb_keymap "sk" {
+// us_intl and br by Ricardo Y. Igarashi (address@hidden)
+// us_intl means standard us keyboard plus dead_keys symbols
+// these keyboards are very popular in Brazil
+xkb_keymap "us_intl" {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+sk"     };
+    xkb_symbols                { include "us(pc101)+us(intl)"  };
     xkb_geometry       { include "pc"                  };
 };
-xkb_keymap "sk_qwerty" {
+xkb_keymap "us_microsoft" {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+sk_qwerty"      };
-    xkb_geometry       { include "pc"                  };
+    xkb_symbols                { include "us(pc105)"           };
+    xkb_geometry       { include "microsoft"           };
 };
 
-xkb_keymap "sl" {
+xkb_keymap "uz" {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+si"     };
+    xkb_symbols                { include "pc(pc105)+uz"        };
     xkb_geometry       { include "pc(pc102)"           };
 };
-xkb_keymap "sl_SI" {
+
+# svu: compatibility keymaps, based on variants
+xkb_keymap "cz_qwerty" {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+si"     };
-    xkb_geometry       { include "pc(pc102)"           };
+    xkb_symbols                { include "pc(pc105)+cz(qwerty)"        };
+    xkb_geometry       { include "pc"                  };
 };
-
-// Additions by Cristian Gafton, <address@hidden>
-xkb_keymap "ro" {
-    xkb_keycodes       { include "xfree86"                     };
-    xkb_types          { include "default"                     };
-    xkb_compatibility  { include "default"                     };
-    xkb_symbols                { include "en_US(pc101)+ro(pc101)"      };
-    xkb_geometry       { include "pc(pc101)"                   };
+xkb_keymap "de_CH"     {
+    xkb_keycodes       { include "xfree86"             };
+    xkb_types          { include "default"             };
+    xkb_compatibility  { include "default"             };
+    xkb_symbols                { include "pc(pc105)+ch(de)"    };
+    xkb_geometry       { include "pc(pc102)"           };
 };
-xkb_keymap "ro_microsoft" {
-    xkb_keycodes       { include "xfree86"                     };
-    xkb_types          { include "default"                     };
-    xkb_compatibility  { include "default"                     };
-    xkb_symbols                { include "en_US(pc105)+ro(pc105)"      };
-    xkb_geometry       { include "pc(pc105)"                   };
+xkb_keymap "fr_CH"     {
+    xkb_keycodes       { include "xfree86"             };
+    xkb_types          { include "default"             };
+    xkb_compatibility  { include "default"             };
+    xkb_symbols                { include "pc(pc105)+ch(fr)"    };
+    xkb_geometry       { include "pc(pc102)"           };
 };
-xkb_keymap "tr" {
+xkb_keymap "mt_us" {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+tr"     };
+    xkb_symbols                { include "pc(pc105)+mt(us)"    };
     xkb_geometry       { include "pc(pc102)"           };
 };
-// Additions by Arabeyes Team, <address@hidden>
-xkb_keymap "ar" {
+xkb_keymap "sk_qwerty" {
     xkb_keycodes       { include "xfree86"             };
     xkb_types          { include "default"             };
     xkb_compatibility  { include "default"             };
-    xkb_symbols                { include "en_US(pc105)+ar"     };
-    xkb_geometry       { include "pc(pc102)"           };
+    xkb_symbols                { include "pc(pc105)+sk(qwerty)"        };
+    xkb_geometry       { include "pc"                  };
 };
-- 
1.7.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]