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}; 78 79partial alphanumeric_keys 80xkb_symbols "qwerty" { 81 include "ge(basic)" 82}; 83 84partial alphanumeric_keys 85xkb_symbols "ergonomic" { 86 include "ge(basic)" 87 88 name[Group1]= "Georgian (ergonomic)"; 89 90 key <TLDE> { [ 0x0100201e, apostrophe, 0x0100201e, asciitilde ] }; 91 key <AE01> { [ exclam, 1, exclam ] }; 92 key <AE02> { [ 0x01002116, 2, at ] }; 93 key <AE03> { [ comma, 3, numbersign, section ] }; 94 key <AE04> { [ semicolon, 4, dollar ] }; 95 key <AE05> { [ percent, 5, EuroSign ] }; 96 key <AE06> { [ colon, 6, asciicircum ] }; 97 key <AE07> { [ question, 7, ampersand ] }; 98 key <AE08> { [ period, 8, asterisk, degree ] }; 99 key <AE09> { [ parenleft, 9, parenleft, guillemotleft ] }; 100 key <AE10> { [ parenright, 0, parenright, guillemotright ] }; 101 key <AE11> { [ minus, plus, 0x01002014, underscore ] }; 102 key <AE12> { [ 0x0100201c, equal, equal ] }; 103 104 key <AD01> { [ Georgian_chin, noSymbol ] }; 105 key <AD02> { [ Georgian_par, noSymbol ] }; 106 key <AD03> { [ Georgian_un, noSymbol ] }; 107 key <AD04> { [ Georgian_jil, noSymbol, noSymbol, 0x010000ae ] }; 108 key <AD05> { [ Georgian_char, noSymbol, noSymbol, Georgian_tan ] }; 109 key <AD06> { [ Georgian_tar, noSymbol, noSymbol, 0x010010f8 ] }; 110 key <AD07> { [ Georgian_tan, noSymbol ] }; 111 key <AD08> { [ Georgian_nar, noSymbol, 0x010010fc, I ] }; 112 key <AD09> { [ Georgian_vin, noSymbol, Georgian_we ] }; 113 key <AD10> { [ Georgian_shin, noSymbol ] }; 114 key <AD11> { [ Georgian_kan, noSymbol, bracketleft, braceleft ] }; 115 key <AD12> { [ Georgian_khar, noSymbol, bracketright,braceright ] }; 116 117 key <AC01> { [ Georgian_xan, noSymbol, Georgian_har ] }; 118 key <AC02> { [ Georgian_in, noSymbol, Georgian_hie ] }; 119 key <AC03> { [ Georgian_an, noSymbol, 0x010010fa, D ] }; 120 key <AC04> { [ Georgian_en, noSymbol, Georgian_he ] }; 121 key <AC05> { [ Georgian_on, noSymbol ] }; 122 key <AC06> { [ Georgian_don, noSymbol ] }; 123 key <AC07> { [ Georgian_man, noSymbol ] }; 124 key <AC08> { [ Georgian_san, noSymbol ] }; 125 key <AC09> { [ Georgian_rae, noSymbol, L ] }; 126 key <AC10> { [ Georgian_ban, noSymbol, colon ] }; 127 key <AC11> { [ Georgian_gan, noSymbol, 0x010010f9, quotedbl ] }; 128 key <BKSL> { [ slash, section, backslash, bar ] }; 129 130 key <LSGT> { [ guillemotleft,guillemotright ] }; 131 key <AB01> { [ Georgian_jhan, noSymbol ] }; 132 key <AB02> { [ Georgian_hae, noSymbol, Georgian_hoe, X ] }; 133 key <AB03> { [ Georgian_qar, noSymbol, 0x010010f8, C ] }; 134 key <AB04> { [ Georgian_ghan, noSymbol, 0x010010f7, V ] }; 135 key <AB05> { [ Georgian_zhar, noSymbol ] }; 136 key <AB06> { [ Georgian_zen, noSymbol ] }; 137 key <AB07> { [ Georgian_can, noSymbol, noSymbol, M ] }; 138 key <AB08> { [ Georgian_las, noSymbol, guillemotleft, less ] }; 139 key <AB09> { [ Georgian_phar, noSymbol, Georgian_fi, guillemotright ] }; 140 key <AB10> { [ Georgian_cil, noSymbol, 0x010010fb ] }; 141 142 include "level3(ralt_switch)" 143 144}; 145 146partial alphanumeric_keys 147xkb_symbols "mess" { 148 include "ge(basic)" 149 150 name[Group1]= "Georgian (MESS)"; 151 152 key <TLDE> { [ Georgian_char, backslash, grave ] }; 153 key <AE01> { [ 1, exclam, apostrophe ] }; 154 key <AE02> { [ 2, at, asciitilde ] }; 155 key <AE03> { [ 3, 0x01002116, numbersign ] }; 156 key <AE04> { [ 4, dollar, EuroSign ] }; 157 key <AE05> { [ 5, percent ] }; 158 key <AE06> { [ 6, asciicircum ] }; 159 key <AE07> { [ 7, ampersand, section ] }; 160 key <AE08> { [ 8, asterisk, degree ] }; 161 key <AE09> { [ 9, parenleft ] }; 162 key <AE10> { [ 0, parenright, 0x01002014 ] }; 163 key <AE11> { [ minus, underscore, 0x01002013 ] }; 164 key <AE12> { [ Georgian_zhar, plus, bar ] }; 165 key <AD01> { [ Georgian_khar, Q ] }; 166 key <AD02> { [ Georgian_cil, W ] }; 167 key <AD03> { [ Georgian_en, E ] }; 168 key <AD04> { [ Georgian_rae, R ] }; 169 key <AD05> { [ Georgian_tar, T ] }; 170 key <AD06> { [ Georgian_qar, Y ] }; 171 key <AD07> { [ Georgian_un, U ] }; 172 key <AD08> { [ Georgian_in, I, Georgian_hie ] }; 173 key <AD09> { [ Georgian_on, O ] }; 174 key <AD10> { [ Georgian_par, P ] }; 175 key <AD11> { [ Georgian_shin, bracketleft, guillemotleft ] }; 176 key <AD12> { [ Georgian_ghan, bracketright, guillemotright ] }; 177 key <AC01> { [ Georgian_an, A, 0x010010fa ] }; 178 key <AC02> { [ Georgian_san, S ] }; 179 key <AC03> { [ Georgian_don, D ] }; 180 key <AC04> { [ Georgian_phar, F, Georgian_fi ] }; 181 key <AC05> { [ Georgian_gan, G, 0x010010f9 ] }; 182 key <AC06> { [ Georgian_hae, H, Georgian_he ] }; 183 key <AC07> { [ Georgian_jhan, J, 0x010010f7 ] }; 184 key <AC08> { [ Georgian_kan, K ] }; 185 key <AC09> { [ Georgian_las, L ] }; 186 key <AC10> { [ Georgian_tan, 0x0100201e ] }; 187 key <AC11> { [ Georgian_chin,0x0100201c ] }; 188 key <BKSL> { [ equal, slash, bar ] }; 189 190 key <LSGT> { [ guillemotleft, guillemotright ] }; 191 key <AB01> { [ Georgian_zen, Z, Georgian_hoe ] }; 192 key <AB02> { [ Georgian_xan, X, Georgian_har ] }; 193 key <AB03> { [ Georgian_can, C ] }; 194 key <AB04> { [ Georgian_vin, V, Georgian_we ] }; 195 key <AB05> { [ Georgian_ban, B ] }; 196 key <AB06> { [ Georgian_nar, N, 0x010010fc ] }; 197 key <AB07> { [ Georgian_man, M ] }; 198 key <AB08> { [ comma, semicolon, less ] }; 199 key <AB09> { [ period, colon, greater ] }; 200 key <AB10> { [ Georgian_jil, question, 0x010010fb ] }; 201 202 include "level3(ralt_switch)" 203 204}; 205 206partial alphanumeric_keys 207xkb_symbols "ru" { 208 209 name[Group1]= "Russian (Georgia)"; 210 211 key <TLDE> { [ asciicircum, asciitilde ] }; 212 key <AE01> { [ 1, exclam ] }; 213 key <AE02> { [ 2, at ] }; 214 key <AE03> { [ 3, numbersign ] }; 215 key <AE04> { [ 4, semicolon ] }; 216 key <AE05> { [ 5, colon ] }; 217 key <AE06> { [ 6, comma ] }; 218 key <AE07> { [ 7, period ] }; 219 key <AE08> { [ 8, asterisk ] }; 220 key <AE09> { [ 9, parenleft ] }; 221 key <AE10> { [ 0, parenright ] }; 222 key <AE11> { [ minus, underscore ] }; 223 key <AE12> { [ numbersign, bar ] }; 224 225 key <AD01> { [ Georgian_ghan, q ] }; 226 key <AD02> { [ Georgian_can, w ] }; 227 key <AD03> { [ Georgian_un, e ] }; 228 key <AD04> { [ Georgian_kan, r ] }; 229 key <AD05> { [ Georgian_en, t ] }; 230 key <AD06> { [ Georgian_nar, y ] }; 231 key <AD07> { [ Georgian_gan, u ] }; 232 key <AD08> { [ Georgian_shin, i ] }; 233 key <AD09> { [ Georgian_cil, o ] }; 234 key <AD10> { [ Georgian_zen, p ] }; 235 key <AD11> { [ Georgian_xan, bracketleft ] }; 236 key <AD12> { [ Georgian_jhan, bracketright ] }; 237 238 key <AC01> { [ Georgian_phar, a ] }; 239 key <AC02> { [ Georgian_tan, s ] }; 240 key <AC03> { [ Georgian_vin, d ] }; 241 key <AC04> { [ Georgian_an, f ] }; 242 key <AC05> { [ Georgian_par, g ] }; 243 key <AC06> { [ Georgian_rae, h ] }; 244 key <AC07> { [ Georgian_on, j ] }; 245 key <AC08> { [ Georgian_las, k ] }; 246 key <AC09> { [ Georgian_don, l ] }; 247 key <AC10> { [ Georgian_zhar, semicolon ] }; 248 key <AC11> { [ Georgian_jil, percent ] }; 249 key <BKSL> { [ backslash, bar ] }; 250 251 key <LSGT> { [ guillemotleft, guillemotright ] }; 252 key <AB01> { [ Georgian_char, z ] }; 253 key <AB02> { [ Georgian_chin, x ] }; 254 key <AB03> { [ Georgian_san, c ] }; 255 key <AB04> { [ Georgian_man, v ] }; 256 key <AB05> { [ Georgian_in, b ] }; 257 key <AB06> { [ Georgian_tar, n ] }; 258 key <AB07> { [ Georgian_khar, m ] }; 259 key <AB08> { [ Georgian_ban, less ] }; 260 key <AB09> { [ Georgian_qar, greater ] }; 261 key <AB10> { [ Georgian_hae, question ] }; 262 263}; 264 265partial alphanumeric_keys 266xkb_symbols "os" { 267 268 include "ru(os_legacy)" 269 270 name[Group1]= "Ossetian (Georgia)"; 271 272}; 273