1// Hellenic keyboard map for X.org 2// 3// Original version: 4// Kostas Gewrgiou <gewrgiou@imbc.gr> 5// Heavily modified and maintained by: 6// Vasilis Vasaitis <vvas@hal.csd.auth.gr> 7// Originally converted to single group form by: 8// Ivan Pascal <pascal@info.tsu.ru> 9// Final modifications for proper support of 10// the Hellenic language by: 11// Web Dolphins® <foo@foofootus.eu> 12 13 14default partial alphanumeric_keys alternate_group 15xkb_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 62partial alphanumeric_keys alternate_group 63xkb_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 96hidden partial alphanumeric_keys alternate_group 97xkb_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 153partial alphanumeric_keys alternate_group 154xkb_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 184partial alphanumeric_keys alternate_group 185xkb_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 219partial alphanumeric_keys alternate_group 220xkb_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 231partial alphanumeric_keys alternate_group 232xkb_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 273partial alphanumeric_keys 274 xkb_symbols "sun_type6" { 275 include "sun_vndr/gr(sun_type6)" 276}; 277