diff --git a/java/res/values-be/donottranslate-more-keys.xml b/java/res/values-be/donottranslate-more-keys.xml
index 0917f11ece423dd384bd9f4bf33b7cdbe24381c7..1550ddb177835dc370875523d3c6e0d70c7f73f6 100644
--- a/java/res/values-be/donottranslate-more-keys.xml
+++ b/java/res/values-be/donottranslate-more-keys.xml
@@ -19,7 +19,7 @@
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <!-- U+045E: "Ñž" CYRILLIC SMALL LETTER SHORT U -->
-    <string name="keylabel_for_slavic_shcha">&#x045E;</string>
+    <string name="keylabel_for_cyrillic_shcha">&#x045E;</string>
     <!-- U+0456: "Ñ–" CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -->
-    <string name="keylabel_for_slavic_i">&#x0456;</string>
+    <string name="keylabel_for_cyrillic_i">&#x0456;</string>
 </resources>
diff --git a/java/res/values-ky/donottranslate-more-keys.xml b/java/res/values-ky/donottranslate-more-keys.xml
index 82462098783292baf355f599ec3f7dedce15f87a..b67a9f15dd53f87bf539a860c0cf85e4cff7519d 100644
--- a/java/res/values-ky/donottranslate-more-keys.xml
+++ b/java/res/values-ky/donottranslate-more-keys.xml
@@ -19,9 +19,9 @@
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <!-- U+04AF: "Ò¯" CYRILLIC SMALL LETTER STRAIGHT U -->
-    <string name="more_keys_for_slavic_u">&#x04AF;</string>
+    <string name="more_keys_for_cyrillic_u">&#x04AF;</string>
     <!-- U+04A3: "Ò£" CYRILLIC SMALL LETTER EN WITH DESCENDER -->
-    <string name="more_keys_for_slavic_en">&#x04A3;</string>
+    <string name="more_keys_for_cyrillic_en">&#x04A3;</string>
     <!-- U+04E9: "Ó©" CYRILLIC SMALL LETTER BARRED O -->
-    <string name="more_keys_for_slavic_o">&#x04E9;</string>
+    <string name="more_keys_for_cyrillic_o">&#x04E9;</string>
 </resources>
diff --git a/java/res/values-mk/donottranslate-more-keys.xml b/java/res/values-mk/donottranslate-more-keys.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e96a306b65d1d97e339965ecb2f6301eae6bc599
--- /dev/null
+++ b/java/res/values-mk/donottranslate-more-keys.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <!-- NOTE: Macedonian layouts are based on Serbian ones with the following key replacements. -->
+    <!-- U+0455: "Ñ•" CYRILLIC SMALL LETTER DZE -->
+    <string name="keylabel_for_cyrillic_ze">&#x0455;</string>
+    <!-- U+045C: "ќ" CYRILLIC SMALL LETTER KJE -->
+    <string name="keylabel_for_cyrillic_tshe">&#x045C;</string>
+    <!-- U+0437: "з" CYRILLIC SMALL LETTER ZE -->
+    <string name="keylabel_for_cyrillic_dze">&#x0437;</string>
+    <!-- U+0453: "Ñ“" CYRILLIC SMALL LETTER GJE -->
+    <string name="keylabel_for_cyrillic_dje">&#x0453;</string>
+    <!-- U+0450: "ѐ" CYRILLIC SMALL LETTER IE WITH GRAVE -->
+    <string name="more_keys_for_cyrillic_ie">&#x0450;</string>
+    <!-- U+045D: "ѝ" CYRILLIC SMALL LETTER I WITH GRAVE -->
+    <string name="more_keys_for_cyrillic_i">&#x045D;</string>
+    <!-- U+2018: "‘" LEFT SINGLE QUOTATION MARK
+         U+2019: "’" RIGHT SINGLE QUOTATION MARK
+         U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
+         U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
+         U+201C: "“" LEFT DOUBLE QUOTATION MARK
+         U+201D: "”" RIGHT DOUBLE QUOTATION MARK
+         U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
+         U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
+    <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK. -->
+    <!-- <string name="more_keys_for_double_quote">!fixedColumnOrder!6,&#x201E;,&#x201C;,&#x201D;,&#x201F;,&#x00AB;,&#x00BB;</string> -->
+    <string name="more_keys_for_double_quote">!fixedColumnOrder!5,&#x201E;,&#x201C;,&#x201D;,&#x00AB;,&#x00BB;</string>
+    <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK. -->
+    <!-- <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!6,&#x201C;,&#x201D;,&#x201E;,&#x201F;,&#x00AB;,&#x00BB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string> -->
+    <string name="more_keys_for_tablet_double_quote">!fixedColumnOrder!5,&#x201E;,&#x201C;,&#x201D;,&#x00AB;,&#x00BB;,&#x2018;,&#x2019;,&#x201A;,&#x201B;</string>
+</resources>
diff --git a/java/res/values-ru/donottranslate-more-keys.xml b/java/res/values-ru/donottranslate-more-keys.xml
index 45c4551a1fc553b5eca52917dff1a49ecb8eef9b..a1a22e5aa2c30a01cfdb801f04bee2e8541f3201 100644
--- a/java/res/values-ru/donottranslate-more-keys.xml
+++ b/java/res/values-ru/donottranslate-more-keys.xml
@@ -19,5 +19,5 @@
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <!-- U+0451: "Ñ‘" CYRILLIC SMALL LETTER IO -->
-    <string name="more_keys_for_slavic_ye">&#x0451;</string>
+    <string name="more_keys_for_cyrillic_ye">&#x0451;</string>
 </resources>
