about summary refs log tree commit diff
path: root/users/emery/workman-cyrillic.xkb
diff options
context:
space:
mode:
authorEmery Hemingway <emery@dmz.rs>2024-08-23T15·26+0300
committeremery <emery@dmz.rs>2024-08-23T16·07+0000
commit6c31d72000adc2a3277e9925e1abd72c0e17a146 (patch)
treeb8a80f6129db5afdb62ae8d6d857ec5d935dc75d /users/emery/workman-cyrillic.xkb
parenta4ebc8da7cd7232bb709ffa083547431ba65f08c (diff)
feat(users/emery): add custom Cyrillic keyboard layout r/8562
Change-Id: I37f95c904e8a05cf8d8e437c41b9710c2ebf0300
Reviewed-on: https://cl.tvl.fyi/c/depot/+/12294
Reviewed-by: tazjin <tazjin@tvl.su>
Tested-by: BuildkiteCI
Diffstat (limited to 'users/emery/workman-cyrillic.xkb')
-rw-r--r--users/emery/workman-cyrillic.xkb118
1 files changed, 118 insertions, 0 deletions
diff --git a/users/emery/workman-cyrillic.xkb b/users/emery/workman-cyrillic.xkb
new file mode 100644
index 000000000000..f6783bab7b81
--- /dev/null
+++ b/users/emery/workman-cyrillic.xkb
@@ -0,0 +1,118 @@
+# 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)"
+};