diff --git a/java/res/values-ca/donottranslate-altchars.xml b/java/res/values-ca/donottranslate-altchars.xml
new file mode 100644
index 0000000000000000000000000000000000000000..336057be03a499c3b2cb081ab9595b29035e6cee
--- /dev/null
+++ b/java/res/values-ca/donottranslate-altchars.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2011, 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">
+    <string name="alternates_for_a">à,á,ä,â,ã,å,ą,æ,ā,ª</string>
+    <string name="alternates_for_e">3,è,é,ë,ê,ę,ė,ē</string>
+    <string name="alternates_for_i">8,í,ï,ì,î,į,ī</string>
+    <string name="alternates_for_o">9,ò,ó,ö,ô,õ,ø,œ,ō,º</string>
+    <string name="alternates_for_u">7,ú,ü,ù,û,ū</string>
+    <string name="alternates_for_n">ñ,ń</string>
+    <string name="alternates_for_c">ç,ć,č</string>
+    <string name="alternates_for_l">Å€,Å‚</string>
+</resources>
diff --git a/java/res/values-cs/donottranslate-altchars.xml b/java/res/values-cs/donottranslate-altchars.xml
index 8440d6932637b6660ea07020d1055743a2315727..541cd2154741846588e2291665ae899192707fdf 100644
--- a/java/res/values-cs/donottranslate-altchars.xml
+++ b/java/res/values-cs/donottranslate-altchars.xml
@@ -18,16 +18,17 @@
 */
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="alternates_for_a">á,à,â,ã,ä,å,æ</string>
-    <string name="alternates_for_e">3,é,ě,è,ê,ë</string>
-    <string name="alternates_for_i">8,í,ì,î,ï</string>
-    <string name="alternates_for_o">9,ó,ò,ô,õ,ö,œ,ø</string>
-    <string name="alternates_for_u">7,ů,ú,ù,û,ü</string>
-    <string name="alternates_for_s">š,§,ß</string>
-    <string name="alternates_for_n">ň,ñ</string>
-    <string name="alternates_for_c">č,ç</string>
+    <string name="alternates_for_a">á,à,â,ä,æ,ã,å,ā</string>
+    <string name="alternates_for_e">3,é,ě,è,ê,ë,ę,ė,ē</string>
+    <string name="alternates_for_i">8,í,î,ï,ì,į,ī</string>
+    <string name="alternates_for_o">9,ó,ö,ô,ò,õ,œ,ø,ō</string>
+    <string name="alternates_for_u">7,ú,ů,û,ü,ù,ū</string>
+    <string name="alternates_for_s">š,ß,ś</string>
+    <string name="alternates_for_n">ň,ñ,ń</string>
+    <string name="alternates_for_c">č,ç,ć</string>
+    <string name="alternates_for_y">ý,ÿ</string>
     <string name="alternates_for_d">ď</string>
     <string name="alternates_for_r">4,Å™</string>
     <string name="alternates_for_t">5,Å¥</string>
-    <string name="alternates_for_z">ž</string>
+    <string name="alternates_for_z">6,ž,ź,ż</string>
 </resources>
diff --git a/java/res/values-da/donottranslate-altchars.xml b/java/res/values-da/donottranslate-altchars.xml
index 09c264e875d0b392e35c96cb37aa955c5b027d68..46f1644add7eebc5bca4c9d63aadcdac406ab0ca 100644
--- a/java/res/values-da/donottranslate-altchars.xml
+++ b/java/res/values-da/donottranslate-altchars.xml
@@ -18,23 +18,18 @@
 */
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="alternates_for_a">á,à,â,ą,ã</string>
-    <string name="alternates_for_e">3,é,è,ê,ë,ę,€</string>
-    <string name="alternates_for_i">8,í,ì,î,ï</string>
-    <string name="alternates_for_o">9,ó,ò,ô,õ</string>
-    <string name="alternates_for_u">7,ú,ù,û,ū</string>
-    <string name="alternates_for_s">ś,š,ş,ß</string>
-    <string name="alternates_for_n">ń,ñ,ň</string>
-    <string name="alternates_for_c">ç,ć,č</string>
-    <string name="alternates_for_y">6,ý,ÿ,ü</string>
-    <string name="alternates_for_d">ð,ď</string>
-    <string name="alternates_for_r">4,Å™</string>
-    <string name="alternates_for_t">5,ť,þ</string>
-    <string name="alternates_for_z">ź,ž,ż</string>
+    <string name="alternates_for_a">á,ä,à,â,ã,ā</string>
+    <string name="alternates_for_e">3,é,ë</string>
+    <string name="alternates_for_i">8,í,ï</string>
+    <string name="alternates_for_o">9,ó,ô,ò,õ,œ,ō</string>
+    <string name="alternates_for_u">7,ú,ü,û,ù,ū</string>
+    <string name="alternates_for_s">ß,ś,š</string>
+    <string name="alternates_for_n">ñ,ń</string>
+    <string name="alternates_for_y">6,ý,ÿ</string>
+    <string name="alternates_for_d">ð</string>
     <string name="alternates_for_l">Å‚</string>
-    <string name="alternates_for_v">w</string>
     <string name="keylabel_for_scandinavia_row2_10">æ</string>
     <string name="keylabel_for_scandinavia_row2_11">ø</string>
     <string name="alternates_for_scandinavia_row2_10">ä</string>
-    <string name="alternates_for_scandinavia_row2_11">ö,œ</string>
+    <string name="alternates_for_scandinavia_row2_11">ö</string>
 </resources>
diff --git a/java/res/values-de/donottranslate-altchars.xml b/java/res/values-de/donottranslate-altchars.xml
index 141ad843335828f4bac6e96b857ab0d4e0a5ce7e..8b8b6aed7786b4fac730fdcd89567abd35ab7f3c 100644
--- a/java/res/values-de/donottranslate-altchars.xml
+++ b/java/res/values-de/donottranslate-altchars.xml
@@ -18,8 +18,12 @@
 */
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="alternates_for_a">ä</string>
-    <string name="alternates_for_o">9,ö</string>
-    <string name="alternates_for_y">ý,ÿ</string>
+    <string name="alternates_for_a">ä,â,à,á,æ,ã,å,ā</string>
+    <string name="alternates_for_e">3,Ä—</string>
+    <string name="alternates_for_o">9,ö,ô,ò,ó,õ,œ,ø,ō</string>
+    <string name="alternates_for_u">7,ü,û,ù,ú,ū</string>
+    <string name="alternates_for_s">ß,ś,š</string>
+    <string name="alternates_for_n">ñ,ń</string>
+    <string name="alternates_for_y"></string>
     <string name="alternates_for_z">6</string>
 </resources>
diff --git a/java/res/values-en/donottranslate-altchars.xml b/java/res/values-en/donottranslate-altchars.xml
index a564a8c0c567d434f7b563ff02286573d89610c8..3950d7dff3ca50cf70c73184568280fd3fd67006 100644
--- a/java/res/values-en/donottranslate-altchars.xml
+++ b/java/res/values-en/donottranslate-altchars.xml
@@ -18,9 +18,11 @@
 */
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="alternates_for_a">à,á,â,ã,ä,å,ā,æ</string>
+    <string name="alternates_for_a">à,á,â,ä,æ,ã,å,ā</string>
     <string name="alternates_for_e">3,è,é,ê,ë,ē</string>
-    <string name="alternates_for_i">8,ì,í,î,ï,ī</string>
-    <string name="alternates_for_o">9,ò,ó,ô,õ,ö,ō,œ,ø</string>
-    <string name="alternates_for_u">7,ù,ú,û,ü,ū</string>
+    <string name="alternates_for_i">8,î,ï,í,ī,ì</string>
+    <string name="alternates_for_o">9,ô,ö,ò,ó,œ,ø,ō,õ</string>
+    <string name="alternates_for_u">7,û,ü,ù,ú,ū</string>
+    <string name="alternates_for_n">ñ</string>
+    <string name="alternates_for_c">ç</string>
 </resources>