diff --git a/java/res/values-uk/donottranslate-more-keys.xml b/java/res/values-uk/donottranslate-more-keys.xml
index 3208a664937394b8e23903414462bef1c87451e2..323eaafbb4d6ba6f7e66caeb49a977a2835ff38c 100644
--- a/java/res/values-uk/donottranslate-more-keys.xml
+++ b/java/res/values-uk/donottranslate-more-keys.xml
@@ -19,7 +19,7 @@
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <!-- U+0456: "Ñ–" CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I -->
-    <string name="keylabel_for_slavic_yery">&#x0456;</string>
+    <string name="keylabel_for_cyrillic_yery">&#x0456;</string>
     <!-- U+0457: "Ñ—" CYRILLIC SMALL LETTER YI -->
-    <string name="more_keys_for_slavic_yery">&#x0457;</string>
+    <string name="more_keys_for_cyrillic_yery">&#x0457;</string>
 </resources>
diff --git a/java/res/values/donottranslate-more-keys.xml b/java/res/values/donottranslate-more-keys.xml
index 0581a6162953a93290fc244b03bec6cb71d092f5..d69dfc738dbfe0ba4b2c405801caba1e42f00877 100644
--- a/java/res/values/donottranslate-more-keys.xml
+++ b/java/res/values/donottranslate-more-keys.xml
@@ -41,20 +41,30 @@
     <string name="more_keys_for_scandinavia_row2_10"></string>
     <string name="more_keys_for_scandinavia_row2_11"></string>
     <!-- U+0449: "щ" CYRILLIC SMALL LETTER SHCHA -->
-    <string name="keylabel_for_slavic_shcha">&#x0449;</string>
+    <string name="keylabel_for_cyrillic_shcha">&#x0449;</string>
     <!-- U+044B: "Ñ‹" CYRILLIC SMALL LETTER YERU -->
-    <string name="keylabel_for_slavic_yery">&#x044B;</string>
+    <string name="keylabel_for_cyrillic_yery">&#x044B;</string>
     <!-- U+0438: "и" CYRILLIC SMALL LETTER I -->
-    <string name="keylabel_for_slavic_i">&#x0438;</string>
-    <string name="more_keys_for_slavic_u"></string>
-    <string name="more_keys_for_slavic_ye"></string>
-    <string name="more_keys_for_slavic_en"></string>
+    <string name="keylabel_for_cyrillic_i">&#x0438;</string>
+    <!-- U+0437: "з" CYRILLIC SMALL LETTER ZE -->
+    <string name="keylabel_for_cyrillic_ze">&#x0437;</string>
+    <!-- U+045B: "Ñ›" CYRILLIC SMALL LETTER TSHE -->
+    <string name="keylabel_for_cyrillic_tshe">&#x045B;</string>
+    <!-- U+0455: "Ñ•" CYRILLIC SMALL LETTER DZE -->
+    <string name="keylabel_for_cyrillic_dze">&#x0455;</string>
+    <!-- U+0452: "Ñ’" CYRILLIC SMALL LETTER DJE -->
+    <string name="keylabel_for_cyrillic_dje">&#x0452;</string>
+    <string name="more_keys_for_cyrillic_u"></string>
+    <string name="more_keys_for_cyrillic_ye"></string>
+    <string name="more_keys_for_cyrillic_en"></string>
     <!-- U+044A: "ÑŠ" CYRILLIC SMALL LETTER HARD SIGN -->
