updated bg variants
authorSergey V. Udaltsov <svu@gnome.org>
Thu, 9 Jul 2009 20:12:09 +0000 (21:12 +0100)
committerSergey V. Udaltsov <svu@gnome.org>
Thu, 9 Jul 2009 20:12:09 +0000 (21:12 +0100)
http://bugs.freedesktop.org/show_bug.cgi?id=22666

ChangeLog
rules/base.xml.in
symbols/bg

index 812608a..480ddca 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-07-09 Sergey Udaltsov
+
+       * rules/base.xml.in, symbols/bg: updated bg variants,
+       http://bugs.freedesktop.org/show_bug.cgi?id=22666
+
 2009-06-27 Sergey Udaltsov
 
        * symbols/extras/us, rules/base.extras.xml.in,
index 5d0eb91..80ec3a3 100644 (file)
         <variant>
           <configItem>
             <name>phonetic</name>
-            <_description>Traditional Phonetic</_description>
+            <_description>Traditional phonetic</_description>
           </configItem>
         </variant>
       </variantList>
         <variant>
           <configItem>
             <name>bas_phonetic</name>
-            <_description>Standard Phonetic</_description>
+            <_description>New phonetic</_description>
           </configItem>
         </variant>
       </variantList>
index 4e4ca07..cf737a0 100644 (file)
 //////////////////////////////////////////////////////////////////////////
-// Copyright (C) 1999, 2000, 2005 by Anton Zinoviev <anton@lml.bas.bg>
+// Copyright (C) 1999, 2000, 2007, 2009 by Anton Zinoviev <anton@lml.bas.bg>
 //
 // This software may be used, modified, copied, distributed, and sold,
-// in both source and binary form provided that the above copyright
-// and these terms are retained. Under no circumstances is the author
-// responsible for the proper functioning of this software, nor does
-// the author assume any responsibility for damages incurred with its
-// use.
+// both in source and binary form provided that the above copyright
+// notice and these terms are retained. The name of the author may not
+// be used to endorse or promote products derived from this software
+// without prior permission.  THIS SOFTWARE IS PROVIDES "AS IS" AND
+// ANY EXPRESS OR IMPLIED WARRANTIES ARE DISCLAIMED.  IN NO EVENT
+// SHALL THE AUTHOR BE LIABLE FOR ANY DAMAGES ARISING IN ANY WAY OUT
+// OF THE USE OF THIS SOFTWARE.
 //
 ////////////////////////////////////////////////////////////////////////// 
-// Version 1.9-BAN
+// Version 2.0
 
