diff --git a/app/src/main/assets/layouts/main/russian.txt b/app/src/main/assets/layouts/main/russian.txt
index 7ceb2435..7da99f64 100644
--- a/app/src/main/assets/layouts/main/russian.txt
+++ b/app/src/main/assets/layouts/main/russian.txt
@@ -8,7 +8,7 @@
ш
щ
з
-х
+х ъ [ {
ф
ы
@@ -20,7 +20,7 @@
л
д
ж
-э
+э э́ ] }
я
ч
diff --git a/app/src/main/assets/layouts/main/russian_extended.txt b/app/src/main/assets/layouts/main/russian_extended.txt
new file mode 100644
index 00000000..8b3249fe
--- /dev/null
+++ b/app/src/main/assets/layouts/main/russian_extended.txt
@@ -0,0 +1,34 @@
+й
+ц
+у
+к
+е
+н
+г
+ш
+щ
+з
+х [ {
+ъ ] }
+
+ф
+ы
+в
+а
+п
+р
+о
+л
+д
+ж
+э э́
+
+я
+ч
+с
+м
+и
+т
+ь
+б <
+ю >
diff --git a/app/src/main/assets/layouts/main/ukrainian.txt b/app/src/main/assets/layouts/main/ukrainian.txt
index 7e01cde3..ff1ed643 100644
--- a/app/src/main/assets/layouts/main/ukrainian.txt
+++ b/app/src/main/assets/layouts/main/ukrainian.txt
@@ -8,7 +8,8 @@
ш
щ
з
-х
+х [ {
+ї ] }
ф
і
@@ -20,7 +21,7 @@
л
д
ж
-є
+є ' "
я
ч
@@ -30,4 +31,4 @@
т
ь
б <
-ю >
+ю > ґ
diff --git a/app/src/main/assets/layouts/main/ukrainian_extended.txt b/app/src/main/assets/layouts/main/ukrainian_extended.txt
new file mode 100644
index 00000000..7e37e93c
--- /dev/null
+++ b/app/src/main/assets/layouts/main/ukrainian_extended.txt
@@ -0,0 +1,35 @@
+й
+ц
+у
+к
+е
+н
+г
+ш
+щ
+з
+х [ {
+ї ] }
+
+ф
+і
+в
+а
+п
+р
+о
+л
+д
+ж
+є ' "
+' "
+
+я
+ч
+с
+м
+и
+т
+ь
+б <
+ю > ґ
diff --git a/app/src/main/assets/locale_key_texts/ru.txt b/app/src/main/assets/locale_key_texts/ru.txt
index bbb9a247..59583da4 100644
--- a/app/src/main/assets/locale_key_texts/ru.txt
+++ b/app/src/main/assets/locale_key_texts/ru.txt
@@ -1,9 +1,19 @@
[popup_keys]
-е ё
-ь ъ
+е ё е́ ѣ
+ф ѳ
+ы ы́
+а а́
+о о́
+я я́
+и и́
+ь ъ ы
+ю ю́
' ’ ‚ ‘ › ‹
" ” „ “ » «
+і ы
+є э э́
+
[labels]
alphabet: АБВ
diff --git a/app/src/main/assets/locale_key_texts/uk.txt b/app/src/main/assets/locale_key_texts/uk.txt
index 9ee926c9..080bf826 100644
--- a/app/src/main/assets/locale_key_texts/uk.txt
+++ b/app/src/main/assets/locale_key_texts/uk.txt
@@ -1,9 +1,19 @@
[popup_keys]
+е е́
г ґ
-ь
+ф ѳ
і ї
-' ’ ‚ ‘
-" ” „ “
+а а́
+о о́
+я я́
+и и́ і ї
+г ґ
+ю ю́
+' ’ ‚ ‘ › ‹
+" ” „ “ » «
+
+ы і ї
+э є
[labels]
alphabet: АБВ
diff --git a/app/src/main/res/xml/method.xml b/app/src/main/res/xml/method.xml
index 2733268b..213f288d 100644
--- a/app/src/main/res/xml/method.xml
+++ b/app/src/main/res/xml/method.xml
@@ -90,6 +90,7 @@
pt_PT: Portuguese (Portugal)/qwerty
ro: Romanian/qwerty
ru: Russian/russian
+ ru: Russian (Extended)/russian_extended
ru: Russian (Student)/russian_student
si_LK: Sinhala (Sri Lanka)/sinhala # This is a preliminary keyboard layout.
sk: Slovak/qwerty
@@ -107,6 +108,7 @@
tr: Turkish/turkish
ur_PK: Urdu Pakistan
uk: Ukrainian/ukrainian
+ uk: Ukrainian (Extended)/ukrainian_extended
uz_UZ: Uzbek (Uzbekistan)/uzbek # This is a preliminary keyboard layout.
vi: Vietnamese/qwerty
zu: Zulu/qwerty
@@ -912,6 +914,16 @@
android:imeSubtypeExtraValue="KeyboardLayoutSet=MAIN:russian,SupportTouchPositionCorrection,EmojiCapable"
android:isAsciiCapable="false"
/>
+
+