-    <string name="more_keys_for_slavic_ha">&#x044A;</string>
-    <string name="more_keys_for_slavic_yery"></string>
-    <string name="more_keys_for_slavic_o"></string>
+    <string name="more_keys_for_cyrillic_ha">&#x044A;</string>
+    <string name="more_keys_for_cyrillic_yery"></string>
+    <string name="more_keys_for_cyrillic_o"></string>
     <!-- U+044A: "ÑŠ" CYRILLIC SMALL LETTER HARD SIGN -->
-    <string name="more_keys_for_slavic_soft_sign">&#x044A;</string>
+    <string name="more_keys_for_cyrillic_soft_sign">&#x044A;</string>
+    <string name="more_keys_for_cyrillic_ie"></string>
+    <string name="more_keys_for_cyrillic_i"></string>
     <!-- U+00A2: "¢" CENT SIGN
          U+00A3: "£" POUND SIGN
          U+20AC: "€" EURO SIGN
diff --git a/java/res/xml-mk/keyboard_set.xml b/java/res/xml-mk/keyboard_set.xml
new file mode 100644
index 0000000000000000000000000000000000000000..31199cb0a1863ef0cb1362f1f302e2da52231cac
--- /dev/null
+++ b/java/res/xml-mk/keyboard_set.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+**     http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+-->
+
+<KeyboardSet
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+    latin:keyboardLocale="mk">
+    <Element
+        latin:elementName="alphabet"
+        latin:elementKeyboard="@xml/kbd_serbian" />
+    <Element
+        latin:elementName="symbols"
+        latin:elementKeyboard="@xml/kbd_symbols" />
+    <Element
+        latin:elementName="symbolsShifted"
+        latin:elementKeyboard="@xml/kbd_symbols_shift" />
+    <Element
+        latin:elementName="phone"
+        latin:elementKeyboard="@xml/kbd_phone" />
+    <Element
+        latin:elementName="phoneSymbols"
+        latin:elementKeyboard="@xml/kbd_phone_symbols" />
+    <Element
+        latin:elementName="number"
+        latin:elementKeyboard="@xml/kbd_number" />
+</KeyboardSet>
diff --git a/java/res/xml-sw600dp/rows_serbian.xml b/java/res/xml-sw600dp/rows_serbian.xml
index 5730aa050ea42b833b69bd16dcbde21788b30ddd..989fa488cce27154f1a34f2dde69562dfd5a8691 100644
--- a/java/res/xml-sw600dp/rows_serbian.xml
+++ b/java/res/xml-sw600dp/rows_serbian.xml
@@ -35,22 +35,23 @@
             latin:keyLabel="&#x045A;" />
         <!-- U+0435: "е" CYRILLIC SMALL LETTER IE -->
         <Key
-            latin:keyLabel="&#x0435;" />
+            latin:keyLabel="&#x0435;"
+            latin:moreKeys="@string/more_keys_for_cyrillic_ie" />
         <!-- U+0440: "Ñ€" CYRILLIC SMALL LETTER ER -->
         <Key
             latin:keyLabel="&#x0440;" />
         <!-- U+0442: "Ñ‚" CYRILLIC SMALL LETTER TE -->
         <Key
             latin:keyLabel="&#x0442;" />
-        <!-- U+0437: "з" CYRILLIC SMALL LETTER ZE -->
         <Key
-            latin:keyLabel="&#x0437;" />
+            latin:keyLabel="@string/keylabel_for_cyrillic_ze" />
         <!-- U+0443: "у" CYRILLIC SMALL LETTER U -->
         <Key
             latin:keyLabel="&#x0443;" />
         <!-- U+0438: "и" CYRILLIC SMALL LETTER I -->
         <Key
-            latin:keyLabel="&#x0438;" />
+            latin:keyLabel="&#x0438;"
+            latin:moreKeys="@string/more_keys_for_cyrillic_i" />
         <!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
         <Key
             latin:keyLabel="&#x043E;" />
