default partial alphanumeric_keys
xkb_symbols "cyrex" {
  name[Group1] = "Cyrillic Phonetic (Extended)";

  key <TLDE> {[ U044E, U042E, U0060, U007E ]}; # ю Ю ` ~
  key <AE01> {[ U0031, U0021, U00B9, U2048 ]}; # 1 ! ¹
  key <AE02> {[ U0032, U0040, U00B2, U00BD ]}; # 2 @ ² ½
  key <AE03> {[ U0033, U0023, U00B3, U2153 ]}; # 3 # ³ ⅓
  key <AE04> {[ U0034, U0024, U2074, U00BC ]}; # 4 $ ⁴ ¼
  key <AE05> {[ U0035, U0025, U2030        ]}; # 5 % ‰
  key <AE06> {[ U0036, U005E, U0301        ]}; # 6 ^ ́
  key <AE07> {[ U0037, U0026, U2193, U2191 ]}; # 7 & ↓ ↑
  key <AE08> {[ U0038, U002A, U221E        ]}; # 8 * ∞
  key <AE09> {[ U0039, U0028, U2264, U2190 ]}; # 9 ( ≤ ←
  key <AE10> {[ U0030, U0029, U2265, U2192 ]}; # 0 ) ≥ →
  key <AE11> {[ U002D, U005F, U2014, U2013 ]}; # - _ — –
  key <AE12> {[ U0447, U0427, U003D, U002B ]}; # ч Ч = +

  key <AD01> {[ U044F, U042F               ]}; # я Я
  key <AD02> {[ U0432, U0412               ]}; # в В
  key <AD03> {[ U0435, U0415, U0451, U0401 ]}; # е Е ё Ё
  key <LatR> {[ U0440, U0420, U00AE, U221A ]}; # р Р ® √
  key <LatT> {[ U0442, U0422, U2122        ]}; # т Т ™
  key <LatY> {[ U044B, U042B, U0457, U0407 ]}; # ы Ы ї Ї
  key <LatU> {[ U0443, U0423, U045E, U040E ]}; # у У ў Ў
  key <LatI> {[ U0438, U0418, U0456, U0406 ]}; # и И і І
  key <LatO> {[ U043E, U041E, U00B0, U2205 ]}; # о О ° ∅
  key <LatP> {[ U043F, U041F, U00B6, U00A7 ]}; # п П ¶ §
  key <AD11> {[ U0448, U0428, U005B, U007B ]}; # ш Ш [ {
  key <AD12> {[ U0449, U0429, U005D, U007D ]}; # щ Щ ] }
  key <BKSL> {[ U044D, U042D, U005C, U007C ]}; # э Э \ |

  key <LatA> {[ U0430, U0410, U2248        ]}; # а А ≈
  key <LatS> {[ U0441, U0421               ]}; # с С
  key <LatD> {[ U0434, U0414               ]}; # д Д
  key <LatF> {[ U0444, U0424, U0473, U0472 ]}; # ф Ф ѳ Ѳ
  key <LatG> {[ U0433, U0413, U0491, U0490 ]}; # г Г ґ Ґ
  key <LatH> {[ U0445, U0425               ]}; # х Х
  key <LatJ> {[ U0439, U0419, U0475, U0474 ]}; # й Й ѵ Ѵ
  key <LatK> {[ U043A, U041A, U201C, U2018 ]}; # к К “ ‘
  key <LatL> {[ U043B, U041B, U201D, U2019 ]}; # л Л ” ’
  key <AC10> {[ U003B, U003A               ]}; # ; :
  key <AC11> {[ U0027, U0022, U0454, U0404 ]}; # ' " є Є

  key <LatZ> {[ U0437, U0417, U0452, U0402 ]}; # з З ђ Ђ
  key <LatX> {[ U044C, U042C, U044A, U042A ]}; # ь Ь ъ Ъ
  key <LatC> {[ U0446, U0426, U00A9, U2103 ]}; # ц Ц © ℃
  key <LatV> {[ U0436, U0416, U045F, U040F ]}; # ж Ж џ Џ
  key <LatB> {[ U0431, U0411, U0463, U0462 ]}; # б Б ѣ Ѣ
  key <LatN> {[ U043D, U041D, U2260, U00B1 ]}; # н Н ≠ ±
  key <LatM> {[ U043C, U041C, U2212, U00D7 ]}; # м М − ×
  key <AB08> {[ U002C, U003C, U00AB, U201E ]}; # , < « „
  key <AB09> {[ U002E, U003E, U00BB, U201C ]}; # . > » “
  key <AB10> {[ U002F, U003F, U00F7, U2026 ]}; # / ? ÷ …

  key <LSGT> {[ U007C, U00A6 ]};
  key <SPCE> {[ U0020, U0020, U00A0, U00A0]};
};

// Language variants: the common map above with the letters of one language
// moved to the base level. Displaced letters stay on levels 3 and 4.

partial alphanumeric_keys
xkb_symbols "rus" {
  include "cyrex(cyrex)"
  name[Group1] = "Russian Phonetic (Extended)";
};

partial alphanumeric_keys
xkb_symbols "ukr" {
  include "cyrex(cyrex)"
  name[Group1] = "Ukrainian Phonetic (Extended)";

  key <LatY> {[ U0438, U0418, U044B, U042B ]}; # и И ы Ы
  key <LatI> {[ U0456, U0406, U0457, U0407 ]}; # і І ї Ї
  key <BKSL> {[ U0454, U0404, U005C, U007C ]}; # є Є \ |
  key <AC11> {[ U0027, U0022, U044D, U042D ]}; # ' " э Э
  key <LatX> {[ U044C, U042C, U02BC, U044A ]}; # ь Ь ʼ ъ
};

partial alphanumeric_keys
xkb_symbols "bel" {
  include "cyrex(cyrex)"
  name[Group1] = "Belarusian Phonetic (Extended)";

  key <LatI> {[ U0456, U0406, U0438, U0418 ]}; # і І и И
  key <AD12> {[ U045E, U040E, U005D, U007D ]}; # ў Ў ] }
  key <LatU> {[ U0443, U0423, U0449, U0429 ]}; # у У щ Щ
  key <LatX> {[ U044C, U042C, U02BC, U044A ]}; # ь Ь ʼ ъ
};
