KKBSwitch – keyboard layout indicator
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ru_ua 15KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427
  1. // Russian + Ukrainian keyboard
  2. // Based on:
  3. // russian standard keyboard
  4. // AEN <aen@logic.ru>
  5. // Last Changes 2001/12/23 by Leon Kanter <leon@blackcatlinux.com>
  6. // $XFree86: xc/programs/xkbcomp/symbols/ru,v 3.8 2001/01/17 23:45:59 dawes Exp $
  7. // and:
  8. // ukrainian standard keyboard
  9. // AEN <aen@logic.ru> & Leon Kanter <leon@geon.donetsk.ua>
  10. // Last Changes 2001/12/11 by Andriy Rysin <arysin@yahoo.com>
  11. // This keyboard layout has Russian characters at group 2 and Ukrainian
  12. // at group 3.
  13. // By Leonid Zeitlin <lz@europe.com>
  14. // Last Changes 2002/11/09
  15. partial default alphanumeric_keys
  16. xkb_symbols "basic" {
  17. // Describes the differences between a very simple en_US
  18. // keyboard and a very simple Russian keyboard
  19. name[Group1]= "US/ASCII";
  20. name[Group2]= "Russian";
  21. name[Group3]= "Ukrainian";
  22. key <AE01> { [ 1, exclam ],
  23. [ 1, exclam ] ,
  24. [ 1, exclam ] };
  25. key <AE02> { [ 2, at ],
  26. [ 2, quotedbl ] ,
  27. [ 2, quotedbl ] };
  28. key <AE03> { [ 3, numbersign ],
  29. [ 3, numbersign ] ,
  30. [ 3, numbersign ] };
  31. key <AE04> { [ 4, dollar ],
  32. [ 4, asterisk ] ,
  33. [ 4, asterisk ] };
  34. key <AE05> { [ 5, percent ],
  35. [ 5, colon ] ,
  36. [ 5, colon ] };
  37. key <AE06> { [ 6, asciicircum ],
  38. [ 6, comma ] ,
  39. [ 6, comma ] };
  40. key <AE07> { [ 7, ampersand ],
  41. [ 7, period ] ,
  42. [ 7, period ] };
  43. key <AE08> { [ 8, asterisk ],
  44. [ 8, semicolon ] ,
  45. [ 8, semicolon ] };
  46. key <AE09> { [ 9, parenleft ],
  47. [ 9, parenleft ] ,
  48. [ 9, parenleft ] };
  49. key <AE10> { [ 0, parenright ],
  50. [ 0, parenright ] ,
  51. [ 0, parenright ] };
  52. key <AE11> { [ minus, underscore ],
  53. [ minus, underscore ] ,
  54. [ minus, underscore ] };
  55. key <AE12> { [ equal, plus ],
  56. [ equal, plus ] ,
  57. [ equal, plus ] };
  58. key <BKSL> { [ backslash, bar ],
  59. [ backslash, bar ] ,
  60. [Ukrainian_ghe_with_upturn,Ukrainian_GHE_WITH_UPTURN]};
  61. key <AB10> { [ slash, question ],
  62. [ slash, question ] ,
  63. [ slash, question ] };
  64. key <LSGT> { [ less, greater ],
  65. [ slash, bar ] ,
  66. [ slash, bar ] };
  67. key.type[group2]="ALPHABETIC";
  68. key.type[group3]="ALPHABETIC";
  69. key <TLDE> { [ grave, asciitilde ],
  70. [ Cyrillic_io, Cyrillic_IO ] ,
  71. [ apostrophe, asciitilde ] };
  72. key <AD01> { [ q, Q ],
  73. [ Cyrillic_shorti, Cyrillic_SHORTI ] ,
  74. [ Cyrillic_shorti, Cyrillic_SHORTI ] };
  75. key <AD02> { [ w, W ],
  76. [ Cyrillic_tse, Cyrillic_TSE ] ,
  77. [ Cyrillic_tse, Cyrillic_TSE ] };
  78. key <AD03> { [ e, E ],
  79. [ Cyrillic_u, Cyrillic_U ] ,
  80. [ Cyrillic_u, Cyrillic_U ] };
  81. key <AD04> { [ r, R ],
  82. [ Cyrillic_ka, Cyrillic_KA ] ,
  83. [ Cyrillic_ka, Cyrillic_KA ] };
  84. key <AD05> { [ t, T ],
  85. [ Cyrillic_ie, Cyrillic_IE ] ,
  86. [ Cyrillic_ie, Cyrillic_IE ] };
  87. key <AD06> { [ y, Y ],
  88. [ Cyrillic_en, Cyrillic_EN ] ,
  89. [ Cyrillic_en, Cyrillic_EN ] };
  90. key <AD07> { [ u, U ],
  91. [ Cyrillic_ghe, Cyrillic_GHE ] ,
  92. [ Cyrillic_ghe, Cyrillic_GHE ] };
  93. key <AD08> { [ i, I ],
  94. [ Cyrillic_sha, Cyrillic_SHA ] ,
  95. [ Cyrillic_sha, Cyrillic_SHA ] };
  96. key <AD09> { [ o, O ],
  97. [ Cyrillic_shcha, Cyrillic_SHCHA ] ,
  98. [ Cyrillic_shcha, Cyrillic_SHCHA ] };
  99. key <AD10> { [ p, P ],
  100. [ Cyrillic_ze, Cyrillic_ZE ] ,
  101. [ Cyrillic_ze, Cyrillic_ZE ] };
  102. key <AD11> { [ bracketleft, braceleft ],
  103. [ Cyrillic_ha, Cyrillic_HA ] ,
  104. [ Cyrillic_ha, Cyrillic_HA ] };
  105. key <AD12> { [ bracketright, braceright ],
  106. [Cyrillic_hardsign,Cyrillic_HARDSIGN ] ,
  107. [ Ukrainian_yi, Ukrainian_YI ] };
  108. key <AC01> { [ a, A ],
  109. [ Cyrillic_ef, Cyrillic_EF ] ,
  110. [ Cyrillic_ef, Cyrillic_EF ] };
  111. key <AC02> { [ s, S ],
  112. [ Cyrillic_yeru, Cyrillic_YERU ] ,
  113. [ Ukrainian_i, Ukrainian_I ] };
  114. key <AC03> { [ d, D ],
  115. [ Cyrillic_ve, Cyrillic_VE ] ,
  116. [ Cyrillic_ve, Cyrillic_VE ] };
  117. key <AC04> { [ f, F ],
  118. [ Cyrillic_a, Cyrillic_A ] ,
  119. [ Cyrillic_a, Cyrillic_A ] };
  120. key <AC05> { [ g, G ],
  121. [ Cyrillic_pe, Cyrillic_PE ] ,
  122. [ Cyrillic_pe, Cyrillic_PE ] };
  123. key <AC06> { [ h, H ],
  124. [ Cyrillic_er, Cyrillic_ER ] ,
  125. [ Cyrillic_er, Cyrillic_ER ] };
  126. key <AC07> { [ j, J ],
  127. [ Cyrillic_o, Cyrillic_O ] ,
  128. [ Cyrillic_o, Cyrillic_O ] };
  129. key <AC08> { [ k, K ],
  130. [ Cyrillic_el, Cyrillic_EL ] ,
  131. [ Cyrillic_el, Cyrillic_EL ] };
  132. key <AC09> { [ l, L ],
  133. [ Cyrillic_de, Cyrillic_DE ] ,
  134. [ Cyrillic_de, Cyrillic_DE ] };
  135. key <AC10> { [ semicolon, colon ],
  136. [ Cyrillic_zhe, Cyrillic_ZHE ] ,
  137. [ Cyrillic_zhe, Cyrillic_ZHE ] };
  138. key <AC11> { [ apostrophe, quotedbl ],
  139. [ Cyrillic_e, Cyrillic_E ] ,
  140. [ Ukrainian_ie, Ukrainian_IE ] };
  141. key <AB01> { [ z, Z ],
  142. [ Cyrillic_ya, Cyrillic_YA ] ,
  143. [ Cyrillic_ya, Cyrillic_YA ] };
  144. key <AB02> { [ x, X ],
  145. [ Cyrillic_che, Cyrillic_CHE ] ,
  146. [ Cyrillic_che, Cyrillic_CHE ] };
  147. key <AB03> { [ c, C ],
  148. [ Cyrillic_es, Cyrillic_ES ] ,
  149. [ Cyrillic_es, Cyrillic_ES ] };
  150. key <AB04> { [ v, V ],
  151. [ Cyrillic_em, Cyrillic_EM ] ,
  152. [ Cyrillic_em, Cyrillic_EM ] };
  153. key <AB06> { [ n, N ],
  154. [ Cyrillic_te, Cyrillic_TE ] ,
  155. [ Cyrillic_te, Cyrillic_TE ] };
  156. key <AB05> { [ b, B ],
  157. [ Cyrillic_i, Cyrillic_I ] ,
  158. [ Cyrillic_i, Cyrillic_I ] };
  159. key <AB07> { [ m, M ],
  160. [Cyrillic_softsign,Cyrillic_SOFTSIGN ] ,
  161. [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
  162. key <AB08> { [ comma, less ],
  163. [ Cyrillic_be, Cyrillic_BE ] ,
  164. [ Cyrillic_be, Cyrillic_BE ] };
  165. key <AB09> { [ period, greater ],
  166. [ Cyrillic_yu, Cyrillic_YU ] ,
  167. [ Cyrillic_yu, Cyrillic_YU ] };
  168. key.type[group2]="TWO_LEVEL";
  169. key.type[group3]="TWO_LEVEL";
  170. // End alphanumeric section
  171. // Begin modifier mappings
  172. modifier_map Shift { Shift_L };
  173. modifier_map Lock { Caps_Lock, ISO_Lock };
  174. modifier_map Control{ Control_L };
  175. modifier_map Mod3 { Mode_switch };
  176. };
  177. partial alphanumeric_keys
  178. xkb_symbols "winkeys" {
  179. include "ru_ua(basic)"
  180. key <AE03> { [ 3, numbersign ],
  181. [ 3, numerosign ] ,
  182. [ 3, numerosign ] };
  183. key <AE04> { [ 4, dollar ],
  184. [ 4, semicolon ] ,
  185. [ 4, semicolon ] };
  186. key <AE05> { [ 5, percent ],
  187. [ 5, percent ] ,
  188. [ 5, percent ] };
  189. key <AE06> { [ 6, asciicircum ],
  190. [ 6, colon ] ,
  191. [ 6, colon ] };
  192. key <AE07> { [ 7, ampersand ],
  193. [ 7, question ] ,
  194. [ 7, question ] };
  195. key <AE08> { [ 8, asterisk ],
  196. [ 8, asterisk ] ,
  197. [ 8, asterisk ] };
  198. key <AB10> { [ slash, question ],
  199. [ period, comma ] ,
  200. [ period, comma ] };
  201. };
  202. partial alphanumeric_keys
  203. xkb_symbols "typewriter" {
  204. include "ru_ua(basic)"
  205. key <TLDE> { [ grave, asciitilde ],
  206. [ apostrophe, quotedbl ] ,
  207. [ apostrophe, quotedbl ] };
  208. key <AE01> { [ 1, exclam ],
  209. [ exclam, 1 ] ,
  210. [ exclam, 1 ] };
  211. key <AE02> { [ 2, at ],
  212. [ numerosign, 2 ] ,
  213. [ numerosign, 2 ] };
  214. key <AE03> { [ 3, numbersign ],
  215. [ slash, 3 ] ,
  216. [ slash, 3 ] };
  217. key <AE04> { [ 4, dollar ],
  218. [ semicolon, 4 ] ,
  219. [ semicolon, 4 ] };
  220. key <AE05> { [ 5, percent ],
  221. [ colon, 5 ] ,
  222. [ colon, 5 ] };
  223. key <AE06> { [ 6, asciicircum ],
  224. [ comma, 6 ] ,
  225. [ comma, 6 ] };
  226. key <AE07> { [ 7, ampersand ],
  227. [ period, 7 ] ,
  228. [ period, 7 ] };
  229. key <AE08> { [ 8, asterisk ],
  230. [ underscore, 8 ] ,
  231. [ underscore, 8 ] };
  232. key <AE09> { [ 9, parenleft ],
  233. [ question, 9 ] ,
  234. [ question, 9 ] };
  235. key <AE10> { [ 0, parenright ],
  236. [ percent, 0 ] ,
  237. [ percent, 0 ] };
  238. key <BKSL> { [ backslash, bar ],
  239. [ parenleft, parenright ] ,
  240. [ parenleft, parenright ] };
  241. key.type[group2]="ALPHABETIC";
  242. key.type[group3]="ALPHABETIC";
  243. key <AD12> { [ bracketright, braceright ],
  244. [Cyrillic_hardsign,Cyrillic_HARDSIGN ] ,
  245. [Ukrainian_yi, Ukrainian_YI ] };
  246. key <AB05> { [ b, B ],
  247. [ Cyrillic_i, Cyrillic_I ] ,
  248. [ Cyrillic_i, Cyrillic_I ] };
  249. key <AB10> { [ slash, question ],
  250. [ Cyrillic_io, Cyrillic_IO ] ,
  251. [ Cyrillic_io, Cyrillic_IO ] };
  252. };
  253. partial alphanumeric_keys
  254. xkb_symbols "phonetic" {
  255. include "ru_ua(basic)"
  256. key <AE01> { [ 1, exclam ],
  257. [ 1, exclam ] ,
  258. [ 1, exclam ] };
  259. key <AE02> { [ 2, at ],
  260. [ 2, at ] ,
  261. [ 2, at ] };
  262. key <AE03> { [ 3, numbersign ],
  263. [ 3, Cyrillic_io ] ,
  264. [ 3, Cyrillic_io ] };
  265. key <AE04> { [ 4, dollar ],
  266. [ 4, Cyrillic_IO ] ,
  267. [ 4, Cyrillic_IO ] };
  268. key <AE05> { [ 5, percent ],
  269. [ 5, percent ] ,
  270. [ 5, percent ] };
  271. key <AE06> { [ 6, asciicircum ],
  272. [ 6, asciicircum ] ,
  273. [ 6, asciicircum ] };
  274. key <AE07> { [ 7, ampersand ],
  275. [ 7, ampersand ] ,
  276. [ 7, ampersand ] };
  277. key <AE08> { [ 8, asterisk ],
  278. [ 8, asterisk ] ,
  279. [ 8, asterisk ] };
  280. key <AE09> { [ 9, parenleft ],
  281. [ 9, parenleft ] ,
  282. [ 9, parenleft ] };
  283. key <AE10> { [ 0, parenright ],
  284. [ 0, parenright ] ,
  285. [ 0, parenright ] };
  286. key <AB09> { [ period, greater ],
  287. [ period, greater ] ,
  288. [ period, greater ] };
  289. key <AB10> { [ slash, question ],
  290. [ slash, question ] ,
  291. [ slash, question ] };
  292. key <AB08> { [ comma, less ],
  293. [ comma, less ] ,
  294. [ comma, less ] };
  295. key <AC10> { [ semicolon, colon ],
  296. [ semicolon, colon ] ,
  297. [ semicolon, colon ] };
  298. key <AC11> { [ apostrophe, quotedbl ],
  299. [ apostrophe, quotedbl ] ,
  300. [ apostrophe, quotedbl ] };
  301. key <LSGT> { [ less, greater ],
  302. [ bar, brokenbar ] ,
  303. [ bar, brokenbar ] };
  304. key.type[group2]="ALPHABETIC";
  305. key.type[group2]="ALPHABETIC";
  306. key <TLDE> { [ grave, asciitilde ],
  307. [ Cyrillic_yu, Cyrillic_YU ] ,
  308. [ Cyrillic_yu, Cyrillic_YU ] };
  309. key <AD01> { [ q, Q ],
  310. [ Cyrillic_ya, Cyrillic_YA ] ,
  311. [ Cyrillic_ya, Cyrillic_YA ] };
  312. key <AB01> { [ z, Z ],
  313. [ Cyrillic_ze, Cyrillic_ZE ] ,
  314. [ Cyrillic_ze, Cyrillic_ZE ] };
  315. key <AC02> { [ s, S ],
  316. [ Cyrillic_es, Cyrillic_ES ] ,
  317. [ Cyrillic_es, Cyrillic_ES ] };
  318. key <AC01> { [ a, A ],
  319. [ Cyrillic_a, Cyrillic_A ] ,
  320. [ Cyrillic_a, Cyrillic_A ] };
  321. key <AD02> { [ w, W ],
  322. [ Cyrillic_ve, Cyrillic_VE ] ,
  323. [ Cyrillic_ve, Cyrillic_VE ] };
  324. key <AB03> { [ c, C ],
  325. [ Cyrillic_tse, Cyrillic_TSE ] ,
  326. [ Cyrillic_tse, Cyrillic_TSE ] };
  327. key <AB02> { [ x, X ],
  328. [Cyrillic_softsign,Cyrillic_SOFTSIGN ] ,
  329. [Cyrillic_softsign,Cyrillic_SOFTSIGN ] };
  330. key <AC03> { [ d, D ],
  331. [ Cyrillic_de, Cyrillic_DE ] ,
  332. [ Cyrillic_de, Cyrillic_DE ] };
  333. key <AD03> { [ e, E ],
  334. [ Cyrillic_ie, Cyrillic_IE ] ,
  335. [ Cyrillic_ie, Cyrillic_IE ] };
  336. key <AB04> { [ v, V ],
  337. [ Cyrillic_zhe, Cyrillic_ZHE ] ,
  338. [ Cyrillic_zhe, Cyrillic_ZHE ] };
  339. key <AC04> { [ f, F ],
  340. [ Cyrillic_ef, Cyrillic_EF ] ,
  341. [ Cyrillic_ef, Cyrillic_EF ] };
  342. key <AD05> { [ t, T ],
  343. [ Cyrillic_te, Cyrillic_TE ] ,
  344. [ Cyrillic_te, Cyrillic_TE ] };
  345. key <AD04> { [ r, R ],
  346. [ Cyrillic_er, Cyrillic_ER ] ,
  347. [ Cyrillic_er, Cyrillic_ER ] };
  348. key <AB06> { [ n, N ],
  349. [ Cyrillic_en, Cyrillic_EN ] ,
  350. [ Cyrillic_en, Cyrillic_EN ] };
  351. key <AB05> { [ b, B ],
  352. [ Cyrillic_be, Cyrillic_BE ] ,
  353. [ Cyrillic_be, Cyrillic_BE ] };
  354. key <AC06> { [ h, H ],
  355. [ Cyrillic_ha, Cyrillic_HA ] ,
  356. [ Cyrillic_ha, Cyrillic_HA ] };
  357. key <AC05> { [ g, G ],
  358. [ Cyrillic_ghe, Cyrillic_GHE ] ,
  359. [ Cyrillic_ghe, Cyrillic_GHE ] };
  360. key <AD06> { [ y, Y ],
  361. [ Cyrillic_yeru, Cyrillic_YERU ] ,
  362. [ Cyrillic_yeru, Cyrillic_YERU ] };
  363. key <AB07> { [ m, M ],
  364. [ Cyrillic_em, Cyrillic_EM ] ,
  365. [ Cyrillic_em, Cyrillic_EM ] };
  366. key <AC07> { [ j, J ],
  367. [ Cyrillic_shorti, Cyrillic_SHORTI ] ,
  368. [ Cyrillic_shorti, Cyrillic_SHORTI ] };
  369. key <AD07> { [ u, U ],
  370. [ Cyrillic_u, Cyrillic_U ] ,
  371. [ Cyrillic_u, Cyrillic_U ] };
  372. key <AC08> { [ k, K ],
  373. [ Cyrillic_ka, Cyrillic_KA ] ,
  374. [ Cyrillic_ka, Cyrillic_KA ] };
  375. key <AD08> { [ i, I ],
  376. [ Cyrillic_i, Cyrillic_I ] ,
  377. [ Cyrillic_i, Cyrillic_I ] };
  378. key <AD09> { [ o, O ],
  379. [ Cyrillic_o, Cyrillic_O ] ,
  380. [ Cyrillic_o, Cyrillic_O ] };
  381. key <AC09> { [ l, L ],
  382. [ Cyrillic_el, Cyrillic_EL ] ,
  383. [ Cyrillic_el, Cyrillic_EL ] };
  384. key <AD10> { [ p, P ],
  385. [ Cyrillic_pe, Cyrillic_PE ] ,
  386. [ Cyrillic_pe, Cyrillic_PE ] };
  387. key <AE11> { [ minus, underscore ],
  388. [ minus, Cyrillic_hardsign ] ,
  389. [ minus, Cyrillic_hardsign ] };
  390. key <AD11> { [ bracketleft, braceleft ],
  391. [ Cyrillic_sha, Cyrillic_SHA ] ,
  392. [ Cyrillic_sha, Cyrillic_SHA ] };
  393. key <AE12> { [ equal, plus ],
  394. [ Cyrillic_che, Cyrillic_CHE ] ,
  395. [ Cyrillic_che, Cyrillic_CHE ] };
  396. key <AD12> { [ bracketright, braceright ],
  397. [ Cyrillic_shcha, Cyrillic_SHCHA ] ,
  398. [ Cyrillic_shcha, Cyrillic_SHCHA ] };
  399. key <BKSL> { [ backslash, bar ],
  400. [ Cyrillic_e, Cyrillic_E ] ,
  401. [ Cyrillic_e, Cyrillic_E ] };
  402. modifier_map Shift { Shift_L };
  403. modifier_map Lock { Caps_Lock, ISO_Lock };
  404. modifier_map Control{ Control_L };
  405. modifier_map Mod3 { Mode_switch };
  406. };