@@ -98,9 +99,8 @@
         <!-- U+0447: "ч" CYRILLIC SMALL LETTER CHE -->
         <Key
             latin:keyLabel="&#x0447;" />
-        <!-- U+045B: "Ñ›" CYRILLIC SMALL LETTER TSHE -->
         <Key
-            latin:keyLabel="&#x045B;" />
+            latin:keyLabel="@string/keylabel_for_cyrillic_tshe" />
         <Key
             latin:keyStyle="enterKeyStyle"
             latin:keyXPos="-14.6%p"
@@ -112,9 +112,8 @@
         <Key
             latin:keyStyle="shiftKeyStyle"
             latin:keyWidth="8.0%p" />
-        <!-- U+0455: "Ñ•" CYRILLIC SMALL LETTER DZE -->
         <Key
-            latin:keyLabel="&#x0455;" />
+            latin:keyLabel="@string/keylabel_for_cyrillic_dze" />
         <!-- U+045F: "ÑŸ" CYRILLIC SMALL LETTER DZHE -->
         <Key
             latin:keyLabel="&#x045F;" />
@@ -133,9 +132,8 @@
         <!-- U+043C: "м" CYRILLIC SMALL LETTER EM -->
         <Key
             latin:keyLabel="&#x043C;" />
-        <!-- U+0452: "Ñ’" CYRILLIC SMALL LETTER DJE -->
         <Key
-            latin:keyLabel="&#x0452;" />
+            latin:keyLabel="@string/keylabel_for_cyrillic_dje" />
         <!-- U+0436: "ж" CYRILLIC SMALL LETTER ZHE -->
         <Key
             latin:keyLabel="&#x0436;" />
diff --git a/java/res/xml-sw600dp/rows_slavic.xml b/java/res/xml-sw600dp/rows_slavic.xml
index 58f0b3900995a5467492fe02d06c1a36cce8803c..7ff63bc0e3c6f7c4582125db6234b84c51e3a4ee 100644
--- a/java/res/xml-sw600dp/rows_slavic.xml
+++ b/java/res/xml-sw600dp/rows_slavic.xml
@@ -35,18 +35,18 @@
         <!-- U+0443: "у" CYRILLIC SMALL LETTER U -->
         <Key
             latin:keyLabel="&#x0443;"
-            latin:moreKeys="@string/more_keys_for_slavic_u" />
+            latin:moreKeys="@string/more_keys_for_cyrillic_u" />
         <!-- U+043A: "к" CYRILLIC SMALL LETTER KA -->
         <Key
             latin:keyLabel="&#x043A;" />
         <!-- U+0435: "е" CYRILLIC SMALL LETTER IE -->
         <Key
             latin:keyLabel="&#x0435;"
-            latin:moreKeys="@string/more_keys_for_slavic_ye" />
+            latin:moreKeys="@string/more_keys_for_cyrillic_ye" />
         <!-- U+043D: "н" CYRILLIC SMALL LETTER EN -->
         <Key
             latin:keyLabel="&#x043D;"
-            latin:moreKeys="@string/more_keys_for_slavic_en" />
+            latin:moreKeys="@string/more_keys_for_cyrillic_en" />
         <!-- U+0433: "г" CYRILLIC SMALL LETTER GHE -->
         <Key
             latin:keyLabel="&#x0433;" />
@@ -54,7 +54,7 @@
         <Key
             latin:keyLabel="&#x0448;" />
         <Key
-            latin:keyLabel="@string/keylabel_for_slavic_shcha" />
+            latin:keyLabel="@string/keylabel_for_cyrillic_shcha" />
         <!-- U+0437: "з" CYRILLIC SMALL LETTER ZE -->
         <Key
             latin:keyLabel="&#x0437;" />
@@ -77,8 +77,8 @@
             latin:keyLabel="&#x0444;"
             latin:keyXPos="2.25%p" />
         <Key
-            latin:keyLabel="@string/keylabel_for_slavic_yery"
-            latin:moreKeys="@string/more_keys_for_slavic_yery" />
+            latin:keyLabel="@string/keylabel_for_cyrillic_yery"
+            latin:moreKeys="@string/more_keys_for_cyrillic_yery" />
         <!-- U+0432: "в" CYRILLIC SMALL LETTER VE -->
         <Key
             latin:keyLabel="&#x0432;" />
