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