diff --git a/java/res/values-es/donottranslate-altchars.xml b/java/res/values-es/donottranslate-altchars.xml
index 65d5c1153ae1852f625241821584f3e6a4b1fe46..99f1663a1368a6b66e23840077b5f1e834b2bbe2 100644
--- a/java/res/values-es/donottranslate-altchars.xml
+++ b/java/res/values-es/donottranslate-altchars.xml
@@ -18,7 +18,11 @@
 */
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="alternates_for_a">á</string>
-    <string name="alternates_for_e">3,é</string>
-    <string name="alternates_for_o">9,ó</string>
+    <string name="alternates_for_a">á,à,ä,â,ã,å,ą,æ,ā,ª</string>
+    <string name="alternates_for_e">3,é,è,ë,ê,ę,ė,ē</string>
+    <string name="alternates_for_i">8,í,ï,ì,î,į,ī</string>
+    <string name="alternates_for_o">9,ó,ò,ö,ô,õ,ø,œ,ō,º</string>
+    <string name="alternates_for_u">7,ú,ü,ù,û,ū</string>
+    <string name="alternates_for_n">ñ,ń</string>
+    <string name="alternates_for_c">ç,ć,č</string>
 </resources>
diff --git a/java/res/values-fi/donottranslate-altchars.xml b/java/res/values-fi/donottranslate-altchars.xml
new file mode 100644
index 0000000000000000000000000000000000000000..ff87a3258aae4bb66ce4b8ba7f798154bac40fc6
--- /dev/null
+++ b/java/res/values-fi/donottranslate-altchars.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2011, 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">
+    <string name="alternates_for_a">æ,à,á,â,ã,ā</string>
+    <string name="alternates_for_o">9,ø,ô,ò,ó,õ,œ,ō</string>
+    <string name="alternates_for_u">7,ü</string>
+    <string name="alternates_for_s">š,ß,ś</string>
+    <string name="alternates_for_z">ž,ź,ż</string>
+    <string name="keylabel_for_scandinavia_row2_10">ö</string>
+    <string name="keylabel_for_scandinavia_row2_11">ä</string>
+    <string name="alternates_for_scandinavia_row2_10">ø</string>
+    <string name="alternates_for_scandinavia_row2_11">æ</string>
+</resources>
diff --git a/java/res/values-fr/donottranslate-altchars.xml b/java/res/values-fr/donottranslate-altchars.xml
index 830119d52ac24eeb28f245039fdc558823d3a15e..e01f63f14521328fb97a3b6cde110a360113719e 100644
--- a/java/res/values-fr/donottranslate-altchars.xml
+++ b/java/res/values-fr/donottranslate-altchars.xml
@@ -18,7 +18,13 @@
 */
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="alternates_for_a">1,à,á,â,ã,ä,å,æ</string>
+    <string name="alternates_for_a">1,à,â,æ,á,ä,ã,å,ā,ª</string>
+    <string name="alternates_for_e">3,é,è,ê,ë,ę,ė,ē</string>
+    <string name="alternates_for_i">8,î,ï,ì,í,į,ī</string>
+    <string name="alternates_for_o">9,ô,œ,ö,ò,ó,õ,ø,ō,º</string>
+    <string name="alternates_for_u">7,û,ù,ü,ú,ū</string>
+    <string name="alternates_for_c">ç,ć,č</string>
+    <string name="alternates_for_y">6,ÿ</string>
     <string name="alternates_for_q"></string>
     <string name="alternates_for_w"></string>
     <string name="alternates_for_z">2</string>
diff --git a/java/res/xml-fr-rCA-xlarge/kbd_qwerty.xml b/java/res/values-hu/donottranslate-altchars.xml
similarity index 50%
rename from java/res/xml-fr-rCA-xlarge/kbd_qwerty.xml
rename to java/res/values-hu/donottranslate-altchars.xml
index 92d92f0e6d1ba3a69623c879f3fae56bcb007ec1..ae28cc5b85213a408be08bf2beb97b36fc9fb734 100644
--- a/java/res/xml-fr-rCA-xlarge/kbd_qwerty.xml
+++ b/java/res/values-hu/donottranslate-altchars.xml
@@ -2,7 +2,7 @@
 <!--
 /*
 **
-** Copyright 2008, The Android Open Source Project
+** Copyright 2011, 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.
@@ -17,18 +17,12 @@
 ** limitations under the License.
 */
 -->
-
-<Keyboard
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:keyboardHeight="@dimen/keyboardHeight"
-    latin:maxKeyboardHeight="50%p"
-    latin:rowHeight="25%p"
-    latin:keyWidth="10%p"
-    latin:horizontalGap="@dimen/key_horizontal_gap"
-    latin:verticalGap="@dimen/key_bottom_gap"
-    latin:popupKeyboardTemplate="@xml/kbd_popup_template"
-    latin:maxPopupKeyboardColumn="@integer/config_max_popup_keyboard_column"
->
-    <include
-        latin:keyboardLayout="@xml/kbd_qwerty_rows" />
-</Keyboard>
+<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+    <string name="alternates_for_a">á,à,â,ä,æ,ã,å,ā</string>
+    <string name="alternates_for_e">3,é,è,ê,ë,ę,ė,ē</string>
+    <string name="alternates_for_i">8,í,î,ï,ì,į,ī</string>
+    <string name="alternates_for_o">9,ó,ö,ő,ô,ò,õ,œ,ø,ō</string>
+    <string name="alternates_for_u">7,ú,ü,ű,û,ù,ū</string>
+    <string name="alternates_for_y"></string>
+    <string name="alternates_for_z">6</string>
+</resources>
diff --git a/java/res/values-it/donottranslate-altchars.xml b/java/res/values-it/donottranslate-altchars.xml
index 1c3dc7e32f76a64211fe9b702c6d9df8eed44253..1131d485237e8f8cd69a7db7541d6784f9afeafc 100644
--- a/java/res/values-it/donottranslate-altchars.xml
+++ b/java/res/values-it/donottranslate-altchars.xml
@@ -18,8 +18,9 @@
 */
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="alternates_for_a">à,á</string>
-    <string name="alternates_for_e">3,è,é</string>
-    <string name="alternates_for_o">9,ò,ó</string>
-    <string name="alternates_for_s">§</string>
+    <string name="alternates_for_a">à,á,â,ä,æ,ã,å,ā,ª</string>
+    <string name="alternates_for_e">3,è,é,ê,ë,ę,ė,ē</string>
+    <string name="alternates_for_i">8,ì,í,î,ï,į,ī</string>
+    <string name="alternates_for_o">9,ò,ó,ô,ö,õ,œ,ø,ō,º</string>
+    <string name="alternates_for_u">7,ù,ú,û,ü,ū</string>
 </resources>
