# Workman with phonetic transliteration layer for Cyrllic.
# Switch layers using Shift+CapsLock.

partial alphanumeric_keys
xkb_symbols "workman-emery" {

    name[Group1]= "Emery";

    include "us(euro)"

    // Alphanumeric section
    key <AE01> {  [ 1,       exclam ] };
    key <AE02> {  [ 2,           at ] };
    key <AE03> {  [ 3,   numbersign ] };
    key <AE04> {  [ 4,       dollar ] };
    key <AE05> {  [ 5,      percent ] };
    key <AE06> {  [ 6,  asciicircum ] };
    key <AE07> {  [ 7,    ampersand ] };
    key <AE08> {  [ 8,     asterisk ] };
    key <AE09> {  [ 9,    parenleft ] };
    key <AE10> {  [ 0,   parenright ] };

    key <AD01> {
        [     q,     Q,    adiaeresis,       Adiaeresis ],
        [ U044B, U042B, U044c, U042C ] }; # ы Ы ь Ь
    key <AD02> {
        [     d,     D, U0111, U0111 ], # d D đ đ
        [ U0434, U0414, U0452, U0402 ] }; # д Д ђ Ђ
    key <AD03> {
        [     r,          R,         U20AC,            U20AC ],
        [ U0440, U0420, U20AC, U20AC ] }; # р Р
    key <AD04> {
      [     w,          W,         aring,            Aring ],
      [ U0447, U0427, U045B, U040B ] }; # ч Ч ћ Ћ
    key <AD05> {
      [     b,          B,             b,                B ],
      [ U0431, U0411 ]}; # б Б
    key <AD06> {
      [     j,     J, U0135, U0134 ], # j J ĵ Ĵ
      [ U0458, U0408 ]}; # ј Ј
    key <AD07> {
      [ f, F,  0x1002200, F ], # f F ∀ F
      [ U0444, U0424, U0473, U0472 ]}; # ф Ф ѳ Ѳ
    key <AD08> {
      [     u,          U, U016D, U016C ],
      [ U0443, U0423, U045E, U040E ] }; # у У ў Ў
    key <AD09> {
      [     p,     P, sterling, sterling ],
      [ U043F, U041F, sterling, sterling ] }; # п П
    key <AD10> {
      [ semicolon,  colon,     paragraph,           degree ] };

    key <AC01> {
        [     a,          A,    adiaeresis,       Adiaeresis ],
        [ U0430, U0410, U2248, U00B6 ] # а А ≈ ¶
      };
    key <AC02> {
        [     s,          S, U0161, U0160 ],
        [ U0441, U0421,  U0448,  U0428 ] # с С ш Ш
      };
    key <AC03> {
      [     h,          H, U010D, U010C ],
      [ U0445, U0425 , U044B, U042B ] }; # х Х
    key <AC04> {
      [     t,          T,         thorn,            THORN ],
      [ U0442, U0422] }; # т Т
    key <AC05> {
      [     g,          G, U011D, U011C ],
      [ U0433, U0413  ] }; # г Г
    key <AC06> {
      [     y,          Y,    udiaeresis,       Udiaeresis ],
      [ U044f, U042f, U044D, U042D ] }; # я Я э Э
    key <AC07> {
      [     n,          N,        ntilde,           Ntilde ],
      [ U043D, U041D, U045A, U040A ] }; # н Н њ Њ
    key <AC08> {
      [     e,          E,    ediaeresis,       Ediaeresis ],
      [ U0435, U0415, U0451, U0401 ] }; # е Е ё Ё
    key <AC09> {
      [     o,          O,    odiaeresis,       Odiaeresis ],
      [ U043E, U041E, U044E, U042E  ] }; # о О ю Ю
    key <AC10> {
      [     i,          I,    idiaeresis,       Idiaeresis ],
      [ U0438, U0418, U0439, U0419 ] }; # и И й
    key <AC11> {
      [],
      [ U0447, U0427, U045B, U040B ] }; # ч Ч ћ Ћ

    key <AB01> {
      [     z,          Z,            U017E,              U017D ],
      [ U0437, U0417, U0436, U0416 ] }; # з З ж Ж
    key <AB02> {
      [     x,          X,             x,                X ],
      [ U045F, U040F ] }; # џ Џ
    key <AB03> {
      [     m,          M,            mu,               mu ],
      [ U043C, U041C, mu,               mu ] }; # м М
    key <AB04> {
      [     c,          C, U0107, U0106 ],
      [ U0446, U0426, U00A9, U2103 ] }; # ц Ц © ℃
    key <AB05> {
      [     v,          V,             v,                V ],
      [ U0432, U0412 ]}; # в В
    key <AB06> {
      [     k,          K,            oe,               OE ],
      [ U043A, U041A ] }; # к К
    key <AB07> {
      [     l,          L,  U01C9,     U01C8 ],
      [ U043B, U041B,  U0459, U0409 ] }; # л Л љ Љ
    key <AB08> { [   comma,    less,  ellipsis,  guillemotleft ] };
    key <AB09> { [  period, greater,  ellipsis, guillemotright ] };
    // End alphanumeric section

    key <CAPS> { [ BackSpace, ISO_Next_Group ] };

    key <SPCE> { [ space, minus, space, space ] };
    include "level3(ralt_switch)"
};