@@ -94,7 +94,7 @@
         <!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
         <Key
             latin:keyLabel="&#x043E;"
-            latin:moreKeys="@string/more_keys_for_slavic_o" />
+            latin:moreKeys="@string/more_keys_for_cyrillic_o" />
         <!-- U+043B: "л" CYRILLIC SMALL LETTER EL -->
         <Key
             latin:keyLabel="&#x043B;" />
@@ -130,7 +130,7 @@
         <Key
             latin:keyLabel="&#x043C;" />
         <Key
-            latin:keyLabel="@string/keylabel_for_slavic_i" />
+            latin:keyLabel="@string/keylabel_for_cyrillic_i" />
         <!-- U+0442: "Ñ‚" CYRILLIC SMALL LETTER TE -->
         <Key
             latin:keyLabel="&#x0442;" />
diff --git a/java/res/xml-sw768dp/rows_serbian.xml b/java/res/xml-sw768dp/rows_serbian.xml
index 39907c86702f12edac6c6743eb26728a664cfdaa..62668e5cc2eeff3846762e8657efa9966efb81b8 100644
--- a/java/res/xml-sw768dp/rows_serbian.xml
+++ b/java/res/xml-sw768dp/rows_serbian.xml
@@ -37,22 +37,23 @@
             latin:keyLabel="&#x045A;" />
         <!-- U+0435: "е" CYRILLIC SMALL LETTER IE -->
         <Key
-            latin:keyLabel="&#x0435;" />
+            latin:keyLabel="&#x0435;"
+            latin:moreKeys="@string/more_keys_for_cyrillic_ie" />
         <!-- U+0440: "Ñ€" CYRILLIC SMALL LETTER ER -->
         <Key
             latin:keyLabel="&#x0440;" />
         <!-- U+0442: "Ñ‚" CYRILLIC SMALL LETTER TE -->
         <Key
             latin:keyLabel="&#x0442;" />
-        <!-- U+0437: "з" CYRILLIC SMALL LETTER ZE -->
         <Key
-            latin:keyLabel="&#x0437;" />
+            latin:keyLabel="@string/keylabel_for_cyrillic_ze" />
         <!-- U+0443: "у" CYRILLIC SMALL LETTER U -->
         <Key
             latin:keyLabel="&#x0443;" />
         <!-- U+0438: "и" CYRILLIC SMALL LETTER I -->
         <Key
-            latin:keyLabel="&#x0438;" />
+            latin:keyLabel="&#x0438;"
+            latin:moreKeys="@string/more_keys_for_cyrillic_i" />
         <!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
         <Key
             latin:keyLabel="&#x043E;" />
@@ -107,9 +108,8 @@
         <!-- U+0447: "ч" CYRILLIC SMALL LETTER CHE -->
         <Key
             latin:keyLabel="&#x0447;" />
-        <!-- U+045B: "Ñ›" CYRILLIC SMALL LETTER TSHE -->
         <Key
-            latin:keyLabel="&#x045B;" />
+            latin:keyLabel="@string/keylabel_for_cyrillic_tshe" />
         <Key
             latin:keyStyle="deleteKeyStyle"
             latin:keyXPos="-9.219%p"
@@ -121,9 +121,8 @@
         <Key
             latin:keyStyle="shiftKeyStyle"
             latin:keyWidth="13.829%p" />
-        <!-- U+0455: "Ñ•" CYRILLIC SMALL LETTER DZE -->
         <Key
-            latin:keyLabel="&#x0455;" />
+            latin:keyLabel="@string/keylabel_for_cyrillic_dze" />
         <!-- U+045F: "ÑŸ" CYRILLIC SMALL LETTER DZHE -->
         <Key
             latin:keyLabel="&#x045F;" />
@@ -142,6 +141,8 @@
         <!-- U+043C: "м" CYRILLIC SMALL LETTER EM -->
         <Key
             latin:keyLabel="&#x043C;" />
+        <Key
+            latin:keyLabel="@string/keylabel_for_cyrillic_dje" />
         <include
             latin:keyboardLayout="@xml/keys_comma_period" />
         <Key
