Merge "Breakdown Slavic keyboard into rows"
diff --git a/java/res/xml-sw600dp/rowkeys_serbian1.xml b/java/res/xml-sw600dp/rowkeys_serbian1.xml
new file mode 100644
index 0000000..aa0d5bb
--- /dev/null
+++ b/java/res/xml-sw600dp/rowkeys_serbian1.xml
@@ -0,0 +1,58 @@
+<?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.
+*/
+-->
+
+<merge
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <!-- U+0459: "љ" CYRILLIC SMALL LETTER LJE -->
+    <Key
+        latin:keyLabel="&#x0459;" />
+    <!-- U+045A: "њ" CYRILLIC SMALL LETTER NJE -->
+    <Key
+        latin:keyLabel="&#x045A;" />
+    <!-- U+0435: "е" CYRILLIC SMALL LETTER IE -->
+    <Key
+        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;" />
+    <Key
+        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:moreKeys="@string/more_keys_for_cyrillic_i" />
+    <!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
+    <Key
+        latin:keyLabel="&#x043E;" />
+    <!-- U+043F: "п" CYRILLIC SMALL LETTER PE -->
+    <Key
+        latin:keyLabel="&#x043F;" />
+    <!-- U+0448: "ш" CYRILLIC SMALL LETTER SHA -->
+    <Key
+        latin:keyLabel="&#x0448;" />
+</merge>
diff --git a/java/res/xml-sw600dp/rows_hebrew.xml b/java/res/xml-sw600dp/rows_hebrew.xml
index 82175f7..519a041 100644
--- a/java/res/xml-sw600dp/rows_hebrew.xml
+++ b/java/res/xml-sw600dp/rows_hebrew.xml
@@ -28,30 +28,8 @@
     >
         <include
             latin:keyboardLayout="@xml/keys_apostrophe_dash" />
-        <!-- U+05E7: "ק" HEBREW LETTER QOF -->
-        <Key
-            latin:keyLabel="&#x05E7;" />
-        <!-- U+05E8: "ר" HEBREW LETTER RESH -->
-        <Key
-            latin:keyLabel="&#x05E8;" />
-        <!-- U+05D0: "א" HEBREW LETTER ALEF -->
-        <Key
-            latin:keyLabel="&#x05D0;" />
-        <!-- U+05D8: "ט" HEBREW LETTER TET -->
-        <Key
-            latin:keyLabel="&#x05D8;" />
-        <!-- U+05D5: "ו" HEBREW LETTER VAV -->
-        <Key
-            latin:keyLabel="&#x05D5;" />
-        <!-- U+05DF: "ן" HEBREW LETTER FINAL NUN -->
-        <Key
-            latin:keyLabel="&#x05DF;" />
-        <!-- U+05DD: "ם" HEBREW LETTER FINAL MEM -->
-        <Key
-            latin:keyLabel="&#x05DD;" />
-        <!-- U+05E4: "פ" HEBREW LETTER PE -->
-        <Key
-            latin:keyLabel="&#x05E4;" />
+        <include
+            latin:keyboardLayout="@xml/rowkeys_hebrew1" />
         <Key
             latin:keyStyle="deleteKeyStyle"
             latin:keyXPos="-12.000%p"
@@ -60,43 +38,9 @@
     <Row
         latin:keyWidth="9.0%p"
     >
-        <!-- U+05E9: "ש" HEBREW LETTER SHIN -->
-        <Key
-            latin:keyLabel="&#x05E9;"
-            latin:keyXPos="4.500%p" />
-        <!-- U+05D3: "ד" HEBREW LETTER DALET -->
-        <Key
-            latin:keyLabel="&#x05D3;" />
-        <!-- U+05D2: "ג" HEBREW LETTER GIMEL
-             U+05D2 U+05F3: "ג׳" HEBREW LETTER GIMEL + HEBREW PUNCTUATION GERESH -->
-        <Key
-            latin:keyLabel="&#x05D2;"
-            latin:moreKeys="&#x05D2;&#x05F3;" />
-        <!-- U+05DB: "כ" HEBREW LETTER KAF -->
-        <Key
-            latin:keyLabel="&#x05DB;" />
-        <!-- U+05E2: "ע" HEBREW LETTER AYIN -->
-        <Key
-            latin:keyLabel="&#x05E2;" />
-        <!-- U+05D9: "י" HEBREW LETTER YOD
-             U+05F2 U+05B7: "ײַ" HEBREW LIGATURE YIDDISH DOUBLE YOD + HEBREW POINT PATAH -->
-        <Key
-            latin:keyLabel="&#x05D9;"
-            latin:moreKeys="&#x05F2;&#x05B7;" />
-        <!-- U+05D7: "ח" HEBREW LETTER HET
-             U+05D7 U+05F3: "ח׳" HEBREW LETTER HET + HEBREW PUNCTUATION GERESH -->
-        <Key
-            latin:keyLabel="&#x05D7;"
-            latin:moreKeys="&#x05D7;&#x05F3;" />
-        <!-- U+05DC: "ל" HEBREW LETTER LAMED -->
-        <Key
-            latin:keyLabel="&#x05DC;" />
-        <!-- U+05DA: "ך" HEBREW LETTER FINAL KAF -->
-        <Key
-            latin:keyLabel="&#x05DA;" />
-        <!-- U+05E3: "ף" HEBREW LETTER FINAL PE -->
-        <Key
-            latin:keyLabel="&#x05E3;" />
+        <include
+            latin:keyboardLayout="@xml/rowkeys_hebrew2"
+            latin:keyXPos="4.5%p" />
     </Row>
     <Row
         latin:keyWidth="8.9%p"
@@ -104,41 +48,8 @@
         <include
             latin:keyboardLayout="@xml/key_smiley"
             latin:keyWidth="10.0%p" />
