keymap_unicode_cyrillic.h 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163
  1. #ifndef KEYMAP_CYRILLIC_H
  2. #define KEYMAP_CYRILLIC_H
  3. #include "keymap.h"
  4. /*
  5. * This is based off of
  6. * https://en.wikipedia.org/wiki/Cyrillic_script
  7. *
  8. * Unicode is iffy, a software implementation is preferred
  9. */
  10. // Capital Char russian/ukrainian/bulgarian
  11. #define CY_A UC(0x0410) // А rus ukr bul
  12. #define CY_BE UC(0x0411) // Б rus ukr bul
  13. #define CY_VE UC(0x0412) // В rus ukr bul
  14. #define CY_GHE UC(0x0413) // Г rus ukr bul
  15. #define CY_GHEUP UC(0x0490) // Ґ ukr
  16. #define CY_DE UC(0x0414) // Д rus ukr bul
  17. #define CY_DJE UC(0x0402) // Ђ
  18. #define CY_GJE UC(0x0403) // Ѓ
  19. #define CY_IE UC(0x0415) // Е rus ukr bul
  20. #define CY_IO UC(0x0401) // Ё rus
  21. #define CY_UIE UC(0x0404) // Є ukr
  22. #define CY_ZHE UC(0x0416) // Ж rus ukr bul
  23. #define CY_ZE UC(0x0417) // З rus ukr bul
  24. #define CY_DZE UC(0x0405) // Ѕ
  25. #define CY_I UC(0x0418) // И rus ukr bul
  26. #define CY_B_U_I UC(0x0406) // І ukr
  27. #define CY_YI UC(0x0407) // Ї ukr
  28. #define CY_SRT_I UC(0x0419) // Й rus ukr bul
  29. #define CY_JE UC(0x0408) // Ј
  30. #define CY_KA UC(0x041a) // К rus ukr bul
  31. #define CY_EL UC(0x041b) // Л rus ukr bul
  32. #define CY_LJE UC(0x0409) // Љ
  33. #define CY_EM UC(0x041c) // М rus ukr bul
  34. #define CY_EN UC(0x041d) // Н rus ukr bul
  35. #define CY_NJE UC(0x040a) // Њ
  36. #define CY_O UC(0x041e) // О rus ukr bul
  37. #define CY_PE UC(0x041f) // П rus ukr bul
  38. #define CY_ER UC(0x0420) // Р rus ukr bul
  39. #define CY_ES UC(0x0421) // С rus ukr bul
  40. #define CY_TE UC(0x0422) // Т rus ukr bul
  41. #define CY_TSHE UC(0x040b) // Ћ
  42. #define CY_KJE UC(0x040c) // Ќ
  43. #define CY_U UC(0x0423) // У rus ukr bul
  44. #define CY_SRT_U UC(0x040e) // Ў
  45. #define CY_EF UC(0x0424) // Ф rus ukr bul
  46. #define CY_HA UC(0x0425) // Х rus bul
  47. #define CY_TSE UC(0x0426) // Ц rus ukr bul
  48. #define CY_CHE UC(0x0427) // Ч rus ukr bul
  49. #define CY_DZHE UC(0x040f) // Џ
  50. #define CY_SHA UC(0x0428) // Ш rus ukr bul
  51. #define CY_SHCHA UC(0x0429) // Щ rus ukr bul
  52. #define CY_HSIGN UC(0x042a) // Ъ rus bul
  53. #define CY_YERU UC(0x042b) // Ы rus
  54. #define CY_SSIGN UC(0x042c) // Ь rus ukr bul
  55. #define CY_E UC(0x042d) // Э rus
  56. #define CY_YU UC(0x042e) // Ю rus ukr bul
  57. #define CY_YA UC(0x042f) // Я rus ukr bul
  58. // Important Cyrillic non-Slavic letters
  59. #define CY_PALOCHKA UC(0x04c0) // Ӏ
  60. #define CY_SCHWA UC(0x04d8) // Ә
  61. #define CY_GHE_S UC(0x0492) // Ғ
  62. #define CY_ZE_D UC(0x0498) // Ҙ
  63. #define CY_ES_D UC(0x04aa) // Ҫ
  64. #define CY_BR_KA UC(0x04a0) // Ҡ
  65. #define CY_ZHE_D UC(0x0496) // Җ
  66. #define CY_KA_D UC(0x049a) // Қ
  67. #define CY_EN_D UC(0x04a2) // Ң
  68. #define CY_ENGHE UC(0x04a4) // Ҥ
  69. #define CY_BRD_O UC(0x04e8) // Ө
  70. #define CY_STR_U UC(0x04ae) // Ү
  71. #define CY_S_U_S UC(0x04b0) // Ұ
  72. #define CY_SHHA UC(0x04ba) // Һ
  73. #define CY_HA_D UC(0x04b2) // Ҳ
  74. // Small
  75. #define CY_a UC(0x0430) // a rus ukr bul
  76. #define CY_be UC(0x0431) // б rus ukr bul
  77. #define CY_ve UC(0x0432) // в rus ukr bul
  78. #define CY_ghe UC(0x0433) // г rus ukr bul
  79. #define CY_gheup UC(0x0491) // ґ ukr
  80. #define CY_de UC(0x0434) // д rus ukr bul
  81. #define CY_dje UC(0x0452) // ђ
  82. #define CY_gje UC(0x0453) // ѓ
  83. #define CY_ie UC(0x0435) // е rus ukr bul
  84. #define CY_io UC(0x0451) // ё rus
  85. #define CY_uie UC(0x0454) // є ukr
  86. #define CY_zhe UC(0x0436) // ж rus ukr bul
  87. #define CY_ze UC(0x0437) // з rus ukr bul
  88. #define CY_dze UC(0x0455) // ѕ
  89. #define CY_i UC(0x0438) // и rus ukr bul
  90. #define CY_b_u_i UC(0x0456) // і ukr
  91. #define CY_yi UC(0x0457) // ї ukr
  92. #define CY_srt_i UC(0x0439) // й rus ukr bul
  93. #define CY_je UC(0x0458) // ј
  94. #define CY_ka UC(0x043a) // к rus ukr bul
  95. #define CY_el UC(0x043b) // л rus ukr bul
  96. #define CY_lje UC(0x0459) // љ
  97. #define CY_em UC(0x043c) // м rus ukr bul
  98. #define CY_en UC(0x043d) // н rus ukr bul
  99. #define CY_nje UC(0x045a) // њ
  100. #define CY_o UC(0x043e) // о rus ukr bul
  101. #define CY_pe UC(0x043f) // п rus ukr bul
  102. #define CY_er UC(0x0440) // р rus ukr bul
  103. #define CY_es UC(0x0441) // с rus ukr bul
  104. #define CY_te UC(0x0442) // т rus ukr bul
  105. #define CY_tshe UC(0x045b) // ћ
  106. #define CY_kje UC(0x045c) // ќ
  107. #define CY_u UC(0x0443) // у rus ukr bul
  108. #define CY_srt_u UC(0x045e) // ў
  109. #define CY_ef UC(0x0444) // ф rus ukr bul
  110. #define CY_ha UC(0x0445) // х rus ukr bul
  111. #define CY_tse UC(0x0446) // ц rus ukr bul
  112. #define CY_che UC(0x0447) // ч rus ukr bul
  113. #define CY_dzhe UC(0x045f) // џ
  114. #define CY_sha UC(0x0448) // ш rus ukr bul
  115. #define CY_shcha UC(0x0449) // щ rus ukr bul
  116. #define CY_hsign UC(0x044a) // ъ rus bul
  117. #define CY_yeru UC(0x044b) // ы rus
  118. #define CY_ssign UC(0x044c) // ь rus ukr bul
  119. #define CY_e UC(0x044d) // э rus
  120. #define CY_yu UC(0x044e) // ю rus ukr bul
  121. #define CY_ya UC(0x044f) // я rus ukr bul
  122. // Important Cyrillic non-Slavic letters
  123. #define CY_palochka UC(0x04cf) // ӏ
  124. #define CY_schwa UC(0x04d9) // ә
  125. #define CY_ghe_s UC(0x0493) // ғ
  126. #define CY_ze_d UC(0x0499) // ҙ
  127. #define CY_es_d UC(0x04ab) // ҫ
  128. #define CY_br_ka UC(0x04a1) // ҡ
  129. #define CY_zhe_d UC(0x0497) // җ
  130. #define CY_ka_d UC(0x049b) // қ
  131. #define CY_en_d UC(0x04a3) // ң
  132. #define CY_enghe UC(0x04a5) // ҥ
  133. #define CY_brd_o UC(0x04e9) // ө
  134. #define CY_str_u UC(0x04af) // ү
  135. #define CY_s_u_s UC(0x04b1) // ұ
  136. #define CY_shha UC(0x04bb) // һ
  137. #define CY_ha_d UC(0x04b3) // ҳ
  138. // Extra
  139. #define CY_slr_ve UC(0x1c80) // ᲀ CYRILLIC SMALL LETTER ROUNDED VE
  140. #define CY_ll_de UC(0x1c81) // ᲁ CYRILLIC SMALL LETTER LONG-LEGGED DE
  141. #define CY_ZEMLYA UC(0xa640) // Ꙁ CYRILLIC CAPITAL LETTER ZEMLYA
  142. #define CY_zemlya UC(0xa641) // ꙁ CYRILLIC SMALL LETTER ZEMLYA
  143. #define CY_RV_DZE UC(0xa644) // Ꙅ CYRILLIC CAPITAL LETTER REVERSED DZE
  144. #define CY_rv_DZE UC(0xa645) // ꙅ CYRILLIC SMALL LETTER REVERSED DZE
  145. #define CY_slw_es UC(0x1c83) // ᲃ CYRILLIC SMALL LETTER WIDE ES
  146. #define CY_st_te UC(0x1c84) // ᲄ CYRILLIC SMALL LETTER TALL TE
  147. #define CY_3l_te UC(0x1c85) // ᲅ CYRILLIC SMALL LETTER THREE-LEGGED TE
  148. #define CY_thsign UC(0x1c86) // ᲆ CYRILLIC SMALL LETTER TALL HARD SIGN
  149. #define CY_YERUBY UC(0xa650) // Ꙑ CYRILLIC CAPITAL LETTER YERU WITH BACK YER
  150. #define CY_yeruby UC(0xa651) // ꙑ CYRILLIC SMALL LETTER YERU WITH BACK YER
  151. #define CY_RUBL UC(0x20bd) // ₽
  152. #define CY_NMRO UC(0x2116) // №
  153. // The letters Zje and Sje are made for other letters and accent marks
  154. #endif