diff --git a/java/res/xml-sw768dp/rows_slavic.xml b/java/res/xml-sw768dp/rows_slavic.xml
index 26857aebc784c4554ca19f5a3ab7f6bf6ab1986e..3611ef6b30658549ac4fbfbaddf55a3609a7714b 100644
--- a/java/res/xml-sw768dp/rows_slavic.xml
+++ b/java/res/xml-sw768dp/rows_slavic.xml
@@ -38,18 +38,18 @@
         <!-- U+0443: "у" CYRILLIC SMALL LETTER U -->
         <Key
             latin:keyLabel="&#x0443;"
-            latin:moreKeys="@string/more_keys_for_slavic_u" />
+            latin:moreKeys="@string/more_keys_for_cyrillic_u" />
         <!-- U+043A: "к" CYRILLIC SMALL LETTER KA -->
         <Key
             latin:keyLabel="&#x043A;" />
         <!-- U+0435: "е" CYRILLIC SMALL LETTER IE -->
         <Key
             latin:keyLabel="&#x0435;"
-            latin:moreKeys="@string/more_keys_for_slavic_ye" />
+            latin:moreKeys="@string/more_keys_for_cyrillic_ye" />
         <!-- U+043D: "н" CYRILLIC SMALL LETTER EN -->
         <Key
             latin:keyLabel="&#x043D;"
-            latin:moreKeys="@string/more_keys_for_slavic_en" />
+            latin:moreKeys="@string/more_keys_for_cyrillic_en" />
         <!-- U+0433: "г" CYRILLIC SMALL LETTER GHE -->
         <Key
             latin:keyLabel="&#x0433;" />
@@ -57,7 +57,7 @@
         <Key
             latin:keyLabel="&#x0448;" />
         <Key
-            latin:keyLabel="@string/keylabel_for_slavic_shcha" />
+            latin:keyLabel="@string/keylabel_for_cyrillic_shcha" />
         <!-- U+0437: "з" CYRILLIC SMALL LETTER ZE -->
         <Key
             latin:keyLabel="&#x0437;" />
@@ -82,8 +82,8 @@
         <Key
             latin:keyLabel="&#x0444;" />
         <Key
-            latin:keyLabel="@string/keylabel_for_slavic_yery"
-            latin:moreKeys="@string/more_keys_for_slavic_yery" />
+            latin:keyLabel="@string/keylabel_for_cyrillic_yery"
+            latin:moreKeys="@string/more_keys_for_cyrillic_yery" />
         <!-- U+0432: "в" CYRILLIC SMALL LETTER VE -->
         <Key
             latin:keyLabel="&#x0432;" />
@@ -99,7 +99,7 @@
         <!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
         <Key
             latin:keyLabel="&#x043E;"
-            latin:moreKeys="@string/more_keys_for_slavic_o" />
+            latin:moreKeys="@string/more_keys_for_cyrillic_o" />
         <!-- U+043B: "л" CYRILLIC SMALL LETTER EL -->
         <Key
             latin:keyLabel="&#x043B;" />
@@ -136,7 +136,7 @@
         <Key
             latin:keyLabel="&#x043C;" />
         <Key
-            latin:keyLabel="@string/keylabel_for_slavic_i" />
+            latin:keyLabel="@string/keylabel_for_cyrillic_i" />
         <!-- U+0442: "Ñ‚" CYRILLIC SMALL LETTER TE -->
         <Key
             latin:keyLabel="&#x0442;" />
diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml
index 98dc7667e4d3fac109f1e78cf9b055a08f59998e..e29cc0d6a802e534763194a172b943b3f0ef23b8 100644
--- a/java/res/xml/method.xml
+++ b/java/res/xml/method.xml
@@ -21,7 +21,8 @@
 <!-- for the Input Method Manager. -->
 
 <!-- Keyboard: en_US, en_GB, ar, be, bg, cs, da, de, de(QWERTY), es, es_US, et, fi, fr, fr_CA,
-     fr_CH, hr, hu, it, iw, ka, ky, lt, lv, nb, nl, pl, pt, ro, ru, sk, sl, sr, sv, tr, uk, vi -->
+     fr_CH, hr, hu, it, iw, ka, ky, lt, lv, mk, nb, nl, pl, pt, ro, ru, sk, sl, sr, sv, tr, uk,
+     vi -->
 <!-- TODO: use <lang>_keyboard icon instead of a common keyboard icon. -->
 <!-- If IME doesn't have an applicable subtype, the first subtype will be used as a default
      subtype.-->
