1// Georgian Keyboard Layouts by Aiet Kolkhi <aietkolkhi@gmail.com> 2// Full layout descriptions available at http://www.gakartuleba.org/layouts/ 3// 4// This includes the following keyboard layouts: Georgian QWERTY; Georgian Ergonomic; 5// Georgian MESS; Georgian AZERTY Tskapo; Georgian Russian. 6// 7// Layouts include Georgian Mkhedruli alphabeth; most layouts also include some special 8// and ancient characters (like Fi, Yn, Elifi, Turned Gan and Ain). Layouts do not 9// include Georgian Asomtavruli or Georgian Khutsuri alphabeths which are also present 10// in Unicode. 11// 12// Georgian Typewriter no longer supported, as it is no longer used in Georgia. 13// 14// some layouts based on Georgian keyboard map, in the so called "latin" layout. 15// 1999, Pablo Saratxaga <srtxg@chanae.alphanet.ch> 16// 17 18default partial alphanumeric_keys 19xkb_symbols "basic" { 20 21 name[Group1]= "Georgian"; 22 23 key <TLDE> { [ 0x0100201e, 0x0100201c, 0x0100201e, asciitilde ] }; 24 key <AE01> { [ 1, exclam, apostrophe ] }; 25 key <AE02> { [ 2, at, 0x0100201e ] }; 26 key <AE03> { [ 3, numbersign, 0x0100201c ] }; 27 key <AE04> { [ 4, dollar, 0x01002116 ] }; 28 key <AE05> { [ 5, percent, EuroSign ] }; 29 key <AE06> { [ 6, asciicircum ] }; 30 key <AE07> { [ 7, ampersand, section ] }; 31 key <AE08> { [ 8, asterisk, degree ] }; 32 key <AE09> { [ 9, parenleft ] }; 33 key <AE10> { [ 0, parenright ] }; 34 key <AE11> { [ minus, underscore, 0x01002014 ] }; 35 key <AE12> { [ equal, plus, 0x01002013 ] }; 36 37 key <AD01> { [ Georgian_khar, Q ] }; 38 key <AD02> { [ Georgian_cil, Georgian_char ] }; 39 key <AD03> { [ Georgian_en, E, Georgian_he ] }; 40 key <AD04> { [ Georgian_rae, Georgian_ghan, 0x010000ae ] }; 41 key <AD05> { [ Georgian_tar, Georgian_tan ] }; 42 key <AD06> { [ Georgian_qar, Y, 0x010010f8 ] }; 43 key <AD07> { [ Georgian_un, U ] }; 44 key <AD08> { [ Georgian_in, I, Georgian_hie ] }; 45 key <AD09> { [ Georgian_on, O ] }; 46 key <AD10> { [ Georgian_par, P ] }; 47 key <AD11> { [ bracketleft, braceleft ] }; 48 key <AD12> { [ bracketright, braceright ] }; 49 50 key <AC01> { [ Georgian_an, A, 0x010010fa ] }; 51 key <AC02> { [ Georgian_san, Georgian_shin ] }; 52 key <AC03> { [ Georgian_don, D ] }; 53 key <AC04> { [ Georgian_phar, F, Georgian_fi ] }; 54 key <AC05> { [ Georgian_gan, G, 0x010010f9 ] }; 55 key <AC06> { [ Georgian_hae, H, Georgian_hoe ] }; 56 key <AC07> { [ Georgian_jhan, Georgian_zhar, 0x010010f7 ] }; 57 key <AC08> { [ Georgian_kan, K ] }; 58 key <AC09> { [ Georgian_las, L ] }; 59 key <AC10> { [ semicolon, colon ] }; 60 key <AC11> { [ apostrophe, quotedbl ] }; 61 key <BKSL> { [ backslash, bar, asciitilde, asciitilde ] }; 62 63 key <LSGT> { [ guillemotleft, guillemotright ] }; 64 key <AB01> { [ Georgian_zen, Georgian_jil ] }; 65 key <AB02> { [ Georgian_xan, X, Georgian_har ] }; 66 key <AB03> { [ Georgian_can, Georgian_chin, 0x010000a9 ] }; 67 key <AB04> { [ Georgian_vin, V, Georgian_we ] }; 68 key <AB05> { [ Georgian_ban, B ] }; 69 key <AB06> { [ Georgian_nar, N, 0x010010fc ] }; 70 key <AB07> { [ Georgian_man, M ] }; 71 key <AB08> { [ comma, less, guillemotleft ] }; 72 key <AB09> { [ period, greater, guillemotright ] }; 73 key <AB10> { [ slash, question, 0x010010fb ] }; 74 75 include "level3(ralt_switch)" 76}; 77 78partial alphanumeric_keys 79xkb_symbols "qwerty" { 80 include "ge(basic)" 81}; 82 83partial alphanumeric_keys 84xkb_symbols "ergonomic" { 85 include "ge(basic)" 86 87 name[Group1]= "Georgian (ergonomic)"; 88 89 key <TLDE> { [ 0x0100201e, apostrophe, 0x0100201e, asciitilde ] }; 90 key <AE01> { [ exclam, 1, exclam ] }; 91 key <AE02> { [ 0x01002116, 2, at ] }; 92 key <AE03> { [ comma, 3, numbersign, section ] }; 93 key <AE04> { [ semicolon, 4, dollar ] }; 94 key <AE05> { [ percent, 5, EuroSign ] }; 95 key <AE06> { [ colon, 6, asciicircum ] }; 96 key <AE07> { [ question, 7, ampersand ] }; 97 key <AE08> { [ period, 8, asterisk, degree ] }; 98 key <AE09> { [ parenleft, 9, parenleft, guillemotleft ] }; 99 key <AE10> { [ parenright, 0, parenright, guillemotright ] }; 100 key <AE11> { [ minus, plus, 0x01002014, underscore ] }; 101 key <AE12> { [ 0x0100201c, equal, equal ] }; 102 103 key <AD01> { [ Georgian_chin, noSymbol ] }; 104 key <AD02> { [ Georgian_par, noSymbol ] }; 105 key <AD03> { [ Georgian_un, noSymbol ] }; 106 key <AD04> { [ Georgian_jil, noSymbol, noSymbol, 0x010000ae ] }; 107 key <AD05> { [ Georgian_char, noSymbol, noSymbol, Georgian_tan ] }; 108 key <AD06> { [ Georgian_tar, noSymbol, noSymbol, 0x010010f8 ] }; 109 key <AD07> { [ Georgian_tan, noSymbol ] }; 110 key <AD08> { [ Georgian_nar, noSymbol, 0x010010fc, I ] }; 111 key <AD09> { [ Georgian_vin, noSymbol, Georgian_we ] }; 112 key <AD10> { [ Georgian_shin, noSymbol ] }; 113 key <AD11> { [ Georgian_kan, noSymbol, bracketleft, braceleft ] }; 114 key <AD12> { [ Georgian_khar, noSymbol, bracketright,braceright ] }; 115 116 key <AC01> { [ Georgian_xan, noSymbol, Georgian_har ] }; 117 key <AC02> { [ Georgian_in, noSymbol, Georgian_hie ] }; 118 key <AC03> { [ Georgian_an, noSymbol, 0x010010fa, D ] }; 119 key <AC04> { [ Georgian_en, noSymbol, Georgian_he ] }; 120 key <AC05> { [ Georgian_on, noSymbol ] }; 121 key <AC06> { [ Georgian_don, noSymbol ] }; 122 key <AC07> { [ Georgian_man, noSymbol ] }; 123 key <AC08> { [ Georgian_san, noSymbol ] }; 124 key <AC09> { [ Georgian_rae, noSymbol, L ] }; 125 key <AC10> { [ Georgian_ban, noSymbol, colon ] }; 126 key <AC11> { [ Georgian_gan, noSymbol, 0x010010f9, quotedbl ] }; 127 key <BKSL> { [ slash, section, backslash, bar ] }; 128 129 key <LSGT> { [ guillemotleft,guillemotright ] }; 130 key <AB01> { [ Georgian_jhan, noSymbol ] }; 131 key <AB02> { [ Georgian_hae, noSymbol, Georgian_hoe, X ] }; 132 key <AB03> { [ Georgian_qar, noSymbol, 0x010010f8, C ] }; 133 key <AB04> { [ Georgian_ghan, noSymbol, 0x010010f7, V ] }; 134 key <AB05> { [ Georgian_zhar, noSymbol ] }; 135 key <AB06> { [ Georgian_zen, noSymbol ] }; 136 key <AB07> { [ Georgian_can, noSymbol, noSymbol, M ] }; 137 key <AB08> { [ Georgian_las, noSymbol, guillemotleft, less ] }; 138 key <AB09> { [ Georgian_phar, noSymbol, Georgian_fi, guillemotright ] }; 139 key <AB10> { [ Georgian_cil, noSymbol, 0x010010fb ] }; 140 141 include "level3(ralt_switch)" 142}; 143 144partial alphanumeric_keys 145xkb_symbols "mess" { 146 include "ge(basic)" 147 148 name[Group1]= "Georgian (MESS)"; 149 150 key <TLDE> { [ Georgian_char, backslash, grave ] }; 151 key <AE01> { [ 1, exclam, apostrophe ] }; 152 key <AE02> { [ 2, at, asciitilde ] }; 153 key <AE03> { [ 3, 0x01002116, numbersign ] }; 154 key <AE04> { [ 4, dollar, EuroSign ] }; 155 key <AE05> { [ 5, percent ] }; 156 key <AE06> { [ 6, asciicircum ] }; 157 key <AE07> { [ 7, ampersand, section ] }; 158 key <AE08> { [ 8, asterisk, degree ] }; 159 key <AE09> { [ 9, parenleft ] }; 160 key <AE10> { [ 0, parenright, 0x01002014 ] }; 161 key <AE11> { [ minus, underscore, 0x01002013 ] }; 162 key <AE12> { [ Georgian_zhar, plus, bar ] }; 163 key <AD01> { [ Georgian_khar, Q ] }; 164 key <AD02> { [ Georgian_cil, W ] }; 165 key <AD03> { [ Georgian_en, E ] }; 166 key <AD04> { [ Georgian_rae, R ] }; 167 key <AD05> { [ Georgian_tar, T ] }; 168 key <AD06> { [ Georgian_qar, Y ] }; 169 key <AD07> { [ Georgian_un, U ] }; 170 key <AD08> { [ Georgian_in, I, Georgian_hie ] }; 171 key <AD09> { [ Georgian_on, O ] }; 172 key <AD10> { [ Georgian_par, P ] }; 173 key <AD11> { [ Georgian_shin, bracketleft, guillemotleft ] }; 174 key <AD12> { [ Georgian_ghan, bracketright, guillemotright ] }; 175 key <AC01> { [ Georgian_an, A, 0x010010fa ] }; 176 key <AC02> { [ Georgian_san, S ] }; 177 key <AC03> { [ Georgian_don, D ] }; 178 key <AC04> { [ Georgian_phar, F, Georgian_fi ] }; 179 key <AC05> { [ Georgian_gan, G, 0x010010f9 ] }; 180 key <AC06> { [ Georgian_hae, H, Georgian_he ] }; 181 key <AC07> { [ Georgian_jhan, J, 0x010010f7 ] }; 182 key <AC08> { [ Georgian_kan, K ] }; 183 key <AC09> { [ Georgian_las, L ] }; 184 key <AC10> { [ Georgian_tan, 0x0100201e ] }; 185 key <AC11> { [ Georgian_chin,0x0100201c ] }; 186 key <BKSL> { [ equal, slash, bar ] }; 187 188 key <LSGT> { [ guillemotleft, guillemotright ] }; 189 key <AB01> { [ Georgian_zen, Z, Georgian_hoe ] }; 190 key <AB02> { [ Georgian_xan, X, Georgian_har ] }; 191 key <AB03> { [ Georgian_can, C ] }; 192 key <AB04> { [ Georgian_vin, V, Georgian_we ] }; 193 key <AB05> { [ Georgian_ban, B ] }; 194 key <AB06> { [ Georgian_nar, N, 0x010010fc ] }; 195 key <AB07> { [ Georgian_man, M ] }; 196 key <AB08> { [ comma, semicolon, less ] }; 197 key <AB09> { [ period, colon, greater ] }; 198 key <AB10> { [ Georgian_jil, question, 0x010010fb ] }; 199 200 include "level3(ralt_switch)" 201}; 202 203partial alphanumeric_keys 204xkb_symbols "ru" { 205 206 name[Group1]= "Russian (Georgia)"; 207 208 key <TLDE> { [ asciicircum, asciitilde ] }; 209 key <AE01> { [ 1, exclam ] }; 210 key <AE02> { [ 2, at ] }; 211 key <AE03> { [ 3, numbersign ] }; 212 key <AE04> { [ 4, semicolon ] }; 213 key <AE05> { [ 5, colon ] }; 214 key <AE06> { [ 6, comma ] }; 215 key <AE07> { [ 7, period ] }; 216 key <AE08> { [ 8, asterisk ] }; 217 key <AE09> { [ 9, parenleft ] }; 218 key <AE10> { [ 0, parenright ] }; 219 key <AE11> { [ minus, underscore ] }; 220 key <AE12> { [ numbersign, bar ] }; 221 222 key <AD01> { [ Georgian_ghan, q ] }; 223 key <AD02> { [ Georgian_can, w ] }; 224 key <AD03> { [ Georgian_un, e ] }; 225 key <AD04> { [ Georgian_kan, r ] }; 226 key <AD05> { [ Georgian_en, t ] }; 227 key <AD06> { [ Georgian_nar, y ] }; 228 key <AD07> { [ Georgian_gan, u ] }; 229 key <AD08> { [ Georgian_shin, i ] }; 230 key <AD09> { [ Georgian_cil, o ] }; 231 key <AD10> { [ Georgian_zen, p ] }; 232 key <AD11> { [ Georgian_xan, bracketleft ] }; 233 key <AD12> { [ Georgian_jhan, bracketright ] }; 234 235 key <AC01> { [ Georgian_phar, a ] }; 236 key <AC02> { [ Georgian_tan, s ] }; 237 key <AC03> { [ Georgian_vin, d ] }; 238 key <AC04> { [ Georgian_an, f ] }; 239 key <AC05> { [ Georgian_par, g ] }; 240 key <AC06> { [ Georgian_rae, h ] }; 241 key <AC07> { [ Georgian_on, j ] }; 242 key <AC08> { [ Georgian_las, k ] }; 243 key <AC09> { [ Georgian_don, l ] }; 244 key <AC10> { [ Georgian_zhar, semicolon ] }; 245 key <AC11> { [ Georgian_jil, percent ] }; 246 key <BKSL> { [ backslash, bar ] }; 247 248 key <LSGT> { [ guillemotleft, guillemotright ] }; 249 key <AB01> { [ Georgian_char, z ] }; 250 key <AB02> { [ Georgian_chin, x ] }; 251 key <AB03> { [ Georgian_san, c ] }; 252 key <AB04> { [ Georgian_man, v ] }; 253 key <AB05> { [ Georgian_in, b ] }; 254 key <AB06> { [ Georgian_tar, n ] }; 255 key <AB07> { [ Georgian_khar, m ] }; 256 key <AB08> { [ Georgian_ban, less ] }; 257 key <AB09> { [ Georgian_qar, greater ] }; 258 key <AB10> { [ Georgian_hae, question ] }; 259}; 260 261partial alphanumeric_keys 262xkb_symbols "os" { 263 264 include "ru(os_legacy)" 265 266 name[Group1]= "Ossetian (Georgia)"; 267}; 268