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