-        <!-- U+05D6: "ז" HEBREW LETTER ZAYIN
-             U+05D6 U+05F3: "ז׳" HEBREW LETTER ZAYIN + HEBREW PUNCTUATION GERESH -->
-        <Key
-            latin:keyLabel="&#x05D6;"
-            latin:moreKeys="&#x05D6;&#x05F3;" />
-        <!-- U+05E1: "ס" HEBREW LETTER SAMEKH -->
-        <Key
-            latin:keyLabel="&#x05E1;" />
-        <!-- U+05D1: "ב" HEBREW LETTER BET -->
-        <Key
-            latin:keyLabel="&#x05D1;" />
-        <!-- U+05D4: "ה" HEBREW LETTER HE -->
-        <Key
-            latin:keyLabel="&#x05D4;" />
-        <!-- U+05E0: "נ" HEBREW LETTER NUN -->
-        <Key
-            latin:keyLabel="&#x05E0;" />
-        <!-- U+05DE: "מ" HEBREW LETTER MEM -->
-        <Key
-            latin:keyLabel="&#x05DE;" />
-        <!-- U+05E6: "צ" HEBREW LETTER TSADI
-             U+05E6 U+05F3: "צ׳" HEBREW LETTER TSADI + HEBREW PUNCTUATION GERESH -->
-        <Key
-            latin:keyLabel="&#x05E6;"
-            latin:moreKeys="&#x05E6;&#x05F3;" />
-        <!-- U+05EA: "ת" HEBREW LETTER TAV
-             U+05EA U+05F3: "ת׳" HEBREW LETTER TAV + HEBREW PUNCTUATION GERESH -->
-        <Key
-            latin:keyLabel="&#x05EA;"
-            latin:moreKeys="&#x05EA;&#x05F3;" />
-        <!-- U+05E5: "ץ" HEBREW LETTER FINAL TSADI
-             U+05E5 U+05F3: "ץ׳" HEBREW LETTER FINAL TSADI + HEBREW PUNCTUATION GERESH -->
-        <Key
-            latin:keyLabel="&#x05E5;"
-            latin:moreKeys="&#x05E5;&#x05F3;" />
+        <include
+            latin:keyboardLayout="@xml/rowkeys_hebrew3" />
         <Key
             latin:keyStyle="enterKeyStyle"
             latin:keyXPos="-10.400%p"
diff --git a/java/res/xml-sw600dp/rows_serbian.xml b/java/res/xml-sw600dp/rows_serbian.xml
index 989fa48..62a87c2 100644
--- a/java/res/xml-sw600dp/rows_serbian.xml
+++ b/java/res/xml-sw600dp/rows_serbian.xml
@@ -26,41 +26,8 @@
     <Row
         latin:keyWidth="8.0%p"
     >
-        <!-- U+0459: "љ" CYRILLIC SMALL LETTER LJE -->
-        <Key
-            latin:keyLabel="&#x0459;"
-            latin:keyXPos="2.15%p" />
-        <!-- U+045A: "њ" CYRILLIC SMALL LETTER NJE -->
-        <Key
-            latin:keyLabel="&#x045A;" />
-        <!-- U+0435: "е" CYRILLIC SMALL LETTER IE -->
-        <Key
-            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;" />
-        <Key
-            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:moreKeys="@string/more_keys_for_cyrillic_i" />
-        <!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
-        <Key
-            latin:keyLabel="&#x043E;" />
-        <!-- U+043F: "п" CYRILLIC SMALL LETTER PE -->
-        <Key
-            latin:keyLabel="&#x043F;" />
-        <!-- U+0448: "ш" CYRILLIC SMALL LETTER SHA -->
-        <Key
-            latin:keyLabel="&#x0448;" />
+        <include
+            latin:keyboardLayout="@xml/rowkeys_serbian1" />
         <Key
             latin:keyStyle="deleteKeyStyle"
             latin:keyXPos="-10.0%p"
@@ -69,38 +36,9 @@
     <Row
         latin:keyWidth="7.9%p"
     >
-        <!-- U+0430: "а" CYRILLIC SMALL LETTER A -->
-        <Key
-            latin:keyLabel="&#x0430;" />
-        <!-- U+0441: "с" CYRILLIC SMALL LETTER ES -->
-        <Key
-            latin:keyLabel="&#x0441;" />
-        <!-- U+0434: "д" CYRILLIC SMALL LETTER DE -->
-        <Key
-            latin:keyLabel="&#x0434;" />
-        <!-- U+0444: "ф" CYRILLIC SMALL LETTER EF -->
-        <Key
-            latin:keyLabel="&#x0444;" />
-        <!-- U+0433: "г" CYRILLIC SMALL LETTER GHE -->
-        <Key
-            latin:keyLabel="&#x0433;" />
-        <!-- U+0445: "х" CYRILLIC SMALL LETTER HA -->
-        <Key
-            latin:keyLabel="&#x0445;" />
-        <!-- U+0458: "ј" CYRILLIC SMALL LETTER JE -->
-        <Key
-            latin:keyLabel="&#x0458;" />
-        <!-- U+043A: "к" CYRILLIC SMALL LETTER KA -->
-        <Key
-            latin:keyLabel="&#x043A;" />
-        <!-- U+043B: "л" CYRILLIC SMALL LETTER EL -->
-        <Key
-            latin:keyLabel="&#x043B;" />
-        <!-- U+0447: "ч" CYRILLIC SMALL LETTER CHE -->
-        <Key
-            latin:keyLabel="&#x0447;" />
-        <Key
-            latin:keyLabel="@string/keylabel_for_cyrillic_tshe" />
+        <include
+            latin:keyboardLayout="@xml/rowkeys_serbian2"
+            latin:keyXPos="2.15%p" />
         <Key
             latin:keyStyle="enterKeyStyle"
             latin:keyXPos="-14.6%p"
@@ -112,31 +50,8 @@
         <Key
             latin:keyStyle="shiftKeyStyle"
             latin:keyWidth="8.0%p" />
-        <Key
-            latin:keyLabel="@string/keylabel_for_cyrillic_dze" />
-        <!-- U+045F: "џ" CYRILLIC SMALL LETTER DZHE -->
-        <Key
-            latin:keyLabel="&#x045F;" />
-        <!-- U+0446: "ц" CYRILLIC SMALL LETTER TSE -->
-        <Key
-            latin:keyLabel="&#x0446;" />
-        <!-- U+0432: "в" CYRILLIC SMALL LETTER VE -->
-        <Key
-            latin:keyLabel="&#x0432;" />
-        <!-- U+0431: "б" CYRILLIC SMALL LETTER BE -->
-        <Key
-            latin:keyLabel="&#x0431;" />
-        <!-- U+043D: "н" CYRILLIC SMALL LETTER EN -->
-        <Key
-            latin:keyLabel="&#x043D;" />
-        <!-- U+043C: "м" CYRILLIC SMALL LETTER EM -->
-        <Key
-            latin:keyLabel="&#x043C;" />
-        <Key
-            latin:keyLabel="@string/keylabel_for_cyrillic_dje" />
-        <!-- U+0436: "ж" CYRILLIC SMALL LETTER ZHE -->
-        <Key
-            latin:keyLabel="&#x0436;" />
+        <include
+            latin:keyboardLayout="@xml/rowkeys_serbian3" />
         <include
             latin:keyboardLayout="@xml/keys_comma_period" />
         <include
