logo

oasis-root

Compiled tree of Oasis Linux based on own branch at <https://hacktivis.me/git/oasis/> git clone https://anongit.hacktivis.me/git/oasis-root.git

gr (15732B)


  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. default partial alphanumeric_keys alternate_group
  13. xkb_symbols "basic" {
  14. include "gr(simple)"
  15. name[Group1] = "Greek";
  16. include "eurosign(e)"
  17. include "eurosign(5)"
  18. include "kpdl(comma)"
  19. include "level3(ralt_switch)"
  20. key <AB01> { [ NoSymbol, NoSymbol, U037D, U03FF ] };
  21. key <AB02> { [ NoSymbol, NoSymbol, rightarrow, leftarrow ] };
  22. key <AB03> { [ NoSymbol, NoSymbol, copyright ] };
  23. key <AB04> { [ NoSymbol, NoSymbol, U03D6 ] };
  24. key <AB05> { [ NoSymbol, NoSymbol, U03D0 ] };
  25. key <AB06> { [ NoSymbol, NoSymbol, U0374, U0375 ] };
  26. key <AB07> { [ NoSymbol, NoSymbol, U03FB, U03FA ] };
  27. key <AB08> { [ NoSymbol, NoSymbol, guillemotleft ] };
  28. key <AB09> { [ NoSymbol, NoSymbol, guillemotright, periodcentered ] };
  29. key <AC03> { [ NoSymbol, NoSymbol, downarrow, uparrow ] };
  30. key <AC04> { [ NoSymbol, NoSymbol, U03D5, Greek_PHI ] };
  31. key <AC05> { [ NoSymbol, NoSymbol, U03DD, U03DC ] };
  32. key <AC07> { [ NoSymbol, NoSymbol, U037C, U03FE ] };
  33. key <AC08> { [ NoSymbol, NoSymbol, U03DF, U03DE ] };
  34. key <AC09> { [ NoSymbol, NoSymbol, U03F2, U03F9 ] };
  35. key <AC10> { [ NoSymbol, NoSymbol, dead_acute, dead_psili ] };
  36. key <AC11> { [ NoSymbol, NoSymbol, dead_grave, dead_dasia ] };
  37. key <AD01> { [ NoSymbol, NoSymbol, periodcentered ] };
  38. key <AD02> { [ NoSymbol, NoSymbol, U03DB, U03DA ] };
  39. key <AD04> { [ NoSymbol, NoSymbol, registered, U03F1 ] };
  40. key <AD06> { [ NoSymbol, NoSymbol, U03D2, U03D2 ] };
  41. key <AD07> { [ NoSymbol, NoSymbol, U03D1, U03F4 ] };
  42. key <AD08> { [ NoSymbol, NoSymbol, U037B, U03FD ] };
  43. key <AD10> { [ NoSymbol, NoSymbol, U03E1, U03E0 ] };
  44. key <AD11> { [ NoSymbol, NoSymbol, dead_tilde, dead_macron ] };
  45. key <AD12> { [ NoSymbol, NoSymbol, dead_iota, dead_breve ] };
  46. key <AE01> { [ NoSymbol, NoSymbol, NoSymbol, onesuperior ] };
  47. key <AE02> { [ NoSymbol, NoSymbol, onehalf, twosuperior ] };
  48. key <AE03> { [ NoSymbol, NoSymbol, sterling, threesuperior ] };
  49. key <AE04> { [ NoSymbol, NoSymbol, onequarter, threequarters ] };
  50. key <AE06> { [ NoSymbol, NoSymbol, U03F0 ] };
  51. key <AE07> { [ NoSymbol, NoSymbol, U03D7, U03CF ] };
  52. key <AE08> { [ NoSymbol, NoSymbol, U20AF ] };
  53. key <AE10> { [ NoSymbol, NoSymbol, degree ] };
  54. key <AE11> { [ NoSymbol, NoSymbol, plusminus ] };
  55. };
  56. partial alphanumeric_keys alternate_group
  57. xkb_symbols "simple" {
  58. include "gr(bare)"
  59. name[Group1] = "Greek (simple)";
  60. key <TLDE> { [ grave, asciitilde ] }; // ` ~
  61. key <AE01> { [ 1, exclam ] }; // 1 !
  62. key <AE02> { [ 2, at ] }; // 2 @
  63. key <AE03> { [ 3, numbersign ] }; // 3 #
  64. key <AE04> { [ 4, dollar ] }; // 4 $
  65. key <AE05> { [ 5, percent ] }; // 5 %
  66. key <AE06> { [ 6, asciicircum ] }; // 6 ^
  67. key <AE07> { [ 7, ampersand ] }; // 7 &
  68. key <AE08> { [ 8, asterisk ] }; // 8 *
  69. key <AE09> { [ 9, parenleft ] }; // 9 (
  70. key <AE10> { [ 0, parenright ] }; // 0 )
  71. key <AE11> { [ minus, underscore ] }; // - _
  72. key <AE12> { [ equal, plus ] }; // = +
  73. key <AD11> { [ bracketleft, braceleft ] }; // [ {
  74. key <AD12> { [ bracketright, braceright ] }; // ] }
  75. key <AC11> { [ apostrophe, quotedbl ] }; // ' "
  76. key <AB08> { [ comma, less ] }; // , <
  77. key <AB09> { [ period, greater ] }; // . >
  78. key <AB10> { [ slash, question ] }; // / ?
  79. key <BKSL> { [ backslash, bar ] }; // \ |
  80. include "kpdl(comma)"
  81. };
  82. hidden partial alphanumeric_keys alternate_group
  83. xkb_symbols "bare" {
  84. key <AD01> { [ semicolon, colon ] }; // ; :
  85. key <AD02> { [ Greek_finalsmallsigma, Greek_SIGMA ] }; // ς Σ
  86. key <AD03> { [ Greek_epsilon, Greek_EPSILON ] }; // ε Ε
  87. key <AD04> { [ Greek_rho, Greek_RHO ] }; // ρ Ρ
  88. key <AD05> { [ Greek_tau, Greek_TAU ] }; // τ Τ
  89. key <AD06> { [ Greek_upsilon, Greek_UPSILON ] }; // υ Υ
  90. key <AD07> { [ Greek_theta, Greek_THETA ] }; // θ Θ
  91. key <AD08> { [ Greek_iota, Greek_IOTA ] }; // ι Ι
  92. key <AD09> { [ Greek_omicron, Greek_OMICRON ] }; // ο Ο
  93. key <AD10> { [ Greek_pi, Greek_PI ] }; // π Π
  94. key <AC01> { [ Greek_alpha, Greek_ALPHA ] }; // α Α
  95. key <AC02> { [ Greek_sigma, Greek_SIGMA ] }; // σ Σ
  96. key <AC03> { [ Greek_delta, Greek_DELTA ] }; // δ Δ
  97. key <AC04> { [ Greek_phi, Greek_PHI ] }; // φ Φ
  98. key <AC05> { [ Greek_gamma, Greek_GAMMA ] }; // γ Γ
  99. key <AC06> { [ Greek_eta, Greek_ETA ] }; // η Η
  100. key <AC07> { [ Greek_xi, Greek_XI ] }; // ξ Ξ
  101. key <AC08> { [ Greek_kappa, Greek_KAPPA ] }; // κ Κ
  102. key <AC09> { [ Greek_lamda, Greek_LAMDA ] }; // λ Λ
  103. key <AC10> { [ dead_acute, dead_diaeresis ] }; // ´ ¨
  104. key <AB01> { [ Greek_zeta, Greek_ZETA ] }; // ζ Ζ
  105. key <AB02> { [ Greek_chi, Greek_CHI ] }; // χ Χ
  106. key <AB03> { [ Greek_psi, Greek_PSI ] }; // ψ Ψ
  107. key <AB04> { [ Greek_omega, Greek_OMEGA ] }; // ω Ω
  108. key <AB05> { [ Greek_beta, Greek_BETA ] }; // β Β
  109. key <AB06> { [ Greek_nu, Greek_NU ] }; // ν Ν
  110. key <AB07> { [ Greek_mu, Greek_MU ] }; // μ Μ
  111. key <LSGT> { [ guillemotleft, guillemotright ] }; // « »
  112. };
  113. // ===========================================================================================
  114. // Greek - Extended |
  115. // ===========================================================================================
  116. //
  117. // ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━━┓
  118. // │ ~ │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + ┃Backspace ┃
  119. // │ ` │ 1 │ 2 │ 3 £ │ 4 │ 5 € │ 6 │ 7 │ 8 │ 9 │ 0 ° │ - ± │ = ┃ ┃
  120. // ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━━━┫
  121. // ┃ ┃ : │ Σ │ Ε │ Ρ │ Τ │ Υ │ Θ │ Ι │ Ο │ Π │ { │ } ┃Enter ┃
  122. // ┃Tab ┃ ; · │ ς │ ε € │ ρ ® │ τ │ υ │ θ │ ι │ ο │ π │ [ │ ] ┃ ┃
  123. // ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
  124. // ┃Caps ┃ Α │ Σ │ Δ │ Φ │ Γ │ Η │ Ξ │ Κ │ Λ │ ¨ │ " │ | ┃ ┃
  125. // ┃Lock ┃ α │ σ │ δ │ φ │ γ │ η │ ξ │ κ │ λ │ ´ │ ' │ \ ┃ ┃
  126. // ┣━━━━━━━┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷━━━━━┻━━━━━━━━┫
  127. // ┃ ┃ » │ Ζ │ Χ │ Ψ │ Ω │ Β │ Ν │ Μ │ < │ > │ ? ┃ ┃
  128. // ┃Shift ┃ « │ ζ │ χ │ ψ © │ ω │ β │ ν │ μ │ , « │ . » │ / ┃Shift ┃
  129. // ┣━━━━━━━╋━━━━━┷━┳━━━┷━━━┱─┴─────┴─────┴─────┴─────┴─────┴──┲━━┷━━━━┳┷━━━━━┻┳━━━━━━━┳━━━━━━┫
  130. // ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
  131. // ┃Ctrl ┃Meta ┃Alt ┃ Space ┃AltGr ┃Meta ┃Menu ┃Ctrl ┃
  132. // ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹──────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━┛
  133. partial alphanumeric_keys alternate_group
  134. xkb_symbols "extended" {
  135. include "gr(simple)"
  136. name[Group1] = "Greek (extended)";
  137. key.type[Group1] = "THREE_LEVEL";
  138. key <TLDE> { [ NoSymbol, NoSymbol, U2015 ] }; // ―
  139. key <AB01> { [ NoSymbol, NoSymbol, U00A7 ] }; // §
  140. key <AE02> { [ NoSymbol, NoSymbol, U00B2 ] }; // ²
  141. key <AE03> { [ NoSymbol, NoSymbol, U00B3 ] }; // ³
  142. // for adding cubic sign £ symbol must move (like e.g. AE04 )
  143. key <AE04> { [ NoSymbol, NoSymbol, sterling ] }; // £
  144. key <AD06> { [ NoSymbol, NoSymbol, U00A5 ] }; // ¥
  145. key <AE10> { [ NoSymbol, NoSymbol, degree ] }; // °
  146. key <AE11> { [ NoSymbol, NoSymbol, plusminus ] }; // ±
  147. key <AD01> { [ NoSymbol, NoSymbol, periodcentered ] }; // ·
  148. key <AD04> { [ NoSymbol, NoSymbol, registered ] }; // ®
  149. key <AB03> { [ NoSymbol, NoSymbol, copyright ] }; // ©
  150. key <AB08> { [ NoSymbol, NoSymbol, guillemotleft ] }; // «
  151. key <AB09> { [ NoSymbol, NoSymbol, guillemotright ] }; // »
  152. include "level3(ralt_switch)"
  153. include "eurosign(5)"
  154. include "eurosign(e)"
  155. };
  156. partial alphanumeric_keys alternate_group
  157. xkb_symbols "polytonic" {
  158. include "gr(extended)"
  159. name[Group1] = "Greek (polytonic)";
  160. key.type[Group1] = "THREE_LEVEL";
  161. key <AD11> { [ dead_tilde, dead_diaeresis, dead_macron ] }; // ~ ¨ ¯
  162. key <AD12> { [ dead_iota, VoidSymbol, dead_breve ] }; // ͺ ˘
  163. key <AE05> { type[Group1]="FOUR_LEVEL",
  164. [ 5, percent, U2030, U2031 ] }; // ‰ ‱
  165. key <AC02> { type[Group1]="FOUR_LEVEL",
  166. [ Greek_sigma, Greek_SIGMA, U03DB, U03DA ] }; // Ϛ ϛ STIGMATA
  167. key <AC04> { type[Group1]="FOUR_LEVEL",
  168. [ Greek_phi, Greek_PHI, U03DD, U03DC ] }; // ϝ Ϝ
  169. key <AD02> { type[Group1]="FOUR_LEVEL",
  170. [ Greek_finalsmallsigma, Greek_SIGMA, U03D9, U03D8 ] }; // ϙ Ϙ
  171. key <AC07> { type[Group1]="FOUR_LEVEL",
  172. [ Greek_xi, Greek_XI, U03F3, U037F ] }; // ϳ Ϳ
  173. key <AD10> { type[Group1]="FOUR_LEVEL",
  174. [ Greek_pi, Greek_PI, U03D6, U03D5 ] }; // ϖ ϕ
  175. key <AB05> { type[Group1]="FOUR_LEVEL",
  176. [ Greek_beta, Greek_BETA, U03E1, U03E0 ] }; // ϡ Ϡ
  177. key <AC10> { [ dead_acute, dead_psili ] }; // ´ ̓
  178. key <AC11> { type[Group1]="FOUR_LEVEL",
  179. [ dead_grave, dead_dasia, apostrophe, quotedbl ] };
  180. key <AC08> { type[Group1]="FOUR_LEVEL",
  181. [ Greek_kappa, Greek_KAPPA, U03D7, U03CF ] };
  182. // κ Κ GREEK KAI SYMBOL
  183. };
  184. partial alphanumeric_keys alternate_group
  185. xkb_symbols "nodeadkeys" {
  186. include "gr(simple)"
  187. name[Group1] = "Greek (no dead keys)";
  188. key <AC10> { [ semicolon, colon ] }; // ; :
  189. };
  190. // Greek layout rearranged as Colemak
  191. partial alphanumeric_keys alternate_group
  192. xkb_symbols "colemak" {
  193. include "gr(basic)"
  194. name[Group1] = "Greek (Colemak)";
  195. key <AD01> { [ semicolon, colon, periodcentered ] };
  196. key <AD02> { [ Greek_finalsmallsigma, Greek_SIGMA, U03DB, U03DA ] };
  197. key <AD03> { [ Greek_phi, Greek_PHI, U03D5 ] };
  198. key <AD04> { [ Greek_pi, Greek_PI, U03E1, U03E0 ] };
  199. key <AD05> { [ Greek_gamma, Greek_GAMMA, U03DD, U03DC ] };
  200. key <AD06> { [ Greek_xi, Greek_XI, U037C, U03FE ] };
  201. key <AD07> { [ Greek_lamda, Greek_LAMDA, U03F2, U03F9 ] };
  202. key <AD08> { [ Greek_theta, Greek_THETA, U03D1, U03F4 ] };
  203. key <AD09> { [ Greek_upsilon, Greek_UPSILON, U03D2, U03D2 ] };
  204. key <AD10> { [ dead_acute, dead_diaeresis, dead_acute, dead_psili ] };
  205. key <AC01> { [ Greek_alpha, Greek_ALPHA ] };
  206. key <AC02> { [ Greek_rho, Greek_RHO, registered, U03F1 ] };
  207. key <AC03> { [ Greek_sigma, Greek_SIGMA ] };
  208. key <AC04> { [ Greek_tau, Greek_TAU ] };
  209. key <AC05> { [ Greek_delta, Greek_DELTA, downarrow, uparrow ] };
  210. key <AC06> { [ Greek_eta, Greek_ETA ] };
  211. key <AC07> { [ Greek_nu, Greek_NU, U0374, U0375 ] };
  212. key <AC08> { [ Greek_epsilon, Greek_EPSILON, EuroSign ] };
  213. key <AC09> { [ Greek_iota, Greek_IOTA, U037B, U03FD ] };
  214. key <AC10> { [ Greek_omicron, Greek_OMICRON ] };
  215. key <AB01> { [ Greek_zeta, Greek_ZETA, U037D, U03FF ] };
  216. key <AB02> { [ Greek_chi, Greek_CHI, rightarrow, leftarrow ] };
  217. key <AB03> { [ Greek_psi, Greek_PSI, copyright ] };
  218. key <AB04> { [ Greek_omega, Greek_OMEGA, U03D6 ] };
  219. key <AB05> { [ Greek_beta, Greek_BETA, U03D0 ] };
  220. key <AB06> { [ Greek_kappa, Greek_KAPPA, U03DF, U03DE ] };
  221. key <AB07> { [ Greek_mu, Greek_MU, U03FB, U03FA ] };
  222. key <CAPS> { [ BackSpace, BackSpace, BackSpace, BackSpace ] };
  223. };
  224. // EXTRAS:
  225. partial alphanumeric_keys
  226. xkb_symbols "sun_type6" {
  227. include "sun_vndr/gr(sun_type6)"
  228. };