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

kz (16398B)


  1. // Based on http://www.sci.kz/~sairan/keyboard/kzkbd.html
  2. // Baurzhan Ismagulov <ibr@radix50.net>
  3. //
  4. // TODO:
  5. // 1. AltGr with TLDE and LSGT.
  6. // 2. Dead key for ruskaz and kazrus.
  7. // 3. Ctrl + <key>.
  8. // 4. Alt-Tab.
  9. // RST KazSSR 903-90
  10. // levels 3 and 4 are non-standard extensions
  11. default partial alphanumeric_keys
  12. xkb_symbols "basic" {
  13. name[Group1] = "Kazakh";
  14. key.type[group1] = "FOUR_LEVEL";
  15. key <TLDE> { [ parenleft, parenright, Cyrillic_io, Cyrillic_IO ] };
  16. key <AE01> { [ quotedbl, exclam ] };
  17. key <AE06> { [ comma, semicolon ] };
  18. key <AE07> { [ period, colon ] };
  19. key <BKSL> { [ backslash, slash ] };
  20. key <AB10> { [ numerosign, question ] };
  21. key <LSGT> { [ less, greater, bar, brokenbar ] };
  22. key.type[group1] = "ALPHABETIC";
  23. key <AE02> { [ Cyrillic_schwa, Cyrillic_SCHWA ] };
  24. key <AE03> { [ Ukrainian_i, Ukrainian_I ] };
  25. key <AE04> { [ Cyrillic_en_descender, Cyrillic_EN_descender ] };
  26. key <AE05> { [ Cyrillic_ghe_bar, Cyrillic_GHE_bar ] };
  27. key <AE08> { [ Cyrillic_u_straight, Cyrillic_U_straight ] };
  28. key <AE09> { [ Cyrillic_u_straight_bar, Cyrillic_U_straight_bar ] };
  29. key <AE10> { [ Cyrillic_ka_descender, Cyrillic_KA_descender ] };
  30. key <AE11> { [ Cyrillic_o_bar, Cyrillic_O_bar ] };
  31. key <AE12> { [ Cyrillic_shha, Cyrillic_SHHA ] };
  32. key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
  33. key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] };
  34. key <AD03> { [ Cyrillic_u, Cyrillic_U ] };
  35. key <AD04> { [ Cyrillic_ka, Cyrillic_KA ] };
  36. key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] };
  37. key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
  38. key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
  39. key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
  40. key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
  41. key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
  42. key <AD11> { [ Cyrillic_ha, Cyrillic_HA ] };
  43. key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
  44. key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
  45. key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] };
  46. key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] };
  47. key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
  48. key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
  49. key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
  50. key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
  51. key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
  52. key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
  53. key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
  54. key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
  55. key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
  56. key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] };
  57. key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
  58. key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
  59. key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
  60. key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
  61. key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
  62. key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
  63. key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
  64. };
  65. // Kikkarin KZ1
  66. partial alphanumeric_keys
  67. xkb_symbols "ruskaz" {
  68. name[Group1] = "Russian (Kazakhstan, with Kazakh)";
  69. key.type[group1] = "FOUR_LEVEL";
  70. key <AE01> { [ 1, exclam ] };
  71. key <AE02> { [ 2, quotedbl, at ] };
  72. key <AE03> { [ 3, numerosign, numbersign ] };
  73. key <AE04> { [ 4, semicolon, dollar ] };
  74. key <AE05> { [ 5, percent ] };
  75. key <AE06> { [ 6, colon, asciicircum ] };
  76. key <AE07> { [ 7, question, ampersand ] };
  77. key <AE08> { [ 8, asterisk ] };
  78. key <AE09> { [ 9, parenleft ] };
  79. key <AE10> { [ 0, parenright ] };
  80. key <AE11> { [ minus, underscore ] };
  81. key <AE12> { [ equal, plus ] };
  82. key <BKSL> { [ backslash, slash, bar ] };
  83. key <AB10> { [ period, comma, slash, question ] };
  84. key <LSGT> { [ less, greater, bar, brokenbar ] };
  85. key.type[group1] = "FOUR_LEVEL_ALPHABETIC";
  86. key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
  87. key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, Cyrillic_u_straight_bar, Cyrillic_U_straight_bar ] };
  88. key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] };
  89. key <AD03> { [ Cyrillic_u, Cyrillic_U, Cyrillic_u_straight, Cyrillic_U_straight ] };
  90. key <AD04> { [ Cyrillic_ka, Cyrillic_KA, Cyrillic_ka_descender, Cyrillic_KA_descender ] };
  91. key <AD05> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] };
  92. key <AD06> { [ Cyrillic_en, Cyrillic_EN, Cyrillic_en_descender, Cyrillic_EN_descender ] };
  93. key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, Cyrillic_ghe_bar, Cyrillic_GHE_bar ] };
  94. key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
  95. key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
  96. key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
  97. key <AD11> { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_shha, Cyrillic_SHHA ] };
  98. key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
  99. key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
  100. key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] };
  101. key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] };
  102. key <AC04> { [ Cyrillic_a, Cyrillic_A, Cyrillic_schwa, Cyrillic_SCHWA ] };
  103. key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
  104. key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
  105. key <AC07> { [ Cyrillic_o, Cyrillic_O, Cyrillic_o_bar, Cyrillic_O_bar ] };
  106. key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
  107. key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
  108. key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
  109. key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
  110. key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
  111. key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] };
  112. key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
  113. key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
  114. key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
  115. key <AB05> { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] };
  116. key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
  117. key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
  118. key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
  119. };
  120. // Kikkarin KZ2
  121. partial alphanumeric_keys
  122. xkb_symbols "kazrus" {
  123. name[Group1] = "Kazakh (with Russian)";
  124. key.type[group1] = "FOUR_LEVEL";
  125. key <AE01> { [ 1, exclam ] };
  126. key <AE02> { [ 2, quotedbl, at ] };
  127. key <AE03> { [ 3, numerosign, numbersign ] };
  128. key <AE04> { [ 4, semicolon, dollar ] };
  129. key <AE05> { [ 5, percent ] };
  130. key <AE06> { [ 6, colon, asciicircum ] };
  131. key <AE07> { [ 7, question, ampersand ] };
  132. key <AE08> { [ 8, asterisk ] };
  133. key <AE09> { [ 9, parenleft ] };
  134. key <AE10> { [ 0, parenright ] };
  135. key <AE11> { [ minus, underscore ] };
  136. key <AE12> { [ equal, plus ] };
  137. key <BKSL> { [ backslash, slash, bar ] };
  138. key <AB10> { [ period, comma, slash, question ] };
  139. key <LSGT> { [ less, greater, bar, brokenbar ] };
  140. key.type[group1] = "FOUR_LEVEL_ALPHABETIC";
  141. key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
  142. key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
  143. key <AD02> { [ Cyrillic_en_descender, Cyrillic_EN_descender, Cyrillic_tse, Cyrillic_TSE ] };
  144. key <AD03> { [ Cyrillic_u, Cyrillic_U ] };
  145. key <AD04> { [ Cyrillic_ka, Cyrillic_KA, Cyrillic_ka_descender, Cyrillic_KA_descender ] };
  146. key <AD05> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] };
  147. key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
  148. key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
  149. key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
  150. key <AD09> { [ Cyrillic_ghe_bar, Cyrillic_GHE_bar, Cyrillic_shcha, Cyrillic_SHCHA ] };
  151. key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
  152. key <AD11> { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_shha, Cyrillic_SHHA ] };
  153. key <AD12> { [ Cyrillic_u_straight_bar, Cyrillic_U_straight_bar, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
  154. key <AC01> { [ Cyrillic_o_bar, Cyrillic_O_bar, Cyrillic_ef, Cyrillic_EF ] };
  155. key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] };
  156. key <AC03> { [ Cyrillic_ka_descender, Cyrillic_KA_descender, Cyrillic_ve, Cyrillic_VE ] };
  157. key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
  158. key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
  159. key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
  160. key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
  161. key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
  162. key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
  163. key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
  164. key <AC11> { [ Cyrillic_schwa, Cyrillic_SCHWA, Cyrillic_e, Cyrillic_E ] };
  165. key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
  166. key <AB02> { [ Ukrainian_i, Ukrainian_I, Cyrillic_che, Cyrillic_CHE ] };
  167. key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
  168. key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
  169. key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
  170. key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
  171. key <AB07> { [ Cyrillic_u_straight, Cyrillic_U_straight, Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
  172. key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
  173. key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
  174. };
  175. partial alphanumeric_keys
  176. xkb_symbols "olpc" {
  177. // Contact: Walter Bender <walter@laptop.org>
  178. // We moved the Cyrillic IO off of the Tilde Key as an Alt-GR character
  179. // and moved it onto the Backslash key, making Backslash and Bar available
  180. // through the Latin side of the keyboard.
  181. include "kz(basic)"
  182. key <TLDE> { [ parenleft, parenright ] };
  183. key <BKSL> { [ Cyrillic_io, Cyrillic_IO ] };
  184. include "group(olpc)"
  185. };
  186. partial alphanumeric_keys
  187. xkb_symbols "ext" {
  188. // Levels 3 and 4 represent main keyboard's numeric part of US layout,
  189. // parens are duplicated for consistency.
  190. include "kz(basic)"
  191. name[Group1] = "Kazakh (extended)";
  192. key.type[group1] = "FOUR_LEVEL_ALPHABETIC";
  193. key <TLDE> { [ Cyrillic_io, Cyrillic_IO, grave, asciitilde ] };
  194. key <AE01> { [ quotedbl, exclam, 1, exclam ] };
  195. key <AE02> { [ Cyrillic_schwa, Cyrillic_SCHWA, 2, at ] };
  196. key <AE03> { [ Ukrainian_i, Ukrainian_I, 3, numbersign ] };
  197. key <AE04> { [ Cyrillic_en_descender, Cyrillic_EN_descender, 4, dollar ] };
  198. key <AE05> { [ Cyrillic_ghe_bar, Cyrillic_GHE_bar, 5, percent ] };
  199. key <AE06> { [ comma, semicolon, 6, asciicircum ] };
  200. key <AE07> { [ period, colon, 7, ampersand ] };
  201. key <AE08> { [ Cyrillic_u_straight, Cyrillic_U_straight, 8, asterisk ] };
  202. key <AE09> { [ Cyrillic_u_straight_bar, Cyrillic_U_straight_bar, 9, parenleft ] };
  203. key <AE10> { [ Cyrillic_ka_descender, Cyrillic_KA_descender, 0, parenright ] };
  204. key <AE11> { [ Cyrillic_o_bar, Cyrillic_O_bar, minus, underscore ] };
  205. key <AE12> { [ Cyrillic_shha, Cyrillic_SHHA, equal, plus ] };
  206. key <BKSL> { [ backslash, slash, bar, brokenbar ] };
  207. key <AD11> { [ Cyrillic_ha, Cyrillic_HA, bracketleft, braceleft ] };
  208. key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, bracketright, braceright ] };
  209. key <AC11> { [ Cyrillic_e, Cyrillic_E, apostrophe ] };
  210. key <AB08> { [ Cyrillic_be, Cyrillic_BE, less ] };
  211. key <AB09> { [ Cyrillic_yu, Cyrillic_YU, greater ] };
  212. include "level3(ralt_switch)"
  213. };
  214. // Kazakh Latin (based on Kazakh alphabet version of 2018)
  215. // levels 3 and 4 are non-standard extensions
  216. partial alphanumeric_keys
  217. xkb_symbols "latin" {
  218. // Contact: Galym Kerimbekov <housegregory299@gmail.com>
  219. name[Group1] = "Kazakh (Latin)";
  220. key.type[group1] = "FOUR_LEVEL";
  221. key <TLDE> { [ parenleft, parenright ] };
  222. key <AE01> { [ quotedbl, exclam ] };
  223. key <AE06> { [ comma, semicolon ] };
  224. key <AE07> { [ period, colon ] };
  225. key <BKSL> { [ backslash, slash ] };
  226. key <AB10> { [ numerosign, question ] };
  227. key <LSGT> { [ less, greater, bar, brokenbar ] };
  228. key.type[group1] = "ALPHABETIC";
  229. key <AE02> { [ aacute, Aacute ] };
  230. key <AE03> { [ iacute, Iacute ] };
  231. key <AE04> { [ nacute, Nacute ] };
  232. key <AE05> { [ U01F5, U01F4 ] }; // gG with acute
  233. key <AE08> { [ uacute, Uacute ] };
  234. key <AE09> { [ yacute, Yacute ] };
  235. key <AE10> { [ oacute, Oacute ] };
  236. key <AE11> { [ sacute, Sacute ] };
  237. key <AE12> { [ cacute, Cacute ] };
  238. key <AD01> { [ q, Q ] };
  239. key <AD02> { [ w, W ] };
  240. key <AD03> { [ e, E ] };
  241. key <AD04> { [ r, R ] };
  242. key <AD05> { [ t, T ] };
  243. key <AD06> { [ y, Y ] };
  244. key <AD07> { [ u, U ] };
  245. key <AD08> { [ i, I ] };
  246. key <AD09> { [ o, O ] };
  247. key <AD10> { [ p, P ] };
  248. key <AC01> { [ a, A ] };
  249. key <AC02> { [ s, S ] };
  250. key <AC03> { [ d, D ] };
  251. key <AC04> { [ f, F ] };
  252. key <AC05> { [ g, G ] };
  253. key <AC06> { [ h, H ] };
  254. key <AC07> { [ j, J ] };
  255. key <AC08> { [ k, K ] };
  256. key <AC09> { [ l, L ] };
  257. key <AB01> { [ z, Z ] };
  258. key <AB02> { [ x, X ] };
  259. key <AB03> { [ c, C ] };
  260. key <AB04> { [ v, M ] };
  261. key <AB05> { [ b, B ] };
  262. key <AB06> { [ n, N ] };
  263. key <AB07> { [ m, M ] };
  264. };