+// The following variants are defined in this file:
+
+// "bds" - the BDS keyboard layout compliant with the proposed
+//         Bulgarian state standard BDS 5237:2006
+
+// "phonetic" - Bulgarian phonetic layout with traditional position of
+//              the letters.
+
+// "bas_phonetic" - the phonetic keyboard layout compliant with the
+//                  proposed Bulgarian state standard BDS 5237:2006
+
+// "latin" - an extended variant of the QWERTY layout with symbols
+//           Bulgarian users will type while the keyboard is in Latin mode.
+
+// The reasons behind the layout of the symbols in levels 3 and 4 are
+// explained in http://arxiv.org/abs/0905.0484  (in Bulgarian).
+
+// Two notes for the maintainers of xkeyboard-config:
+
+// 1. Please do not use key names such as <LatQ> for the Bulgarian
+// phonetic layouts.  The placement of the symbols must stay always
+// the same regardless of which one of the alias sets in
+// xkb/keycodes/aliases is used.
+
+// 2. The layouts should not include level3(ralt_switch).
+
+////////////////////////////////////////////////////////////////////////// 
+
+// Describes Bulgarian keyboard "BDS" modified according to the
+// the new state standard BDS 5237:2006 and extended with symbols in
+// levels 3 and 4.
 partial default alphanumeric_keys
 xkb_symbols "bds" {
+
   name[Group1]= "Bulgaria";
   
-key.type[Group1] = "TWO_LEVEL";
-  key <TLDE> {   [ parenleft,         parenright          ]    };
+  key <TLDE> {   [ parenleft,         parenright,
+                  bracketleft,       bracketright        ]    };
   key <AE01> {   [ 1,                 exclam              ]    };
   key <AE02> {   [ 2,                 question            ]    };
-  key <AE03> {   [ 3,                 plus                ]    };
+  key <AE03> {   [ 3,                 plus,
+                  dagger,            dagger              ]    };
   key <AE04> {   [ 4,                 quotedbl            ]    };
-  key <AE05> {   [ 5,                 percent             ]    };
-  key <AE06> {   [ 6,                 equal               ]    };
-  key <AE07> {   [ 7,                 colon               ]    };
-  key <AE08> {   [ 8,                 slash               ]    };
-  key <AE09> {   [ 9,                 emdash              ]    };
+  key <AE05> {   [ 5,                 percent,
+                  U2329,             U232A               ]    };
+  key <AE06> {   [ 6,                 equal,
+                  emdash,            emdash              ]    };
+  key <AE07> {   [ 7,                 colon,
+                  ellipsis,          ellipsis            ]    };
+  key <AE08> {   [ 8,                 slash,
+                  U0300,             U0301               ]    };
+  key <AE09> {   [ 9,                 endash              ]    };
   key <AE10> {   [ 0,                 numerosign          ]    };
-  key <AE11> {   [ minus,             dollar              ]    };
+  key <AE11> {   [ minus,             dollar,
+                  U2011,             EuroSign            ]    };
   key <AE12> {   [ period,            EuroSign            ]    };
 
-  key <AD01> {   [ comma,             Cyrillic_yeru       ]    };
-key.type[Group1] = "ALPHABETIC";
+
+  key <AD01> {   [ comma,             Cyrillic_yeru,
+                  rightsinglequotemark, leftsinglequotemark ] };
   key <AD02> {   [ Cyrillic_u,        Cyrillic_U          ]    };
-  key <AD03> {   [ Cyrillic_ie,       Cyrillic_IE         ]    };
-  key <AD04> {   [ Cyrillic_i,        Cyrillic_I          ]    };
+  key <AD03> {   [ Cyrillic_ie,       Cyrillic_IE,
+                  Cyrillic_e,        Cyrillic_E          ]    };
+  key <AD04> {   [ Cyrillic_i,        Cyrillic_I,
+                  U045D,             U040D               ]    };
   key <AD05> {   [ Cyrillic_sha,      Cyrillic_SHA        ]    };
   key <AD06> {   [ Cyrillic_shcha,    Cyrillic_SHCHA      ]    };
-  key <AD07> {   [ Cyrillic_ka,       Cyrillic_KA         ]    };
-  key <AD08> {   [ Cyrillic_es,       Cyrillic_ES         ]    };
+  key <AD07> {   [ Cyrillic_ka,       Cyrillic_KA,
+                  copyright,         copyright           ]    };
+  key <AD08> {   [ Cyrillic_es,       Cyrillic_ES,
+                  copyright,         copyright           ]    };
   key <AD09> {   [ Cyrillic_de,       Cyrillic_DE         ]    };
   key <AD10> {   [ Cyrillic_ze,       Cyrillic_ZE         ]    };
   key <AD11> {   [ Cyrillic_tse,      Cyrillic_TSE        ]    };
-key.type[Group1] = "TWO_LEVEL";
   key <AD12> {   [ semicolon,         section             ]    };
 
-key.type[Group1] = "ALPHABETIC";
-  key <AC01> {   [ Cyrillic_softsign, U045D               ]    };
-  key <AC02> {   [ Cyrillic_ya,       Cyrillic_YA         ]    };
+
+  key <AC01> {   [ Cyrillic_softsign, U045D,
+                  Cyrillic_yeru,     Cyrillic_YERU       ]    };
+  key <AC02> {   [ Cyrillic_ya,       Cyrillic_YA,
+                  U0463,             U0462               ]    };
   key <AC03> {   [ Cyrillic_a,        Cyrillic_A          ]    };
   key <AC04> {   [ Cyrillic_o,        Cyrillic_O          ]    };
   key <AC05> {   [ Cyrillic_zhe,      Cyrillic_ZHE        ]    };
   key <AC06> {   [ Cyrillic_ghe,      Cyrillic_GHE        ]    };
-  key <AC07> {   [ Cyrillic_te,       Cyrillic_TE         ]    };
+  key <AC07> {   [ Cyrillic_te,       Cyrillic_TE,
+                  trademark,         trademark           ]    };
   key <AC08> {   [ Cyrillic_en,       Cyrillic_EN         ]    };
   key <AC09> {   [ Cyrillic_ve,       Cyrillic_VE         ]    };
   key <AC10> {   [ Cyrillic_em,       Cyrillic_EM         ]    };
   key <AC11> {   [ Cyrillic_che,      Cyrillic_CHE        ]    };
+  key <BKSL> {   [ doublelowquotemark, leftdoublequotemark,
+                  guillemotleft,     guillemotright      ]    };
+
 
+  key <LSGT> {   [ U045D,             U040D               ]    };
   key <AB01> {   [ Cyrillic_yu,       Cyrillic_YU         ]    };
-  key <AB02> {   [ Cyrillic_shorti,   Cyrillic_SHORTI     ]    };
-  key <AB03> {   [ Cyrillic_hardsign, Cyrillic_HARDSIGN   ]    };
+  key <AB02> {   [ Cyrillic_shorti,   Cyrillic_SHORTI,
+                  U046D,             U046C               ]    };
+  key <AB03> {   [ Cyrillic_hardsign, Cyrillic_HARDSIGN,
+                  U046B,             U046A               ]    };
   key <AB04> {   [ Cyrillic_e,        Cyrillic_E          ]    };
   key <AB05> {   [ Cyrillic_ef,       Cyrillic_EF         ]    };
   key <AB06> {   [ Cyrillic_ha,       Cyrillic_HA         ]    };
   key <AB07> {   [ Cyrillic_pe,       Cyrillic_PE         ]    };
-  key <AB08> {   [ Cyrillic_er,       Cyrillic_ER         ]    };
+  key <AB08> {   [ Cyrillic_er,       Cyrillic_ER,
+                  registered,        registered          ]    };
   key <AB09> {   [ Cyrillic_el,       Cyrillic_EL         ]    };
   key <AB10> {   [ Cyrillic_be,       Cyrillic_BE         ]    };
-    
-key.type[Group1] = "TWO_LEVEL";
-  key <BKSL> {   [ doublelowquotemark,leftdoublequotemark ]    };
 
-  key <LSGT> {   [ Cyrillic_softsign, Cyrillic_SOFTSIGN   ]    };
 
-  // End alphanumeric section
-  
+  key <SPCE> {   [ space,             space,
+                  nobreakspace,      nobreakspace        ]    };
+    
+
   key <KPDL> {   type[Group1] = "KEYPAD",
                  [ KP_Delete,         KP_Separator        ]    };
-
 };
 
