1 // Hellenic keyboard map for X.org 2 // 3 // Original version: 4 // Kostas Gewrgiou <gewrgiou (a] imbc.gr> 5 // Heavily modified and maintained by: 6 // Vasilis Vasaitis <vvas (a] hal.csd.auth.gr> 7 // Originally converted to single group form by: 8 // Ivan Pascal <pascal (a] info.tsu.ru> 9 // Final modifications for proper support of 10 // the Hellenic language by: 11 // Web Dolphins <foo (a] foofootus.eu> 12 13 14 default partial alphanumeric_keys alternate_group 15 xkb_symbols "basic" { 16 include "gr(simple)" 17 18 name[Group1] = "Greek"; 19 20 include "eurosign(e)" 21 include "eurosign(5)" 22 include "kpdl(comma)" 23 include "level3(ralt_switch)" 24 25 key <AB01> { [ NoSymbol, NoSymbol, U037D, U03FF ] }; 26 key <AB02> { [ NoSymbol, NoSymbol, rightarrow, leftarrow ] }; 27 key <AB03> { [ NoSymbol, NoSymbol, copyright ] }; 28 key <AB04> { [ NoSymbol, NoSymbol, U03D6 ] }; 29 key <AB05> { [ NoSymbol, NoSymbol, U03D0 ] }; 30 key <AB06> { [ NoSymbol, NoSymbol, U0374, U0375 ] }; 31 key <AB07> { [ NoSymbol, NoSymbol, U03FB, U03FA ] }; 32 key <AB08> { [ NoSymbol, NoSymbol, guillemotleft ] }; 33 key <AB09> { [ NoSymbol, NoSymbol, guillemotright, periodcentered ] }; 34 key <AC03> { [ NoSymbol, NoSymbol, downarrow, uparrow ] }; 35 key <AC04> { [ NoSymbol, NoSymbol, U03D5, Greek_PHI ] }; 36 key <AC05> { [ NoSymbol, NoSymbol, U03DD, U03DC ] }; 37 key <AC07> { [ NoSymbol, NoSymbol, U037C, U03FE ] }; 38 key <AC08> { [ NoSymbol, NoSymbol, U03DF, U03DE ] }; 39 key <AC09> { [ NoSymbol, NoSymbol, U03F2, U03F9 ] }; 40 key <AC10> { [ NoSymbol, NoSymbol, dead_acute, dead_psili ] }; 41 key <AC11> { [ NoSymbol, NoSymbol, dead_grave, dead_dasia ] }; 42 key <AD01> { [ NoSymbol, NoSymbol, periodcentered ] }; 43 key <AD02> { [ NoSymbol, NoSymbol, U03DB, U03DA ] }; 44 key <AD04> { [ NoSymbol, NoSymbol, registered, U03F1 ] }; 45 key <AD06> { [ NoSymbol, NoSymbol, U03D2, U03D2 ] }; 46 key <AD07> { [ NoSymbol, NoSymbol, U03D1, U03F4 ] }; 47 key <AD08> { [ NoSymbol, NoSymbol, U037B, U03FD ] }; 48 key <AD10> { [ NoSymbol, NoSymbol, U03E1, U03E0 ] }; 49 key <AD11> { [ NoSymbol, NoSymbol, dead_tilde, dead_macron ] }; 50 key <AD12> { [ NoSymbol, NoSymbol, dead_iota, dead_breve ] }; 51 key <AE01> { [ NoSymbol, NoSymbol, NoSymbol, onesuperior ] }; 52 key <AE02> { [ NoSymbol, NoSymbol, onehalf, twosuperior ] }; 53 key <AE03> { [ NoSymbol, NoSymbol, sterling, threesuperior ] }; 54 key <AE04> { [ NoSymbol, NoSymbol, onequarter, threequarters ] }; 55 key <AE06> { [ NoSymbol, NoSymbol, U03F0 ] }; 56 key <AE07> { [ NoSymbol, NoSymbol, U03D7, U03CF ] }; 57 key <AE08> { [ NoSymbol, NoSymbol, U20AF ] }; 58 key <AE10> { [ NoSymbol, NoSymbol, degree ] }; 59 key <AE11> { [ NoSymbol, NoSymbol, plusminus ] }; 60 }; 61 62 partial alphanumeric_keys alternate_group 63 xkb_symbols "simple" { 64 65 include "gr(bare)" 66 67 name[Group1] = "Greek (simple)"; 68 69 key <TLDE> { [ grave, asciitilde ] }; // ` ~ 70 key <AE01> { [ 1, exclam ] }; // 1 ! 71 key <AE02> { [ 2, at ] }; // 2 @ 72 key <AE03> { [ 3, numbersign ] }; // 3 # 73 key <AE04> { [ 4, dollar ] }; // 4 $ 74 key <AE05> { [ 5, percent ] }; // 5 % 75 key <AE06> { [ 6, asciicircum ] }; // 6 ^ 76 key <AE07> { [ 7, ampersand ] }; // 7 & 77 key <AE08> { [ 8, asterisk ] }; // 8 * 78 key <AE09> { [ 9, parenleft ] }; // 9 ( 79 key <AE10> { [ 0, parenright ] }; // 0 ) 80 key <AE11> { [ minus, underscore ] }; // - _ 81 key <AE12> { [ equal, plus ] }; // = + 82 83 key <AD11> { [ bracketleft, braceleft ] }; // [ { 84 key <AD12> { [ bracketright, braceright ] }; // ] } 85 86 key <AC11> { [ apostrophe, quotedbl ] }; // ' " 87 88 key <AB08> { [ comma, less ] }; // , < 89 key <AB09> { [ period, greater ] }; // . > 90 key <AB10> { [ slash, question ] }; // / ? 91 key <BKSL> { [ backslash, bar ] }; // \ | 92 93 include "kpdl(comma)" 94 }; 95 96 hidden partial alphanumeric_keys alternate_group 97 xkb_symbols "bare" { 98 99 key <AD01> { [ semicolon, colon ] }; // ; : 100 key <AD02> { [ Greek_finalsmallsigma, Greek_SIGMA ] }; // 101 key <AD03> { [ Greek_epsilon, Greek_EPSILON ] }; // 102 key <AD04> { [ Greek_rho, Greek_RHO ] }; // 103 key <AD05> { [ Greek_tau, Greek_TAU ] }; // 104 key <AD06> { [ Greek_upsilon, Greek_UPSILON ] }; // 105 key <AD07> { [ Greek_theta, Greek_THETA ] }; // 106 key <AD08> { [ Greek_iota, Greek_IOTA ] }; // 107 key <AD09> { [ Greek_omicron, Greek_OMICRON ] }; // 108 key <AD10> { [ Greek_pi, Greek_PI ] }; // 109 110 key <AC01> { [ Greek_alpha, Greek_ALPHA ] }; // 111 key <AC02> { [ Greek_sigma, Greek_SIGMA ] }; // 112 key <AC03> { [ Greek_delta, Greek_DELTA ] }; // 113 key <AC04> { [ Greek_phi, Greek_PHI ] }; // 114 key <AC05> { [ Greek_gamma, Greek_GAMMA ] }; // 115 key <AC06> { [ Greek_eta, Greek_ETA ] }; // 116 key <AC07> { [ Greek_xi, Greek_XI ] }; // 117 key <AC08> { [ Greek_kappa, Greek_KAPPA ] }; // 118 key <AC09> { [ Greek_lamda, Greek_LAMDA ] }; // 119 key <AC10> { [ dead_acute, dead_diaeresis ] }; // 120 121 key <AB01> { [ Greek_zeta, Greek_ZETA ] }; // 122 key <AB02> { [ Greek_chi, Greek_CHI ] }; // 123 key <AB03> { [ Greek_psi, Greek_PSI ] }; // 124 key <AB04> { [ Greek_omega, Greek_OMEGA ] }; // 125 key <AB05> { [ Greek_beta, Greek_BETA ] }; // 126 key <AB06> { [ Greek_nu, Greek_NU ] }; // 127 key <AB07> { [ Greek_mu, Greek_MU ] }; // 128 129 key <LSGT> { [ guillemotleft, guillemotright ] }; // 130 }; 131 132 // =========================================================================================== 133 // Greek - Extended | 134 // =========================================================================================== 135 // 136 // 137 // ~ ! @ # $ % ^ & * ( ) _ + Backspace 138 // ` 1 2 3 4 5 6 7 8 9 0 - = 139 // 140 // : { } Enter 141 // Tab ; [ ] 142 // 143 // Caps " | 144 // Lock ' \ 145 // 146 // < > ? 147 // Shift , . / Shift 148 // 149 // 150 // Ctrl Meta Alt Space AltGr Meta Menu Ctrl 151 // 152 153 partial alphanumeric_keys alternate_group 154 xkb_symbols "extended" { 155 156 include "gr(simple)" 157 158 name[Group1] = "Greek (extended)"; 159 160 key.type[Group1] = "THREE_LEVEL"; 161 162 key <TLDE> { [ NoSymbol, NoSymbol, U2015 ] }; // 163 key <AB01> { [ NoSymbol, NoSymbol, U00A7 ] }; // 164 key <AE02> { [ NoSymbol, NoSymbol, U00B2 ] }; // 165 key <AE03> { [ NoSymbol, NoSymbol, U00B3 ] }; // 166 // for adding cubic sign symbol must move (like e.g. AE04 ) 167 key <AE04> { [ NoSymbol, NoSymbol, sterling ] }; // 168 key <AD06> { [ NoSymbol, NoSymbol, U00A5 ] }; // 169 key <AE10> { [ NoSymbol, NoSymbol, degree ] }; // 170 key <AE11> { [ NoSymbol, NoSymbol, plusminus ] }; // 171 172 key <AD01> { [ NoSymbol, NoSymbol, periodcentered ] }; // 173 key <AD04> { [ NoSymbol, NoSymbol, registered ] }; // 174 175 key <AB03> { [ NoSymbol, NoSymbol, copyright ] }; // 176 key <AB08> { [ NoSymbol, NoSymbol, guillemotleft ] }; // 177 key <AB09> { [ NoSymbol, NoSymbol, guillemotright ] }; // 178 179 include "level3(ralt_switch)" 180 include "eurosign(5)" 181 include "eurosign(e)" 182 }; 183 184 partial alphanumeric_keys alternate_group 185 xkb_symbols "polytonic" { 186 187 include "gr(extended)" 188 189 name[Group1] = "Greek (polytonic)"; 190 191 key.type[Group1] = "THREE_LEVEL"; 192 193 key <AD11> { [ dead_tilde, dead_diaeresis, dead_macron ] }; // ~ 194 key <AD12> { [ dead_iota, VoidSymbol, dead_breve ] }; // 195 key <AE05> { type[Group1]="FOUR_LEVEL", 196 [ 5, percent, U2030, U2031 ] }; // 197 key <AC02> { type[Group1]="FOUR_LEVEL", 198 [ Greek_sigma, Greek_SIGMA, U03DB, U03DA ] }; // STIGMATA 199 key <AC04> { type[Group1]="FOUR_LEVEL", 200 [ Greek_phi, Greek_PHI, U03DD, U03DC ] }; // 201 key <AD02> { type[Group1]="FOUR_LEVEL", 202 [ Greek_finalsmallsigma, Greek_SIGMA, U03D9, U03D8 ] }; // 203 key <AC07> { type[Group1]="FOUR_LEVEL", 204 [ Greek_xi, Greek_XI, U03F3, U037F ] }; // 205 key <AD10> { type[Group1]="FOUR_LEVEL", 206 [ Greek_pi, Greek_PI, U03D6, U03D5 ] }; // 207 key <AB05> { type[Group1]="FOUR_LEVEL", 208 [ Greek_beta, Greek_BETA, U03E1, U03E0 ] }; // 209 210 key <AC10> { [ dead_acute, dead_psili ] }; // 211 key <AC11> { type[Group1]="FOUR_LEVEL", 212 [ dead_grave, dead_dasia, apostrophe, quotedbl ] }; 213 214 key <AC08> { type[Group1]="FOUR_LEVEL", 215 [ Greek_kappa, Greek_KAPPA, U03D7, U03CF ] }; 216 // GREEK KAI SYMBOL 217 }; 218 219 partial alphanumeric_keys alternate_group 220 xkb_symbols "nodeadkeys" { 221 222 include "gr(simple)" 223 224 name[Group1] = "Greek (no dead keys)"; 225 226 key <AC10> { [ semicolon, colon ] }; // ; : 227 }; 228 229 // Greek layout rearranged as Colemak 230 231 partial alphanumeric_keys alternate_group 232 xkb_symbols "colemak" { 233 234 include "gr(basic)" 235 236 name[Group1] = "Greek (Colemak)"; 237 238 key <AD01> { [ semicolon, colon, periodcentered ] }; 239 key <AD02> { [ Greek_finalsmallsigma, Greek_SIGMA, U03DB, U03DA ] }; 240 key <AD03> { [ Greek_phi, Greek_PHI, U03D5 ] }; 241 key <AD04> { [ Greek_pi, Greek_PI, U03E1, U03E0 ] }; 242 key <AD05> { [ Greek_gamma, Greek_GAMMA, U03DD, U03DC ] }; 243 key <AD06> { [ Greek_xi, Greek_XI, U037C, U03FE ] }; 244 key <AD07> { [ Greek_lamda, Greek_LAMDA, U03F2, U03F9 ] }; 245 key <AD08> { [ Greek_theta, Greek_THETA, U03D1, U03F4 ] }; 246 key <AD09> { [ Greek_upsilon, Greek_UPSILON, U03D2, U03D2 ] }; 247 key <AD10> { [ dead_acute, dead_diaeresis, dead_acute, dead_psili ] }; 248 249 key <AC01> { [ Greek_alpha, Greek_ALPHA ] }; 250 key <AC02> { [ Greek_rho, Greek_RHO, registered, U03F1 ] }; 251 key <AC03> { [ Greek_sigma, Greek_SIGMA ] }; 252 key <AC04> { [ Greek_tau, Greek_TAU ] }; 253 key <AC05> { [ Greek_delta, Greek_DELTA, downarrow, uparrow ] }; 254 key <AC06> { [ Greek_eta, Greek_ETA ] }; 255 key <AC07> { [ Greek_nu, Greek_NU, U0374, U0375 ] }; 256 key <AC08> { [ Greek_epsilon, Greek_EPSILON, EuroSign ] }; 257 key <AC09> { [ Greek_iota, Greek_IOTA, U037B, U03FD ] }; 258 key <AC10> { [ Greek_omicron, Greek_OMICRON ] }; 259 260 key <AB01> { [ Greek_zeta, Greek_ZETA, U037D, U03FF ] }; 261 key <AB02> { [ Greek_chi, Greek_CHI, rightarrow, leftarrow ] }; 262 key <AB03> { [ Greek_psi, Greek_PSI, copyright ] }; 263 key <AB04> { [ Greek_omega, Greek_OMEGA, U03D6 ] }; 264 key <AB05> { [ Greek_beta, Greek_BETA, U03D0 ] }; 265 key <AB06> { [ Greek_kappa, Greek_KAPPA, U03DF, U03DE ] }; 266 key <AB07> { [ Greek_mu, Greek_MU, U03FB, U03FA ] }; 267 268 key <CAPS> { [ BackSpace, BackSpace, BackSpace, BackSpace ] }; 269 }; 270 271 // EXTRAS: 272 273 partial alphanumeric_keys 274 xkb_symbols "sun_type6" { 275 include "sun_vndr/gr(sun_type6)" 276 }; 277