diff --git a/java/res/xml-sw768dp/rows_hebrew.xml b/java/res/xml-sw768dp/rows_hebrew.xml
index c725ee6..891872c 100644
--- a/java/res/xml-sw768dp/rows_hebrew.xml
+++ b/java/res/xml-sw768dp/rows_hebrew.xml
@@ -32,30 +32,8 @@
             latin:keyWidth="7.969%p" />
         <include
             latin:keyboardLayout="@xml/keys_apostrophe_dash" />
-        <!-- U+05E7: "ק" HEBREW LETTER QOF -->
-        <Key
-            latin:keyLabel="&#x05E7;" />
-        <!-- U+05E8: "ר" HEBREW LETTER RESH -->
-        <Key
-            latin:keyLabel="&#x05E8;" />
-        <!-- U+05D0: "א" HEBREW LETTER ALEF -->
-        <Key
-            latin:keyLabel="&#x05D0;" />
-        <!-- U+05D8: "ט" HEBREW LETTER TET -->
-        <Key
-            latin:keyLabel="&#x05D8;" />
-        <!-- U+05D5: "ו" HEBREW LETTER VAV -->
-        <Key
-            latin:keyLabel="&#x05D5;" />
-        <!-- U+05DF: "ן" HEBREW LETTER FINAL NUN -->
-        <Key
-            latin:keyLabel="&#x05DF;" />
-        <!-- U+05DD: "ם" HEBREW LETTER FINAL MEM -->
-        <Key
-            latin:keyLabel="&#x05DD;" />
-        <!-- U+05E4: "פ" HEBREW LETTER PE -->
-        <Key
-            latin:keyLabel="&#x05E4;" />
+        <include
+            latin:keyboardLayout="@xml/rowkeys_hebrew1" />
         <Key
             latin:keyStyle="deleteKeyStyle"
             latin:keyXPos="-12.000%p"
@@ -68,82 +46,15 @@
             latin:keyStyle="toSymbolKeyStyle"
             latin:keyLabelFlags="alignLeft"
             latin:keyWidth="11.172%p" />
-        <!-- U+05E9: "ש" HEBREW LETTER SHIN -->
-        <Key
-            latin:keyLabel="&#x05E9;" />
-        <!-- U+05D3: "ד" HEBREW LETTER DALET -->
-        <Key
-            latin:keyLabel="&#x05D3;" />
-        <!-- U+05D2: "ג" HEBREW LETTER GIMEL
-             U+05D2 U+05F3: "ג׳" HEBREW LETTER GIMEL + HEBREW PUNCTUATION GERESH -->
-        <Key
-            latin:keyLabel="&#x05D2;"
-            latin:moreKeys="&#x05D2;&#x05F3;" />
-        <!-- U+05DB: "כ" HEBREW LETTER KAF -->
-        <Key
-            latin:keyLabel="&#x05DB;" />
-        <!-- U+05E2: "ע" HEBREW LETTER AYIN -->
-        <Key
-            latin:keyLabel="&#x05E2;" />
-        <!-- U+05D9: "י" HEBREW LETTER YOD
-             U+05F2 U+05B7: "ײַ" HEBREW LIGATURE YIDDISH DOUBLE YOD + HEBREW POINT PATAH -->
-        <Key
-            latin:keyLabel="&#x05D9;"
-            latin:moreKeys="&#x05F2;&#x05B7;" />
-        <!-- U+05D7: "ח" HEBREW LETTER HET
-             U+05D7 U+05F3: "ח׳" HEBREW LETTER HET + HEBREW PUNCTUATION GERESH -->
-        <Key
-            latin:keyLabel="&#x05D7;"
-            latin:moreKeys="&#x05D7;&#x05F3;" />
-        <!-- U+05DC: "ל" HEBREW LETTER LAMED -->
-        <Key
-            latin:keyLabel="&#x05DC;" />
-        <!-- U+05DA: "ך" HEBREW LETTER FINAL KAF -->
-        <Key
-            latin:keyLabel="&#x05DA;" />
-        <!-- U+05E3: "ף" HEBREW LETTER FINAL PE -->
-        <Key
-            latin:keyLabel="&#x05E3;" />
+        <include
+            latin:keyboardLayout="@xml/rowkeys_hebrew2" />
     </Row>
     <Row
         latin:keyWidth="8.047%p"
     >
-        <!-- U+05D6: "ז" HEBREW LETTER ZAYIN
-             U+05D6 U+05F3: "ז׳" HEBREW LETTER ZAYIN + HEBREW PUNCTUATION GERESH -->
-        <Key
-            latin:keyLabel="&#x05D6;"
-            latin:moreKeys="&#x05D6;&#x05F3;"
+        <include
+            latin:keyboardLayout="@xml/rowkeys_hebrew3"
             latin:keyXPos="13.829%p" />
-        <!-- U+05E1: "ס" HEBREW LETTER SAMEKH -->
-        <Key
-            latin:keyLabel="&#x05E1;" />
-        <!-- U+05D1: "ב" HEBREW LETTER BET -->
-        <Key
-            latin:keyLabel="&#x05D1;" />
-        <!-- U+05D4: "ה" HEBREW LETTER HE -->
-        <Key
-            latin:keyLabel="&#x05D4;" />
-        <!-- U+05E0: "נ" HEBREW LETTER NUN -->
-        <Key
-            latin:keyLabel="&#x05E0;" />
-        <!-- U+05DE: "מ" HEBREW LETTER MEM -->
-        <Key
-            latin:keyLabel="&#x05DE;" />
-        <!-- U+05E6: "צ" HEBREW LETTER TSADI
-             U+05E6 U+05F3: "צ׳" HEBREW LETTER TSADI + HEBREW PUNCTUATION GERESH -->
-        <Key
-            latin:keyLabel="&#x05E6;"
-            latin:moreKeys="&#x05E6;&#x05F3;" />
-        <!-- U+05EA: "ת" HEBREW LETTER TAV
-             U+05EA U+05F3: "ת׳" HEBREW LETTER TAV + HEBREW PUNCTUATION GERESH -->
-        <Key
-            latin:keyLabel="&#x05EA;"
-            latin:moreKeys="&#x05EA;&#x05F3;" />
-        <!-- U+05E5: "ץ" HEBREW LETTER FINAL TSADI
-             U+05E5 U+05F3: "ץ׳" HEBREW LETTER FINAL TSADI + HEBREW PUNCTUATION GERESH -->
-        <Key
-            latin:keyLabel="&#x05E5;"
-            latin:moreKeys="&#x05E5;&#x05F3;" />
         <Key
             latin:keyStyle="enterKeyStyle"
             latin:keyXPos="-10.400%p"