diff --git a/java/res/values-lt/donottranslate-altchars.xml b/java/res/values-lt/donottranslate-altchars.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4aba93a3a9dd8845e1875281a0c9b1815f7958f5
--- /dev/null
+++ b/java/res/values-lt/donottranslate-altchars.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2011, 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">
+    <string name="alternates_for_a">ą,à,á,â,ä,æ,ã,å,ā</string>
+    <string name="alternates_for_e">3,ė,ę,è,é,ê,ë,ē</string>
+    <string name="alternates_for_i">8,į,î,ï,ì,í,ī</string>
+    <string name="alternates_for_u">7,ų,ū,û,ü,ù,ú</string>
+    <string name="alternates_for_s">š,ß,ś</string>
+    <string name="alternates_for_c">č,ç,ć</string>
+    <string name="alternates_for_z">ž,ź,ż</string>
+</resources>
diff --git a/java/res/values-lv/donottranslate-altchars.xml b/java/res/values-lv/donottranslate-altchars.xml
new file mode 100644
index 0000000000000000000000000000000000000000..05d9bc89478843054d70346c571619838fec84df
--- /dev/null
+++ b/java/res/values-lv/donottranslate-altchars.xml
@@ -0,0 +1,33 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2011, 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">
+    <string name="alternates_for_a">ā,à,á,â,ä,æ,ã,å</string>
+    <string name="alternates_for_e">3,ē,è,é,ê,ë,ę,ė</string>
+    <string name="alternates_for_i">8,ī,î,ï,ì,í,į</string>
+    <string name="alternates_for_u">7,ū,û,ü,ù,ú</string>
+    <string name="alternates_for_s">š,ß,ś</string>
+    <string name="alternates_for_n">ņ,ñ,ń</string>
+    <string name="alternates_for_c">č,ç,ć</string>
+    <string name="alternates_for_r">4,Å—</string>
+    <string name="alternates_for_z">ž,ź,ż</string>
+    <string name="alternates_for_k">Ä·</string>
+    <string name="alternates_for_l">ļ,ł</string>
+    <string name="alternates_for_g">Ä£</string>
+</resources>
diff --git a/java/res/values-nb/donottranslate-altchars.xml b/java/res/values-nb/donottranslate-altchars.xml
index 91f8b21dc865d8df4d9810af7351c53fb0d5cd9c..798e51c9a0f3056cd6071e9011c84818fc856152 100644
--- a/java/res/values-nb/donottranslate-altchars.xml
+++ b/java/res/values-nb/donottranslate-altchars.xml
@@ -18,20 +18,10 @@
 */
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="alternates_for_a">ä,á,à,â,ą,ã</string>
-    <string name="alternates_for_e">3,é,è,ê,ë,ę,€</string>
-    <string name="alternates_for_i">8,í,ì,î,ï</string>
-    <string name="alternates_for_o">9,ö,ó,ò,ô,õ</string>
-    <string name="alternates_for_u">7,ü,ú,ù,û,ū</string>
-    <string name="alternates_for_s">ś,š,ş,ß</string>
-    <string name="alternates_for_n">ń,ñ,ň</string>
-    <string name="alternates_for_c">ç,ć,č</string>
-    <string name="alternates_for_d">ð,ď</string>
-    <string name="alternates_for_r">4,Å™</string>
-    <string name="alternates_for_t">5,ť,þ</string>
-    <string name="alternates_for_z">ź,ž,ż</string>
-    <string name="alternates_for_l">Å‚</string>
-    <string name="alternates_for_v">w</string>
+    <string name="alternates_for_a">à,ä,á,â,ã,ā</string>
+    <string name="alternates_for_e">3,é,è,ê,ë,ę,ė,ē</string>
+    <string name="alternates_for_o">9,ô,ò,ó,ö,õ,œ,ō</string>
+    <string name="alternates_for_u">7,ü,û,ù,ú,ū</string>
     <string name="keylabel_for_scandinavia_row2_10">ø</string>
     <string name="keylabel_for_scandinavia_row2_11">æ</string>
     <string name="alternates_for_scandinavia_row2_10">ö</string>
diff --git a/java/res/values-nl/donottranslate-altchars.xml b/java/res/values-nl/donottranslate-altchars.xml
new file mode 100644
index 0000000000000000000000000000000000000000..e26a74967e70bf581bfc89005dba4f789cae3595
--- /dev/null
+++ b/java/res/values-nl/donottranslate-altchars.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2011, 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">
+    <string name="alternates_for_a">á,ä,â,à,æ,ã,å,ā</string>
+    <string name="alternates_for_e">3,é,ë,ê,è,ę,ė,ē</string>
+    <string name="alternates_for_i">8,í,ï,ì,î,į,ī</string>
+    <string name="alternates_for_o">9,ó,ö,ô,ò,õ,œ,ø,ō</string>
+    <string name="alternates_for_u">7,ú,ü,û,ù,ū</string>
+    <string name="alternates_for_n">ñ,ń</string>
+</resources>
diff --git a/java/res/values-pl/donottranslate-altchars.xml b/java/res/values-pl/donottranslate-altchars.xml
index ac099028d1a48e6ed3abc1d3c566398719d61e68..971d73bc5d939735768db6360841cc300deabd57 100644
--- a/java/res/values-pl/donottranslate-altchars.xml
+++ b/java/res/values-pl/donottranslate-altchars.xml
@@ -18,12 +18,12 @@
 */
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="alternates_for_a">Ä…</string>
-    <string name="alternates_for_e">3,Ä™</string>
-    <string name="alternates_for_o">9,ó</string>
-    <string name="alternates_for_s">Å›</string>
-    <string name="alternates_for_n">Å„</string>
-    <string name="alternates_for_c">ć</string>
-    <string name="alternates_for_z">ź,ż</string>
+    <string name="alternates_for_a">ą,á,à,â,ä,æ,ã,å,ā</string>
+    <string name="alternates_for_e">3,ę,è,é,ê,ë,ė,ē</string>
+    <string name="alternates_for_o">9,ó,ö,ô,ò,õ,œ,ø,ō</string>
+    <string name="alternates_for_s">ś,ß,š</string>
+    <string name="alternates_for_n">ń,ñ</string>
+    <string name="alternates_for_c">ć,ç,č</string>
+    <string name="alternates_for_z">ż,ź,ž</string>
     <string name="alternates_for_l">Å‚</string>
 </resources>
diff --git a/java/res/values-pt/donottranslate-altchars.xml b/java/res/values-pt/donottranslate-altchars.xml
new file mode 100644
index 0000000000000000000000000000000000000000..a39976151e56018b55cc0e50ce070877ddb5dd4c
--- /dev/null
+++ b/java/res/values-pt/donottranslate-altchars.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2011, 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">
+    <string name="alternates_for_a">á,ã,à,â,ä,å,æ,ª</string>
+    <string name="alternates_for_e">3,é,ê,è,ę,ė,ē,ë</string>
+    <string name="alternates_for_i">8,í,î,ì,ï,į,ī</string>
+    <string name="alternates_for_o">9,ó,õ,ô,ò,ö,œ,ø,ō,º</string>
+    <string name="alternates_for_u">7,ú,ü,ù,û,ū</string>
+    <string name="alternates_for_c">ç,č,ć</string>
+</resources>
diff --git a/java/res/values-ro/donottranslate-altchars.xml b/java/res/values-ro/donottranslate-altchars.xml
new file mode 100644
index 0000000000000000000000000000000000000000..728ead4723fd69dd490f6785fa2ddc8ba14ebf69
--- /dev/null
+++ b/java/res/values-ro/donottranslate-altchars.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2011, 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">
+    <string name="alternates_for_a">ă,â,à,á,ä,æ,ã,å,ā</string>
+    <string name="alternates_for_i">8,î,ï,ì,í,į,ī</string>
+    <string name="alternates_for_s">ș,ß,ś,š</string>
+    <string name="alternates_for_t">5,È›</string>
+</resources>
diff --git a/java/res/values-sk/donottranslate-altchars.xml b/java/res/values-sk/donottranslate-altchars.xml
new file mode 100644
index 0000000000000000000000000000000000000000..6d9836e9c3a194e044397ad84d549ed02a16feba
--- /dev/null
+++ b/java/res/values-sk/donottranslate-altchars.xml
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2011, 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">
+    <string name="alternates_for_a">ä,á,à,â,æ,ã,å,ā</string>
+    <string name="alternates_for_e">3,é,ě,è,ê,ë,ę,ė,ē</string>
+    <string name="alternates_for_i">8,í,î,ï,ì,į,ī</string>
+    <string name="alternates_for_o">9,ô,ó,ö,ò,õ,œ,ø,ō</string>
+    <string name="alternates_for_u">7,ú,ú,û,ü,ù,ū</string>
+    <string name="alternates_for_s">š,ß,ś</string>
+    <string name="alternates_for_n">ň,ñ,ń</string>
+    <string name="alternates_for_c">č,ç,ć</string>
+    <string name="alternates_for_y">6,ý,ÿ</string>
+    <string name="alternates_for_d">ď</string>
+    <string name="alternates_for_r">4,Å•,Å™</string>
+    <string name="alternates_for_t">5,Å¥</string>
+    <string name="alternates_for_z">ž,ź,ż</string>
+    <string name="alternates_for_l">ľ,ĺ,ł</string>
+</resources>
diff --git a/java/res/values-sv/donottranslate-altchars.xml b/java/res/values-sv/donottranslate-altchars.xml
index 46b3803db446de3924b67ccd4694cca094a70953..d03ae1a6cd281f788fb5cbbe30723a3405532d07 100644
--- a/java/res/values-sv/donottranslate-altchars.xml
+++ b/java/res/values-sv/donottranslate-altchars.xml
@@ -18,23 +18,12 @@
 */
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="alternates_for_a">á,à,â,ą,ã</string>
-    <string name="alternates_for_e">3,é,è,ê,ë,ę,€</string>
-    <string name="alternates_for_i">8,í,ì,î,ï</string>
-    <string name="alternates_for_o">9,ó,ò,ô,õ</string>
-    <string name="alternates_for_u">7,ú,ù,û,ū</string>
-    <string name="alternates_for_s">ś,š,ş,ß</string>
-    <string name="alternates_for_n">ń,ñ,ň</string>
-    <string name="alternates_for_c">ç,ć,č</string>
-    <string name="alternates_for_y">6,ý,ÿ,ü</string>
-    <string name="alternates_for_d">ð,ď</string>
-    <string name="alternates_for_r">4,Å™</string>
-    <string name="alternates_for_t">5,ť,þ</string>
-    <string name="alternates_for_z">ź,ž,ż</string>
-    <string name="alternates_for_l">Å‚</string>
-    <string name="alternates_for_v">w</string>
+    <string name="alternates_for_e">3,é,è,ê,ë,ę</string>
+    <string name="alternates_for_o">9,œ,ô,ò,ó,õ,ō</string>
+    <string name="alternates_for_u">7,ü,û,ù,ú,ū</string>
+    <string name="alternates_for_s">ß,ś,š</string>
     <string name="keylabel_for_scandinavia_row2_10">ö</string>
     <string name="keylabel_for_scandinavia_row2_11">ä</string>