@@ -167,6 +168,12 @@
             android:imeSubtypeMode="keyboard"
             android:imeSubtypeExtraValue="AsciiCapable,SupportTouchPositionCorrection"
     />
+    <subtype android:icon="@drawable/ic_subtype_keyboard"
+            android:label="@string/subtype_generic"
+            android:imeSubtypeLocale="mk"
+            android:imeSubtypeMode="keyboard"
+            android:imeSubtypeExtraValue="SupportTouchPositionCorrection"
+    />
     <subtype android:icon="@drawable/ic_subtype_keyboard"
             android:label="@string/subtype_generic"
             android:imeSubtypeLocale="nb"
diff --git a/java/res/xml/rows_serbian.xml b/java/res/xml/rows_serbian.xml
index cf52fe0cc0210236fec3518fdd9abfdcb79815b9..ed33dc7513608f29547a64dbe6e49e4a43571b01 100644
--- a/java/res/xml/rows_serbian.xml
+++ b/java/res/xml/rows_serbian.xml
@@ -40,7 +40,8 @@
         <Key
             latin:keyLabel="&#x0435;"
             latin:keyHintLabel="3"
-            latin:additionalMoreKeys="3" />
+            latin:additionalMoreKeys="3"
+            latin:moreKeys="@string/more_keys_for_cyrillic_ie" />
         <!-- U+0440: "Ñ€" CYRILLIC SMALL LETTER ER -->
         <Key
             latin:keyLabel="&#x0440;"
@@ -51,9 +52,8 @@
             latin:keyLabel="&#x0442;"
             latin:keyHintLabel="5"
             latin:additionalMoreKeys="5" />
-        <!-- U+0437: "з" CYRILLIC SMALL LETTER ZE -->
         <Key
-            latin:keyLabel="&#x0437;"
+            latin:keyLabel="@string/keylabel_for_cyrillic_ze"
             latin:keyHintLabel="6"
             latin:additionalMoreKeys="6" />
         <!-- U+0443: "у" CYRILLIC SMALL LETTER U -->
@@ -65,7 +65,8 @@
         <Key
             latin:keyLabel="&#x0438;"
             latin:keyHintLabel="8"
-            latin:additionalMoreKeys="8" />
+            latin:additionalMoreKeys="8"
+            latin:moreKeys="@string/more_keys_for_cyrillic_i" />
         <!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
         <Key
             latin:keyLabel="&#x043E;"
@@ -114,9 +115,8 @@
         <!-- U+0447: "ч" CYRILLIC SMALL LETTER CHE -->
         <Key
             latin:keyLabel="&#x0447;" />
-        <!-- U+045B: "Ñ›" CYRILLIC SMALL LETTER TSHE -->
         <Key
-            latin:keyLabel="&#x045B;"
+            latin:keyLabel="@string/keylabel_for_cyrillic_tshe"
             latin:keyWidth="fillRight" />
     </Row>
     <Row
@@ -125,9 +125,8 @@
         <Key
             latin:keyStyle="shiftKeyStyle"
             latin:keyWidth="11.75%p" />
-        <!-- U+0455: "Ñ•" CYRILLIC SMALL LETTER DZE -->
         <Key
-            latin:keyLabel="&#x0455;" />
+            latin:keyLabel="@string/keylabel_for_cyrillic_dze" />
         <!-- U+045F: "ÑŸ" CYRILLIC SMALL LETTER DZHE -->
         <Key
             latin:keyLabel="&#x045F;" />
@@ -146,9 +145,8 @@
         <!-- U+043C: "м" CYRILLIC SMALL LETTER EM -->
         <Key
             latin:keyLabel="&#x043C;" />
-        <!-- U+0452: "Ñ’" CYRILLIC SMALL LETTER DJE -->
         <Key
-            latin:keyLabel="&#x0452;" />
+            latin:keyLabel="@string/keylabel_for_cyrillic_dje" />
         <!-- U+0436: "ж" CYRILLIC SMALL LETTER ZHE -->
         <Key
             latin:keyLabel="&#x0436;" />