diff --git a/java/res/xml-sw768dp/rows_serbian.xml b/java/res/xml-sw768dp/rows_serbian.xml
index 62668e5..fe3da2f 100644
--- a/java/res/xml-sw768dp/rows_serbian.xml
+++ b/java/res/xml-sw768dp/rows_serbian.xml
@@ -29,87 +29,8 @@
         <Key
             latin:keyStyle="tabKeyStyle"
             latin:keyLabelFlags="alignLeft" />
-        <!-- U+0459: "љ" CYRILLIC SMALL LETTER LJE -->
-        <Key
-            latin:keyLabel="&#x0459;" />
-        <!-- U+045A: "њ" CYRILLIC SMALL LETTER NJE -->
-        <Key
-            latin:keyLabel="&#x045A;" />
-        <!-- U+0435: "е" CYRILLIC SMALL LETTER IE -->
-        <Key
-            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;" />
-        <Key
-            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:moreKeys="@string/more_keys_for_cyrillic_i" />
-        <!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
-        <Key
-            latin:keyLabel="&#x043E;" />
-        <!-- U+043F: "п" CYRILLIC SMALL LETTER PE -->
-        <Key
-            latin:keyLabel="&#x043F;" />
-        <!-- U+0448: "ш" CYRILLIC SMALL LETTER SHA -->
-        <Key
-            latin:keyLabel="&#x0448;" />
-        <!-- U+0452: "ђ" CYRILLIC SMALL LETTER DJE -->
-        <Key
-            latin:keyLabel="&#x0452;" />
-        <!-- U+0436: "ж" CYRILLIC SMALL LETTER ZHE -->
-        <Key
-            latin:keyLabel="&#x0436;"
-            latin:keyWidth="fillRight" />
-    </Row>
-    <Row
-        latin:keyWidth="7.250%p"
-    >
-        <Key
-            latin:keyStyle="toSymbolKeyStyle"
-            latin:keyLabelFlags="alignLeft"
-            latin:keyWidth="11.172%p" />
-        <!-- U+0430: "а" CYRILLIC SMALL LETTER A -->
-        <Key
-            latin:keyLabel="&#x0430;" />
-        <!-- U+0441: "с" CYRILLIC SMALL LETTER ES -->
-        <Key
-            latin:keyLabel="&#x0441;" />
-        <!-- U+0434: "д" CYRILLIC SMALL LETTER DE -->
-        <Key
-            latin:keyLabel="&#x0434;" />
-        <!-- U+0444: "ф" CYRILLIC SMALL LETTER EF -->
-        <Key
-            latin:keyLabel="&#x0444;" />
-        <!-- U+0433: "г" CYRILLIC SMALL LETTER GHE -->
-        <Key
-            latin:keyLabel="&#x0433;" />
-        <!-- U+0445: "х" CYRILLIC SMALL LETTER HA -->
-        <Key
-            latin:keyLabel="&#x0445;" />
-        <!-- U+0458: "ј" CYRILLIC SMALL LETTER JE -->
-        <Key
-            latin:keyLabel="&#x0458;" />
-        <!-- U+043A: "к" CYRILLIC SMALL LETTER KA -->
-        <Key
-            latin:keyLabel="&#x043A;" />
-        <!-- U+043B: "л" CYRILLIC SMALL LETTER EL -->
-        <Key
-            latin:keyLabel="&#x043B;" />
-        <!-- U+0447: "ч" CYRILLIC SMALL LETTER CHE -->
-        <Key
-            latin:keyLabel="&#x0447;" />
-        <Key
-            latin:keyLabel="@string/keylabel_for_cyrillic_tshe" />
+        <include
+            latin:keyboardLayout="@xml/rowkeys_serbian1" />
         <Key
             latin:keyStyle="deleteKeyStyle"
             latin:keyXPos="-9.219%p"
@@ -119,36 +40,26 @@
         latin:keyWidth="7.250%p"
     >
         <Key
-            latin:keyStyle="shiftKeyStyle"
-            latin:keyWidth="13.829%p" />
-        <Key
-            latin:keyLabel="@string/keylabel_for_cyrillic_dze" />
-        <!-- U+045F: "џ" CYRILLIC SMALL LETTER DZHE -->
-        <Key
-            latin:keyLabel="&#x045F;" />
-        <!-- U+0446: "ц" CYRILLIC SMALL LETTER TSE -->
-        <Key
-            latin:keyLabel="&#x0446;" />
-        <!-- U+0432: "в" CYRILLIC SMALL LETTER VE -->
-        <Key
-            latin:keyLabel="&#x0432;" />
-        <!-- U+0431: "б" CYRILLIC SMALL LETTER BE -->
-        <Key
-            latin:keyLabel="&#x0431;" />
-        <!-- U+043D: "н" CYRILLIC SMALL LETTER EN -->
-        <Key
-            latin:keyLabel="&#x043D;" />
-        <!-- U+043C: "м" CYRILLIC SMALL LETTER EM -->
-        <Key
-            latin:keyLabel="&#x043C;" />
-        <Key
-            latin:keyLabel="@string/keylabel_for_cyrillic_dje" />
+            latin:keyStyle="toSymbolKeyStyle"
+            latin:keyLabelFlags="alignLeft"
+            latin:keyWidth="11.172%p" />
         <include
-            latin:keyboardLayout="@xml/keys_comma_period" />
+            latin:keyboardLayout="@xml/rowkeys_serbian2" />
         <Key
             latin:keyStyle="enterKeyStyle"
-            latin:keyXPos="-13.750%p"
-            latin:keyWidth="fillRight" />
+            latin:keyXPos="-15.704%p"
+            latin:keyWidth="fillBoth" />
+    </Row>
+    <Row
+        latin:keyWidth="7.250%p"
+    >
+        <Key
+            latin:keyStyle="shiftKeyStyle"
+            latin:keyWidth="13.829%p" />
+        <include
+            latin:keyboardLayout="@xml/rowkeys_serbian3" />
+        <include
+            latin:keyboardLayout="@xml/keys_comma_period" />
     </Row>
     <include
         latin:keyboardLayout="@xml/row_qwerty4" />