-    <string name="alternates_for_scandinavia_row2_10">ø,œ</string>
+    <string name="alternates_for_scandinavia_row2_10">ø</string>
     <string name="alternates_for_scandinavia_row2_11">æ</string>
 </resources>
diff --git a/java/res/values-tr/donottranslate-altchars.xml b/java/res/values-tr/donottranslate-altchars.xml
index 1378fa90b1d5a84193315f1cd71b29b59ccb8699..1b83b65c828e0edaa242655aef6323d5aee3d155 100644
--- a/java/res/values-tr/donottranslate-altchars.xml
+++ b/java/res/values-tr/donottranslate-altchars.xml
@@ -18,8 +18,11 @@
 */
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="alternates_for_o">9,ö,ò,ó,ô,õ,œ,ø</string>
-    <string name="alternates_for_u">7,ü,ù,ú,û</string>
-    <string name="alternates_for_s">ş,§,ß</string>
+    <string name="alternates_for_a">â</string>
+    <string name="alternates_for_i">8,ı,î,ï,ì,í,į,ī</string>
+    <string name="alternates_for_o">9,ö,ô,œ,ò,ó,õ,ø,ō</string>
+    <string name="alternates_for_u">7,ü,û,ù,ú,ū</string>
+    <string name="alternates_for_s">ş,ß,ś,š</string>
     <string name="alternates_for_g">ÄŸ</string>
+    <string name="alternates_for_c">ç,ć,č</string>
 </resources>
diff --git a/java/res/values/donottranslate-altchars.xml b/java/res/values/donottranslate-altchars.xml
index c5a369f9cc463cfc42d54b9bf9de0fa31bb45408..4b1a6ae6dbddc4c27729504964e7607668e1182c 100644
--- a/java/res/values/donottranslate-altchars.xml
+++ b/java/res/values/donottranslate-altchars.xml
@@ -18,21 +18,22 @@
 */
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
-    <string name="alternates_for_a">à,á,â,ã,ä,å,æ</string>
-    <string name="alternates_for_e">3,è,é,ê,ë</string>
-    <string name="alternates_for_i">8,ì,í,î,ï</string>
-    <string name="alternates_for_o">9,ò,ó,ô,õ,ö,œ,ø</string>
-    <string name="alternates_for_u">7,ù,ú,û,ü</string>
-    <string name="alternates_for_s">§,ß</string>
-    <string name="alternates_for_n">ñ</string>
-    <string name="alternates_for_c">ç</string>
-    <string name="alternates_for_y">6,ý,ÿ</string>
+    <string name="alternates_for_a"></string>
+    <string name="alternates_for_e">3</string>
+    <string name="alternates_for_i">8</string>
+    <string name="alternates_for_o">9</string>
+    <string name="alternates_for_u">7</string>
+    <string name="alternates_for_s"></string>
+    <string name="alternates_for_n"></string>
+    <string name="alternates_for_c"></string>
+    <string name="alternates_for_y">6</string>
     <string name="alternates_for_q">1</string>
     <string name="alternates_for_w">2</string>
     <string name="alternates_for_d"></string>
     <string name="alternates_for_r">4</string>
     <string name="alternates_for_t">5</string>
     <string name="alternates_for_z"></string>
+    <string name="alternates_for_k"></string>
     <string name="alternates_for_l"></string>
     <string name="alternates_for_g"></string>
     <string name="alternates_for_p">0</string>
diff --git a/java/res/xml-de-xlarge/kbd_qwerty.xml b/java/res/xml-cs/kbd_qwerty.xml
similarity index 95%
rename from java/res/xml-de-xlarge/kbd_qwerty.xml
rename to java/res/xml-cs/kbd_qwerty.xml
index a23e4fbf0aae49469680aed8cfe4f50f30470f0f..010bdb3f7157bf10395236fcaba3302cfa2e506a 100644
--- a/java/res/xml-de-xlarge/kbd_qwerty.xml
+++ b/java/res/xml-cs/kbd_qwerty.xml
@@ -2,7 +2,7 @@
 <!--
 /*
 **
-** Copyright 2008, The Android Open Source Project
+** Copyright 2011, 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.
diff --git a/java/res/xml-da-xlarge/kbd_qwerty.xml b/java/res/xml-da-xlarge/kbd_qwerty.xml
deleted file mode 100644
index aa868e45390d26bdee810088da129ec67af84c81..0000000000000000000000000000000000000000
--- a/java/res/xml-da-xlarge/kbd_qwerty.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, 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.
-*/
--->
-
-<!--
-    Danish Keyboard Layout
-
-    Just a copy of the Norwegian layout, with æ/ø switched.
--->
-
-<Keyboard
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:keyboardHeight="@dimen/keyboardHeight"
-    latin:maxKeyboardHeight="50%p"
-    latin:rowHeight="25%p"
-    latin:horizontalGap="@dimen/key_horizontal_gap"
-    latin:verticalGap="@dimen/key_bottom_gap"
-    latin:popupKeyboardTemplate="@xml/kbd_popup_template"
-    latin:maxPopupKeyboardColumn="@integer/config_max_popup_keyboard_column"
->
-    <include
-        latin:keyboardLayout="@xml/kbd_qwerty_rows_scandinavia" />
-</Keyboard>
diff --git a/java/res/xml-da/kbd_qwerty.xml b/java/res/xml-da/kbd_qwerty.xml
index dfca1cdd2d57252550171a70fbc53d3c372d7ca4..441b7cb17e113a57e3d0a4a58386e0069e6ce801 100644
--- a/java/res/xml-da/kbd_qwerty.xml
+++ b/java/res/xml-da/kbd_qwerty.xml
@@ -18,18 +18,11 @@
 */
 -->
 
-<!--
-    Danish Keyboard Layout
-
-    Just a copy of the Norwegian layout, with æ/ø switched.
--->
-
 <Keyboard
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
     latin:keyboardHeight="@dimen/keyboardHeight"
     latin:maxKeyboardHeight="50%p"
     latin:rowHeight="25%p"
-    latin:keyWidth="9.09%p"
     latin:horizontalGap="@dimen/key_horizontal_gap"
     latin:verticalGap="@dimen/key_bottom_gap"
     latin:popupKeyboardTemplate="@xml/kbd_popup_template"