+// This is improved variant of the traditional Bulgarian phonetic
+// keyboard.  Some unnecessary symbols in levels 1 and 2 are replaced
+// by more useful (the same way as in "bas_phonetic") and additional
+// symbols in levels 3 and 4 are added.
 partial alphanumeric_keys 
 xkb_symbols "phonetic" {
-  
-  name[Group1]= "Bulgaria - Traditional Phonetic";
+  name[Group1]= "Bulgaria - Traditinal phonetic";
   
   key <TLDE> {   [ Cyrillic_che,      Cyrillic_CHE        ]    };
   key <AE01> {   [ 1,                 exclam              ]    };
   key <AE02> {   [ 2,                 at                  ]    };
-  key <AE03> {   [ 3,                 numbersign          ]    };
-  key <AE04> {   [ 4,                 dollar              ]    };
+  key <AE03> {   [ 3,                 numerosign          ]    };
+  key <AE04> {   [ 4,                 dollar,
+                  EuroSign,          EuroSign            ]    };
   key <AE05> {   [ 5,                 percent             ]    };
-  key <AE06> {   [ 6,                 asciicircum         ]    };
-  key <AE07> {   [ 7,                 ampersand           ]    };
+  key <AE06> {   [ 6,                 EuroSign            ]    };
+  key <AE07> {   [ 7,                 section             ]    };
   key <AE08> {   [ 8,                 asterisk            ]    };
-  key <AE09> {   [ 9,                 parenleft           ]    };
-  key <AE10> {   [ 0,                 parenright          ]    };
-  key <AE11> {   [ minus,             underscore          ]    };
-  key <AE12> {   [ equal,             plus                ]    };
-
-  key <LatQ> {   [ Cyrillic_ya,       Cyrillic_YA         ]    };
-  key <LatW> {   [ Cyrillic_ve,       Cyrillic_VE         ]    };
-  key <LatE> {   [ Cyrillic_ie,       Cyrillic_IE         ]    };
-  key <LatR> {   [ Cyrillic_er,       Cyrillic_ER         ]    };
-  key <LatT> {   [ Cyrillic_te,       Cyrillic_TE         ]    };
-  key <LatY> {   [ Cyrillic_hardsign, Cyrillic_HARDSIGN   ]    };
-  key <LatU> {   [ Cyrillic_u,        Cyrillic_U          ]    };
-  key <LatI> {   [ Cyrillic_i,        Cyrillic_I          ]    };
-  key <LatO> {   [ Cyrillic_o,        Cyrillic_O          ]    };
-  key <LatP> {   [ Cyrillic_pe,       Cyrillic_PE         ]    };
+  key <AE09> {   [ 9,                 parenleft,
+                  bracketleft,       U2329               ]    };
+  key <AE10> {   [ 0,                 parenright,
+                  bracketright,      U232A               ]    };
+  key <AE11> {   [ minus,             endash,
+                  U2011,             U2011               ]    };
+  key <AE12> {   [ equal,             plus,
+                  emdash,            dagger              ]    };
+
+  key <AD01> {   [ Cyrillic_ya,       Cyrillic_YA,
+                  U0463,             U0462               ]    };
+  key <AD02> {   [ Cyrillic_ve,       Cyrillic_VE         ]    };
+  key <AD03> {   [ Cyrillic_ie,       Cyrillic_IE,
+                  Cyrillic_e,        Cyrillic_E          ]    };
+  key <AD04> {   [ Cyrillic_er,       Cyrillic_ER,
+                  registered,        registered          ]    };
+  key <AD05> {   [ Cyrillic_te,       Cyrillic_TE,
+                  trademark,         trademark           ]    };
+  key <AD06> {   [ Cyrillic_hardsign, Cyrillic_HARDSIGN,
+                  U046B,             U046A               ]    };
+  key <AD07> {   [ Cyrillic_u,        Cyrillic_U          ]    };
+  key <AD08> {   [ Cyrillic_i,        Cyrillic_I,
+                  U045D,             U040D               ]    };
+  key <AD09> {   [ Cyrillic_o,        Cyrillic_O          ]    };
+  key <AD10> {   [ Cyrillic_pe,       Cyrillic_PE         ]    };
   key <AD11> {   [ Cyrillic_sha,      Cyrillic_SHA        ]    };
   key <AD12> {   [ Cyrillic_shcha,    Cyrillic_SHCHA      ]    };
-
-  key <LatA> {   [ Cyrillic_a,        Cyrillic_A          ]    };
-  key <LatS> {   [ Cyrillic_es,       Cyrillic_ES         ]    };
-  key <LatD> {   [ Cyrillic_de,       Cyrillic_DE         ]    };
-  key <LatF> {   [ Cyrillic_ef,       Cyrillic_EF         ]    };
-  key <LatG> {   [ Cyrillic_ghe,      Cyrillic_GHE        ]    };
-  key <LatH> {   [ Cyrillic_ha,       Cyrillic_HA         ]    };
-  key <LatJ> {   [ Cyrillic_shorti,   Cyrillic_SHORTI     ]    };
-  key <LatK> {   [ Cyrillic_ka,       Cyrillic_KA         ]    };
-  key <LatL> {   [ Cyrillic_el,       Cyrillic_EL         ]    };
-  key <AC10> {   [ semicolon,         colon               ]    };
-  key <AC11> {   [ quoteright,        quotedbl            ]    };
+  
+  
+  key <AC01> {   [ Cyrillic_a,        Cyrillic_A          ]    };
+  key <AC02> {   [ Cyrillic_es,       Cyrillic_ES,
+                  copyright,         copyright           ]    };
+  key <AC03> {   [ Cyrillic_de,       Cyrillic_DE         ]    };
+  key <AC04> {   [ Cyrillic_ef,       Cyrillic_EF         ]    };
+  key <AC05> {   [ Cyrillic_ghe,      Cyrillic_GHE        ]    };
+  key <AC06> {   [ Cyrillic_ha,       Cyrillic_HA         ]    };
+  key <AC07> {   [ Cyrillic_shorti,   Cyrillic_SHORTI,
+                  U046D,             U046C               ]    };
+  key <AC08> {   [ Cyrillic_ka,       Cyrillic_KA         ]    };
+  key <AC09> {   [ Cyrillic_el,       Cyrillic_EL         ]    };
+  key <AC10> {   [ semicolon,         colon,
+                  ellipsis,          ellipsis            ]    };
+  key <AC11> {   [ apostrophe,        quotedbl,
+                  rightsinglequotemark, leftsinglequotemark ] };
   key <BKSL> {   [ Cyrillic_yu,       Cyrillic_YU         ]    };
+  
+  
+  key <LSGT> {   [ U045D,             U040D               ]    };
+  key <AB01> {   [ Cyrillic_ze,       Cyrillic_ZE         ]    };
+  key <AB02> {   [ Cyrillic_softsign, U045D,
+                  Cyrillic_yeru,     Cyrillic_YERU       ]    };
+  key <AB03> {   [ Cyrillic_tse,      Cyrillic_TSE,
+                  copyright,         copyright           ]    };
+  key <AB04> {   [ Cyrillic_zhe,      Cyrillic_ZHE        ]    };
+  key <AB05> {   [ Cyrillic_be,       Cyrillic_BE         ]    };
+  key <AB06> {   [ Cyrillic_en,       Cyrillic_EN         ]    };
+  key <AB07> {   [ Cyrillic_em,       Cyrillic_EM         ]    };
+  key <AB08> {   [ comma,             doublelowquotemark,
+                  guillemotleft,     guillemotleft       ]    };
+  key <AB09> {   [ period,            leftdoublequotemark,
+                  guillemotright,    guillemotright      ]    };
+  key <AB10> {   [ slash,             question,
+                  U0300,             U0301               ]    };
 
-  key <LatZ> {   [ Cyrillic_ze,       Cyrillic_ZE         ]    };
-  key <LatX> {   [ Cyrillic_softsign, Cyrillic_SOFTSIGN   ]    };
-  key <LatC> {   [ Cyrillic_tse,      Cyrillic_TSE        ]    };
-  key <LatV> {   [ Cyrillic_zhe,      Cyrillic_ZHE        ]    };
-  key <LatB> {   [ Cyrillic_be,       Cyrillic_BE         ]    };
-  key <LatN> {   [ Cyrillic_en,       Cyrillic_EN         ]    };
-  key <LatM> {   [ Cyrillic_em,       Cyrillic_EM         ]    };
-  key <AB08> {   [ comma,             less                ]    };
-  key <AB09> {   [ period,            greater             ]    };
-  key <AB10> {   [ slash,             question            ]    };
 
-  // End alphanumeric section
+  key <SPCE> {   [ space,             space,
+                  nobreakspace,      nobreakspace        ]    };
+
+
+  key <KPDL> {   type[Group1] = "KEYPAD",
+                 [ KP_Delete,           KP_Separator         ]    };
 
 };
 