diff --git a/java/res/xml/rowkeys_hebrew1.xml b/java/res/xml/rowkeys_hebrew1.xml
new file mode 100644
index 0000000..396da78
--- /dev/null
+++ b/java/res/xml/rowkeys_hebrew1.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.
+*/
+-->
+
+<merge
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <!-- U+05E7: "ק" HEBREW LETTER QOF -->
+    <Key
+        latin:keyLabel="&#x05E7;" />
+    <!-- U+05E8: "ר" HEBREW LETTER RESH -->
+    <Key
+        latin:keyLabel="&#x05E8;" />
+    <!-- U+05D0: "א" HEBREW LETTER ALEF -->
+    <Key
+        latin:keyLabel="&#x05D0;" />
+    <!-- U+05D8: "ט" HEBREW LETTER TET -->
+    <Key
+        latin:keyLabel="&#x05D8;" />
+    <!-- U+05D5: "ו" HEBREW LETTER VAV -->
+    <Key
+        latin:keyLabel="&#x05D5;" />
+    <!-- U+05DF: "ן" HEBREW LETTER FINAL NUN -->
+    <Key
+        latin:keyLabel="&#x05DF;" />
+    <!-- U+05DD: "ם" HEBREW LETTER FINAL MEM -->
+    <Key
+        latin:keyLabel="&#x05DD;" />
+    <!-- U+05E4: "פ" HEBREW LETTER PE -->
+    <Key
+        latin:keyLabel="&#x05E4;" />
+</merge>
diff --git a/java/res/xml/rowkeys_hebrew2.xml b/java/res/xml/rowkeys_hebrew2.xml
new file mode 100644
index 0000000..e4ecac3
--- /dev/null
+++ b/java/res/xml/rowkeys_hebrew2.xml
@@ -0,0 +1,60 @@
+<?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.
+*/
+-->
+
+<merge
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <!-- U+05E9: "ש" HEBREW LETTER SHIN -->
+    <Key
+        latin:keyLabel="&#x05E9;" />
+    <!-- U+05D3: "ד" HEBREW LETTER DALET -->
+    <Key
+        latin:keyLabel="&#x05D3;" />
+    <!-- U+05D2: "ג" HEBREW LETTER GIMEL
+         U+05D2 U+05F3: "ג׳" HEBREW LETTER GIMEL + HEBREW PUNCTUATION GERESH -->
+    <Key
+        latin:keyLabel="&#x05D2;"
+        latin:moreKeys="&#x05D2;&#x05F3;" />
+    <!-- U+05DB: "כ" HEBREW LETTER KAF -->
+    <Key
+        latin:keyLabel="&#x05DB;" />
+    <!-- U+05E2: "ע" HEBREW LETTER AYIN -->
+    <Key
+        latin:keyLabel="&#x05E2;" />
+    <!-- U+05D9: "י" HEBREW LETTER YOD
+         U+05F2 U+05B7: "ײַ" HEBREW LIGATURE YIDDISH DOUBLE YOD + HEBREW POINT PATAH -->
+    <Key
+        latin:keyLabel="&#x05D9;"
+        latin:moreKeys="&#x05F2;&#x05B7;" />
+    <!-- U+05D7: "ח" HEBREW LETTER HET
+         U+05D7 U+05F3: "ח׳" HEBREW LETTER HET + HEBREW PUNCTUATION GERESH -->
+    <Key
+        latin:keyLabel="&#x05D7;"
+        latin:moreKeys="&#x05D7;&#x05F3;" />
+    <!-- U+05DC: "ל" HEBREW LETTER LAMED -->
+    <Key
+        latin:keyLabel="&#x05DC;" />
+    <!-- U+05DA: "ך" HEBREW LETTER FINAL KAF -->
+    <Key
+        latin:keyLabel="&#x05DA;" />
+    <!-- U+05E3: "ף" HEBREW LETTER FINAL PE -->
+    <Key
+        latin:keyLabel="&#x05E3;" />
+</merge>
diff --git a/java/res/xml/rowkeys_hebrew3.xml b/java/res/xml/rowkeys_hebrew3.xml
new file mode 100644
index 0000000..805a7a5
--- /dev/null
+++ b/java/res/xml/rowkeys_hebrew3.xml
@@ -0,0 +1,59 @@
+<?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.
+*/
+-->
+
+<merge
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <!-- U+05D6: "ז" HEBREW LETTER ZAYIN
+         U+05D6 U+05F3: "ז׳" HEBREW LETTER ZAYIN + HEBREW PUNCTUATION GERESH -->
+    <Key
+        latin:keyLabel="&#x05D6;"
+        latin:moreKeys="&#x05D6;&#x05F3;" />
+    <!-- U+05E1: "ס" HEBREW LETTER SAMEKH -->
+    <Key
+        latin:keyLabel="&#x05E1;" />
+    <!-- U+05D1: "ב" HEBREW LETTER BET -->
+    <Key
+        latin:keyLabel="&#x05D1;" />
+    <!-- U+05D4: "ה" HEBREW LETTER HE -->
+    <Key
+        latin:keyLabel="&#x05D4;" />
+    <!-- U+05E0: "נ" HEBREW LETTER NUN -->
+    <Key
+        latin:keyLabel="&#x05E0;" />
+    <!-- U+05DE: "מ" HEBREW LETTER MEM -->
+    <Key
+        latin:keyLabel="&#x05DE;" />
+    <!-- U+05E6: "צ" HEBREW LETTER TSADI
+         U+05E6 U+05F3: "צ׳" HEBREW LETTER TSADI + HEBREW PUNCTUATION GERESH -->
+    <Key
+        latin:keyLabel="&#x05E6;"
+        latin:moreKeys="&#x05E6;&#x05F3;" />
+    <!-- U+05EA: "ת" HEBREW LETTER TAV
+         U+05EA U+05F3: "ת׳" HEBREW LETTER TAV + HEBREW PUNCTUATION GERESH -->
+    <Key
+        latin:keyLabel="&#x05EA;"
+        latin:moreKeys="&#x05EA;&#x05F3;" />
+    <!-- U+05E5: "ץ" HEBREW LETTER FINAL TSADI
+         U+05E5 U+05F3: "ץ׳" HEBREW LETTER FINAL TSADI + HEBREW PUNCTUATION GERESH -->
+    <Key
+        latin:keyLabel="&#x05E5;"
+        latin:moreKeys="&#x05E5;&#x05F3;" />
+</merge>
diff --git a/java/res/xml/rowkeys_serbian1.xml b/java/res/xml/rowkeys_serbian1.xml
new file mode 100644
index 0000000..5485d86
--- /dev/null
+++ b/java/res/xml/rowkeys_serbian1.xml
@@ -0,0 +1,78 @@
+<?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.
+*/
+-->
+
+<merge
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <!-- U+0459: "љ" CYRILLIC SMALL LETTER LJE -->
+    <Key
+        latin:keyLabel="&#x0459;"
+        latin:keyHintLabel="1"
+        latin:additionalMoreKeys="1" />
+    <!-- U+045A: "њ" CYRILLIC SMALL LETTER NJE -->
+    <Key
+        latin:keyLabel="&#x045A;"
+        latin:keyHintLabel="2"
+        latin:additionalMoreKeys="2" />
+    <!-- U+0435: "е" CYRILLIC SMALL LETTER IE -->
+    <Key
+        latin:keyLabel="&#x0435;"
+        latin:keyHintLabel="3"
+        latin:additionalMoreKeys="3"
+        latin:moreKeys="@string/more_keys_for_cyrillic_ie" />
+    <!-- U+0440: "р" CYRILLIC SMALL LETTER ER -->
+    <Key
+        latin:keyLabel="&#x0440;"
+        latin:keyHintLabel="4"
+        latin:additionalMoreKeys="4" />
+    <!-- U+0442: "т" CYRILLIC SMALL LETTER TE -->
+    <Key
+        latin:keyLabel="&#x0442;"
+        latin:keyHintLabel="5"
+        latin:additionalMoreKeys="5" />
+    <Key
+        latin:keyLabel="@string/keylabel_for_cyrillic_ze"
+        latin:keyHintLabel="6"
+        latin:additionalMoreKeys="6" />
+    <!-- U+0443: "у" CYRILLIC SMALL LETTER U -->
+    <Key
+        latin:keyLabel="&#x0443;"
+        latin:keyHintLabel="7"
+        latin:additionalMoreKeys="7" />
+    <!-- U+0438: "и" CYRILLIC SMALL LETTER I -->
+    <Key
+        latin:keyLabel="&#x0438;"
+        latin:keyHintLabel="8"
+        latin:additionalMoreKeys="8"
+        latin:moreKeys="@string/more_keys_for_cyrillic_i" />
+    <!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
+    <Key
+        latin:keyLabel="&#x043E;"
+        latin:keyHintLabel="9"
+        latin:additionalMoreKeys="9" />
+    <!-- U+043F: "п" CYRILLIC SMALL LETTER PE -->
+    <Key
+        latin:keyLabel="&#x043F;"
+        latin:keyHintLabel="0"
+        latin:additionalMoreKeys="0" />
+    <!-- U+0448: "ш" CYRILLIC SMALL LETTER SHA -->
+    <Key
+        latin:keyLabel="&#x0448;" />
+</merge>
diff --git a/java/res/xml/rowkeys_serbian2.xml b/java/res/xml/rowkeys_serbian2.xml
new file mode 100644
index 0000000..f30f42c
--- /dev/null
+++ b/java/res/xml/rowkeys_serbian2.xml
@@ -0,0 +1,56 @@
+<?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.
+*/
+-->
+
+<merge
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <!-- U+0430: "а" CYRILLIC SMALL LETTER A -->
+    <Key
+        latin:keyLabel="&#x0430;" />
+    <!-- U+0441: "с" CYRILLIC SMALL LETTER ES -->
+    <Key
+        latin:keyLabel="&#x0441;" />
+    <!-- U+0434: "д" CYRILLIC SMALL LETTER DE -->
+    <Key
+        latin:keyLabel="&#x0434;" />
+    <!-- U+0444: "ф" CYRILLIC SMALL LETTER EF -->
+    <Key
+        latin:keyLabel="&#x0444;" />
+    <!-- U+0433: "г" CYRILLIC SMALL LETTER GHE -->
+    <Key
+        latin:keyLabel="&#x0433;" />
+    <!-- U+0445: "х" CYRILLIC SMALL LETTER HA -->
+    <Key
+        latin:keyLabel="&#x0445;" />
+    <!-- U+0458: "ј" CYRILLIC SMALL LETTER JE -->
+    <Key
+        latin:keyLabel="&#x0458;" />
+    <!-- U+043A: "к" CYRILLIC SMALL LETTER KA -->
+    <Key
+        latin:keyLabel="&#x043A;" />
+    <!-- U+043B: "л" CYRILLIC SMALL LETTER EL -->
+    <Key
+        latin:keyLabel="&#x043B;" />
+    <!-- U+0447: "ч" CYRILLIC SMALL LETTER CHE -->
+    <Key
+        latin:keyLabel="&#x0447;" />
+    <Key
+        latin:keyLabel="@string/keylabel_for_cyrillic_tshe" />
+</merge>
diff --git a/java/res/xml/rowkeys_serbian3.xml b/java/res/xml/rowkeys_serbian3.xml
new file mode 100644
index 0000000..303fad8
--- /dev/null
+++ b/java/res/xml/rowkeys_serbian3.xml
@@ -0,0 +1,49 @@
+<?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.
+*/
+-->
+
+<merge
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <Key
+        latin:keyLabel="@string/keylabel_for_cyrillic_dze" />
+    <!-- U+045F: "џ" CYRILLIC SMALL LETTER DZHE -->
+    <Key
+        latin:keyLabel="&#x045F;" />
+    <!-- U+0446: "ц" CYRILLIC SMALL LETTER TSE -->
+    <Key
+        latin:keyLabel="&#x0446;" />
+    <!-- U+0432: "в" CYRILLIC SMALL LETTER VE -->
+    <Key
+        latin:keyLabel="&#x0432;" />
+    <!-- U+0431: "б" CYRILLIC SMALL LETTER BE -->
+    <Key
+        latin:keyLabel="&#x0431;" />
+    <!-- U+043D: "н" CYRILLIC SMALL LETTER EN -->
+    <Key
+        latin:keyLabel="&#x043D;" />
+    <!-- U+043C: "м" CYRILLIC SMALL LETTER EM -->
+    <Key
+        latin:keyLabel="&#x043C;" />
+    <Key
+        latin:keyLabel="@string/keylabel_for_cyrillic_dje" />
+    <!-- U+0436: "ж" CYRILLIC SMALL LETTER ZHE -->
+    <Key
+        latin:keyLabel="&#x0436;" />
+</merge>
diff --git a/java/res/xml/rows_hebrew.xml b/java/res/xml/rows_hebrew.xml
index 1f11632..2d513df 100644
--- a/java/res/xml/rows_hebrew.xml
+++ b/java/res/xml/rows_hebrew.xml
@@ -26,31 +26,9 @@
     <Row
         latin:keyWidth="10%p"
     >