diff --git a/java/res/xml-fr-xlarge/kbd_qwerty.xml b/java/res/xml-fi/kbd_qwerty.xml
similarity index 89%
rename from java/res/xml-fr-xlarge/kbd_qwerty.xml
rename to java/res/xml-fi/kbd_qwerty.xml
index 2d0b42baf4a26a21f6f4c1a78a25612e4f70e052..b0a7b3eb00bad812a5c3f8789c96ce0e992c0f56 100644
--- a/java/res/xml-fr-xlarge/kbd_qwerty.xml
+++ b/java/res/xml-fi/kbd_qwerty.xml
@@ -2,7 +2,7 @@
 <!--
 /*
 **
-** Copyright 2008, The Android Open Source Project
+** Copyright 2011, 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.
@@ -23,12 +23,11 @@
     latin:keyboardHeight="@dimen/keyboardHeight"
     latin:maxKeyboardHeight="50%p"
     latin:rowHeight="25%p"
-    latin:keyWidth="10%p"
     latin:horizontalGap="@dimen/key_horizontal_gap"
     latin:verticalGap="@dimen/key_bottom_gap"
     latin:popupKeyboardTemplate="@xml/kbd_popup_template"
     latin:maxPopupKeyboardColumn="@integer/config_max_popup_keyboard_column"
 >
     <include
-        latin:keyboardLayout="@xml/kbd_azerty_rows" />
+        latin:keyboardLayout="@xml/kbd_qwerty_rows_scandinavia" />
 </Keyboard>
diff --git a/java/res/xml-fr-rCH-xlarge/kbd_qwerty.xml b/java/res/xml-hu/kbd_qwerty.xml
similarity index 95%
rename from java/res/xml-fr-rCH-xlarge/kbd_qwerty.xml
rename to java/res/xml-hu/kbd_qwerty.xml
index a23e4fbf0aae49469680aed8cfe4f50f30470f0f..010bdb3f7157bf10395236fcaba3302cfa2e506a 100644
--- a/java/res/xml-fr-rCH-xlarge/kbd_qwerty.xml
+++ b/java/res/xml-hu/kbd_qwerty.xml
@@ -2,7 +2,7 @@
 <!--
 /*
 **
-** Copyright 2008, The Android Open Source Project
+** Copyright 2011, 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.
diff --git a/java/res/xml-nb-xlarge/kbd_qwerty.xml b/java/res/xml-nb-xlarge/kbd_qwerty.xml
deleted file mode 100644
index 5dfdc4f566c64d10d970afe2bf5fb14d2c166c36..0000000000000000000000000000000000000000
--- a/java/res/xml-nb-xlarge/kbd_qwerty.xml
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, 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.
-*/
--->
-
-<!--
-    Norwegian Keyboard Layout
-
-    Just a copy of the Swedish layout, with ä/æ and ö/ø switched.
--->
-
-<Keyboard
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:keyboardHeight="@dimen/keyboardHeight"
-    latin:maxKeyboardHeight="50%p"
-    latin:rowHeight="25%p"
-    latin:horizontalGap="@dimen/key_horizontal_gap"
-    latin:verticalGap="@dimen/key_bottom_gap"
-    latin:popupKeyboardTemplate="@xml/kbd_popup_template"
-    latin:maxPopupKeyboardColumn="@integer/config_max_popup_keyboard_column"
->
-    <include
-        latin:keyboardLayout="@xml/kbd_qwerty_rows_scandinavia" />
-</Keyboard>
diff --git a/java/res/xml-nb/kbd_qwerty.xml b/java/res/xml-nb/kbd_qwerty.xml
index 06f1b947ae3822bcefcd7c10c6512ffeb90c680d..441b7cb17e113a57e3d0a4a58386e0069e6ce801 100644
--- a/java/res/xml-nb/kbd_qwerty.xml
+++ b/java/res/xml-nb/kbd_qwerty.xml
@@ -18,18 +18,11 @@
 */
 -->
 
-<!--
-    Norwegian Keyboard Layout
-
-    Just a copy of the Swedish layout, with ä/æ and ö/ø switched.
--->
-
 <Keyboard
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
     latin:keyboardHeight="@dimen/keyboardHeight"
     latin:maxKeyboardHeight="50%p"
     latin:rowHeight="25%p"
-    latin:keyWidth="9.09%p"
     latin:horizontalGap="@dimen/key_horizontal_gap"
     latin:verticalGap="@dimen/key_bottom_gap"
     latin:popupKeyboardTemplate="@xml/kbd_popup_template"
diff --git a/java/res/xml-ru/kbd_qwerty.xml b/java/res/xml-ru/kbd_qwerty.xml
index 08d7a4ac597b788e1e61485e8fb06e7c84336c55..0eb311501f2e9ced4ffc0ea1ecf45993ceaf12bf 100644
--- a/java/res/xml-ru/kbd_qwerty.xml
+++ b/java/res/xml-ru/kbd_qwerty.xml
@@ -23,123 +23,11 @@
     latin:keyboardHeight="@dimen/keyboardHeight"
     latin:maxKeyboardHeight="50%p"
     latin:rowHeight="25%p"
-    latin:keyWidth="9.091%p"
     latin:horizontalGap="@dimen/key_horizontal_gap"
     latin:verticalGap="@dimen/key_bottom_gap"
     latin:popupKeyboardTemplate="@xml/kbd_popup_template"
     latin:maxPopupKeyboardColumn="@integer/config_max_popup_keyboard_column"
 >
     <include
-        latin:keyboardLayout="@xml/kbd_key_styles" />
-    <Row
-        latin:rowEdgeFlags="top"
-    >
-        <Key
-            latin:keyLabel="й"
-            latin:keyHintIcon="@drawable/keyboard_hint_1"
-            latin:popupCharacters="1"
-            latin:keyWidth="8.75%p"
-            latin:keyEdgeFlags="left" />
-        <Key
-            latin:keyLabel="ц"
-            latin:keyHintIcon="@drawable/keyboard_hint_2"
-            latin:popupCharacters="2" />
-        <Key
-            latin:keyLabel="у"
-            latin:keyHintIcon="@drawable/keyboard_hint_3"
-            latin:popupCharacters="3" />
-        <Key
-            latin:keyLabel="к"
-            latin:keyHintIcon="@drawable/keyboard_hint_4"
-            latin:popupCharacters="4" />
-        <Key
-            latin:keyLabel="е"
-            latin:keyHintIcon="@drawable/keyboard_hint_5"
-            latin:popupCharacters="@string/alternates_for_cyrillic_e" />
-        <Key
-            latin:keyLabel="н"
-            latin:keyHintIcon="@drawable/keyboard_hint_6"
-            latin:popupCharacters="6" />
-        <Key
-            latin:keyLabel="г"
-            latin:keyHintIcon="@drawable/keyboard_hint_7"
-            latin:popupCharacters="7" />
-        <Key
-            latin:keyLabel="ш"
-            latin:keyHintIcon="@drawable/keyboard_hint_8"
-            latin:popupCharacters="8" />
-        <Key
-            latin:keyLabel="щ"
-            latin:keyHintIcon="@drawable/keyboard_hint_9"
-            latin:popupCharacters="9" />
-        <Key
-            latin:keyLabel="з"
-            latin:keyHintIcon="@drawable/keyboard_hint_0"
-            latin:popupCharacters="0" />
-        <Key
-            latin:keyLabel="Ñ…"
-            latin:keyWidth="8.75%p"
-            latin:keyEdgeFlags="right" />
-    </Row>
-    <Row>
-        <Key
-            latin:keyLabel="Ñ„"
-            latin:keyWidth="8.75%p"
-            latin:keyEdgeFlags="left" />
-        <Key
-            latin:keyLabel="Ñ‹" />
-        <Key
-            latin:keyLabel="в" />
-        <Key
-            latin:keyLabel="а" />
-        <Key
-            latin:keyLabel="п" />
-        <Key
-            latin:keyLabel="Ñ€" />
-        <Key
-            latin:keyLabel="о" />
-        <Key
-            latin:keyLabel="л" />
-        <Key
-            latin:keyLabel="д" />
-        <Key
-            latin:keyLabel="ж" />
-        <Key
-            latin:keyLabel="э"
-            latin:keyWidth="8.75%p"
-            latin:keyEdgeFlags="right" />
-    </Row>
-    <Row
-        latin:keyWidth="8.5%p"
-    >
-        <Key
-            latin:keyStyle="shiftKeyStyle"
-            latin:keyWidth="11.75%p"
-            latin:keyEdgeFlags="left" />
-        <Key
-            latin:keyLabel="я" />
-        <Key
-            latin:keyLabel="ч" />
-        <Key
-            latin:keyLabel="с" />
-        <Key
-            latin:keyLabel="м" />
-        <Key
-            latin:keyLabel="и" />
-        <Key
-            latin:keyLabel="Ñ‚" />
-        <Key
-            latin:keyLabel="ь"
-            latin:popupCharacters="@string/alternates_for_cyrillic_soft_sign" />
-        <Key
-            latin:keyLabel="б" />
-        <Key
-            latin:keyLabel="ÑŽ" />
-        <Key
-            latin:keyStyle="deleteKeyStyle"
-            latin:keyWidth="11.75%p"
-            latin:keyEdgeFlags="right" />
-    </Row>
-    <include
-        latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+        latin:keyboardLayout="@xml/kbd_ru_rows" />
 </Keyboard>
