bg revision c067fea9
1154daed1Smrg////////////////////////////////////////////////////////////////////////// 2c067fea9Sghen// Copyright (C) 1999, 2000, 2007, 2009 by Anton Zinoviev <anton@lml.bas.bg> 3154daed1Smrg// 4154daed1Smrg// This software may be used, modified, copied, distributed, and sold, 5c067fea9Sghen// both in source and binary form provided that the above copyright 6c067fea9Sghen// notice and these terms are retained. The name of the author may not 7c067fea9Sghen// be used to endorse or promote products derived from this software 8c067fea9Sghen// without prior permission. THIS SOFTWARE IS PROVIDES "AS IS" AND 9c067fea9Sghen// ANY EXPRESS OR IMPLIED WARRANTIES ARE DISCLAIMED. IN NO EVENT 10c067fea9Sghen// SHALL THE AUTHOR BE LIABLE FOR ANY DAMAGES ARISING IN ANY WAY OUT 11c067fea9Sghen// OF THE USE OF THIS SOFTWARE. 12154daed1Smrg// 13154daed1Smrg////////////////////////////////////////////////////////////////////////// 14c067fea9Sghen// Version 2.0 15c067fea9Sghen 16c067fea9Sghen// The following variants are defined in this file: 17c067fea9Sghen 18c067fea9Sghen// "bds" - the BDS keyboard layout compliant with the proposed 19c067fea9Sghen// Bulgarian state standard BDS 5237:2006 20c067fea9Sghen 21c067fea9Sghen// "phonetic" - Bulgarian phonetic layout with traditional position of 22c067fea9Sghen// the letters. 23c067fea9Sghen 24c067fea9Sghen// "bas_phonetic" - the phonetic keyboard layout compliant with the 25c067fea9Sghen// proposed Bulgarian state standard BDS 5237:2006 26c067fea9Sghen 27c067fea9Sghen// "latin" - an extended variant of the QWERTY layout with symbols 28c067fea9Sghen// Bulgarian users will type while the keyboard is in Latin mode. 29c067fea9Sghen 30c067fea9Sghen// The reasons behind the layout of the symbols in levels 3 and 4 are 31c067fea9Sghen// explained in http://arxiv.org/abs/0905.0484 (in Bulgarian). 32c067fea9Sghen 33c067fea9Sghen// Two notes for the maintainers of xkeyboard-config: 34c067fea9Sghen 35c067fea9Sghen// 1. Please do not use key names such as <LatQ> for the Bulgarian 36c067fea9Sghen// phonetic layouts. The placement of the symbols must stay always 37c067fea9Sghen// the same regardless of which one of the alias sets in 38c067fea9Sghen// xkb/keycodes/aliases is used. 39c067fea9Sghen 40c067fea9Sghen// 2. The layouts should not include level3(ralt_switch). 41c067fea9Sghen 42c067fea9Sghen////////////////////////////////////////////////////////////////////////// 43154daed1Smrg 44c067fea9Sghen// Describes Bulgarian keyboard "BDS" modified according to the 45c067fea9Sghen// the new state standard BDS 5237:2006 and extended with symbols in 46c067fea9Sghen// levels 3 and 4. 47154daed1Smrgpartial default alphanumeric_keys 48154daed1Smrgxkb_symbols "bds" { 49154daed1Smrg 50154daed1Smrg name[Group1]= "Bulgaria"; 51154daed1Smrg 52c067fea9Sghen key <TLDE> { [ parenleft, parenright, 53c067fea9Sghen bracketleft, bracketright ] }; 54154daed1Smrg key <AE01> { [ 1, exclam ] }; 55154daed1Smrg key <AE02> { [ 2, question ] }; 56c067fea9Sghen key <AE03> { [ 3, plus, 57c067fea9Sghen dagger, dagger ] }; 58154daed1Smrg key <AE04> { [ 4, quotedbl ] }; 59c067fea9Sghen key <AE05> { [ 5, percent, 60c067fea9Sghen U2329, U232A ] }; 61c067fea9Sghen key <AE06> { [ 6, equal, 62c067fea9Sghen emdash, emdash ] }; 63c067fea9Sghen key <AE07> { [ 7, colon, 64c067fea9Sghen ellipsis, ellipsis ] }; 65c067fea9Sghen key <AE08> { [ 8, slash, 66c067fea9Sghen U0300, U0301 ] }; 67c067fea9Sghen key <AE09> { [ 9, endash ] }; 68154daed1Smrg key <AE10> { [ 0, numerosign ] }; 69c067fea9Sghen key <AE11> { [ minus, dollar, 70c067fea9Sghen U2011, EuroSign ] }; 71c067fea9Sghen key <AE12> { [ period, EuroSign ] }; 72c067fea9Sghen 73154daed1Smrg 74c067fea9Sghen key <AD01> { [ comma, Cyrillic_yeru, 75c067fea9Sghen rightsinglequotemark, leftsinglequotemark ] }; 76154daed1Smrg key <AD02> { [ Cyrillic_u, Cyrillic_U ] }; 77c067fea9Sghen key <AD03> { [ Cyrillic_ie, Cyrillic_IE, 78c067fea9Sghen Cyrillic_e, Cyrillic_E ] }; 79c067fea9Sghen key <AD04> { [ Cyrillic_i, Cyrillic_I, 80c067fea9Sghen U045D, U040D ] }; 81154daed1Smrg key <AD05> { [ Cyrillic_sha, Cyrillic_SHA ] }; 82154daed1Smrg key <AD06> { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; 83c067fea9Sghen key <AD07> { [ Cyrillic_ka, Cyrillic_KA, 84c067fea9Sghen copyright, copyright ] }; 85c067fea9Sghen key <AD08> { [ Cyrillic_es, Cyrillic_ES, 86c067fea9Sghen copyright, copyright ] }; 87154daed1Smrg key <AD09> { [ Cyrillic_de, Cyrillic_DE ] }; 88154daed1Smrg key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] }; 89154daed1Smrg key <AD11> { [ Cyrillic_tse, Cyrillic_TSE ] }; 90154daed1Smrg key <AD12> { [ semicolon, section ] }; 91154daed1Smrg 92c067fea9Sghen 93c067fea9Sghen key <AC01> { [ Cyrillic_softsign, U045D, 94c067fea9Sghen Cyrillic_yeru, Cyrillic_YERU ] }; 95c067fea9Sghen key <AC02> { [ Cyrillic_ya, Cyrillic_YA, 96c067fea9Sghen U0463, U0462 ] }; 97154daed1Smrg key <AC03> { [ Cyrillic_a, Cyrillic_A ] }; 98154daed1Smrg key <AC04> { [ Cyrillic_o, Cyrillic_O ] }; 99154daed1Smrg key <AC05> { [ Cyrillic_zhe, Cyrillic_ZHE ] }; 100154daed1Smrg key <AC06> { [ Cyrillic_ghe, Cyrillic_GHE ] }; 101c067fea9Sghen key <AC07> { [ Cyrillic_te, Cyrillic_TE, 102c067fea9Sghen trademark, trademark ] }; 103154daed1Smrg key <AC08> { [ Cyrillic_en, Cyrillic_EN ] }; 104154daed1Smrg key <AC09> { [ Cyrillic_ve, Cyrillic_VE ] }; 105154daed1Smrg key <AC10> { [ Cyrillic_em, Cyrillic_EM ] }; 106154daed1Smrg key <AC11> { [ Cyrillic_che, Cyrillic_CHE ] }; 107c067fea9Sghen key <BKSL> { [ doublelowquotemark, leftdoublequotemark, 108c067fea9Sghen guillemotleft, guillemotright ] }; 109154daed1Smrg 110c067fea9Sghen 111c067fea9Sghen key <LSGT> { [ U045D, U040D ] }; 112154daed1Smrg key <AB01> { [ Cyrillic_yu, Cyrillic_YU ] }; 113c067fea9Sghen key <AB02> { [ Cyrillic_shorti, Cyrillic_SHORTI, 114c067fea9Sghen U046D, U046C ] }; 115c067fea9Sghen key <AB03> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, 116c067fea9Sghen U046B, U046A ] }; 117154daed1Smrg key <AB04> { [ Cyrillic_e, Cyrillic_E ] }; 118154daed1Smrg key <AB05> { [ Cyrillic_ef, Cyrillic_EF ] }; 119154daed1Smrg key <AB06> { [ Cyrillic_ha, Cyrillic_HA ] }; 120154daed1Smrg key <AB07> { [ Cyrillic_pe, Cyrillic_PE ] }; 121c067fea9Sghen key <AB08> { [ Cyrillic_er, Cyrillic_ER, 122c067fea9Sghen registered, registered ] }; 123154daed1Smrg key <AB09> { [ Cyrillic_el, Cyrillic_EL ] }; 124154daed1Smrg key <AB10> { [ Cyrillic_be, Cyrillic_BE ] }; 125c067fea9Sghen 126c067fea9Sghen 127c067fea9Sghen key <SPCE> { [ space, space, 128c067fea9Sghen nobreakspace, nobreakspace ] }; 129154daed1Smrg 130c067fea9Sghen 131c067fea9Sghen key <KPDL> { type[Group1] = "KEYPAD", 132c067fea9Sghen [ KP_Delete, KP_Separator ] }; 133154daed1Smrg}; 134154daed1Smrg 135c067fea9Sghen// This is improved variant of the traditional Bulgarian phonetic 136c067fea9Sghen// keyboard. Some unnecessary symbols in levels 1 and 2 are replaced 137c067fea9Sghen// by more useful (the same way as in "bas_phonetic") and additional 138c067fea9Sghen// symbols in levels 3 and 4 are added. 139154daed1Smrgpartial alphanumeric_keys 140154daed1Smrgxkb_symbols "phonetic" { 141c067fea9Sghen name[Group1]= "Bulgaria - Traditional phonetic"; 142154daed1Smrg 143154daed1Smrg key <TLDE> { [ Cyrillic_che, Cyrillic_CHE ] }; 144154daed1Smrg key <AE01> { [ 1, exclam ] }; 145154daed1Smrg key <AE02> { [ 2, at ] }; 146c067fea9Sghen key <AE03> { [ 3, numerosign ] }; 147c067fea9Sghen key <AE04> { [ 4, dollar, 148c067fea9Sghen EuroSign, EuroSign ] }; 149154daed1Smrg key <AE05> { [ 5, percent ] }; 150c067fea9Sghen key <AE06> { [ 6, EuroSign ] }; 151c067fea9Sghen key <AE07> { [ 7, section ] }; 152154daed1Smrg key <AE08> { [ 8, asterisk ] }; 153c067fea9Sghen key <AE09> { [ 9, parenleft, 154c067fea9Sghen bracketleft, U2329 ] }; 155c067fea9Sghen key <AE10> { [ 0, parenright, 156c067fea9Sghen bracketright, U232A ] }; 157c067fea9Sghen key <AE11> { [ minus, endash, 158c067fea9Sghen U2011, U2011 ] }; 159c067fea9Sghen key <AE12> { [ equal, plus, 160c067fea9Sghen emdash, dagger ] }; 161c067fea9Sghen 162c067fea9Sghen key <AD01> { [ Cyrillic_ya, Cyrillic_YA, 163c067fea9Sghen U0463, U0462 ] }; 164c067fea9Sghen key <AD02> { [ Cyrillic_ve, Cyrillic_VE ] }; 165c067fea9Sghen key <AD03> { [ Cyrillic_ie, Cyrillic_IE, 166c067fea9Sghen Cyrillic_e, Cyrillic_E ] }; 167c067fea9Sghen key <AD04> { [ Cyrillic_er, Cyrillic_ER, 168c067fea9Sghen registered, registered ] }; 169c067fea9Sghen key <AD05> { [ Cyrillic_te, Cyrillic_TE, 170c067fea9Sghen trademark, trademark ] }; 171c067fea9Sghen key <AD06> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, 172c067fea9Sghen U046B, U046A ] }; 173c067fea9Sghen key <AD07> { [ Cyrillic_u, Cyrillic_U ] }; 174c067fea9Sghen key <AD08> { [ Cyrillic_i, Cyrillic_I, 175c067fea9Sghen U045D, U040D ] }; 176c067fea9Sghen key <AD09> { [ Cyrillic_o, Cyrillic_O ] }; 177c067fea9Sghen key <AD10> { [ Cyrillic_pe, Cyrillic_PE ] }; 178154daed1Smrg key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] }; 179154daed1Smrg key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] }; 180c067fea9Sghen 181c067fea9Sghen 182c067fea9Sghen key <AC01> { [ Cyrillic_a, Cyrillic_A ] }; 183c067fea9Sghen key <AC02> { [ Cyrillic_es, Cyrillic_ES, 184c067fea9Sghen copyright, copyright ] }; 185c067fea9Sghen key <AC03> { [ Cyrillic_de, Cyrillic_DE ] }; 186c067fea9Sghen key <AC04> { [ Cyrillic_ef, Cyrillic_EF ] }; 187c067fea9Sghen key <AC05> { [ Cyrillic_ghe, Cyrillic_GHE ] }; 188c067fea9Sghen key <AC06> { [ Cyrillic_ha, Cyrillic_HA ] }; 189c067fea9Sghen key <AC07> { [ Cyrillic_shorti, Cyrillic_SHORTI, 190c067fea9Sghen U046D, U046C ] }; 191c067fea9Sghen key <AC08> { [ Cyrillic_ka, Cyrillic_KA ] }; 192c067fea9Sghen key <AC09> { [ Cyrillic_el, Cyrillic_EL ] }; 193c067fea9Sghen key <AC10> { [ semicolon, colon, 194c067fea9Sghen ellipsis, ellipsis ] }; 195c067fea9Sghen key <AC11> { [ apostrophe, quotedbl, 196c067fea9Sghen rightsinglequotemark, leftsinglequotemark ] }; 197154daed1Smrg key <BKSL> { [ Cyrillic_yu, Cyrillic_YU ] }; 198c067fea9Sghen 199c067fea9Sghen 200c067fea9Sghen key <LSGT> { [ U045D, U040D ] }; 201c067fea9Sghen key <AB01> { [ Cyrillic_ze, Cyrillic_ZE ] }; 202c067fea9Sghen key <AB02> { [ Cyrillic_softsign, U045D, 203c067fea9Sghen Cyrillic_yeru, Cyrillic_YERU ] }; 204c067fea9Sghen key <AB03> { [ Cyrillic_tse, Cyrillic_TSE, 205c067fea9Sghen copyright, copyright ] }; 206c067fea9Sghen key <AB04> { [ Cyrillic_zhe, Cyrillic_ZHE ] }; 207c067fea9Sghen key <AB05> { [ Cyrillic_be, Cyrillic_BE ] }; 208c067fea9Sghen key <AB06> { [ Cyrillic_en, Cyrillic_EN ] }; 209c067fea9Sghen key <AB07> { [ Cyrillic_em, Cyrillic_EM ] }; 210c067fea9Sghen key <AB08> { [ comma, doublelowquotemark, 211c067fea9Sghen guillemotleft, guillemotleft ] }; 212c067fea9Sghen key <AB09> { [ period, leftdoublequotemark, 213c067fea9Sghen guillemotright, guillemotright ] }; 214c067fea9Sghen key <AB10> { [ slash, question, 215c067fea9Sghen U0300, U0301 ] }; 216c067fea9Sghen 217c067fea9Sghen 218c067fea9Sghen key <SPCE> { [ space, space, 219c067fea9Sghen nobreakspace, nobreakspace ] }; 220c067fea9Sghen 221c067fea9Sghen 222c067fea9Sghen key <KPDL> { type[Group1] = "KEYPAD", 223c067fea9Sghen [ KP_Delete, KP_Separator ] }; 224c067fea9Sghen 225c067fea9Sghen}; 226c067fea9Sghen 227c067fea9Sghen// This is the Bulgarian phonetic keyboard acording to the proposed 228c067fea9Sghen// state standard BDS 5237:2006 with additional symbols in 229c067fea9Sghen// levels 3 and 4. 230c067fea9Sghenpartial alphanumeric_keys 231c067fea9Sghenxkb_symbols "bas_phonetic" { 232c067fea9Sghen include "bg(phonetic)" 233c067fea9Sghen name[Group1]= "Bulgaria - New phonetic"; 234c067fea9Sghen 235c067fea9Sghen key <TLDE> { [ Cyrillic_yu, Cyrillic_YU ] }; 236c067fea9Sghen key <AD01> { [ Cyrillic_che, Cyrillic_CHE ] }; 237c067fea9Sghen key <AD02> { [ Cyrillic_sha, Cyrillic_SHA ] }; 238c067fea9Sghen key <AD11> { [ Cyrillic_ya, Cyrillic_YA, 239c067fea9Sghen U0463, U0462 ] }; 240c067fea9Sghen key <BKSL> { [ Cyrillic_softsign, U045D, 241c067fea9Sghen Cyrillic_yeru, Cyrillic_YERU ] }; 242c067fea9Sghen key <AB02> { [ Cyrillic_zhe, Cyrillic_ZHE ] }; 243c067fea9Sghen key <AB04> { [ Cyrillic_ve, Cyrillic_VE ] }; 244c067fea9Sghen}; 245c067fea9Sghen 246c067fea9Sghen 247c067fea9Sghen// This is extended variant of the standard Latin QWERTY layout with 248c067fea9Sghen// additional symbols in levels 3 and 4. 249c067fea9Sghenpartial hidden alphanumeric_keys 250c067fea9Sghenxkb_symbols "latin" { 251c067fea9Sghen 252c067fea9Sghen key <TLDE> { [ grave, asciitilde, 253c067fea9Sghen U2248, U2245 ] }; 254c067fea9Sghen key <AE01> { [ 1, exclam, 255c067fea9Sghen notsign, notsign ] }; 256c067fea9Sghen key <AE02> { [ 2, at, 257c067fea9Sghen twosuperior, enfilledcircbullet ] }; 258c067fea9Sghen key <AE03> { [ 3, numbersign, 259c067fea9Sghen threesuperior, notequal ] }; 260c067fea9Sghen key <AE04> { [ 4, dollar, 261c067fea9Sghen EuroSign, sterling ] }; 262c067fea9Sghen key <AE05> { [ 5, percent, 263c067fea9Sghen U2030, U2030 ] }; 264c067fea9Sghen key <AE06> { [ 6, asciicircum, 265c067fea9Sghen logicaland, logicalor ] }; 266c067fea9Sghen key <AE07> { [ 7, ampersand, 267c067fea9Sghen section, section ] }; 268c067fea9Sghen key <AE08> { [ 8, asterisk, 269c067fea9Sghen infinity, multiply ] }; 270c067fea9Sghen key <AE09> { [ 9, parenleft, 271c067fea9Sghen U2202, nabla ] }; 272c067fea9Sghen key <AE10> { [ 0, parenright, 273c067fea9Sghen U2300, U2300 ] }; 274c067fea9Sghen key <AE11> { [ minus, underscore, 275c067fea9Sghen U2011, endash ] }; 276c067fea9Sghen key <AE12> { [ equal, plus, 277c067fea9Sghen emdash, plusminus ] }; 278c067fea9Sghen 279c067fea9Sghen 280c067fea9Sghen key <AD01> { [ q, Q, 281c067fea9Sghen Greek_THETA, Greek_theta ] }; 282c067fea9Sghen key <AD02> { [ w, W, 283c067fea9Sghen Greek_OMEGA, Greek_omega ] }; 284c067fea9Sghen key <AD03> { [ e, E, 285c067fea9Sghen U2203, Greek_epsilon ] }; 286c067fea9Sghen key <AD04> { [ r, R, 287c067fea9Sghen registered, Greek_rho ] }; 288c067fea9Sghen key <AD05> { [ t, T, 289c067fea9Sghen trademark, Greek_tau ] }; 290c067fea9Sghen key <AD06> { [ y, Y, 291c067fea9Sghen yen, Greek_upsilon ] }; 292c067fea9Sghen key <AD07> { [ u, U, 293c067fea9Sghen intersection, union ] }; 294c067fea9Sghen key <AD08> { [ i, I, 295c067fea9Sghen integral, Greek_iota ] }; 296c067fea9Sghen key <AD09> { [ o, O, 297c067fea9Sghen degree, U222E ] }; 298c067fea9Sghen key <AD10> { [ p, P, 299c067fea9Sghen Greek_PI, Greek_pi ] }; 300c067fea9Sghen key <AD11> { [ bracketleft, braceleft, 301c067fea9Sghen U2286, includedin ] }; 302c067fea9Sghen key <AD12> { [ bracketright, braceright, 303c067fea9Sghen U2208, U2209 ] }; 304154daed1Smrg 305154daed1Smrg 306c067fea9Sghen key <AC01> { [ a, A, 307c067fea9Sghen U2200, Greek_alpha ] }; 308c067fea9Sghen key <AC02> { [ s, S, 309c067fea9Sghen Greek_SIGMA, Greek_sigma ] }; 310c067fea9Sghen key <AC03> { [ d, D, 311c067fea9Sghen Greek_DELTA, Greek_delta ] }; 312c067fea9Sghen key <AC04> { [ f, F, 313c067fea9Sghen Greek_PHI, Greek_phi ] }; 314c067fea9Sghen key <AC05> { [ g, G, 315c067fea9Sghen Greek_GAMMA, Greek_gamma ] }; 316c067fea9Sghen key <AC06> { [ h, H, 317c067fea9Sghen U2225, Greek_eta ] }; 318c067fea9Sghen key <AC07> { [ j, J ] }; 319c067fea9Sghen key <AC08> { [ k, K, 320c067fea9Sghen U03F0, Greek_kappa ] }; 321c067fea9Sghen key <AC09> { [ l, L, 322c067fea9Sghen Greek_LAMBDA, Greek_lambda ] }; 323c067fea9Sghen key <AC10> { [ semicolon, colon, 324c067fea9Sghen division, division ] }; 325c067fea9Sghen key <AC11> { [ apostrophe, quotedbl, 326c067fea9Sghen leftdoublequotemark, rightdoublequotemark ] }; 327c067fea9Sghen key <BKSL> { [ backslash, bar, 328c067fea9Sghen identical, downtack ] }; 329154daed1Smrg 330c067fea9Sghen 331c067fea9Sghen key <LSGT> { [ less, greater, 332c067fea9Sghen U2266, U2267 ] }; 333c067fea9Sghen key <AB01> { [ z, Z, 334c067fea9Sghen U2220, Greek_zeta ] }; 335c067fea9Sghen key <AB02> { [ x, X, 336c067fea9Sghen Greek_XI, Greek_xi ] }; 337c067fea9Sghen key <AB03> { [ c, C, 338c067fea9Sghen copyright, Greek_chi ] }; 339c067fea9Sghen key <AB04> { [ v, V, 340c067fea9Sghen Greek_PSI, Greek_psi ] }; 341c067fea9Sghen key <AB05> { [ b, B, 342c067fea9Sghen U03D1, Greek_beta ] }; 343c067fea9Sghen key <AB06> { [ n, N, 344c067fea9Sghen U207F, Greek_nu ] }; 345c067fea9Sghen key <AB07> { [ m, M, 346c067fea9Sghen Greek_mu, Greek_mu ] }; 347c067fea9Sghen key <AB08> { [ comma, less, 348c067fea9Sghen U2266, U21D4 ] }; 349c067fea9Sghen key <AB09> { [ period, greater, 350c067fea9Sghen U2267, U21D2 ] }; 351c067fea9Sghen key <AB10> { [ slash, question, 352c067fea9Sghen leftsinglequotemark, rightsinglequotemark ] }; 353c067fea9Sghen 354c067fea9Sghen 355c067fea9Sghen key <SPCE> { [ space, space, 356c067fea9Sghen nobreakspace, nobreakspace ] }; 357c067fea9Sghen 358c067fea9Sghen 359c067fea9Sghen key <KPDL> { type[Group1] = "KEYPAD", 360c067fea9Sghen [ KP_Delete, KP_Decimal ] }; 361154daed1Smrg}; 362c067fea9Sghen 363