-        <!-- U+05E7: "ק" HEBREW LETTER QOF -->
-        <Key
-            latin:keyLabel="&#x05E7;"
+        <include
+            latin:keyboardLayout="@xml/rowkeys_hebrew1"
             latin:keyXPos="5%p" />
-        <!-- U+05E8: "ר" HEBREW LETTER RESH -->
-        <Key
-            latin:keyLabel="&#x05E8;" />
-        <!-- U+05D0: "א" HEBREW LETTER ALEF -->
-        <Key
-            latin:keyLabel="&#x05D0;" />
-        <!-- U+05D8: "ט" HEBREW LETTER TET -->
-        <Key
-            latin:keyLabel="&#x05D8;" />
-        <!-- U+05D5: "ו" HEBREW LETTER VAV -->
-        <Key
-            latin:keyLabel="&#x05D5;" />
-        <!-- U+05DF: "ן" HEBREW LETTER FINAL NUN -->
-        <Key
-            latin:keyLabel="&#x05DF;" />
-        <!-- U+05DD: "ם" HEBREW LETTER FINAL MEM -->
-        <Key
-            latin:keyLabel="&#x05DD;" />
-        <!-- U+05E4: "פ" HEBREW LETTER PE -->
-        <Key
-            latin:keyLabel="&#x05E4;" />
         <Key
             latin:keyStyle="deleteKeyStyle"
             latin:keyWidth="fillRight"