diff --git a/java/res/xml-sr/kbd_qwerty.xml b/java/res/xml-sr/kbd_qwerty.xml
index 0e5f5ff791e1d42b6e451813d2a671361f96962f..3995e4e27cf29e1a8f07ccb4f6feb10e795be689 100644
--- a/java/res/xml-sr/kbd_qwerty.xml
+++ b/java/res/xml-sr/kbd_qwerty.xml
@@ -18,124 +18,16 @@
 */
 -->
 
-<!-- Serbian keyboard layout, based on the X11 layout for Serbian -->
 <Keyboard
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
     latin:keyboardHeight="@dimen/keyboardHeight"
     latin:maxKeyboardHeight="50%p"
     latin:rowHeight="25%p"
-    latin:keyWidth="9.09%p"
     latin:horizontalGap="@dimen/key_horizontal_gap"
     latin:verticalGap="@dimen/key_bottom_gap"
     latin:popupKeyboardTemplate="@xml/kbd_popup_template"
     latin:maxPopupKeyboardColumn="@integer/config_max_popup_keyboard_column"
 >
     <include
-        latin:keyboardLayout="@xml/kbd_key_styles" />
-    <Row
-        latin:rowEdgeFlags="top"
-    >
-        <Key
-            latin:keyLabel="Ñ™"
-            latin:keyHintIcon="@drawable/keyboard_hint_1"
-            latin:popupCharacters="1"
-            latin:keyEdgeFlags="left" />
-        <Key
-            latin:keyLabel="Ñš"
-            latin:keyHintIcon="@drawable/keyboard_hint_2"
-            latin:popupCharacters="2" />
-        <Key
-            latin:keyLabel="е"
-            latin:keyHintIcon="@drawable/keyboard_hint_3"
-            latin:popupCharacters="3" />
-        <Key
-            latin:keyLabel="Ñ€"
-            latin:keyHintIcon="@drawable/keyboard_hint_4"
-            latin:popupCharacters="4" />
-        <Key
-            latin:keyLabel="Ñ‚"
-            latin:keyHintIcon="@drawable/keyboard_hint_5"
-            latin:popupCharacters="5" />
-        <Key
-            latin:keyLabel="з"
-            latin:keyHintIcon="@drawable/keyboard_hint_6"
-            latin:popupCharacters="6" />
-        <Key
-            latin:keyLabel="у"
-            latin:keyHintIcon="@drawable/keyboard_hint_7"
-            latin:popupCharacters="7" />
-        <Key
-            latin:keyLabel="и"
-            latin:keyHintIcon="@drawable/keyboard_hint_8"
-            latin:popupCharacters="8" />
-        <Key
-            latin:keyLabel="о"
-            latin:keyHintIcon="@drawable/keyboard_hint_9"
-            latin:popupCharacters="9" />
-        <Key
-            latin:keyLabel="п"
-            latin:keyHintIcon="@drawable/keyboard_hint_0"
-            latin:popupCharacters="0" />
-        <Key
-            latin:keyLabel="ш"
-            latin:keyEdgeFlags="right" />
-    </Row>
-    <Row
-        latin:keyWidth="8.333%p"
-    >
-        <Key
-            latin:keyLabel="а"
-            latin:keyEdgeFlags="left" />
-        <Key
-            latin:keyLabel="с" />
-        <Key
-            latin:keyLabel="д" />
-        <Key
-            latin:keyLabel="Ñ„" />
-        <Key
-            latin:keyLabel="г" />
-        <Key
-            latin:keyLabel="Ñ…" />
-        <Key
-            latin:keyLabel="ј" />
-        <Key
-            latin:keyLabel="к" />
-        <Key
-            latin:keyLabel="л" />
-        <Key
-            latin:keyLabel="ч" />
-        <Key
-            latin:keyLabel="Ñ›" />
-        <Key
-            latin:keyLabel="Ñ’"
-            latin:keyEdgeFlags="right" />
-    </Row>
-    <Row
-        latin:keyWidth="8.5%p"
-    >
-        <Key
-            latin:keyStyle="shiftKeyStyle"
-            latin:keyWidth="11.75%p"
-            latin:keyEdgeFlags="left" />
-        <Key
-            latin:keyLabel="ж" />
-        <Key
-            latin:keyLabel="ÑŸ" />
-        <Key
-            latin:keyLabel="ц" />
-        <Key
-            latin:keyLabel="в" />
-        <Key
-            latin:keyLabel="б" />
-        <Key
-            latin:keyLabel="н" />
-        <Key
-            latin:keyLabel="м" />
-        <Key
-            latin:keyStyle="deleteKeyStyle"
-            latin:keyWidth="11.75%p"
-            latin:keyEdgeFlags="right" />
-    </Row>
-    <include
-        latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+        latin:keyboardLayout="@xml/kbd_sr_rows" />
 </Keyboard>
diff --git a/java/res/xml-sv-xlarge/kbd_qwerty.xml b/java/res/xml-sv-xlarge/kbd_qwerty.xml
deleted file mode 100644
index bbb38585ee823ee9d3c36a436c38449b1355aeec..0000000000000000000000000000000000000000
--- a/java/res/xml-sv-xlarge/kbd_qwerty.xml
+++ /dev/null
@@ -1,41 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-**
-** Copyright 2010, 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.
-*/
--->
-
-<!--
-    Swedish Keyboard Layout
-
-    Key positioning: Svensk standard SS 66 22 41
-    Foreign letters: Svenska skrivregler (2:a uppl.) §302
-    Local additions: ۧ
--->
-
-<Keyboard
-    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:keyboardHeight="@dimen/keyboardHeight"
-    latin:maxKeyboardHeight="50%p"
-    latin:rowHeight="25%p"
-    latin:horizontalGap="@dimen/key_horizontal_gap"
-    latin:verticalGap="@dimen/key_bottom_gap"
-    latin:popupKeyboardTemplate="@xml/kbd_popup_template"
-    latin:maxPopupKeyboardColumn="@integer/config_max_popup_keyboard_column"
->
-    <include
-        latin:keyboardLayout="@xml/kbd_qwerty_rows_scandinavia" />
-</Keyboard>
diff --git a/java/res/xml-sv/kbd_qwerty.xml b/java/res/xml-sv/kbd_qwerty.xml
index 60d3b45f944167e99b11f4b1b8af7f33120e2f56..72bdc339e68f4b31e0dfca3c76360842a5413b8e 100644
--- a/java/res/xml-sv/kbd_qwerty.xml
+++ b/java/res/xml-sv/kbd_qwerty.xml
@@ -18,20 +18,11 @@
 */
 -->
 
-<!--
-    Swedish Keyboard Layout
-
-    Key positioning: Svensk standard SS 66 22 41
-    Foreign letters: Svenska skrivregler (2:a uppl.) §302
-    Local additions: ۧ
--->
-
 <Keyboard
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
     latin:keyboardHeight="@dimen/keyboardHeight"
     latin:maxKeyboardHeight="50%p"
     latin:rowHeight="25%p"
-    latin:keyWidth="9.09%p"
     latin:horizontalGap="@dimen/key_horizontal_gap"
     latin:verticalGap="@dimen/key_bottom_gap"
     latin:popupKeyboardTemplate="@xml/kbd_popup_template"