diff --git a/java/res/xml/rows_slavic.xml b/java/res/xml/rows_slavic.xml
index 4099edd3f510909df71858aa447d0cd80729b5ff..d75f2091ada7166e3f6426c3e73eb73e4e50b118 100644
--- a/java/res/xml/rows_slavic.xml
+++ b/java/res/xml/rows_slavic.xml
@@ -41,7 +41,7 @@
             latin:keyLabel="&#x0443;"
             latin:keyHintLabel="3"
             latin:additionalMoreKeys="3"
-            latin:moreKeys="@string/more_keys_for_slavic_u" />
+            latin:moreKeys="@string/more_keys_for_cyrillic_u" />
         <!-- U+043A: "к" CYRILLIC SMALL LETTER KA -->
         <Key
             latin:keyLabel="&#x043A;"
@@ -52,13 +52,13 @@
             latin:keyLabel="&#x0435;"
             latin:keyHintLabel="5"
             latin:additionalMoreKeys="5"
-            latin:moreKeys="@string/more_keys_for_slavic_ye" />
+            latin:moreKeys="@string/more_keys_for_cyrillic_ye" />
         <!-- U+043D: "н" CYRILLIC SMALL LETTER EN -->
         <Key
             latin:keyLabel="&#x043D;"
             latin:keyHintLabel="6"
             latin:additionalMoreKeys="6"
-            latin:moreKeys="@string/more_keys_for_slavic_en" />
+            latin:moreKeys="@string/more_keys_for_cyrillic_en" />
         <!-- U+0433: "г" CYRILLIC SMALL LETTER GHE -->
         <Key
             latin:keyLabel="&#x0433;"
@@ -70,7 +70,7 @@
             latin:keyHintLabel="8"
             latin:additionalMoreKeys="8" />
         <Key
-            latin:keyLabel="@string/keylabel_for_slavic_shcha"
+            latin:keyLabel="@string/keylabel_for_cyrillic_shcha"
             latin:keyHintLabel="9"
             latin:additionalMoreKeys="9" />
         <!-- U+0437: "з" CYRILLIC SMALL LETTER ZE -->
@@ -81,7 +81,7 @@
         <!-- U+0445: "Ñ…" CYRILLIC SMALL LETTER HA -->
         <Key
             latin:keyLabel="&#x0445;"
-            latin:moreKeys="@string/more_keys_for_slavic_ha"
+            latin:moreKeys="@string/more_keys_for_cyrillic_ha"
             latin:keyWidth="fillRight" />
     </Row>
     <Row
@@ -91,8 +91,8 @@
         <Key
             latin:keyLabel="&#x0444;" />
         <Key
-            latin:keyLabel="@string/keylabel_for_slavic_yery"
-            latin:moreKeys="@string/more_keys_for_slavic_yery" />
+            latin:keyLabel="@string/keylabel_for_cyrillic_yery"
+            latin:moreKeys="@string/more_keys_for_cyrillic_yery" />
         <!-- U+0432: "в" CYRILLIC SMALL LETTER VE -->
         <Key
             latin:keyLabel="&#x0432;" />
@@ -108,7 +108,7 @@
         <!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
         <Key
             latin:keyLabel="&#x043E;"
-            latin:moreKeys="@string/more_keys_for_slavic_o" />
+            latin:moreKeys="@string/more_keys_for_cyrillic_o" />
         <!-- U+043B: "л" CYRILLIC SMALL LETTER EL -->
         <Key
             latin:keyLabel="&#x043B;" />
@@ -142,14 +142,14 @@
         <Key
             latin:keyLabel="&#x043C;" />
         <Key
-            latin:keyLabel="@string/keylabel_for_slavic_i" />
+            latin:keyLabel="@string/keylabel_for_cyrillic_i" />
         <!-- U+0442: "Ñ‚" CYRILLIC SMALL LETTER TE -->
         <Key
             latin:keyLabel="&#x0442;" />
         <!-- U+044C: "ь" CYRILLIC SMALL LETTER SOFT SIGN -->
         <Key
             latin:keyLabel="&#x044C;"
-            latin:moreKeys="@string/more_keys_for_slavic_soft_sign" />
+            latin:moreKeys="@string/more_keys_for_cyrillic_soft_sign" />
         <!-- U+0431: "б" CYRILLIC SMALL LETTER BE -->
         <Key
             latin:keyLabel="&#x0431;" />