-partial alphanumeric_keys
+// This is the Bulgarian phonetic keyboard acording to the proposed
+// state standard BDS 5237:2006 with additional symbols in
+// levels 3 and 4.
+partial alphanumeric_keys 
 xkb_symbols "bas_phonetic" {
-  name[Group1]= "Bulgaria - Standard Phonetic";
-
-key.type[Group1] = "ALPHABETIC";
-  key <TLDE> {   [ Cyrillic_yu,         Cyrillic_YU          ]    };
-key.type[Group1] = "TWO_LEVEL";
-  key <AE01> {   [ 1,                   exclam               ]    };
-  key <AE02> {   [ 2,                   at                   ]    };
-  key <AE03> {   [ 3,                   numerosign           ]    };
-  key <AE04> {   [ 4,                   dollar               ]    };
-  key <AE05> {   [ 5,                   percent              ]    };
-  key <AE06> {   [ 6,                   EuroSign             ]    };
-  key <AE07> {   [ 7,                   section              ]    };
-  key <AE08> {   [ 8,                   asterisk             ]    };
-  key <AE09> {   [ 9,                   parenleft            ]    };
-  key <AE10> {   [ 0,                   parenright           ]    };
-  key <AE11> {   [ minus,               emdash               ]    };
-  key <AE12> {   [ equal,               plus                 ]    };
-
-key.type[Group1] = "ALPHABETIC";
-  key <LatQ> {   [ Cyrillic_che,        Cyrillic_CHE         ]    };
-  key <LatW> {   [ Cyrillic_sha,        Cyrillic_SHA         ]    };
-  key <LatE> {   [ Cyrillic_ie,         Cyrillic_IE          ]    };
-  key <LatR> {   [ Cyrillic_er,         Cyrillic_ER          ]    };
-  key <LatT> {   [ Cyrillic_te,         Cyrillic_TE          ]    };
-  key <LatY> {   [ Cyrillic_hardsign,   Cyrillic_HARDSIGN    ]    };
-  key <LatU> {   [ Cyrillic_u,          Cyrillic_U           ]    };
-  key <LatI> {   [ Cyrillic_i,          Cyrillic_I           ]    };
-  key <LatO> {   [ Cyrillic_o,          Cyrillic_O           ]    };
-  key <LatP> {   [ Cyrillic_pe,         Cyrillic_PE          ]    };
-  key <AD11> {   [ Cyrillic_ya,         Cyrillic_YA          ]    };
-  key <AD12> {   [ Cyrillic_shcha,      Cyrillic_SHCHA       ]    };
-
-  key <LatA> {   [ Cyrillic_a,          Cyrillic_A           ]    };
-  key <LatS> {   [ Cyrillic_es,         Cyrillic_ES          ]    };
-  key <LatD> {   [ Cyrillic_de,         Cyrillic_DE          ]    };
-  key <LatF> {   [ Cyrillic_ef,         Cyrillic_EF          ]    };
-  key <LatG> {   [ Cyrillic_ghe,        Cyrillic_GHE         ]    };
-  key <LatH> {   [ Cyrillic_ha,         Cyrillic_HA          ]    };
-  key <LatJ> {   [ Cyrillic_shorti,     Cyrillic_SHORTI      ]    };
-  key <LatK> {   [ Cyrillic_ka,         Cyrillic_KA          ]    };
-  key <LatL> {   [ Cyrillic_el,         Cyrillic_EL          ]    };
-key.type[Group1] = "TWO_LEVEL";
-  key <AC10> {   [ semicolon,           colon                ]    };
-  key <AC11> {   [ apostrophe,          quotedbl             ]    };
-key.type[Group1] = "ALPHABETIC";
-  key <BKSL> {   [ Cyrillic_softsign,   U045D                ]    };
-
-  key <LatZ> {   [ Cyrillic_ze,         Cyrillic_ZE          ]    };
-  key <LatX> {   [ Cyrillic_zhe,        Cyrillic_ZHE         ]    };
-  key <LatC> {   [ Cyrillic_tse,        Cyrillic_TSE         ]    };
-  key <LatV> {   [ Cyrillic_ve,         Cyrillic_VE          ]    };
-  key <LatB> {   [ Cyrillic_be,         Cyrillic_BE          ]    };
-  key <LatN> {   [ Cyrillic_en,         Cyrillic_EN          ]    };
-  key <LatM> {   [ Cyrillic_em,         Cyrillic_EM          ]    };
-key.type[Group1] = "TWO_LEVEL";
-  key <AB08> {   [ comma,               doublelowquotemark   ]    };
-  key <AB09> {   [ period,              leftdoublequotemark  ]    };
-  key <AB10> {   [ slash,               question             ]    };
-
-  key <LSGT> {   [ Cyrillic_softsign,   Cyrillic_SOFTSIGN    ]    };
-
-  // End alphanumeric section
+  include "bg(phonetic)"
+  name[Group1]= "Bulgaria - New phonetic";
+  
+  key <TLDE> {   [ Cyrillic_yu,       Cyrillic_YU         ]    };
+  key <AD01> {   [ Cyrillic_che,      Cyrillic_CHE        ]    };
+  key <AD02> {   [ Cyrillic_sha,      Cyrillic_SHA        ]    };
+  key <AD11> {   [ Cyrillic_ya,       Cyrillic_YA,
+                  U0463,             U0462               ]    };
+  key <BKSL> {   [ Cyrillic_softsign, U045D,
+                  Cyrillic_yeru,     Cyrillic_YERU       ]    };
+  key <AB02> {   [ Cyrillic_zhe,      Cyrillic_ZHE        ]    };
+  key <AB04> {   [ Cyrillic_ve,       Cyrillic_VE         ]    };
+};
+
+
+// This is extended variant of the standard Latin QWERTY layout with
+// additional symbols in levels 3 and 4.
+partial hidden alphanumeric_keys 
+xkb_symbols "latin" {
+  
+  name[Group1]= "Bulgaria - Latin";
+  
+  key <TLDE> {   [ grave,             asciitilde,
+                  U2248,             U2245               ]    };
+  key <AE01> {   [ 1,                 exclam,
+                  notsign,           notsign             ]    };
+  key <AE02> {   [ 2,                 at,
+                  twosuperior,       enfilledcircbullet  ]    };
+  key <AE03> {   [ 3,                 numbersign,
+                  threesuperior,     notequal            ]    };
+  key <AE04> {   [ 4,                 dollar,
+                  EuroSign,          sterling            ]    };
+  key <AE05> {   [ 5,                 percent,
+                  U2030,             U2030               ]    };
+  key <AE06> {   [ 6,                 asciicircum,
+                  logicaland,        logicalor           ]    };
+  key <AE07> {   [ 7,                 ampersand,
+                  section,           section             ]    };
+  key <AE08> {   [ 8,                 asterisk,
+                  infinity,          multiply            ]    };
+  key <AE09> {   [ 9,                 parenleft,
+                  U2202,             nabla               ]    };
+  key <AE10> {   [ 0,                 parenright,
+                  U2300,             U2300               ]    };
+  key <AE11> {   [ minus,             underscore,
+                  U2011,             endash              ]    };
+  key <AE12> {   [ equal,             plus,
+                  emdash,            plusminus           ]    };
+
+
+  key <AD01> {   [ q,                 Q,
+                  Greek_THETA,       Greek_theta         ]    };
+  key <AD02> {   [ w,                 W,
+                  Greek_OMEGA,       Greek_omega         ]    };
+  key <AD03> {   [ e,                 E,
+                  U2203,             Greek_epsilon       ]    };
+  key <AD04> {   [ r,                 R,
+                  registered,        Greek_rho           ]    };
+  key <AD05> {   [ t,                 T,
+                  trademark,         Greek_tau           ]    };
+  key <AD06> {   [ y,                 Y,
+                  yen,               Greek_upsilon       ]    };
+  key <AD07> {   [ u,                 U,
+                  intersection,      union               ]    };
+  key <AD08> {   [ i,                 I,
+                  integral,          Greek_iota          ]    };
+  key <AD09> {   [ o,                 O,
+                  degree,            U222E               ]    };
+  key <AD10> {   [ p,                 P,
+                  Greek_PI,          Greek_pi            ]    };
+  key <AD11> {   [ bracketleft,       braceleft,
+                  U2286,             includedin          ]    };
+  key <AD12> {   [ bracketright,      braceright,
+                  U2208,             U2209               ]    };
+
+
+  key <AC01> {   [ a,                 A,
+                  U2200,             Greek_alpha         ]    };
+  key <AC02> {   [ s,                 S,
+                  Greek_SIGMA,       Greek_sigma         ]    };
+  key <AC03> {   [ d,                 D,
+                  Greek_DELTA,       Greek_delta         ]    };
+  key <AC04> {   [ f,                 F,
+                  Greek_PHI,         Greek_phi           ]    };
+  key <AC05> {   [ g,                 G,
+                  Greek_GAMMA,       Greek_gamma         ]    };
+  key <AC06> {   [ h,                 H,
+                  U2225,             Greek_eta           ]    };
+  key <AC07> {   [ j,                 J                   ]    };
+  key <AC08> {   [ k,                 K,
+                  U03F0,             Greek_kappa         ]    };
+  key <AC09> {   [ l,                 L,
+                  Greek_LAMBDA,      Greek_lambda        ]    };
+  key <AC10> {   [ semicolon,         colon,
+                  division,          division            ]    };
+  key <AC11> {   [ apostrophe,        quotedbl,
+                  leftdoublequotemark, rightdoublequotemark ] };
+  key <BKSL> {   [ backslash,         bar,
+                  identical,         downtack            ]    };
+
+
+  key <LSGT> {   [ less,              greater,
+                  U2266,             U2267               ]    };
+  key <AB01> {   [ z,                 Z,
+                  U2220,             Greek_zeta          ]    };
+  key <AB02> {   [ x,                 X,
+                  Greek_XI,          Greek_xi            ]    };
+  key <AB03> {   [ c,                 C,
+                  copyright,         Greek_chi           ]    };
+  key <AB04> {   [ v,                 V,
+                  Greek_PSI,         Greek_psi           ]    };
+  key <AB05> {   [ b,                 B,
+                  U03D1,             Greek_beta          ]    };
+  key <AB06> {   [ n,                 N,
+                  U207F,             Greek_nu            ]    };
+  key <AB07> {   [ m,                 M,
+                  Greek_mu,          Greek_mu            ]    };
+  key <AB08> {   [ comma,             less,
+                  U2266,             U21D4               ]    };
+  key <AB09> {   [ period,            greater,
+                  U2267,             U21D2               ]    };
+  key <AB10> {   [ slash,             question,
+                  leftsinglequotemark, rightsinglequotemark ] };
+
+
+  key <SPCE> {   [ space,             space,
+                  nobreakspace,      nobreakspace        ]    };
+
 
   key <KPDL> {   type[Group1] = "KEYPAD",
-                 [ KP_Delete,           KP_Separator         ]    };
+                 [ KP_Delete,           KP_Decimal        ]    };
 };