@@ -59,84 +37,15 @@
     <Row
         latin:keyWidth="10%p"
     >
-        <!-- U+05E9: "ש" HEBREW LETTER SHIN -->
-        <Key
-            latin:keyLabel="&#x05E9;" />
-        <!-- U+05D3: "ד" HEBREW LETTER DALET -->
-        <Key
-            latin:keyLabel="&#x05D3;" />
-        <!-- U+05D2: "ג" HEBREW LETTER GIMEL
-             U+05D2 U+05F3: "ג׳" HEBREW LETTER GIMEL + HEBREW PUNCTUATION GERESH -->
-        <Key
-            latin:keyLabel="&#x05D2;"
-            latin:moreKeys="&#x05D2;&#x05F3;" />
-        <!-- U+05DB: "כ" HEBREW LETTER KAF -->
-        <Key
-            latin:keyLabel="&#x05DB;" />
-        <!-- U+05E2: "ע" HEBREW LETTER AYIN -->
-        <Key
-            latin:keyLabel="&#x05E2;" />
-        <!-- U+05D9: "י" HEBREW LETTER YOD
-             U+05F2 U+05B7: "ײַ" HEBREW LIGATURE YIDDISH DOUBLE YOD + HEBREW POINT PATAH -->
-        <Key
-            latin:keyLabel="&#x05D9;"
-            latin:moreKeys="&#x05F2;&#x05B7;" />
-        <!-- U+05D7: "ח" HEBREW LETTER HET
-             U+05D7 U+05F3: "ח׳" HEBREW LETTER HET + HEBREW PUNCTUATION GERESH -->
-        <Key
-            latin:keyLabel="&#x05D7;"
-            latin:moreKeys="&#x05D7;&#x05F3;" />
-        <!-- U+05DC: "ל" HEBREW LETTER LAMED -->
-        <Key
-            latin:keyLabel="&#x05DC;" />
-        <!-- U+05DA: "ך" HEBREW LETTER FINAL KAF -->
-        <Key
-            latin:keyLabel="&#x05DA;" />
-        <!-- U+05E3: "ף" HEBREW LETTER FINAL PE -->
-        <Key
-            latin:keyLabel="&#x05E3;"
-            latin:keyWidth="fillRight" />
+        <include
+            latin:keyboardLayout="@xml/rowkeys_hebrew2" />
     </Row>
     <Row
         latin:keyWidth="10%p"
     >
-        <!-- U+05D6: "ז" HEBREW LETTER ZAYIN
-             U+05D6 U+05F3: "ז׳" HEBREW LETTER ZAYIN + HEBREW PUNCTUATION GERESH -->
-        <Key
-            latin:keyLabel="&#x05D6;"
-            latin:moreKeys="&#x05D6;&#x05F3;"
+        <include
+            latin:keyboardLayout="@xml/rowkeys_hebrew3"
             latin:keyXPos="5%p" />
-        <!-- U+05E1: "ס" HEBREW LETTER SAMEKH -->
-        <Key
-            latin:keyLabel="&#x05E1;" />
-        <!-- U+05D1: "ב" HEBREW LETTER BET -->
-        <Key
-            latin:keyLabel="&#x05D1;" />
-        <!-- U+05D4: "ה" HEBREW LETTER HE -->
-        <Key
-            latin:keyLabel="&#x05D4;" />
-        <!-- U+05E0: "נ" HEBREW LETTER NUN -->
-        <Key
-            latin:keyLabel="&#x05E0;" />
-        <!-- U+05DE: "מ" HEBREW LETTER MEM -->
-        <Key
-            latin:keyLabel="&#x05DE;" />
-        <!-- U+05E6: "צ" HEBREW LETTER TSADI
-             U+05E6 U+05F3: "צ׳" HEBREW LETTER TSADI + HEBREW PUNCTUATION GERESH -->
-        <Key
-            latin:keyLabel="&#x05E6;"
-            latin:moreKeys="&#x05E6;&#x05F3;" />
-        <!-- U+05EA: "ת" HEBREW LETTER TAV
-             U+05EA U+05F3: "ת׳" HEBREW LETTER TAV + HEBREW PUNCTUATION GERESH -->
-        <Key
-            latin:keyLabel="&#x05EA;"
-            latin:moreKeys="&#x05EA;&#x05F3;" />
-        <!-- U+05E5: "ץ" HEBREW LETTER FINAL TSADI
-             U+05E5 U+05F3: "ץ׳" HEBREW LETTER FINAL TSADI + HEBREW PUNCTUATION GERESH -->
-        <Key
-            latin:keyLabel="&#x05E5;"
-            latin:moreKeys="&#x05E5;&#x05F3;" />
-        <!-- Here is 5%p space -->
     </Row>
     <include
         latin:keyboardLayout="@xml/row_qwerty4" />
