////////////////////////////////////////////////////////////////////////// // 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 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 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 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 { [ 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 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"; 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 acording 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]= "Bulgaria - 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 extended variant of the standard Latin QWERTY layout with // additional symbols in levels 3 and 4. partial hidden 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, U2030, U2030 ] }; 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 ] }; };