diff --git a/java/res/xml-xlarge/kbd_azerty_rows.xml b/java/res/xml-xlarge/kbd_azerty_rows.xml
index 616295065880bdeb11b3d125b56f67b9c92fab92..564f7762901d9b002d2fab71408783534e16c2b0 100644
--- a/java/res/xml-xlarge/kbd_azerty_rows.xml
+++ b/java/res/xml-xlarge/kbd_azerty_rows.xml
@@ -93,7 +93,8 @@
         <Key
             latin:keyLabel="j" />
         <Key
-            latin:keyLabel="k" />
+            latin:keyLabel="k"
+            latin:popupCharacters="@string/alternates_for_k" />
         <Key
             latin:keyLabel="l"
             latin:popupCharacters="@string/alternates_for_l" />
diff --git a/java/res/xml-xlarge/kbd_qwerty_row2.xml b/java/res/xml-xlarge/kbd_qwerty_row2.xml
index 1b4393ab2d087620ea59793bc7da73e04ab4358d..02bd0a6c99289cd7c6e419691d94b4b62f6f7114 100644
--- a/java/res/xml-xlarge/kbd_qwerty_row2.xml
+++ b/java/res/xml-xlarge/kbd_qwerty_row2.xml
@@ -48,7 +48,8 @@
         <Key
             latin:keyLabel="j" />
         <Key
-            latin:keyLabel="k" />
+            latin:keyLabel="k"
+            latin:popupCharacters="@string/alternates_for_k" />
         <Key
             latin:keyLabel="l"
             latin:popupCharacters="@string/alternates_for_l" />
diff --git a/java/res/xml-xlarge/kbd_qwerty_rows_scandinavia.xml b/java/res/xml-xlarge/kbd_qwerty_rows_scandinavia.xml
index 8c583ba851c3e9ef0213b5efab843f05a9f3940e..fb2034fb75735743d98ee7e2297106ec8c1e772e 100644
--- a/java/res/xml-xlarge/kbd_qwerty_rows_scandinavia.xml
+++ b/java/res/xml-xlarge/kbd_qwerty_rows_scandinavia.xml
@@ -95,7 +95,8 @@
         <Key
             latin:keyLabel="j" />
         <Key
-            latin:keyLabel="k" />
+            latin:keyLabel="k"
+            latin:popupCharacters="@string/alternates_for_k" />
         <Key
             latin:keyLabel="l"
             latin:popupCharacters="@string/alternates_for_l" />
diff --git a/java/res/xml-ru-xlarge/kbd_qwerty.xml b/java/res/xml-xlarge/kbd_ru_rows.xml
similarity index 89%
rename from java/res/xml-ru-xlarge/kbd_qwerty.xml
rename to java/res/xml-xlarge/kbd_ru_rows.xml
index b86002a310f38c27d6ee99717d1afa917b7b14b5..008988a84f6586469f6314ac97b93f197ffcd220 100644
--- a/java/res/xml-ru-xlarge/kbd_qwerty.xml
+++ b/java/res/xml-xlarge/kbd_ru_rows.xml
@@ -2,7 +2,7 @@
 <!--
 /*
 **
-** Copyright 2010, The Android Open Source Project
+** Copyright 2011, 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.
@@ -18,16 +18,8 @@
 */
 -->
 
-<Keyboard
+<merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:keyboardHeight="@dimen/keyboardHeight"
-    latin:maxKeyboardHeight="50%p"
-    latin:rowHeight="25%p"
-    latin:keyWidth="9.091%p"
-    latin:horizontalGap="@dimen/key_horizontal_gap"
-    latin:verticalGap="@dimen/key_bottom_gap"
-    latin:popupKeyboardTemplate="@xml/kbd_popup_template"
-    latin:maxPopupKeyboardColumn="@integer/config_max_popup_keyboard_column"
 >
     <include
         latin:keyboardLayout="@xml/kbd_key_styles" />
@@ -145,4 +137,4 @@
     </Row>
     <include
         latin:keyboardLayout="@xml/kbd_qwerty_row4" />
-</Keyboard>
+</merge>
diff --git a/java/res/xml-sr-xlarge/kbd_qwerty.xml b/java/res/xml-xlarge/kbd_sr_rows.xml
similarity index 89%
rename from java/res/xml-sr-xlarge/kbd_qwerty.xml
rename to java/res/xml-xlarge/kbd_sr_rows.xml
index 48764e7c74b7a864998a532bd213e117e7059bc3..ce9e208170498921e44caaa7e8a88f02143342ff 100644
--- a/java/res/xml-sr-xlarge/kbd_qwerty.xml
+++ b/java/res/xml-xlarge/kbd_sr_rows.xml
@@ -2,7 +2,7 @@
 <!--
 /*
 **
-** Copyright 2010, The Android Open Source Project
+** Copyright 2011, 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.
@@ -18,17 +18,8 @@
 */
 -->
 
-<!-- Serbian keyboard layout, based on the X11 layout for Serbian -->
-<Keyboard
+<merge
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
-    latin:keyboardHeight="@dimen/keyboardHeight"
-    latin:maxKeyboardHeight="50%p"
-    latin:rowHeight="25%p"
-    latin:keyWidth="9.09%p"
-    latin:horizontalGap="@dimen/key_horizontal_gap"
-    latin:verticalGap="@dimen/key_bottom_gap"
-    latin:popupKeyboardTemplate="@xml/kbd_popup_template"
-    latin:maxPopupKeyboardColumn="@integer/config_max_popup_keyboard_column"
 >
     <include
         latin:keyboardLayout="@xml/kbd_key_styles" />
@@ -155,4 +146,4 @@
     </Row>
     <include
         latin:keyboardLayout="@xml/kbd_qwerty_row4" />
-</Keyboard>
+</merge>
diff --git a/java/res/xml/kbd_azerty_rows.xml b/java/res/xml/kbd_azerty_rows.xml
index 71109ab67709dd97afa02e9b952ec39fcd427985..9eeb22ecb954909aa83ba10afa39b8abb91e6908 100644
--- a/java/res/xml/kbd_azerty_rows.xml
+++ b/java/res/xml/kbd_azerty_rows.xml
@@ -93,7 +93,8 @@
         <Key
             latin:keyLabel="j" />
         <Key
-            latin:keyLabel="k" />
+            latin:keyLabel="k"
+            latin:popupCharacters="@string/alternates_for_k" />
         <Key
             latin:keyLabel="l"
             latin:popupCharacters="@string/alternates_for_l" />
diff --git a/java/res/xml/kbd_qwerty_row2.xml b/java/res/xml/kbd_qwerty_row2.xml
index dd0035d936fce3bf0b8678f9d275e35cb1ba63b3..9ed4553c45bf0dbddc3b8f6ac77e0868fb470702 100644
--- a/java/res/xml/kbd_qwerty_row2.xml
+++ b/java/res/xml/kbd_qwerty_row2.xml
@@ -46,7 +46,8 @@
         <Key
             latin:keyLabel="j" />
         <Key
-            latin:keyLabel="k" />
+            latin:keyLabel="k"
+            latin:popupCharacters="@string/alternates_for_k" />
         <Key
             latin:keyLabel="l"
             latin:popupCharacters="@string/alternates_for_l"
diff --git a/java/res/xml/kbd_qwerty_rows_scandinavia.xml b/java/res/xml/kbd_qwerty_rows_scandinavia.xml
index 490652663a21689471162707ba5b8b82e9363136..1aae5a0a80f3c526c26082849cfe57d005e62839 100644
--- a/java/res/xml/kbd_qwerty_rows_scandinavia.xml
+++ b/java/res/xml/kbd_qwerty_rows_scandinavia.xml
@@ -98,7 +98,8 @@
         <Key
             latin:keyLabel="j" />
         <Key
-            latin:keyLabel="k" />
+            latin:keyLabel="k"
+            latin:popupCharacters="@string/alternates_for_k" />
         <Key
             latin:keyLabel="l"
             latin:popupCharacters="@string/alternates_for_l" />