diff --git a/java/res/xml/rows_serbian.xml b/java/res/xml/rows_serbian.xml
index ed33dc7..f3f4084 100644
--- a/java/res/xml/rows_serbian.xml
+++ b/java/res/xml/rows_serbian.xml
@@ -26,98 +26,14 @@
     <Row
         latin:keyWidth="9.091%p"
     >
-        <!-- U+0459: "љ" CYRILLIC SMALL LETTER LJE -->
-        <Key
-            latin:keyLabel="&#x0459;"
-            latin:keyHintLabel="1"
-            latin:additionalMoreKeys="1" />
-        <!-- U+045A: "њ" CYRILLIC SMALL LETTER NJE -->
-        <Key
-            latin:keyLabel="&#x045A;"
-            latin:keyHintLabel="2"
-            latin:additionalMoreKeys="2" />
-        <!-- U+0435: "е" CYRILLIC SMALL LETTER IE -->
-        <Key
-            latin:keyLabel="&#x0435;"
-            latin:keyHintLabel="3"
-            latin:additionalMoreKeys="3"
-            latin:moreKeys="@string/more_keys_for_cyrillic_ie" />
-        <!-- U+0440: "р" CYRILLIC SMALL LETTER ER -->
-        <Key
-            latin:keyLabel="&#x0440;"
-            latin:keyHintLabel="4"
-            latin:additionalMoreKeys="4" />
-        <!-- U+0442: "т" CYRILLIC SMALL LETTER TE -->
-        <Key
-            latin:keyLabel="&#x0442;"
-            latin:keyHintLabel="5"
-            latin:additionalMoreKeys="5" />
-        <Key
-            latin:keyLabel="@string/keylabel_for_cyrillic_ze"
-            latin:keyHintLabel="6"
-            latin:additionalMoreKeys="6" />
-        <!-- U+0443: "у" CYRILLIC SMALL LETTER U -->
-        <Key
-            latin:keyLabel="&#x0443;"
-            latin:keyHintLabel="7"
-            latin:additionalMoreKeys="7" />
-        <!-- U+0438: "и" CYRILLIC SMALL LETTER I -->
-        <Key
-            latin:keyLabel="&#x0438;"
-            latin:keyHintLabel="8"
-            latin:additionalMoreKeys="8"
-            latin:moreKeys="@string/more_keys_for_cyrillic_i" />
-        <!-- U+043E: "о" CYRILLIC SMALL LETTER O -->
-        <Key
-            latin:keyLabel="&#x043E;"
-            latin:keyHintLabel="9"
-            latin:additionalMoreKeys="9" />
-        <!-- U+043F: "п" CYRILLIC SMALL LETTER PE -->
-        <Key
-            latin:keyLabel="&#x043F;"
-            latin:keyHintLabel="0"
-            latin:additionalMoreKeys="0" />
-        <!-- U+0448: "ш" CYRILLIC SMALL LETTER SHA -->
-        <Key
-            latin:keyLabel="&#x0448;"
-            latin:keyWidth="fillRight" />
+        <include
+            latin:keyboardLayout="@xml/rowkeys_serbian1" />
     </Row>
     <Row
         latin:keyWidth="9.091%p"
     >
-        <!-- U+0430: "а" CYRILLIC SMALL LETTER A -->
-        <Key
-            latin:keyLabel="&#x0430;" />
-        <!-- U+0441: "с" CYRILLIC SMALL LETTER ES -->
-        <Key
-            latin:keyLabel="&#x0441;" />
-        <!-- U+0434: "д" CYRILLIC SMALL LETTER DE -->
-        <Key
-            latin:keyLabel="&#x0434;" />
-        <!-- U+0444: "ф" CYRILLIC SMALL LETTER EF -->
-        <Key
-            latin:keyLabel="&#x0444;" />
-        <!-- U+0433: "г" CYRILLIC SMALL LETTER GHE -->
-        <Key
-            latin:keyLabel="&#x0433;" />
-        <!-- U+0445: "х" CYRILLIC SMALL LETTER HA -->
-        <Key
-            latin:keyLabel="&#x0445;" />
-        <!-- U+0458: "ј" CYRILLIC SMALL LETTER JE -->
-        <Key
-            latin:keyLabel="&#x0458;" />
-        <!-- U+043A: "к" CYRILLIC SMALL LETTER KA -->
-        <Key
-            latin:keyLabel="&#x043A;" />
-        <!-- U+043B: "л" CYRILLIC SMALL LETTER EL -->
-        <Key
-            latin:keyLabel="&#x043B;" />
-        <!-- U+0447: "ч" CYRILLIC SMALL LETTER CHE -->
-        <Key
-            latin:keyLabel="&#x0447;" />
-        <Key
-            latin:keyLabel="@string/keylabel_for_cyrillic_tshe"
-            latin:keyWidth="fillRight" />
+        <include
+            latin:keyboardLayout="@xml/rowkeys_serbian2" />
     </Row>
     <Row
         latin:keyWidth="8.5%p"
@@ -125,31 +41,8 @@
         <Key
             latin:keyStyle="shiftKeyStyle"
             latin:keyWidth="11.75%p" />
-        <Key
-            latin:keyLabel="@string/keylabel_for_cyrillic_dze" />
-        <!-- U+045F: "џ" CYRILLIC SMALL LETTER DZHE -->
-        <Key
-            latin:keyLabel="&#x045F;" />
-        <!-- U+0446: "ц" CYRILLIC SMALL LETTER TSE -->
-        <Key
-            latin:keyLabel="&#x0446;" />
-        <!-- U+0432: "в" CYRILLIC SMALL LETTER VE -->
-        <Key
-            latin:keyLabel="&#x0432;" />
-        <!-- U+0431: "б" CYRILLIC SMALL LETTER BE -->
-        <Key
-            latin:keyLabel="&#x0431;" />
-        <!-- U+043D: "н" CYRILLIC SMALL LETTER EN -->
-        <Key
-            latin:keyLabel="&#x043D;" />
-        <!-- U+043C: "м" CYRILLIC SMALL LETTER EM -->
-        <Key
-            latin:keyLabel="&#x043C;" />
-        <Key
-            latin:keyLabel="@string/keylabel_for_cyrillic_dje" />
-        <!-- U+0436: "ж" CYRILLIC SMALL LETTER ZHE -->
-        <Key
-            latin:keyLabel="&#x0436;" />
+        <include
+            latin:keyboardLayout="@xml/rowkeys_serbian3" />
         <Key
             latin:keyStyle="deleteKeyStyle"
             latin:keyWidth="fillRight" />