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

ru (76351B)


  1. // Keyboard layouts for Russia.
  2. // AEN <aen@logic.ru>
  3. // 2001/12/23 by Leon Kanter <leon@blackcatlinux.com>
  4. // 2005/12/09 Valery Inozemtsev <shrek@altlinux.ru>
  5. // 2018/07/15 @a13 (a.k.a. @dbvvmpg) and Stepanenko Andrey <ftvkyo2011@yandex.ru>
  6. // Windows layout
  7. default partial alphanumeric_keys
  8. xkb_symbols "winkeys" {
  9. include "ru(common)"
  10. name[Group1]= "Russian";
  11. key <AE03> { [ 3, numerosign ] };
  12. key <AE04> { [ 4, semicolon ] };
  13. key <AE05> { [ 5, percent ] };
  14. key <AE06> { [ 6, colon ] };
  15. key <AE07> { [ 7, question ] };
  16. key <AE08> { [ 8, asterisk, U20BD ] };
  17. key <AB10> { [ period, comma ] };
  18. key <BKSL> { [ backslash, slash ] };
  19. };
  20. hidden partial alphanumeric_keys
  21. xkb_symbols "common" {
  22. key <AE01> { [ 1, exclam ] };
  23. key <AE02> { [ 2, quotedbl ] };
  24. key <AE03> { [ 3, numbersign ] };
  25. key <AE04> { [ 4, asterisk ] };
  26. key <AE05> { [ 5, colon ] };
  27. key <AE06> { [ 6, comma ] };
  28. key <AE07> { [ 7, period ] };
  29. key <AE08> { [ 8, semicolon ] };
  30. key <AE09> { [ 9, parenleft ] };
  31. key <AE10> { [ 0, parenright ] };
  32. key <AE11> { [ minus, underscore ] };
  33. key <AE12> { [ equal, plus ] };
  34. key <BKSL> { [ backslash, bar ] };
  35. key <AB10> { [ slash, question ] };
  36. key <LSGT> { [ slash, bar ] };
  37. key <TLDE> { [ Cyrillic_io, Cyrillic_IO ] };
  38. key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
  39. key <AD02> { [ Cyrillic_tse, Cyrillic_TSE ] };
  40. key <AD03> { [ Cyrillic_u, Cyrillic_U ] };
  41. key <AD04> { [ Cyrillic_ka, Cyrillic_KA ] };
  42. key <AD05> { [ Cyrillic_ie, Cyrillic_IE ] };
  43. key <AD06> { [ Cyrillic_en, Cyrillic_EN ] };
  44. key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
  45. key <AD08> { [ Cyrillic_sha, Cyrillic_SHA ] };
  46. key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
  47. key <AD10> { [ Cyrillic_ze, Cyrillic_ZE ] };
  48. key <AD11> { [ Cyrillic_ha, Cyrillic_HA ] };
  49. key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
  50. key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
  51. key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] };
  52. key <AC03> { [ Cyrillic_ve, Cyrillic_VE ] };
  53. key <AC04> { [ Cyrillic_a, Cyrillic_A ] };
  54. key <AC05> { [ Cyrillic_pe, Cyrillic_PE ] };
  55. key <AC06> { [ Cyrillic_er, Cyrillic_ER ] };
  56. key <AC07> { [ Cyrillic_o, Cyrillic_O ] };
  57. key <AC08> { [ Cyrillic_el, Cyrillic_EL ] };
  58. key <AC09> { [ Cyrillic_de, Cyrillic_DE ] };
  59. key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
  60. key <AC11> { [ Cyrillic_e, Cyrillic_E ] };
  61. key <AB01> { [ Cyrillic_ya, Cyrillic_YA ] };
  62. key <AB02> { [ Cyrillic_che, Cyrillic_CHE ] };
  63. key <AB03> { [ Cyrillic_es, Cyrillic_ES ] };
  64. key <AB04> { [ Cyrillic_em, Cyrillic_EM ] };
  65. key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
  66. key <AB06> { [ Cyrillic_te, Cyrillic_TE ] };
  67. key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
  68. key <AB08> { [ Cyrillic_be, Cyrillic_BE ] };
  69. key <AB09> { [ Cyrillic_yu, Cyrillic_YU ] };
  70. include "kpdl(comma)"
  71. };
  72. partial alphanumeric_keys
  73. xkb_symbols "legacy" {
  74. include "ru(common)"
  75. name[Group1]= "Russian (legacy)";
  76. };
  77. partial alphanumeric_keys
  78. xkb_symbols "olpc" {
  79. include "ru(common)"
  80. key <TLDE> { [ 0x01000451, 0x01000401, grave ] }; // Ñ‘, Ð
  81. key <AE03> { [ 3, numbersign, 0x01002116 ] }; // â„–
  82. key <AE04> { [ 4, dollar, semicolon ] };
  83. key <AE06> { [ 6, asciicircum, colon ] };
  84. key <AE07> { [ 7, ampersand ] };
  85. key <AE09> { [ 9, parenleft, acute ] };
  86. key <AC12> { [ backslash, bar, slash ] };
  87. include "group(olpc)"
  88. };
  89. partial alphanumeric_keys
  90. xkb_symbols "typewriter" {
  91. include "ru(common)"
  92. name[Group1]= "Russian (typewriter)";
  93. key <TLDE> { [ bar, plus ] };
  94. key <AE01> { [ numerosign, 1 ] };
  95. key <AE02> { [ minus, 2 ] };
  96. key <AE03> { [ slash, 3 ] };
  97. key <AE04> { [ quotedbl, 4 ] };
  98. key <AE05> { [ colon, 5 ] };
  99. key <AE06> { [ comma, 6 ] };
  100. key <AE07> { [ period, 7 ] };
  101. key <AE08> { [ underscore, 8 ] };
  102. key <AE09> { [ question, 9 ] };
  103. key <AE10> { [ percent, 0 ] };
  104. key <AE11> { [ exclam, equal ] };
  105. key <AE12> { [ semicolon, backslash ] };
  106. key <BKSL> { [ parenright, parenleft ] };
  107. key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
  108. key <AB10> { [ Cyrillic_io, Cyrillic_IO ] };
  109. };
  110. partial alphanumeric_keys
  111. xkb_symbols "typewriter-legacy" {
  112. include "ru(common)"
  113. name[Group1]= "Russian (typewriter, legacy)";
  114. key <TLDE> { [ apostrophe, quotedbl ] };
  115. key <AE01> { [ exclam, 1 ] };
  116. key <AE02> { [ numerosign, 2 ] };
  117. key <AE03> { [ slash, 3 ] };
  118. key <AE04> { [ semicolon, 4 ] };
  119. key <AE05> { [ colon, 5 ] };
  120. key <AE06> { [ comma, 6 ] };
  121. key <AE07> { [ period, 7 ] };
  122. key <AE08> { [ underscore, 8 ] };
  123. key <AE09> { [ question, 9 ] };
  124. key <AE10> { [ percent, 0 ] };
  125. key <BKSL> { [ parenleft, parenright ] };
  126. key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
  127. key <AB10> { [ Cyrillic_io, Cyrillic_IO ] };
  128. };
  129. partial alphanumeric_keys
  130. xkb_symbols "gost-6431-75-48" {
  131. include "ru(typewriter)"
  132. name[Group1]= "Russian (GOST 6431-75)";
  133. key <TLDE> { [ section, asciitilde ] };
  134. key <AE01> { [ parenleft, 1 ] };
  135. key <AE02> { [ parenright, 2 ] };
  136. key <AE03> { [ minus, 3 ] };
  137. key <AE04> { [ slash, 4 ] };
  138. key <AE05> { [ quotedbl, 5 ] };
  139. key <AE06> { [ colon, 6 ] };
  140. key <AE07> { [ comma, 7 ] };
  141. key <AE08> { [ period, 8 ] };
  142. key <AE09> { [ underscore, 9 ] };
  143. key <AE10> { [ question, 0 ] };
  144. key <AE11> { [ percent, plus ] };
  145. key <AE12> { [ exclam, equal ] };
  146. key <BKSL> { [ semicolon, numerosign ] };
  147. key <LSGT> { [ emdash, endash ] };
  148. };
  149. partial alphanumeric_keys
  150. xkb_symbols "gost-14289-88" {
  151. include "ru(typewriter)"
  152. name[Group1]= "Russian (GOST 14289-88)";
  153. key <TLDE> { [ backslash, asterisk, asciitilde, section ] };
  154. key <AE01> { [ parenleft, 1, less, guillemotleft ] };
  155. key <AE02> { [ parenright, 2, at, guillemotright ] };
  156. key <AE03> { [ minus, 3, numbersign, numerosign ] };
  157. key <AE04> { [ slash, 4, U20BD, dollar ] }; // ruble
  158. key <AE05> { [ quotedbl, 5, greater ] };
  159. key <AE06> { [ colon, 6, asciicircum ] };
  160. key <AE07> { [ comma, 7, ampersand ] };
  161. key <AE08> { [ period, 8, apostrophe, dead_acute ] };
  162. key <AE09> { [ underscore, 9, braceleft, U201E ] };
  163. key <AE10> { [ question, 0, braceright, U201F ] };
  164. key <AE11> { [ percent, plus, bracketleft, plusminus ] };
  165. key <AE12> { [ exclam, equal, bracketright ] };
  166. key <BKSL> { [ semicolon, bar, grave ] };
  167. key <LSGT> { [ emdash, endash ] };
  168. };
  169. partial alphanumeric_keys
  170. xkb_symbols "phonetic" {
  171. name[Group1]= "Russian (phonetic)";
  172. key <AE01> { [ 1, exclam ] };
  173. key <AE02> { [ 2, at ] };
  174. key <AE03> { [ 3, Cyrillic_io ] };
  175. key <AE04> { [ 4, Cyrillic_IO ] };
  176. key <AE05> { [ 5, Cyrillic_hardsign ] };
  177. key <AE06> { [ 6, Cyrillic_HARDSIGN ] };
  178. key <AE07> { [ 7, ampersand ] };
  179. key <AE08> { [ 8, asterisk ] };
  180. key <AE09> { [ 9, parenleft ] };
  181. key <AE10> { [ 0, parenright ] };
  182. key <AE11> { [ minus, underscore ] };
  183. key <AB09> { [ period, greater ] };
  184. key <AB10> { [ slash, question ] };
  185. key <AB08> { [ comma, less ] };
  186. key <AC10> { [ semicolon, colon ] };
  187. key <AC11> { [ apostrophe, quotedbl ] };
  188. key <LSGT> { [ bar, brokenbar ] };
  189. key <TLDE> { [ Cyrillic_yu, Cyrillic_YU ] };
  190. key <LatQ> { [ Cyrillic_ya, Cyrillic_YA ] };
  191. key <LatZ> { [ Cyrillic_ze, Cyrillic_ZE ] };
  192. key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
  193. key <LatA> { [ Cyrillic_a, Cyrillic_A ] };
  194. key <LatW> { [ Cyrillic_ve, Cyrillic_VE ] };
  195. key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
  196. key <LatX> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
  197. key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
  198. key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
  199. key <LatV> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
  200. key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
  201. key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
  202. key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
  203. key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
  204. key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
  205. key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
  206. key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
  207. key <LatY> { [ Cyrillic_yeru, Cyrillic_YERU ] };
  208. key <LatM> { [ Cyrillic_em, Cyrillic_EM ] };
  209. key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
  210. key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
  211. key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
  212. key <LatI> { [ Cyrillic_i, Cyrillic_I ] };
  213. key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
  214. key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
  215. key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
  216. key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
  217. key <AE12> { [ Cyrillic_che, Cyrillic_CHE ] };
  218. key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
  219. key <BKSL> { [ Cyrillic_e, Cyrillic_E ] };
  220. };
  221. partial alphanumeric_keys
  222. xkb_symbols "phonetic_winkeys" {
  223. include "ru(phonetic)"
  224. name[Group1]= "Russian (phonetic, Windows)";
  225. key <LatX> { [ Cyrillic_ha, Cyrillic_HA ] };
  226. key <LatH> { [ Cyrillic_che, Cyrillic_CHE ] };
  227. key <AE12> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
  228. };
  229. partial alphanumeric_keys
  230. xkb_symbols "phonetic_YAZHERTY" {
  231. include "ru(phonetic_winkeys)"
  232. name[Group1]= "Russian (phonetic, YAZHERTY)";
  233. key <LatW> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
  234. key <LatV> { [ Cyrillic_ve, Cyrillic_VE ] };
  235. };
  236. partial alphanumeric_keys
  237. xkb_symbols "tt" {
  238. include "ru(winkeys)"
  239. name[Group1]= "Tatar";
  240. key.type[group1]="FOUR_LEVEL";
  241. key <TLDE> { [ Cyrillic_shha, Cyrillic_SHHA, Cyrillic_io, Cyrillic_IO ] };
  242. key <AD02> { [ Cyrillic_o_bar, Cyrillic_O_bar, Cyrillic_tse, Cyrillic_TSE ] };
  243. key <AD09> { [ Cyrillic_schwa, Cyrillic_SCHWA, Cyrillic_shcha, Cyrillic_SHCHA ] };
  244. key <AD12> { [ Cyrillic_u_straight, Cyrillic_U_straight, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
  245. key <AC10> { [ Cyrillic_en_descender, Cyrillic_EN_descender, Cyrillic_zhe, Cyrillic_ZHE ] };
  246. key <AB07> { [ Cyrillic_zhe_descender, Cyrillic_ZHE_descender, Cyrillic_softsign, Cyrillic_SOFTSIGN ] };
  247. include "level3(ralt_switch)"
  248. };
  249. partial alphanumeric_keys
  250. xkb_symbols "os_legacy" {
  251. include "ru(common)"
  252. name[Group1]= "Ossetian (legacy)";
  253. key <TLDE> { [ Cyrillic_e, Cyrillic_E ] };
  254. key <AC07> { [ Cyrillic_o, Cyrillic_O, Cyrillic_io, Cyrillic_IO ] };
  255. key <AC11> { [ 0x010004D5, 0x010004D4 ] };
  256. };
  257. partial alphanumeric_keys
  258. xkb_symbols "os_winkeys" {
  259. include "ru(winkeys)"
  260. name[Group1]= "Ossetian (Windows)";
  261. key <TLDE> { [ Cyrillic_e, Cyrillic_E ] };
  262. key <AC07> { [ Cyrillic_o, Cyrillic_O, Cyrillic_io, Cyrillic_IO ] };
  263. key <AC11> { [ 0x010004D5, 0x010004D4 ] };
  264. };
  265. partial alphanumeric_keys
  266. xkb_symbols "cv" {
  267. include "ru(winkeys)"
  268. name[Group1]= "Chuvash";
  269. key.type[group1]="FOUR_LEVEL";
  270. key <AD03> { [ Cyrillic_u, Cyrillic_U, 0x010004f3, 0x010004f2 ] };
  271. key <AD05> { [ Cyrillic_ie, Cyrillic_IE, 0x010004d7, 0x010004d6 ] };
  272. key <AC04> { [ Cyrillic_a, Cyrillic_A, 0x010004d1, 0x010004d0 ] };
  273. key <AB03> { [ Cyrillic_es, Cyrillic_ES, 0x010004ab, 0x010004aa ] };
  274. include "level3(ralt_switch)"
  275. };
  276. partial alphanumeric_keys
  277. xkb_symbols "udm" {
  278. include "ru(winkeys)"
  279. name[Group1]= "Udmurt";
  280. key.type[group1]="FOUR_LEVEL";
  281. key <AE01> { [ question, exclam, 1, 1 ] };
  282. key <AE02> { [ parenleft, quotedbl, 2, 2 ] };
  283. key <AE03> { [ parenright, numerosign, 3, 3 ] };
  284. key <AE04> { [ colon, semicolon, 4, 4 ] };
  285. key <AE05> { [ asterisk, percent, 5, 5 ] };
  286. key <AE06> { [ 0x010004dd, 0x010004dc, 6, 6 ] };
  287. key <AE07> { [ 0x010004e7, 0x010004e6, 7, 7 ] };
  288. key <AE08> { [ 0x010004f5, 0x010004f4, 8, 8 ] };
  289. key <AE09> { [ 0x010004e5, 0x010004e4, 9, 9 ] };
  290. key <AE10> { [ 0x010004df, 0x010004de, 0, 0 ] };
  291. include "level3(ralt_switch)"
  292. };
  293. partial alphanumeric_keys
  294. xkb_symbols "cv_latin" {
  295. include "us(alt-intl)"
  296. name[Group1]= "Chuvash (Latin)";
  297. key.type[group1]="FOUR_LEVEL";
  298. key <AD01> { [ q, Q, 0x01000161, 0x01000160 ] };
  299. key <AD02> { [ w, W, udiaeresis, Udiaeresis ] };
  300. key <AD03> { [ e, E, 0x01000115, 0x01000114 ] };
  301. key <AD07> { [ u, U, udiaeresis, Udiaeresis ] };
  302. key <AD08> { [ i, I, 0x0100012d, 0x0100012c ] };
  303. key <AD09> { [ o, O, odiaeresis, Odiaeresis ] };
  304. key <AC01> { [ a, A, abreve, Abreve ] };
  305. key <AC02> { [ s, S, scedilla, Scedilla ] };
  306. key <AC05> { [ g, G, gbreve, Gbreve ] };
  307. key <AC07> { [ j, J, 0x01000131, 0x01000130 ] };
  308. key <AB03> { [ c, C, ccedilla, Ccedilla ] };
  309. include "level3(ralt_switch)"
  310. };
  311. // Komi language layout
  312. // Vlad Shakhov <lumpen.intellectual@gmail.com>
  313. // last changes 2007/10/23
  314. partial alphanumeric_keys
  315. xkb_symbols "kom" {
  316. include "ru(winkeys)"
  317. name[Group1]= "Komi";
  318. key.type[group1]="FOUR_LEVEL_ALPHABETIC";
  319. // cyrilllic o with diaeresis
  320. key <AC07> { [ Cyrillic_o, Cyrillic_O, U04E7, U04E6 ] };
  321. // hard I as additional key for soft Cyrillic_I
  322. key <AB05> { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] };
  323. include "level3(ralt_switch)"
  324. };
  325. // Yakut language layout
  326. // 2008/04/23 Yakov Aleksandrov <bertjickty@yandex.ru>
  327. // 2008/04/23 Anatoliy Zhozhikov <jav@sitc.ru>
  328. // 2008/04/23 Aleksandr Varlamov
  329. partial alphanumeric_keys
  330. xkb_symbols "sah" {
  331. include "ru(winkeys)"
  332. name[Group1]= "Yakut";
  333. key.type[group1]="FOUR_LEVEL_ALPHABETIC";
  334. key <TLDE> { [ Cyrillic_io, Cyrillic_IO, U04EB, U04EA ] };
  335. key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, U048B, U048A ] };
  336. key <AD03> { [ Cyrillic_u, Cyrillic_U, Cyrillic_u_straight, Cyrillic_U_straight ] };
  337. key <AD04> { [ Cyrillic_ka, Cyrillic_KA, U04C4, U04C3 ] };
  338. key <AD06> { [ Cyrillic_en, Cyrillic_EN, U04A5, U04A4 ] };
  339. key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, U0495, U0494 ] };
  340. key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, U04E1, U04E0 ] };
  341. key <AD11> { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_shha, Cyrillic_SHHA ] };
  342. key <AC07> { [ Cyrillic_o, Cyrillic_O, Cyrillic_o_bar, Cyrillic_O_bar ] };
  343. key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, U0461, U0460 ] };
  344. key <AB02> { [ Cyrillic_che, Cyrillic_CHE, Cyrillic_u_macron, Cyrillic_U_macron ] };
  345. key <AB04> { [ Cyrillic_em, Cyrillic_EM, U04C8, U04C7 ] };
  346. key <AB05> { [ Cyrillic_i, Cyrillic_I, Cyrillic_i_macron, Cyrillic_I_macron ] };
  347. include "level3(ralt_switch)"
  348. };
  349. //Kalmyk language layout
  350. //based on the Kalmyk language layout: http://soft.oyrat.org/
  351. //Nikolay Korneev <halmg@oyrat.org>
  352. //Toli Miron <mirontoli@gmail.com>
  353. partial alphanumeric_keys
  354. xkb_symbols "xal" {
  355. include "ru(winkeys)"
  356. name[Group1]= "Kalmyk";
  357. key.type[group1]="FOUR_LEVEL";
  358. key <AE01> { [ question, exclam, 1 ] };
  359. key <AE02> { [ numerosign, quotedbl, 2 ] };
  360. key <AE03> { [ Cyrillic_u_straight, Cyrillic_U_straight, 3 ] };
  361. key <AE04> { [ Cyrillic_schwa, Cyrillic_SCHWA, 4 ] };
  362. key <AE05> { [ asterisk, percent, 5 ] };
  363. key <AE06> { [ Cyrillic_en_descender, Cyrillic_EN_descender, 6 ] };
  364. key <AE07> { [ Cyrillic_o_bar, Cyrillic_O_bar, 7 ] };
  365. key <AE08> { [ Cyrillic_shha, Cyrillic_SHHA, 8 ] };
  366. key <AE09> { [ Cyrillic_zhe_descender, Cyrillic_ZHE_descender, 9 ] };
  367. key <AE10> { [ semicolon, colon, 0 ] };
  368. key <TLDE> { [ parenleft, parenright, Cyrillic_io, Cyrillic_IO ] };
  369. key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, dollar ] };
  370. key <AD03> { [ Cyrillic_u, Cyrillic_U, EuroSign ] };
  371. key <AD04> { [ Cyrillic_ka, Cyrillic_KA, registered ] };
  372. key <AD05> { [ Cyrillic_ie, Cyrillic_IE, trademark ] };
  373. key <AD11> { [ Cyrillic_ha, Cyrillic_HA, bracketleft ] };
  374. key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, bracketright ] };
  375. key <AC11> { [ Cyrillic_e, Cyrillic_E, apostrophe ] };
  376. key <AB03> { [ Cyrillic_es, Cyrillic_ES, copyright ] };
  377. key <AB08> { [ Cyrillic_be, Cyrillic_BE, less ] };
  378. key <AB09> { [ Cyrillic_yu, Cyrillic_YU, greater ] };
  379. include "level3(ralt_switch)"
  380. };
  381. partial alphanumeric_keys
  382. xkb_symbols "dos" {
  383. include "ru(common)"
  384. name[Group1]= "Russian (DOS)";
  385. key <TLDE> { [ parenright, parenleft ] };
  386. key <AE04> { [ 4, currency ] };
  387. key <AE09> { [ 9, question ] };
  388. key <AE10> { [ 0, percent ] };
  389. key <AB10> { [ Cyrillic_io, Cyrillic_IO ] };
  390. };
  391. partial alphanumeric_keys
  392. xkb_symbols "bak" {
  393. include "ru(winkeys)"
  394. name[Group1]= "Bashkirian";
  395. key.type[group1]="FOUR_LEVEL";
  396. key <TLDE> { [ Cyrillic_schwa, Cyrillic_SCHWA, Cyrillic_io, Cyrillic_IO ] };
  397. key <AE01> { [ exclam, quotedbl, 1, 1 ] };
  398. key <AE02> { [ Cyrillic_o_bar, Cyrillic_O_bar, 2, 2 ] };
  399. key <AE03> { [ 0x010004a1, 0x010004a0, 3, 3 ] };
  400. key <AE04> { [ Cyrillic_ghe_bar, Cyrillic_GHE_bar, 4, 4 ] };
  401. key <AE05> { [ 0x010004ab, 0x010004aa, 5, 5 ] };
  402. key <AE06> { [ colon, semicolon, 6, 6 ] };
  403. key <AE07> { [ 0x01000499, 0x01000498, 7, 7 ] };
  404. key <AE08> { [ Cyrillic_shha, Cyrillic_SHHA, 8, 8 ] };
  405. key <AE09> { [ question, parenleft, 9, 9 ] };
  406. key <AE10> { [ numerosign, parenright, 0, 0 ] };
  407. key <AE11> { [ minus, percent, minus, underscore ] };
  408. key <AE12> { [ Cyrillic_u_straight, Cyrillic_U_straight, equal, plus ] };
  409. key <BKSL> { [ Cyrillic_en_descender, Cyrillic_EN_descender, backslash, slash ] };
  410. include "level3(ralt_switch)"
  411. };
  412. // Serbian characters are added as third-level symbols to Russian keyboard layout.
  413. partial alphanumeric_keys
  414. xkb_symbols "srp" {
  415. include "ru(common)"
  416. name[Group1]= "Serbian (Russia)";
  417. key <AE03> { [ 3, numerosign ] };
  418. key <AE04> { [ 4, semicolon ] };
  419. key <AE05> { [ 5, percent ] };
  420. key <AE06> { [ 6, colon ] };
  421. key <AE07> { [ 7, question ] };
  422. key <AE08> { [ 8, asterisk ] };
  423. key <AB10> { [ period, comma ] };
  424. key <BKSL> { [ backslash, slash ] };
  425. key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, U458, U408 ] };
  426. key <AD06> { [ Cyrillic_en, Cyrillic_EN, U45A, U40A ] };
  427. key <AC08> { [ Cyrillic_el, Cyrillic_EL, U459, U409 ] };
  428. key <AC09> { [ Cyrillic_de, Cyrillic_DE, U45F, U40F ] };
  429. key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, U452, U402 ] };
  430. key <AB02> { [ Cyrillic_che, Cyrillic_CHE, U45B, U40B ] };
  431. include "level3(ralt_switch)"
  432. };
  433. // Mari language layout
  434. // http://www.marlamuter.com/
  435. // Last edit by Viatcheslav Kileev (slavakileev@yandex.ru)
  436. partial alphanumeric_keys
  437. xkb_symbols "chm" {
  438. include "ru(winkeys)"
  439. name[Group1]= "Mari";
  440. key.type[group1]="FOUR_LEVEL_ALPHABETIC";
  441. key <AC04> { [ Cyrillic_a, Cyrillic_A, U04D3, U04D2 ] };
  442. key <AD03> { [ Cyrillic_u, Cyrillic_U, U04F1, U04F0 ] };
  443. key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, U04F9, U04F8 ] };
  444. key <AD06> { [ Cyrillic_en, Cyrillic_EN, U04A5, U04A4 ] };
  445. key <AC07> { [ Cyrillic_o, Cyrillic_O, U04E7, U04E6 ] };
  446. include "level3(ralt_switch)"
  447. };
  448. partial alphanumeric_keys
  449. xkb_symbols "phonetic_azerty" {
  450. include "level3(ralt_switch)"
  451. name[Group1]= "Russian (phonetic, AZERTY)";
  452. key <AE01> { [ ampersand, 1, onesuperior, exclamdown ] };
  453. key <AE02> { [ eacute, 2, asciitilde, oneeighth ] };
  454. key <AE03> { [ quotedbl, 3, numbersign, sterling ] };
  455. key <AE04> { [apostrophe, 4, braceleft, dollar ] };
  456. key <AE05> { [ parenleft, 5, bracketleft, threeeighths ] };
  457. key <AE06> { [ minus, 6, bar, fiveeighths ] };
  458. key <AE07> { [ egrave, 7, grave, seveneighths ] };
  459. key <AE08> { [underscore, 8, backslash, trademark ] };
  460. key <AE09> { [ ccedilla, 9, asciicircum, plusminus ] };
  461. key <AE10> { [ agrave, 0, at, degree ] };
  462. key <AE11> { [parenright, degree, bracketright, questiondown ] };
  463. key <AE12> { [ equal, plus, braceright, dead_ogonek ] };
  464. key <AB07> { [ comma, question, acute, doubleacute ] };
  465. key <AB08> { [ semicolon, period, U2022, multiply ] }; // bullet
  466. key <AB09> { [ colon, slash, periodcentered, division ] };
  467. key <AB10> { [ exclam, section, dead_belowdot, dead_abovedot ] };
  468. key <AC11> { [ ugrave, percent, asciicircum, caron ] };
  469. key <LSGT> { [ bar, brokenbar ] };
  470. key <TLDE> { [ Cyrillic_yu, Cyrillic_YU ] };
  471. key <AC01> { [ Cyrillic_ya, Cyrillic_YA ] }; // Q
  472. key <AD02> { [ Cyrillic_ze, Cyrillic_ZE ] }; // Z
  473. key <LatS> { [ Cyrillic_es, Cyrillic_ES ] };
  474. key <AD01> { [ Cyrillic_a, Cyrillic_A ] };
  475. key <AB01> { [ Cyrillic_ve, Cyrillic_VE ] }; // W
  476. key <LatC> { [ Cyrillic_tse, Cyrillic_TSE ] };
  477. key <LatX> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
  478. key <LatD> { [ Cyrillic_de, Cyrillic_DE ] };
  479. key <LatE> { [ Cyrillic_ie, Cyrillic_IE ] };
  480. key <LatV> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
  481. key <LatF> { [ Cyrillic_ef, Cyrillic_EF ] };
  482. key <LatT> { [ Cyrillic_te, Cyrillic_TE ] };
  483. key <LatR> { [ Cyrillic_er, Cyrillic_ER ] };
  484. key <LatN> { [ Cyrillic_en, Cyrillic_EN ] };
  485. key <LatB> { [ Cyrillic_be, Cyrillic_BE ] };
  486. key <LatH> { [ Cyrillic_ha, Cyrillic_HA ] };
  487. key <LatG> { [ Cyrillic_ghe, Cyrillic_GHE ] };
  488. key <LatY> { [ Cyrillic_yeru, Cyrillic_YERU ] };
  489. key <AC10> { [ Cyrillic_em, Cyrillic_EM ] }; // M
  490. key <LatJ> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
  491. key <LatU> { [ Cyrillic_u, Cyrillic_U ] };
  492. key <LatK> { [ Cyrillic_ka, Cyrillic_KA ] };
  493. key <LatI> { [ Cyrillic_i, Cyrillic_I ] };
  494. key <LatO> { [ Cyrillic_o, Cyrillic_O ] };
  495. key <LatL> { [ Cyrillic_el, Cyrillic_EL ] };
  496. key <LatP> { [ Cyrillic_pe, Cyrillic_PE ] };
  497. key <AD11> { [ Cyrillic_sha, Cyrillic_SHA ] };
  498. key <AE12> { [ Cyrillic_che, Cyrillic_CHE ] };
  499. key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
  500. key <BKSL> { [ Cyrillic_e, Cyrillic_E ] };
  501. };
  502. // Russian dvorak phonetic layout
  503. // Oleg Zalizniak <ramaloke at gmail.com>
  504. partial alphanumeric_keys
  505. xkb_symbols "phonetic_dvorak" {
  506. include "level3(ralt_switch)"
  507. name[Group1]= "Russian (phonetic, Dvorak)";
  508. key <TLDE> { [ Cyrillic_yu, Cyrillic_YU ] };
  509. key <AE01> { [ 1, exclam ] };
  510. key <AE02> { [ 2, at ] };
  511. key <AE03> { [ 3, Cyrillic_io ] };
  512. key <AE04> { [ 4, Cyrillic_IO ] };
  513. key <AE05> { [ 5, Cyrillic_hardsign ] };
  514. key <AE06> { [ 6, Cyrillic_HARDSIGN ] };
  515. key <AE07> { [ 7, ampersand ] };
  516. key <AE08> { [ 8, asterisk ] };
  517. key <AE09> { [ 9, parenleft ] };
  518. key <AE10> { [ 0, parenright ] };
  519. key <AE11> { [ Cyrillic_sha, Cyrillic_SHA ] };
  520. key <AE12> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
  521. key <BKSL> { [ Cyrillic_e, Cyrillic_E ] };
  522. key <AD01> { [ apostrophe, quotedbl, dead_acute, dead_diaeresis ] };
  523. key <AD02> { [ comma, less, dead_cedilla, dead_caron ] };
  524. key <AD03> { [ period, greater, dead_abovedot, periodcentered ] };
  525. key <AD04> { [ Cyrillic_pe, Cyrillic_PE ] };
  526. key <AD05> { [ Cyrillic_yeru, Cyrillic_YERU ] };
  527. key <AD06> { [ Cyrillic_ef, Cyrillic_EF ] };
  528. key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE ] };
  529. key <AD08> { [ Cyrillic_tse, Cyrillic_TSE ] };
  530. key <AD09> { [ Cyrillic_er, Cyrillic_ER ] };
  531. key <AD10> { [ Cyrillic_el, Cyrillic_EL ] };
  532. key <AD11> { [ slash, question ] };
  533. key <AD12> { [ Cyrillic_che, Cyrillic_CHE ] };
  534. key <AC01> { [ Cyrillic_a, Cyrillic_A ] };
  535. key <AC02> { [ Cyrillic_o, Cyrillic_O ] };
  536. key <AC03> { [ Cyrillic_ie, Cyrillic_IE ] };
  537. key <AC04> { [ Cyrillic_u, Cyrillic_U ] };
  538. key <AC05> { [ Cyrillic_i, Cyrillic_I ] };
  539. key <AC06> { [ Cyrillic_de, Cyrillic_DE ] };
  540. key <AC07> { [ Cyrillic_ha, Cyrillic_HA ] };
  541. key <AC08> { [ Cyrillic_te, Cyrillic_TE ] };
  542. key <AC09> { [ Cyrillic_en, Cyrillic_EN ] };
  543. key <AC10> { [ Cyrillic_es, Cyrillic_ES ] };
  544. key <AC11> { [ minus, underscore ] };
  545. key <AB01> { [ semicolon, colon, dead_ogonek, dead_doubleacute ] };
  546. key <AB02> { [ Cyrillic_ya, Cyrillic_YA ] };
  547. key <AB03> { [ Cyrillic_shorti, Cyrillic_SHORTI ] };
  548. key <AB04> { [ Cyrillic_ka, Cyrillic_KA ] };
  549. key <AB05> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
  550. key <AB06> { [ Cyrillic_be, Cyrillic_BE ] };
  551. key <AB07> { [ Cyrillic_em, Cyrillic_EM ] };
  552. key <AB08> { [ Cyrillic_ve, Cyrillic_VE ] };
  553. key <AB09> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
  554. key <AB10> { [ Cyrillic_ze, Cyrillic_ZE ] };
  555. };
  556. partial alphanumeric_keys
  557. xkb_symbols "phonetic_fr" {
  558. include "fr"
  559. include "ru(phonetic_azerty)"
  560. name[Group1]= "Russian (phonetic, French)";
  561. };
  562. // Keyboard layout for Abkhazian.
  563. // 2022/04/13 by Nart Tlisha <daniel.abzakh@gmail.com>
  564. partial alphanumeric_keys
  565. xkb_symbols "ab" {
  566. include "ru(common)"
  567. name[Group1]= "Abkhazian (Russia)";
  568. key <TLDE> { [ U0301, asciitilde, U201C, U201D ] }; // double quotation marks
  569. key <AE01> { [ 1, exclam, U00AB, U00BB ] }; // guillemets
  570. key <AE02> { [ 2, at, quotedbl, U201E ] }; // low double quotation mark
  571. key <AE03> { [ 3, numbersign, numerosign ] };
  572. key <AE04> { [ 4, dollar, semicolon ] };
  573. key <AE05> { [ 5, percent ] };
  574. key <AE06> { [ 6, asciicircum, colon ] };
  575. key <AE07> { [ 7, ampersand, question ] };
  576. key <AE08> { [ 8, asterisk ] };
  577. key <AE09> { [ 9, parenleft, bracketleft, braceleft ] };
  578. key <AE10> { [ 0, parenright, bracketright, braceright ] };
  579. key <AE11> { [ minus, underscore, U2013, U2014 ] }; // endash, emdash
  580. key <AD01> { [ U049f, U049e ] };
  581. key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, U04b5, U04b4 ] };
  582. key <AD04> { [ Cyrillic_ka, Cyrillic_KA, U049b, U049a ] };
  583. key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, U04f7, U04f6 ] };
  584. key <AD09> { [ U04d9, U04d8 ] };
  585. key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, U04e1, U04e0 ] };
  586. key <AD11> { [ Cyrillic_ha, Cyrillic_HA, U04b3, U04b2 ] };
  587. key <AD12> { [ U04bf, U04be ] };
  588. key <AC05> { [ Cyrillic_pe, Cyrillic_PE, U0525, U0524 ] };
  589. key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, semicolon, colon ] };
  590. key <AC11> { [ U04bd, U04bc, apostrophe, quotedbl ] };
  591. key <BKSL> { [ backslash, bar, slash ] };
  592. key <AB01> { [ U045f, U040f ] };
  593. key <AB02> { [ Cyrillic_che, Cyrillic_CHE, U04b7, U04b6 ] };
  594. key <AB06> { [ Cyrillic_te, Cyrillic_TE, U04ad, U04ac ] };
  595. key <AB08> { [ Cyrillic_be, Cyrillic_BE, comma, less ] };
  596. key <AB09> { [ U04a9, U04a8, period, greater ] };
  597. key <AB10> { [ slash, question, comma, period ] };
  598. include "level3(ralt_switch)"
  599. };
  600. // EXTRAS:
  601. // Rulemak, Colemak based Russian phonetic layout
  602. // contact: Geert Hendrickx <geert@hendrickx.be>
  603. // http://forum.colemak.com/viewtopic.php?id=519
  604. //
  605. // ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
  606. // │ Ё ``│ ! ˝ │ @ │ № │ $ │ % │ ^ ¯ │ & │ * ₴ │ ( │ ) │ _ — │ Ъ + ┃ ⌫ ┃
  607. // │ ё ` │ 1 ´ │ 2 ¨ │ 3 # │ 4 ¢ │ 5 € │ 6 ˘ │ 7 │ 8 ₽ │ 9 [ │ 0 ] │ - – │ ъ = ┃Backspace┃
  608. // ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
  609. // ┃ ┃ Я Ѣ │ Ж Ѵ │ Ф Ѳ │ П │ Г Ґ │ й Ј │ Л Љ │ У Ў │ Ы Ї │ Ю : │ Ш { │ Щ } ┃ Enter ┃
  610. // ┃ Tab ↹ ┃ я ѣ │ ж ѵ │ ф ѳ │ п │ г ґ │ й ј │ л љ │ у ў │ ы ї │ ю ; │ ш « │ щ » ┃ ⏎ ┃
  611. // ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
  612. // ┃ ⌫ Back ┃ А │ Р │ С │ Т Ћ │ Д Ђ │ Ч Џ │ Н Њ │ Е Є │ И І │ О │ Ь " │ Э | ┃ ┃
  613. // ┃ space ┃ а │ р │ с │ т ћ │ д ђ │ ч џ │ н њ │ е є │ и і │ о │ ь ' │ э \ ┃ ┃
  614. // ┣━━━━━━━━┻━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┲━━━┷━━━━━┻━━━━━━┫
  615. // ┃ ┃ З Ѕ │ Х │ Ц │ В │ Б Ѓ │ К Ќ │ М │ ; │ : │ ? Ӏ ┃ ┃
  616. // ┃ Shift ⇧ ┃ з ѕ │ х │ ц │ в │ б ѓ │ к ќ │ м │ , < │ . > │ / ӏ ┃ Shift ⇧ ┃
  617. // ┣━━━━━━━┳━━┻━━━━┳┷━━━━━┷┱────┴─────┴─────┴─────┴─────┴─────┴┲━━━━┷━━┳━━┻━━━━┳━━━━━━━┳━━━┛
  618. // ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
  619. // ┃ Ctrl ┃ Meta ┃ Alt ┃ Space ┃AltGr ⇮┃ Menu ┃ Ctrl ┃
  620. // ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
  621. partial alphanumeric_keys
  622. xkb_symbols "rulemak" {
  623. name[Group1]= "Russian (Rulemak, phonetic Colemak)";
  624. key <TLDE> { [ Cyrillic_io, Cyrillic_IO, U0300, U030F ] }; // Combining grave, double grave
  625. key <AE01> { [ 1, exclam, U0301, U030B ] }; // Combining acute, double acute
  626. key <AE02> { [ 2, at, U0308 ] }; // Combining diaeresis
  627. key <AE03> { [ 3, numerosign, numbersign ] };
  628. key <AE04> { [ 4, dollar, cent ] };
  629. key <AE05> { [ 5, percent, EuroSign ] };
  630. key <AE06> { [ 6, asciicircum, U0306, U0304 ] }; // Combining breve, macron
  631. key <AE07> { [ 7, ampersand ] };
  632. key <AE08> { [ 8, asterisk, U20BD, U20B4 ] }; // ruble, hryvnia
  633. key <AE09> { [ 9, parenleft, bracketleft ] };
  634. key <AE10> { [ 0, parenright, bracketright ] };
  635. key <AE11> { [ minus, underscore, endash, emdash ] };
  636. key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, equal, plus ] };
  637. key <AD01> { [ Cyrillic_ya, Cyrillic_YA, U0463, U0462 ] }; // yat
  638. key <AD02> { [ Cyrillic_zhe, Cyrillic_ZHE, U0475, U0474 ] }; // izhitsa
  639. key <AD03> { [ Cyrillic_ef, Cyrillic_EF, U0473, U0472 ] }; // fita
  640. key <AD04> { [ Cyrillic_pe, Cyrillic_PE ] };
  641. key <AD05> { [ Cyrillic_ghe, Cyrillic_GHE, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
  642. key <AD06> { [ Cyrillic_shorti, Cyrillic_SHORTI, Cyrillic_je, Cyrillic_JE ] };
  643. key <AD07> { [ Cyrillic_el, Cyrillic_EL, Cyrillic_lje, Cyrillic_LJE ] };
  644. key <AD08> { [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ] };
  645. key <AD09> { [ Cyrillic_yeru, Cyrillic_YERU, Ukrainian_yi, Ukrainian_YI ] };
  646. key <AD10> { [ Cyrillic_yu, Cyrillic_YU, semicolon, colon ] };
  647. key <AD11> { [ Cyrillic_sha, Cyrillic_SHA, guillemotleft, braceleft ] };
  648. key <AD12> { [ Cyrillic_shcha, Cyrillic_SHCHA, guillemotright, braceright ] };
  649. key <BKSL> { [ Cyrillic_e, Cyrillic_E, backslash, bar ] };
  650. key <AC01> { [ Cyrillic_a, Cyrillic_A ] };
  651. key <AC02> { [ Cyrillic_er, Cyrillic_ER ] };
  652. key <AC03> { [ Cyrillic_es, Cyrillic_ES ] };
  653. key <AC04> { [ Cyrillic_te, Cyrillic_TE, Serbian_tshe, Serbian_TSHE ] };
  654. key <AC05> { [ Cyrillic_de, Cyrillic_DE, Serbian_dje, Serbian_DJE ] };
  655. key <AC06> { [ Cyrillic_che, Cyrillic_CHE, Cyrillic_dzhe, Cyrillic_DZHE ] };
  656. key <AC07> { [ Cyrillic_en, Cyrillic_EN, Cyrillic_nje, Cyrillic_NJE ] };
  657. key <AC08> { [ Cyrillic_ie, Cyrillic_IE, Ukrainian_ie, Ukrainian_IE ] };
  658. key <AC09> { [ Cyrillic_i, Cyrillic_I, Ukrainian_i, Ukrainian_I ] };
  659. key <AC10> { [ Cyrillic_o, Cyrillic_O ] };
  660. key <AC11> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, apostrophe, quotedbl ] };
  661. key <AB01> { [ Cyrillic_ze, Cyrillic_ZE, Macedonia_dse, Macedonia_DSE ] };
  662. key <AB02> { [ Cyrillic_ha, Cyrillic_HA ] };
  663. key <AB03> { [ Cyrillic_tse, Cyrillic_TSE ] };
  664. key <AB04> { [ Cyrillic_ve, Cyrillic_VE ] };
  665. key <AB05> { [ Cyrillic_be, Cyrillic_BE, Macedonia_gje, Macedonia_GJE ] };
  666. key <AB06> { [ Cyrillic_ka, Cyrillic_KA, Macedonia_kje, Macedonia_KJE ] };
  667. key <AB07> { [ Cyrillic_em, Cyrillic_EM ] };
  668. key <AB08> { [ comma, semicolon, less ] };
  669. key <AB09> { [ period, colon, greater ] };
  670. key <AB10> { [ slash, question, U04CF, U04C0 ] }; // palochka
  671. key <LSGT> { [ equal, plus, multiply, division ] };
  672. include "level3(ralt_switch)"
  673. include "capslock(backspace)"
  674. include "nbsp(level4)"
  675. };
  676. // Church Slavonic language layout
  677. // based on the Russian standard keyboard
  678. // by Aleksandr Andreev and Yuri Shardt
  679. // last changes 2010/08/01; contact <aleksandr.andreev@gmail.com>
  680. partial alphanumeric_keys
  681. xkb_symbols "chu" {
  682. name[Group1]= "Church Slavonic";
  683. key <TLDE> { [ Ukrainian_yi, Ukrainian_YI, U0482, U20DD ] }; // ї Ї ҂ e.g: а⃝ where the last is a combining ten thousands sign
  684. key <AE01> { [ U0461, U0460, U047D, U047C ] }; // ѡ Ѡ ѽ Ѽ
  685. key <AE02> { [ Ukrainian_ie, Ukrainian_IE, U0465, U0464 ] }; // є Є ѥ Ѥ
  686. key <AE03> { [ U046F, U046E, U0469, U0468 ] }; // ѯ Ѯ ѩ Ѩ
  687. key <AE04> { [ U0471, U0470, U046D, U046C ] }; // ѱ Ѱ ѭ Ѭ
  688. key <AE05> { [ U0473, U0472, UA657, UA656 ] }; // ѳ Ѳ iotified A
  689. key <AE06> { [ U0475, U0474, U0477, U0476 ] }; // ѵ Ѵ ѷ Ѷ
  690. key <AE07> { [ U047B, U047A, UA64D, UA64C ] }; // ѻ Ѻ ꙍ Ꙍ
  691. key <AE08> { [ U047F, U047E, U046B, U046A ] }; // ѿ Ѿ ѫ Ѫ
  692. key <AE09> { [ Macedonia_dse, Macedonia_DSE, parenleft, asterisk ] }; // ѕ Ѕ ( *
  693. key <AE10> { [ Cyrillic_u, Cyrillic_U, parenright, U0488]}; // у У ) NB: for digraph Ouk, use Cyrillic_o + Cyrillic_u
  694. key <AE11> { [ U0483, U0486, U0487, U005F ] }; // а҃ а҆ а҇, _ (titlo, psili, pokrytie, underscore)
  695. key <AE12> { [ U0301, U0300, U0484, UA67E ] }; // а̀ а́ а҄ ꙾ (oxia, varia, kamora, kavyka)
  696. key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, Ukrainian_i ] };
  697. key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, U2DF0 ] };
  698. key <AD03> { [ UA64B, UA64A, U2DF9 ] }; // Cyrillic monograph Uk (not U)!
  699. key <AD04> { [ Cyrillic_ka, Cyrillic_KA, U2DE6 ] };
  700. key <AD05> { [ Cyrillic_ie, Cyrillic_IE, U2DF7 ] };
  701. key <AD06> { [ Cyrillic_en, Cyrillic_EN, U2DE9 ] };
  702. key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, U2DE2 ] };
  703. key <AD08> { [ Cyrillic_sha, Cyrillic_SHA, U2DF2 ] };
  704. key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA, U2DF3 ] };
  705. key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, U2DE5 ] };
  706. key <AD11> { [ Cyrillic_ha, Cyrillic_HA, U2DEF ] };
  707. key <AD12> { [Cyrillic_hardsign,Cyrillic_HARDSIGN, UA67D ] }; // Payerok
  708. key <BKSL> { [ backslash, slash, colon, question ] }; // \ / : ? NB: for Slavonic question, use semicolon
  709. key <AC01> { [ Cyrillic_ef, Cyrillic_EF ] };
  710. key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU ] };
  711. key <AC03> { [ Cyrillic_ve, Cyrillic_VE, U2DE1 ] };
  712. key <AC04> { [ Cyrillic_a, Cyrillic_A, U2DF6 ] };
  713. key <AC05> { [ Cyrillic_pe, Cyrillic_PE, U2DEB ] };
  714. key <AC06> { [ Cyrillic_er, Cyrillic_ER, U2DEC ] };
  715. key <AC07> { [ Cyrillic_o, Cyrillic_O, U2DEA ] };
  716. key <AC08> { [ Cyrillic_el, Cyrillic_EL, U2DE7 ] };
  717. key <AC09> { [ Cyrillic_de, Cyrillic_DE, U2DE3 ] };
  718. key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, U2DE4 ] };
  719. key <AC11> { [ U0463, U0462, U2DFA ] }; // Yat
  720. key <AB01> { [ U0467, U0466, U2DFD ] }; // Small Yus
  721. key <AB02> { [ Cyrillic_che, Cyrillic_CHE, U2DF1 ] };
  722. key <AB03> { [ Cyrillic_es, Cyrillic_ES, U2DED ] };
  723. key <AB04> { [ Cyrillic_em, Cyrillic_EM, U2DE8 ] };
  724. key <AB05> { [ Cyrillic_i, Cyrillic_I ] };
  725. key <AB06> { [ Cyrillic_te, Cyrillic_TE, U2DEE ] };
  726. key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
  727. key <AB08> { [ Cyrillic_be, Cyrillic_BE, U2DE0 ] };
  728. key <AB09> { [ Cyrillic_yu, Cyrillic_YU, U2DFB ] };
  729. key <AB10> { [ period, comma, semicolon, exclam ] };
  730. };
  731. // RUU (Russian-Ukrainian United keyboard layout).
  732. // This is a modified Russian standard keyboard, with the third level containing
  733. // Ukrainian and Belorusian alphabetic letters and commonly used Unicode symbols.
  734. // For a description see http://wiki.opennet.ru/RUU [in Russian].
  735. // Vasyĺ V. Vercynśkyj <fuckel@ukr.net>
  736. // last changes 2011/05/11
  737. //
  738. // ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━┓
  739. // │ ' ~ │ ! ≈ │ " ∞ │ № ₴ │ ; € │ % ‰ │ : ≤ │ ? ≥ │ * × │ ( { │ ) } │ _ – │ + ± ┃ ⌫ ┃
  740. // │ ’ ́ │ 1 ÷ │ 2 ¤ │ 3 § │ 4 $ │ 5 ° │ 6 < │ 7 > │ 8 • │ 9 [ │ 0 ] │ - — │ = ≠ ┃Backspace┃
  741. // ┢━━━━━┷━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺━┳━━━━━━━┫
  742. // ┃ ┃ Й │ Ц │ У Ў │ К │ Е Ё │ Н │ Г Ґ │ Ш │ Щ │ З │ Х │ Ъ Ї ┃ Enter ┃
  743. // ┃ Tab ↹ ┃ й │ ц │ у ў │ к ® │ е ё │ н │ г ґ │ ш │ щ │ з │ х │ ъ ї ┃ ⏎ ┃
  744. // ┣━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
  745. // ┃ Caps ┃ Ф │ Ы І │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Э Є │ | ¦ ┃ ┃
  746. // ┃ Lock ⇬ ┃ ф │ ы і │ в │ а │ п │ р │ о │ л │ д │ ж │ э є │ / \ ┃ ┃
  747. // ┣━━━━━━━━┻━┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┲━━━┷━━━━━┻━━━━━━┫
  748. // ┃ ┃ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б „ │ Ю “ │ , … ┃ ┃
  749. // ┃ Shift ⇧ ┃ я │ ч │ с © │ м │ и │ т ™ │ ь µ │ б « │ ю » │ . / ┃ Shift ⇧ ┃
  750. // ┣━━━━━━━┳━━┻━━━━┳┷━━━━━┷┱────┴─────┴─────┴─────┴─────┴─────┴┲━━━━┷━━┳━━┻━━━━┳━━━━━━━┳━━━┛
  751. // ┃ ┃ ┃ ┃ ┃ ┃ ┃ ┃
  752. // ┃ Ctrl ┃ Meta ┃ Alt ┃ Space ┃AltGr ⇮┃ Menu ┃ Ctrl ┃
  753. // ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹───────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┛
  754. partial alphanumeric_keys
  755. xkb_symbols "ruu" {
  756. include "ru(common)"
  757. name[Group1]= "Russian (with Ukrainian-Belorussian layout)";
  758. key <TLDE> { [ U2019, apostrophe, U0301, asciitilde ] }; // Apostrophe and Stress symbol
  759. key <AE01> { [ 1, exclam, division, U2248 ] }; // Division Sign and Almost Equal To
  760. key <AE02> { [ 2, quotedbl, currency, infinity ] };
  761. key <AE03> { [ 3, numerosign, section, U20B4 ] }; // Paragraph and Hryvnia sign
  762. key <AE04> { [ 4, semicolon, dollar, EuroSign ] };
  763. key <AE05> { [ 5, percent, degree, permille ] };
  764. key <AE06> { [ 6, colon, less, lessthanequal ] };
  765. key <AE07> { [ 7, question, greater, greaterthanequal ] };
  766. key <AE08> { [ 8, asterisk,enfilledcircbullet,multiply ] };
  767. key <AE09> { [ 9, parenleft, bracketleft, braceleft ] };
  768. key <AE10> { [ 0, parenright, bracketright, braceright ] };
  769. key <AE11> { [ minus, underscore, emdash, endash ] };
  770. key <AE12> { [ equal, plus, notequal, plusminus ] };
  771. key <AD03> { [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ] };
  772. key <AD04> { [ Cyrillic_ka, Cyrillic_KA, registered ] };
  773. key <AD05> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] };
  774. key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };
  775. key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, paragraph ] };
  776. key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, Ukrainian_yi, Ukrainian_YI ] };
  777. key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, Ukrainian_i, Ukrainian_I ] };
  778. key <AC11> { [ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE ] };
  779. key <BKSL> { [ slash, bar, backslash, brokenbar ] };
  780. key <AB03> { [ Cyrillic_es, Cyrillic_ES, copyright ] };
  781. key <AB06> { [ Cyrillic_te, Cyrillic_TE, trademark ] };
  782. key <AB07> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, mu ] };
  783. key <AB08> { [ Cyrillic_be, Cyrillic_BE, guillemotleft, doublelowquotemark ] };
  784. key <AB09> { [ Cyrillic_yu, Cyrillic_YU, guillemotright, leftdoublequotemark ] };
  785. key <AB10> { [ period, comma, slash, ellipsis ] };
  786. include "level3(ralt_switch)"
  787. };
  788. partial alphanumeric_keys
  789. xkb_symbols "sun_type6" {
  790. include "sun_vndr/ru(sun_type6)"
  791. };
  792. // Apple layout
  793. partial alphanumeric_keys
  794. xkb_symbols "mac" {
  795. include "ru(common)"
  796. name[Group1]= "Russian (Macintosh)";
  797. key <LSGT> { [ less, greater ] };
  798. key <AE02> { [ 2, quotedbl ] };
  799. key <AE03> { [ 3, numerosign ] };
  800. key <AE04> { [ 4, percent ] };
  801. key <AE05> { [ 5, colon ] };
  802. key <AE06> { [ 6, comma ] };
  803. key <AE07> { [ 7, period ] };
  804. key <AE08> { [ 8, semicolon ] };
  805. key <TLDE> { [ bracketright, bracketleft ] };
  806. key <BKSL> { [ Cyrillic_io, Cyrillic_IO ] };
  807. key <AC06> { [ Cyrillic_er, Cyrillic_ER, U20BD ] };
  808. include "level3(ralt_switch)"
  809. };
  810. // eng: Russian-based polyglot and reactionary keyboard layout
  811. // This keyboard layout covers Russian in Petrine 1708 and Bolshevik 1918 variant spelling, Ukrainian, Belorussian, Serbian in its modern and Slavenoserbian variants, and Bulgarian and Slavomacedonian in pre-1945 and post-1945 spelling,
  812. // in short all in any dominion prevailing Cyrillic orthographies of modern secular Slavic literary languages, even with dictionary accentuation marks,
  813. // but also the most-widespread Church Slavonic spellings, that is all Church-Slavonic in so far as variants can be replaced without loss of meaning – not to speak of Interslavic.
  814. // Furthermore, it suffices Romanian Cyrillic, Moldovan Cyrillic, Abkhazian excluding the more clumsy obsoleted forms unlikely to find devotees, Tajik, all Turkic and Mongolic Cyrillic alphabets
  815. // and virtually all overlooked languages in Cyrillic reigns at least by combining characters, taking advantage of eight key levels.
  816. // This is withal a pan-Cyrillic keyboard layout, or a comprehensive Cyrillic keyboard layout, an universal Cyrillic keyboard layout, a generic Cyrillic keyboard layout.
  817. //
  818. // rus: Многоязыковая и реакціонная клавіатурная разкладка основана на русскихъ
  819. // Сія разкладка покрываетъ русскій въ петровскомъ правописаніи 1708-го года и большевицкомъ 1918-го, украинскій, бѣлорусскій въ современномъ и славяносербскомъ видѣ, и булгарскій и славомацедонскій въ писаніи до и послѣ 1945-го года,
  820. // короче всѣ въ какомъ-либо державствѣ преобладающія правописанія, то есть весь церкославянскій, поскольку какъ разные виды буквъ можно возмѣщать безъ потери значенія — не говоря о междуславянскомъ.
  821. // Свѣрхъ этого, она подходитъ къ румынской кириллицѣ, къ молдавской кириллицѣ, къ абхазскому за изключеніемъ неуклюжихъ устарѣлыхъ образовъ, у которыхъ невѣроятно что они вообще найдутъ поклонниковъ, къ таджикскому, къ всѣмъ тюрксимъ и монголскимъ кириллицамъ,
  822. // и по сути дѣла всѣмъ упущеннымъ языкамъ въ кириллическихъ правленіяхъ хотя бы соединящими сѵмволами, извлѣкая выгоду изъ восьми уровней клавишъ.
  823. // Тѣмъ всѣмъ сё всекириллическая клавіатурная разкладка, или всеобъемлющая кириллическая разкладка, или универсальная кириллическая разкладка клавіатуры.
  824. //
  825. // srp: Многојезиков и реакционаран распоред тастера основан на рускима
  826. // Овај распоред покрива руски у петровском правопису 1708-е године и бољшевичком 1918-е године, украјински, белоруски, српски у сувременом и славеносрпском виду, те бугарски и славомакедонски у писању до и после 1945-е године,
  827. // укратко све у некој држави преовлађујуће правописе, то је читав црквенословенски, пошто је могуће разне видове слова замењивати без губитка значења — не говорећи о меџусловенском.
  828. // Поврх овог, он одговара к румунској ћирилици, к молдавској ћирилици, к абхаскоме с изузетком гломазних застарелих ликова, уз које није вероватно да они најђу поклонике, к таџичкоме, к свим туркијским и монголским ћирилицима,
  829. // те у спровођењу свим испуштеним језицима у ћириличким господарствима бар са спајајућим симболима, искориштавајући осам ступњева тастера.
  830. // Тиме свим ово је свећирилички тастатуран распоред, или свеобухватан ћирилички распоред тастера, или свеопшти ћирилички тастатуран распоред.
  831. partial alphanumeric_keys
  832. xkb_symbols "prxn" {
  833. name[Group1]= "Russian (Polyglot and Reactionary)";
  834. key.type[Group1]="EIGHT_LEVEL";
  835. key <TLDE> { [ U2019, apostrophe, U0301, U0300, U2053, U2015, U02BC, asciitilde ] }; // Typographic Apostrophe, Apostrophe, Combining Acute, Combining Grave, Swung Dash, Quotation Dash, Modifier Letter Apostrophe, Tilde
  836. key <AE01> { [ 1, exclam, U0304, U0306, U0308, U0311, U0307, U0313 ] }; // 1, !, Combining Macron, Combining Breve, Combining Diaresis, Combining Inverted Breve, Combining Dot Above, Combining Comma Above
  837. key <AE02> { [ 2,quotedbl,numerosign, U20BF, U20B8, U20AE, U00A3, U20B9 ] }; // 2 " № ₿ ₸ ₮ £ ₹
  838. key <AE03> { [ 3, section, U20B4, currency, U20BD, U20AA, U20BC, U20BE ] }; // 3 § ₴ ¤ ₽ ₪ ₼ ₾
  839. key <AE04> { [ 4, semicolon, dollar, EuroSign, U0482, U20DD, U0488, U0489 ] }; // 4 ; $ € Thousands Sign, Combining Enclosing Circle, Combining Hundred Thousands, Combining Millions
  840. key <AE05> { [ 5, percent, degree, permille, UA670, UA671, UA672, UA66F ] }; // 5, %, °, ‰, Combinining Ten Millions, Combining Hundred Millions, Combining Thousand Millions, Combining Vzmet
  841. key <AE06> { [ 6, colon, U0335, U0336, U0483, U0487, UFE2E, UFE2F ] }; // 6, :, Combining Short Stroke Overlay, Combining Long Stroke Overlay, Combining Titlo, Combining Pokrytie, Combining Titlo Left Half, Combining Titlo Right Half
  842. key <AE07> { [ 7, question, U030B, U030F, U030C, U0303, U032C, U0360 ] }; // 7, ?, Combining Double Acute, Combining Double Grave, Combining Caron/Háček, Combining Tilde, Combining Caron/Háček Below, Combining Double Tilde
  843. key <AE08> { [ 8, asterisk, U0331, U0332, U0333, U032F, U032D, U032E ] }; // 8, *, Combining Macron Below, Combining Low Line, Combining Double Low Line, Combining Inverted Breve Below, Combining Circumflex Accent, Combining Breve Below
  844. key <AE09> { [ 9,parenleft, bracketleft, braceleft, U035F, U035D, U035E, U035C ] }; // 9 ( [ { Combining Double Macron Below, Combining Double Breve, Combining Double Macron, Combining Double Breve Below
  845. key <AE10> { [ 0,parenright,bracketright, braceright, U27E8, U27E9, U04A7, U04A6 ] }; // 0 ) ] } ⟨⟩ ҧ Ҧ
  846. key <AE11> { [ minus, underscore, emdash, endash, U2011,hyphen, U2010, U2212 ] }; // Hyphen-Minus, Underscore, Em Dash, En Dash, Non-Breaking-Hyphen, Soft Hyphen, Hyphen, Minus Sign
  847. key <AE12> { [ equal, plus,notequal, U2248, U04FF, U04FE, U050D, U050C ] }; // = + ≠ ≈ ӿ Ӿ ԍ Ԍ
  848. key <AD01> { [ Cyrillic_shorti, Cyrillic_SHORTI, Cyrillic_je, Cyrillic_JE, U04CF, U04C0, U030A, U0325 ] }; // й Й ј Ј ӏ Ӏ, Combining Ring Above and Below
  849. key <AD02> { [ Cyrillic_tse, Cyrillic_TSE, U04B5, U04B4, Cyrillic_u_straight, Cyrillic_U_straight, U051B, U051A ] }; // ц Ц ҵ Ҵ ү Ү ԛ Ԛ
  850. key <AD03> { [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU, Cyrillic_u_straight_bar,Cyrillic_U_straight_bar, Byelorussian_shortu, Byelorussian_SHORTU ] }; // у У ў Ў ұ Ұ ў Ў
  851. key <AD04> { [ Cyrillic_ka, Cyrillic_KA, Cyrillic_ka_descender, Cyrillic_KA_descender, U049F, U049E, U046F, U046E ] }; // к К Қ қ ҟ Ҟ ѯ Ѯ
  852. key <AD05> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO, U0463, U0462, UA653, UA652 ] }; // е Е ё Ё ѣ Ѣ ꙓ Ꙓ
  853. key <AD06> { [ Cyrillic_en, Cyrillic_EN, Cyrillic_nje, Cyrillic_NJE, Cyrillic_en_descender, Cyrillic_EN_descender, U04C8, U04C7 ] }; // н Н њ Њ ң Ң ӈ Ӈ
  854. key <AD07> { [ Cyrillic_ghe, Cyrillic_GHE, Ukrainian_ghe_with_upturn,Ukrainian_GHE_WITH_UPTURN, Cyrillic_ghe_bar, Cyrillic_GHE_bar, U04F7, U04F6 ] }; // г Г Ґ ґ ғ Ғ ӷ Ӷ
  855. key <AD08> { [ Cyrillic_sha, Cyrillic_SHA, U04A1, U04A0, U04AB, U04AA, UA67D, UA67F ] }; // ш Ш ҡ Ҡ ҫ Ҫ Combining Payerok Payerok
  856. key <AD09> { [ Cyrillic_shcha, Cyrillic_SHCHA, U0505, U0504, UA68D, UA68C, U050F, U050E ] }; // щ Щ ԅ Ԅ ꚍ Ꚍ ԏ Ԏ
  857. key <AD10> { [ Cyrillic_ze, Cyrillic_ZE, U04E1, U04E0, U0499, U0498, U0507, U0506 ] }; // з З ӡ Ӡ ҙ Ҙ ԇ Ԇ
  858. key <AD11> { [ Cyrillic_ha, Cyrillic_HA, Cyrillic_shha, Cyrillic_SHHA, Cyrillic_ha_descender, Cyrillic_HA_descender, U04FD, U04FC ] }; // х Х һ Һ ҳ Ҳ ӽ Ӽ
  859. key <AD12> { [Cyrillic_hardsign,Cyrillic_HARDSIGN, Ukrainian_yi, Ukrainian_YI, Macedonia_dse, Macedonia_DSE, U033E, U2E2F ] }; // ъ Ъ ї Ї ѕ Ѕ, Combining Yerok, Yerok
  860. key <AC01> { [ Cyrillic_ef, Cyrillic_EF, U0473, U0472, U04C4, U04C3, U04FB, U04FA ] }; // ф Ф ѳ Ѳ ӄ Ӄ ӻ Ӻ
  861. key <AC02> { [ Cyrillic_yeru, Cyrillic_YERU, Ukrainian_i, Ukrainian_I, U04D5, U04D4, U04A9, U04A8 ] }; // ы Ы і І ӕ Ӕ ҩ Ҩ
  862. key <AC03> { [ Cyrillic_ve, Cyrillic_VE, U051D, U051C, U0529, U0528, U0527, U0526 ] }; // в В ԝ Ԝ ԩ Ԩ ԧ Ԧ
  863. key <AC04> { [ Cyrillic_a, Cyrillic_A, Cyrillic_schwa, Cyrillic_SCHWA, UA657, UA656, UA655, UA654 ] }; // а А ә Ә ꙗ Ꙗ ꙕ Ꙕ
  864. key <AC05> { [ Cyrillic_pe, Cyrillic_PE, U0525, U0524, U0471, U0470, UA65F, UA65E ] }; // п П ԥ Ԥ ѱ Ѱ ꙟ Ꙟ
  865. key <AC06> { [ Cyrillic_er, Cyrillic_ER, U0481, U0480, U048F, U048E, U0521, U0520 ] }; // р Р ҁ Ҁ ҏ Ҏ ԡ Ԡ
  866. key <AC07> { [ Cyrillic_o, Cyrillic_O, Cyrillic_o_bar, Cyrillic_O_bar, U047B, U047A, U0461, U0460 ] }; // о О ө Ө ѻ Ѻ ѡ Ѡ
  867. key <AC08> { [ Cyrillic_el, Cyrillic_EL, Cyrillic_lje, Cyrillic_LJE, U04C6, U04C5, U052F, U052E ] }; // л Л љ Љ ӆ Ӆ ԯ Ԯ
  868. key <AC09> { [ Cyrillic_de, Cyrillic_DE, Cyrillic_dzhe, Cyrillic_DZHE, U04BD, U04BC, U04BF, U04BE ] }; // д Д џ Џ ҽ Ҽ ҿ Ҿ
  869. key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, Serbian_dje, Serbian_DJE, Cyrillic_zhe_descender, Cyrillic_ZHE_descender, U04C2, U04C1 ] }; // ж Ж ђ Ђ Җ җ ӂ Ӂ
  870. key <AC11> { [ Cyrillic_e, Cyrillic_E, Ukrainian_ie, Ukrainian_IE, U0465, U0464, U04CA, U04C9 ] }; // э Э є Є ѥ Ѥ ӊ Ӊ
  871. key <BKSL> { [ slash, bar, backslash, U260E, UA65B, UA65A, U0513, U0512 ] }; // / | \ ☎ ꙛ Ꙛ ԓ Ԓ
  872. key <LSGT> { [ U0495, U0494, U0501, U0500, U0503, U0502, U0509, U0508 ] }; // ҕ Ҕ ԁ Ԁ ԃ Ԃ ԉ Ԉ
  873. key <AB01> { [ Cyrillic_ya, Cyrillic_YA, U0469, U0468, U0467, U0466, UA657, UA656 ] }; // я Я ѩ Ѩ ѧ Ѧ ꙗ Ꙗ
  874. key <AB02> { [ Cyrillic_che, Cyrillic_CHE, Serbian_tshe, Serbian_TSHE, Cyrillic_che_descender, Cyrillic_CHE_descender, U2016,brokenbar ] }; // ч Ч ћ Ћ ҷ Ҷ ‖ ¦
  875. key <AB03> { [ Cyrillic_es, Cyrillic_ES, U046D, U046C, U046B, U046A, U04F7, U04F6 ] }; // с С ѭ Ѭ ѫ Ѫ ӷ Ӷ
  876. key <AB04> { [ Cyrillic_em, Cyrillic_EM, multiply, division, U22C5, U2219, U04CE, U04CD ] }; // м М × ÷ ⋅ ∙ ӎ Ӎ
  877. key <AB05> { [ Cyrillic_i, Cyrillic_I, U0475, U0474, U048B, U048A, periodcentered, U261B ] }; // и И ѵ Ѵ ҋ Ҋ · ☛
  878. key <AB06> { [ Cyrillic_te, Cyrillic_TE, U04AD, U04AC, U051F, U051E, Cyrillic_che_vertstroke, Cyrillic_CHE_vertstroke ] }; // т Т ҭ Ҭ ԟ Ԟ ҹ Ҹ
  879. key <AB07> { [Cyrillic_softsign,Cyrillic_SOFTSIGN, U04A5, U04A4, UA64F, UA64E, U048D, U048C ] }; // ь Ь ҥ Ҥ ꙏ Ꙏ ҍ Ҍ
  880. key <AB08> { [ Cyrillic_be, Cyrillic_BE, guillemotleft, doublelowquotemark, singlelowquotemark, U2039, U0523, U0522 ] }; // б Б « „ ‚ ‹ ԣ Ԣ
  881. key <AB09> { [ Cyrillic_yu, Cyrillic_YU, guillemotright, leftdoublequotemark, leftsinglequotemark, U203A, rightdoublequotemark, rightsinglequotemark]}; // ю Ю » “ ‘ › ” ’
  882. key <AB10> { [ period, comma, ellipsis, enfilledcircbullet, U04CC, U04CB, UA649, UA648 ] }; // . , … • ӌ Ӌ ꙉ Ꙉ
  883. // eng: Maps Right Alt for reaching the third level
  884. // rus: Составляетъ правую Alt для достиженія третьяго уровня
  885. // srp: Саставља десни Alt за достизање трећег ступња
  886. include "level3(ralt_switch)"
  887. // eng: Maps <CAPS> for reaching the fifth level
  888. // rus: Составляетъ <CAPS> для достиженія пятаго уровня
  889. // srp: Саставља <CAPS> за достизање петег ступња
  890. include "level5(caps_switch)"
  891. // eng: Offers pressing both shift keys for capslock
  892. // rus: Предоставляетъ нажатие обѣихъ клавишъ Shift для защелкиванія прописности буквъ
  893. // srp: Ставља на располагање притискивање обију тастера Shift за учвршћивање верзала
  894. include "shift(both_shiftlock)"
  895. // eng: Makes <KPDL> return comma instead of dot, as the comma is decimal separator in Cyrillic written languages
  896. // rus: Дѣлаетъ что <KPDL> отдаетъ запятую вмѣсто точки, такъ какъ запятая десятичный раздѣлитель въ языкахъ пишемыхъ кириллицей
  897. // srp: Ради да <KPDL> враћа зарез уместо точке, будући да зарез је десетни разделитељ у језицима који се пишу ћирилицом
  898. include "kpdl(comma)"
  899. // eng: Bug notice: One has to set lv5:rwin_switch_lock or one of the other level 5 locks for the caps switch to work!
  900. // rus: Приходится ставить lv5:rwin_switch_lock либо одинъ изъ другихъ затворовъ пятаго уровня, чтобы работалъ переключатель Caps!
  901. // srp: Потребно да се ставља lv5:rwin_switch_lock или једна из других брава петег ступња, да би шљакао пребацивач Caps!
  902. // https://bugs.freedesktop.org/show_bug.cgi?id=102189
  903. };
  904. partial alphanumeric_keys
  905. xkb_symbols "unipunct" {
  906. // Раскладка представляет собой обычную русскую раскладку, в которой некоторые редко используемые буквы
  907. // убрали на третий уровень, и поставили все пунктуационные знаки на то же место, где они стоят на
  908. // US раскладке (+ добавлен знак номера, который отсутствует в US раскладке, но часто нужен в RU).
  909. // ru(unipunct):
  910. // `~ 1! 2@ 3#3№ 4$ 5% 6^ 7& 8* 9( 0) -_ =+
  911. // хХ бБ уУюЮ кК еЕэЭ нН гГ шШщЩ жЖ зЗ [{ ]} \|
  912. // фФ ыЫ вВ аА пП рР оОёЁ лЛ дД ;: '" //"
  913. // яЯ чЧцЦ сС мМ иИйЙ тТ ьЬъЪ ,< .> /?
  914. include "us(basic)"
  915. name[Group1]= "Russian (with US punctuation)";
  916. // Единственный символ, который отсутствует на US раскладке - №
  917. key <AE03> { [ 3, numbersign, 3, numerosign ] };
  918. key <LatQ> { [ Cyrillic_ha, Cyrillic_HA ] };
  919. key <LatW> { [ Cyrillic_be, Cyrillic_BE ] };
  920. key <LatE> { [ Cyrillic_u, Cyrillic_U, Cyrillic_yu, Cyrillic_YU ] };
  921. key <LatR> { [ Cyrillic_ka, Cyrillic_KA ] };
  922. key <LatT> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_e, Cyrillic_E ] };
  923. key <LatY> { [ Cyrillic_en, Cyrillic_EN ] };
  924. key <LatU> { [ Cyrillic_ghe, Cyrillic_GHE ] };
  925. key <LatI> { [ Cyrillic_sha, Cyrillic_SHA, Cyrillic_shcha, Cyrillic_SHCHA ] };
  926. key <LatO> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
  927. key <LatP> { [ Cyrillic_ze, Cyrillic_ZE ] };
  928. key <LatA> { [ Cyrillic_ef, Cyrillic_EF ] };
  929. key <LatS> { [ Cyrillic_yeru, Cyrillic_YERU ] };
  930. key <LatD> { [ Cyrillic_ve, Cyrillic_VE ] };
  931. key <LatF> { [ Cyrillic_a, Cyrillic_A ] };
  932. key <LatG> { [ Cyrillic_pe, Cyrillic_PE ] };
  933. key <LatH> { [ Cyrillic_er, Cyrillic_ER ] };
  934. key <LatJ> { [ Cyrillic_o, Cyrillic_O, Cyrillic_io, Cyrillic_IO ] };
  935. key <LatK> { [ Cyrillic_el, Cyrillic_EL ] };
  936. key <LatL> { [ Cyrillic_de, Cyrillic_DE ] };
  937. key <LatZ> { [ Cyrillic_ya, Cyrillic_YA ] };
  938. key <LatX> { [ Cyrillic_che, Cyrillic_CHE, Cyrillic_tse, Cyrillic_TSE ] };
  939. key <LatC> { [ Cyrillic_es, Cyrillic_ES ] };
  940. key <LatV> { [ Cyrillic_em, Cyrillic_EM ] };
  941. key <LatB> { [ Cyrillic_i, Cyrillic_I, Cyrillic_shorti, Cyrillic_SHORTI ] };
  942. key <LatN> { [ Cyrillic_te, Cyrillic_TE ] };
  943. key <LatM> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, Cyrillic_hardsign, Cyrillic_HARDSIGN ] };
  944. };
  945. partial alphanumeric_keys
  946. xkb_symbols "phonetic_mac" {
  947. include "ru(phonetic_winkeys)"
  948. name[Group1]= "Russian (phonetic Macintosh)";
  949. key <LatE> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] };
  950. key <LatW> { [ Cyrillic_sha, Cyrillic_SHA ] };
  951. key <LatV> { [ Cyrillic_ve, Cyrillic_VE ] };
  952. key <TLDE> { [ Cyrillic_shcha, Cyrillic_SHCHA ] };
  953. key <AD11> { [ Cyrillic_yu, Cyrillic_YU ] };
  954. key <AD12> { [ Cyrillic_zhe, Cyrillic_ZHE ] };
  955. key <AE03> { [ 3, numbersign, numerosign ] };
  956. key <AE04> { [ 4, dollar, U20BD ] }; // ruble
  957. key <AE05> { [ 5, percent ] };
  958. key <AE06> { [ 6, asciicircum ] };
  959. key <AE11> { [ Cyrillic_softsign, Cyrillic_SOFTSIGN, minus, underscore ] };
  960. key <AE12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, equal, plus ] };
  961. include "level3(ralt_switch)"
  962. };
  963. // Russian engineering Cyrillic keyboard layout (Ручей)
  964. // Based on the Russian standard keyboard layout
  965. // Baryshkin Andrey <baryshkin_aa@codeblast.ru>
  966. // Last changes 2022/02/16
  967. // Version 1.2
  968. partial alphanumeric_keys
  969. xkb_symbols "ruchey_cyrillic" {
  970. name[Group1]= "Russian (Engineering, Cyrillic)";
  971. include "ru(common)"
  972. key <TLDE> { [ Cyrillic_io, Cyrillic_IO, U00A7 ] };
  973. key <AE01> { [ 1, exclam, U20BD ] };
  974. key <AE02> { [ 2, apostrophe, at ] };
  975. key <AE03> { [ 3, numerosign, numbersign ] };
  976. key <AE04> { [ 4, semicolon, dollar ] };
  977. key <AE05> { [ 5, quotedbl, percent ] };
  978. key <AE06> { [ 6, colon, asciicircum ] };
  979. key <AE07> { [ 7, question, ampersand ] };
  980. key <AE08> { [ 8, asterisk, asciitilde ] };
  981. key <AE09> { [ 9, parenleft, guillemotleft ] };
  982. key <AE10> { [ 0, parenright, guillemotright ] };
  983. key <AE11> { [ minus, underscore, VoidSymbol ] };
  984. key <AE12> { [ equal, plus, VoidSymbol ] };
  985. key <AD11> { [ Cyrillic_ha, Cyrillic_HA, braceleft ] };
  986. key <AD12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, braceright ] };
  987. key <AC10> { [ Cyrillic_zhe, Cyrillic_ZHE, bracketleft ] };
  988. key <AC11> { [ Cyrillic_e, Cyrillic_E, bracketright ] };
  989. key <AB08> { [ Cyrillic_be, Cyrillic_BE, less ] };
  990. key <AB09> { [ Cyrillic_yu, Cyrillic_YU, greater ] };
  991. key <AB10> { [ period, comma, grave ] };
  992. key <BKSL> { [ slash, backslash, bar ] };
  993. key <LSGT> { [ slash, backslash, bar ] };
  994. include "kpdl(dot)"
  995. };
  996. // Russian engineering Latin keyboard layout (Ручей)
  997. // Based on the English standard keyboard layout
  998. // Baryshkin Andrey <baryshkin_aa@codeblast.ru>
  999. // Last changes 2022/02/16
  1000. // Version 1.2
  1001. partial alphanumeric_keys
  1002. xkb_symbols "ruchey_latin" {
  1003. name[Group1]= "Russian (Engineering, Latin)";
  1004. include "us(basic)"
  1005. key <TLDE> { [ VoidSymbol, VoidSymbol, U00A7 ] };
  1006. key <AE01> { [ 1, exclam, U20BD ] };
  1007. key <AE02> { [ 2, apostrophe, at ] };
  1008. key <AE03> { [ 3, numerosign, numbersign ] };
  1009. key <AE04> { [ 4, semicolon, dollar ] };
  1010. key <AE05> { [ 5, quotedbl, percent ] };
  1011. key <AE06> { [ 6, colon, asciicircum ] };
  1012. key <AE07> { [ 7, question, ampersand ] };
  1013. key <AE08> { [ 8, asterisk, asciitilde ] };
  1014. key <AE09> { [ 9, parenleft, guillemotleft ] };
  1015. key <AE10> { [ 0, parenright, guillemotright ] };
  1016. key <AE11> { [ minus, underscore, VoidSymbol ] };
  1017. key <AE12> { [ equal, plus, VoidSymbol ] };
  1018. key <AD11> { [ VoidSymbol, VoidSymbol, braceleft ] };
  1019. key <AD12> { [ VoidSymbol, VoidSymbol, braceright ] };
  1020. key <AC10> { [ VoidSymbol, VoidSymbol, bracketleft ] };
  1021. key <AC11> { [ VoidSymbol, VoidSymbol, bracketright ] };
  1022. key <AB08> { [ VoidSymbol, VoidSymbol, less ] };
  1023. key <AB09> { [ VoidSymbol, VoidSymbol, greater ] };
  1024. key <AB10> { [ period, comma, grave ] };
  1025. key <BKSL> { [ slash, backslash, bar ] };
  1026. key <LSGT> { [ slash, backslash, bar ] };
  1027. include "kpdl(dot)"
  1028. };