diff --git a/java/res/xml/kbd_ru_rows.xml b/java/res/xml/kbd_ru_rows.xml
new file mode 100644
index 0000000000000000000000000000000000000000..fa2af3be0ee19ec10354c3bf61685df101c5a0af
--- /dev/null
+++ b/java/res/xml/kbd_ru_rows.xml
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2011, 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"
+>
+    <include
+        latin:keyboardLayout="@xml/kbd_key_styles" />
+    <Row
+        latin:keyWidth="9.091%p"
+        latin:rowEdgeFlags="top"
+    >
+        <Key
+            latin:keyLabel="й"
+            latin:keyHintIcon="@drawable/keyboard_hint_1"
+            latin:popupCharacters="1"
+            latin:keyWidth="8.75%p"
+            latin:keyEdgeFlags="left" />
+        <Key
+            latin:keyLabel="ц"
+            latin:keyHintIcon="@drawable/keyboard_hint_2"
+            latin:popupCharacters="2" />
+        <Key
+            latin:keyLabel="у"
+            latin:keyHintIcon="@drawable/keyboard_hint_3"
+            latin:popupCharacters="3" />
+        <Key
+            latin:keyLabel="к"
+            latin:keyHintIcon="@drawable/keyboard_hint_4"
+            latin:popupCharacters="4" />
+        <Key
+            latin:keyLabel="е"
+            latin:keyHintIcon="@drawable/keyboard_hint_5"
+            latin:popupCharacters="@string/alternates_for_cyrillic_e" />
+        <Key
+            latin:keyLabel="н"
+            latin:keyHintIcon="@drawable/keyboard_hint_6"
+            latin:popupCharacters="6" />
+        <Key
+            latin:keyLabel="г"
+            latin:keyHintIcon="@drawable/keyboard_hint_7"
+            latin:popupCharacters="7" />
+        <Key
+            latin:keyLabel="ш"
+            latin:keyHintIcon="@drawable/keyboard_hint_8"
+            latin:popupCharacters="8" />
+        <Key
+            latin:keyLabel="щ"
+            latin:keyHintIcon="@drawable/keyboard_hint_9"
+            latin:popupCharacters="9" />
+        <Key
+            latin:keyLabel="з"
+            latin:keyHintIcon="@drawable/keyboard_hint_0"
+            latin:popupCharacters="0" />
+        <Key
+            latin:keyLabel="Ñ…"
+            latin:keyWidth="8.75%p"
+            latin:keyEdgeFlags="right" />
+    </Row>
+    <Row
+            latin:keyWidth="9.091%p"
+    >
+        <Key
+            latin:keyLabel="Ñ„"
+            latin:keyWidth="8.75%p"
+            latin:keyEdgeFlags="left" />
+        <Key
+            latin:keyLabel="Ñ‹" />
+        <Key
+            latin:keyLabel="в" />
+        <Key
+            latin:keyLabel="а" />
+        <Key
+            latin:keyLabel="п" />
+        <Key
+            latin:keyLabel="Ñ€" />
+        <Key
+            latin:keyLabel="о" />
+        <Key
+            latin:keyLabel="л" />
+        <Key
+            latin:keyLabel="д" />
+        <Key
+            latin:keyLabel="ж" />
+        <Key
+            latin:keyLabel="э"
+            latin:keyWidth="8.75%p"
+            latin:keyEdgeFlags="right" />
+    </Row>
+    <Row
+        latin:keyWidth="8.5%p"
+    >
+        <Key
+            latin:keyStyle="shiftKeyStyle"
+            latin:keyWidth="11.75%p"
+            latin:keyEdgeFlags="left" />
+        <Key
+            latin:keyLabel="я" />
+        <Key
+            latin:keyLabel="ч" />
+        <Key
+            latin:keyLabel="с" />
+        <Key
+            latin:keyLabel="м" />
+        <Key
+            latin:keyLabel="и" />
+        <Key
+            latin:keyLabel="Ñ‚" />
+        <Key
+            latin:keyLabel="ь"
+            latin:popupCharacters="@string/alternates_for_cyrillic_soft_sign" />
+        <Key
+            latin:keyLabel="б" />
+        <Key
+            latin:keyLabel="ÑŽ" />
+        <Key
+            latin:keyStyle="deleteKeyStyle"
+            latin:keyWidth="11.75%p"
+            latin:keyEdgeFlags="right" />
+    </Row>
+    <include
+        latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+</merge>
diff --git a/java/res/xml/kbd_sr_rows.xml b/java/res/xml/kbd_sr_rows.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4a5ed1195428852ced869fbdcc3e6e37b4c1cba3
--- /dev/null
+++ b/java/res/xml/kbd_sr_rows.xml
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2011, 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"
+>
+    <include
+        latin:keyboardLayout="@xml/kbd_key_styles" />
+    <Row
+        latin:keyWidth="9.09%p"
+        latin:rowEdgeFlags="top"
+    >
+        <Key
+            latin:keyLabel="Ñ™"
+            latin:keyHintIcon="@drawable/keyboard_hint_1"
+            latin:popupCharacters="1"
+            latin:keyEdgeFlags="left" />
+        <Key
+            latin:keyLabel="Ñš"
+            latin:keyHintIcon="@drawable/keyboard_hint_2"
+            latin:popupCharacters="2" />
+        <Key
+            latin:keyLabel="е"
+            latin:keyHintIcon="@drawable/keyboard_hint_3"
+            latin:popupCharacters="3" />
+        <Key
+            latin:keyLabel="Ñ€"
+            latin:keyHintIcon="@drawable/keyboard_hint_4"
+            latin:popupCharacters="4" />
+        <Key
+            latin:keyLabel="Ñ‚"
+            latin:keyHintIcon="@drawable/keyboard_hint_5"
+            latin:popupCharacters="5" />
+        <Key
+            latin:keyLabel="з"
+            latin:keyHintIcon="@drawable/keyboard_hint_6"
+            latin:popupCharacters="6" />
+        <Key
+            latin:keyLabel="у"
+            latin:keyHintIcon="@drawable/keyboard_hint_7"
+            latin:popupCharacters="7" />
+        <Key
+            latin:keyLabel="и"
+            latin:keyHintIcon="@drawable/keyboard_hint_8"
+            latin:popupCharacters="8" />
+        <Key
+            latin:keyLabel="о"
+            latin:keyHintIcon="@drawable/keyboard_hint_9"
+            latin:popupCharacters="9" />
+        <Key
+            latin:keyLabel="п"
+            latin:keyHintIcon="@drawable/keyboard_hint_0"
+            latin:popupCharacters="0" />
+        <Key
+            latin:keyLabel="ш"
+            latin:keyEdgeFlags="right" />
+    </Row>
+    <Row
+        latin:keyWidth="8.333%p"
+    >
+        <Key
+            latin:keyLabel="а"
+            latin:keyEdgeFlags="left" />
+        <Key
+            latin:keyLabel="с" />
+        <Key
+            latin:keyLabel="д" />
+        <Key
+            latin:keyLabel="Ñ„" />
+        <Key
+            latin:keyLabel="г" />
+        <Key
+            latin:keyLabel="Ñ…" />
+        <Key
+            latin:keyLabel="ј" />
+        <Key
+            latin:keyLabel="к" />
+        <Key
+            latin:keyLabel="л" />
+        <Key
+            latin:keyLabel="ч" />
+        <Key
+            latin:keyLabel="Ñ›" />
+        <Key
+            latin:keyLabel="Ñ’"
+            latin:keyEdgeFlags="right" />
+    </Row>
+    <Row
+        latin:keyWidth="8.5%p"
+    >
+        <Key
+            latin:keyStyle="shiftKeyStyle"
+            latin:keyWidth="11.75%p"
+            latin:keyEdgeFlags="left" />
+        <Key
+            latin:keyLabel="ж" />
+        <Key
+            latin:keyLabel="ÑŸ" />
+        <Key
+            latin:keyLabel="ц" />
+        <Key
+            latin:keyLabel="в" />
+        <Key
+            latin:keyLabel="б" />
+        <Key
+            latin:keyLabel="н" />
+        <Key
+            latin:keyLabel="м" />
+        <Key
+            latin:keyStyle="deleteKeyStyle"
+            latin:keyWidth="11.75%p"
+            latin:keyEdgeFlags="right" />
+    </Row>
+    <include
+        latin:keyboardLayout="@xml/kbd_qwerty_row4" />
+</merge>