// Keyboard layouts for Bulgaria. ////////////////////////////////////////////////////////////////////////// // Copyright (C) 1999, 2000, 2007, 2009 by Anton Zinoviev // // This software may be used, modified, copied, distributed, and sold, // 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 PROVIDED "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 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 // "bekl" - the „enhanced“ variant of the Bulgarian BDS keyboard, // proposed in May 2020. // "phonetic" - the phonetic Bulgarian layout with the 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 that // 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 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" according to the new state standard // BDS 5237:2006 and extended with symbols in levels 3 and 4. default partial alphanumeric_keys xkb_symbols "bds" { name[Group1]= "Bulgarian"; key {[ parenleft, parenright, bracketleft, bracketright ]}; key {[ 1, exclam ]}; key {[ 2, question ]}; key {[ 3, plus, dagger, dagger ]}; key {[ 4, quotedbl ]}; key {[ 5, percent, U2329, U232A ]}; key {[ 6, equal, emdash, emdash ]}; key {[ 7, colon, ellipsis, ellipsis ]}; key {[ 8, slash, U0300, U0301 ]}; key {[ 9, endash ]}; key {[ 0, numerosign ]}; key {[ minus, dollar, U2011, EuroSign ]}; key {[ period, EuroSign ]}; key {[ comma, Cyrillic_yeru, rightsinglequotemark, leftsinglequotemark ]}; key {[ Cyrillic_u, Cyrillic_U ]}; key {[ Cyrillic_ie, Cyrillic_IE, Cyrillic_e, Cyrillic_E ]}; key {[ Cyrillic_i, Cyrillic_I, U045D, U040D ]}; key {[ Cyrillic_sha, Cyrillic_SHA ]}; key {[ Cyrillic_shcha, Cyrillic_SHCHA ]}; key {[ Cyrillic_ka, Cyrillic_KA, copyright, copyright ]}; key {[ Cyrillic_es, Cyrillic_ES, copyright, copyright ]}; key {[ Cyrillic_de, Cyrillic_DE ]}; key {[ Cyrillic_ze, Cyrillic_ZE ]}; key {[ Cyrillic_tse, Cyrillic_TSE ]}; key {[ semicolon, section ]}; key {[ Cyrillic_softsign, U045D, Cyrillic_yeru, Cyrillic_YERU ]}; key {[ Cyrillic_ya, Cyrillic_YA, U0463, U0462 ]}; key {[ Cyrillic_a, Cyrillic_A ]}; key {[ Cyrillic_o, Cyrillic_O ]}; key {[ Cyrillic_zhe, Cyrillic_ZHE ]}; key {[ Cyrillic_ghe, Cyrillic_GHE ]}; key {[ Cyrillic_te, Cyrillic_TE, trademark, trademark ]}; key {[ Cyrillic_en, Cyrillic_EN ]}; key {[ Cyrillic_ve, Cyrillic_VE ]}; key {[ Cyrillic_em, Cyrillic_EM ]}; key {[ Cyrillic_che, Cyrillic_CHE ]}; key {[ doublelowquotemark, leftdoublequotemark, guillemotleft, guillemotright ]}; key {[ U045D, U040D ]}; key {[ Cyrillic_yu, Cyrillic_YU ]}; key {[ Cyrillic_shorti, Cyrillic_SHORTI, U046D, U046C ]}; key {[ Cyrillic_hardsign, Cyrillic_HARDSIGN, U046B, U046A ]}; key {[ Cyrillic_e, Cyrillic_E ]}; key {[ Cyrillic_ef, Cyrillic_EF ]}; key {[ Cyrillic_ha, Cyrillic_HA ]}; key {[ Cyrillic_pe, Cyrillic_PE ]}; key {[ Cyrillic_er, Cyrillic_ER, registered, registered ]}; key {[ Cyrillic_el, Cyrillic_EL ]}; key {[ Cyrillic_be, Cyrillic_BE ]}; key {[ space, space, nobreakspace, nobreakspace ]}; key { type[Group1] = "KEYPAD", [ KP_Delete, KP_Separator ]}; }; // This is a slightly enhanced variant of the Bulgarian BDS keyboard, // proposed in May 2020 by a group of more than 500 linguists, teachers, // writers, translators, IT specialists, professors and many more. partial alphanumeric_keys xkb_symbols "bekl" { include "bg(bds)" name[Group1]= "Bulgarian (enhanced)"; key {[ 2, question, at, at ]}; key {[ comma, U02BC, rightsinglequotemark, leftsinglequotemark ]}; key {[ U0463, U0462 ]}; }; // This is an improved variant of the traditional Bulgarian phonetic // keyboard. Some unnecessary symbols in levels 1 and 2 are replaced // by more useful ones (similar as in "bas_phonetic") and additional // symbols are added in levels 3 and 4. partial alphanumeric_keys xkb_symbols "phonetic" { name[Group1]= "Bulgarian (traditional phonetic)"; key {[ Cyrillic_che, Cyrillic_CHE ]}; key {[ 1, exclam ]}; key {[ 2, at ]}; key {[ 3, numerosign ]}; key {[ 4, dollar, EuroSign, EuroSign ]}; key {[ 5, percent ]}; key {[ 6, EuroSign ]}; key {[ 7, section ]}; key {[ 8, asterisk ]}; key {[ 9, parenleft, bracketleft, U2329 ]}; key {[ 0, parenright, bracketright, U232A ]}; key {[ minus, endash, U2011, U2011 ]}; key {[ equal, plus, emdash, dagger ]}; key {[ Cyrillic_ya, Cyrillic_YA, U0463, U0462 ]}; key {[ Cyrillic_ve, Cyrillic_VE ]}; key {[ Cyrillic_ie, Cyrillic_IE, Cyrillic_e, Cyrillic_E ]}; key {[ Cyrillic_er, Cyrillic_ER, registered, registered ]}; key {[ Cyrillic_te, Cyrillic_TE, trademark, trademark ]}; key {[ Cyrillic_hardsign, Cyrillic_HARDSIGN, U046B, U046A ]}; key {[ Cyrillic_u, Cyrillic_U ]}; key {[ Cyrillic_i, Cyrillic_I, U045D, U040D ]}; key {[ Cyrillic_o, Cyrillic_O ]}; key {[ Cyrillic_pe, Cyrillic_PE ]}; key {[ Cyrillic_sha, Cyrillic_SHA ]}; key {[ Cyrillic_shcha, Cyrillic_SHCHA ]}; key {[ Cyrillic_a, Cyrillic_A ]}; key {[ Cyrillic_es, Cyrillic_ES, copyright, copyright ]}; key {[ Cyrillic_de, Cyrillic_DE ]}; key {[ Cyrillic_ef, Cyrillic_EF ]}; key {[ Cyrillic_ghe, Cyrillic_GHE ]}; key {[ Cyrillic_ha, Cyrillic_HA ]}; key {[ Cyrillic_shorti, Cyrillic_SHORTI, U046D, U046C ]}; key {[ Cyrillic_ka, Cyrillic_KA ]}; key {[ Cyrillic_el, Cyrillic_EL ]}; key {[ semicolon, colon, ellipsis, ellipsis ]}; key {[ apostrophe, quotedbl, rightsinglequotemark, leftsinglequotemark ]}; key {[ Cyrillic_yu, Cyrillic_YU ]}; key {[ U045D, U040D ]}; key {[ Cyrillic_ze, Cyrillic_ZE ]}; key {[ Cyrillic_softsign, U045D, Cyrillic_yeru, Cyrillic_YERU ]}; key {[ Cyrillic_tse, Cyrillic_TSE, copyright, copyright ]}; key {[ Cyrillic_zhe, Cyrillic_ZHE ]}; key {[ Cyrillic_be, Cyrillic_BE ]}; key {[ Cyrillic_en, Cyrillic_EN ]}; key {[ Cyrillic_em, Cyrillic_EM ]}; key {[ comma, doublelowquotemark, guillemotleft, guillemotleft ]}; key {[ period, leftdoublequotemark, guillemotright, guillemotright ]}; key {[ slash, question, U0300, U0301 ]}; key {[ space, space, nobreakspace, nobreakspace ]}; key { type[Group1] = "KEYPAD", [ KP_Delete, KP_Separator ]}; }; // This is the Bulgarian phonetic keyboard according to the proposed // state standard BDS 5237:2006 with additional symbols in levels 3 and 4. partial alphanumeric_keys xkb_symbols "bas_phonetic" { include "bg(phonetic)" name[Group1]= "Bulgarian (new phonetic)"; key {[ Cyrillic_yu, Cyrillic_YU ]}; key {[ Cyrillic_che, Cyrillic_CHE ]}; key {[ Cyrillic_sha, Cyrillic_SHA ]}; key {[ Cyrillic_ya, Cyrillic_YA, U0463, U0462 ]}; key {[ Cyrillic_softsign, U045D, Cyrillic_yeru, Cyrillic_YERU ]}; key {[ Cyrillic_zhe, Cyrillic_ZHE ]}; key {[ Cyrillic_ve, Cyrillic_VE ]}; }; // This is an extended variant of the standard Latin QWERTY layout with // additional symbols in levels 3 and 4. hidden partial alphanumeric_keys xkb_symbols "latin" { key {[ grave, asciitilde, U2248, U2245 ]}; key {[ 1, exclam, notsign, notsign ]}; key {[ 2, at, twosuperior, enfilledcircbullet ]}; key {[ 3, numbersign, threesuperior, notequal ]}; key {[ 4, dollar, EuroSign, sterling ]}; key {[ 5, percent, permille, permille ]}; key {[ 6, asciicircum, logicaland, logicalor ]}; key {[ 7, ampersand, section, section ]}; key {[ 8, asterisk, infinity, multiply ]}; key {[ 9, parenleft, U2202, nabla ]}; key {[ 0, parenright, U2300, U2300 ]}; key {[ minus, underscore, U2011, endash ]}; key {[ equal, plus, emdash, plusminus ]}; key {[ q, Q, Greek_THETA, Greek_theta ]}; key {[ w, W, Greek_OMEGA, Greek_omega ]}; key {[ e, E, U2203, Greek_epsilon ]}; key {[ r, R, registered, Greek_rho ]}; key {[ t, T, trademark, Greek_tau ]}; key {[ y, Y, yen, Greek_upsilon ]}; key {[ u, U, intersection, union ]}; key {[ i, I, integral, Greek_iota ]}; key {[ o, O, degree, U222E ]}; key {[ p, P, Greek_PI, Greek_pi ]}; key {[ bracketleft, braceleft, U2286, includedin ]}; key {[ bracketright, braceright, U2208, U2209 ]}; key {[ a, A, U2200, Greek_alpha ]}; key {[ s, S, Greek_SIGMA, Greek_sigma ]}; key {[ d, D, Greek_DELTA, Greek_delta ]}; key {[ f, F, Greek_PHI, Greek_phi ]}; key {[ g, G, Greek_GAMMA, Greek_gamma ]}; key {[ h, H, U2225, Greek_eta ]}; key {[ j, J ]}; key {[ k, K, U03F0, Greek_kappa ]}; key {[ l, L, Greek_LAMBDA, Greek_lambda ]}; key {[ semicolon, colon, division, division ]}; key {[ apostrophe, quotedbl, leftdoublequotemark, rightdoublequotemark]}; key {[ backslash, bar, identical, downtack ]}; key {[ less, greater, U2266, U2267 ]}; key {[ z, Z, U2220, Greek_zeta ]}; key {[ x, X, Greek_XI, Greek_xi ]}; key {[ c, C, copyright, Greek_chi ]}; key {[ v, V, Greek_PSI, Greek_psi ]}; key {[ b, B, U03D1, Greek_beta ]}; key {[ n, N, U207F, Greek_nu ]}; key {[ m, M, Greek_mu, Greek_mu ]}; key {[ comma, less, U2266, U21D4 ]}; key {[ period, greater, U2267, U21D2 ]}; key {[ slash, question, leftsinglequotemark, rightsinglequotemark]}; key {[ space, space, nobreakspace, nobreakspace ]}; key { type[Group1] = "KEYPAD", [ KP_Delete, KP_Decimal ]}; };