diff --git a/java/res/xml-sw600dp/keys_dvorak_123.xml b/java/res/xml-sw600dp/keys_dvorak_123.xml
index 635ea0476..851c14b5e 100644
--- a/java/res/xml-sw600dp/keys_dvorak_123.xml
+++ b/java/res/xml-sw600dp/keys_dvorak_123.xml
@@ -21,20 +21,40 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml-sw600dp/rowkeys_arabic1.xml b/java/res/xml-sw600dp/rowkeys_arabic1.xml
index 6a0e25786..3c0acf112 100644
--- a/java/res/xml-sw600dp/rowkeys_arabic1.xml
+++ b/java/res/xml-sw600dp/rowkeys_arabic1.xml
@@ -21,57 +21,87 @@
-
+
-
+
-
+
+ U+06A8: "ڨ" ARABIC LETTER QAF WITH THREE DOTS ABOVE
+ U+0664: "٤" ARABIC-INDIC DIGIT FOUR -->
+ U+06A5: "ڥ" ARABIC LETTER FEH WITH THREE DOTS BELOW
+ U+0665: "٥" ARABIC-INDIC DIGIT FIVE -->
-
+
-
+
+ U+0647 U+200D: ARABIC LETTER HEH + ZERO WIDTH JOINER
+ U+0668: "٨" ARABIC-INDIC DIGIT EIGHT -->
-
+
-
+
diff --git a/java/res/xml-sw600dp/rowkeys_farsi1.xml b/java/res/xml-sw600dp/rowkeys_farsi1.xml
index 7b312404a..6dd9a6575 100644
--- a/java/res/xml-sw600dp/rowkeys_farsi1.xml
+++ b/java/res/xml-sw600dp/rowkeys_farsi1.xml
@@ -21,50 +21,80 @@
-
+
-
+
-
+
-
+
-
+
-
+
-
+
+ U+0629: "ة" ARABIC LETTER TEH MARBUTA
+ U+06F8: "۸" EXTENDED ARABIC-INDIC DIGIT EIGHT -->
-
+
-
+
+ latin:keyboardLayout="@xml/rowkeys_azerty1" />
diff --git a/java/res/xml-sw600dp/rows_bulgarian.xml b/java/res/xml-sw600dp/rows_bulgarian.xml
index 72532369c..263562095 100644
--- a/java/res/xml-sw600dp/rows_bulgarian.xml
+++ b/java/res/xml-sw600dp/rows_bulgarian.xml
@@ -27,8 +27,7 @@
latin:keyWidth="8.182%p"
>
+ latin:keyboardLayout="@xml/rowkeys_bulgarian1" />
diff --git a/java/res/xml-sw600dp/rows_bulgarian_bds.xml b/java/res/xml-sw600dp/rows_bulgarian_bds.xml
index db6220e8e..9439a6346 100644
--- a/java/res/xml-sw600dp/rows_bulgarian_bds.xml
+++ b/java/res/xml-sw600dp/rows_bulgarian_bds.xml
@@ -27,8 +27,7 @@
latin:keyWidth="8.182%p"
>
+ latin:keyboardLayout="@xml/rowkeys_bulgarian_bds1" />
diff --git a/java/res/xml-sw600dp/rows_colemak.xml b/java/res/xml-sw600dp/rows_colemak.xml
index f7e903bb5..98a24e451 100644
--- a/java/res/xml-sw600dp/rows_colemak.xml
+++ b/java/res/xml-sw600dp/rows_colemak.xml
@@ -27,8 +27,7 @@
latin:keyWidth="9.0%p"
>
+ latin:keyboardLayout="@xml/rowkeys_colemak1" />
-
+ latin:keyboardLayout="@xml/rowkeys_dvorak1" />
diff --git a/java/res/xml-sw600dp/rows_east_slavic.xml b/java/res/xml-sw600dp/rows_east_slavic.xml
index 309625516..b4160d64b 100644
--- a/java/res/xml-sw600dp/rows_east_slavic.xml
+++ b/java/res/xml-sw600dp/rows_east_slavic.xml
@@ -27,8 +27,7 @@
latin:keyWidth="8.182%p"
>
+ latin:keyboardLayout="@xml/rowkeys_east_slavic1" />
diff --git a/java/res/xml-sw600dp/rows_georgian.xml b/java/res/xml-sw600dp/rows_georgian.xml
index 61d3eb05a..b0e9e35fd 100644
--- a/java/res/xml-sw600dp/rows_georgian.xml
+++ b/java/res/xml-sw600dp/rows_georgian.xml
@@ -27,8 +27,7 @@
latin:keyWidth="9.0%p"
>
+ latin:keyboardLayout="@xml/rowkeys_georgian1" />
diff --git a/java/res/xml-sw600dp/rows_greek.xml b/java/res/xml-sw600dp/rows_greek.xml
index 6a10228fb..de214c67f 100644
--- a/java/res/xml-sw600dp/rows_greek.xml
+++ b/java/res/xml-sw600dp/rows_greek.xml
@@ -29,8 +29,7 @@
+ latin:keyboardLayout="@xml/rowkeys_greek1" />
diff --git a/java/res/xml-sw600dp/rows_hebrew.xml b/java/res/xml-sw600dp/rows_hebrew.xml
index f9e6f51ab..9945dee35 100644
--- a/java/res/xml-sw600dp/rows_hebrew.xml
+++ b/java/res/xml-sw600dp/rows_hebrew.xml
@@ -26,10 +26,6 @@
-
-
+ latin:keyboardLayout="@xml/rowkeys_hindi1" />
diff --git a/java/res/xml-sw600dp/rows_mongolian.xml b/java/res/xml-sw600dp/rows_mongolian.xml
index cfd8c8c39..dc0c1fe5c 100644
--- a/java/res/xml-sw600dp/rows_mongolian.xml
+++ b/java/res/xml-sw600dp/rows_mongolian.xml
@@ -27,8 +27,7 @@
latin:keyWidth="8.182%p"
>
+ latin:keyboardLayout="@xml/rowkeys_mongolian1" />
diff --git a/java/res/xml-sw600dp/rows_nordic.xml b/java/res/xml-sw600dp/rows_nordic.xml
index 43144030f..299bf8908 100644
--- a/java/res/xml-sw600dp/rows_nordic.xml
+++ b/java/res/xml-sw600dp/rows_nordic.xml
@@ -27,8 +27,7 @@
latin:keyWidth="8.182%p"
>
+ latin:keyboardLayout="@xml/rowkeys_nordic1" />
diff --git a/java/res/xml-sw600dp/rows_qwerty.xml b/java/res/xml-sw600dp/rows_qwerty.xml
index bac02fd9a..722f9d138 100644
--- a/java/res/xml-sw600dp/rows_qwerty.xml
+++ b/java/res/xml-sw600dp/rows_qwerty.xml
@@ -27,8 +27,7 @@
latin:keyWidth="9.0%p"
>
+ latin:keyboardLayout="@xml/rowkeys_qwerty1" />
diff --git a/java/res/xml-sw600dp/rows_qwertz.xml b/java/res/xml-sw600dp/rows_qwertz.xml
index 98ddd0843..f2f832ce7 100644
--- a/java/res/xml-sw600dp/rows_qwertz.xml
+++ b/java/res/xml-sw600dp/rows_qwertz.xml
@@ -27,8 +27,7 @@
latin:keyWidth="9.0%p"
>
+ latin:keyboardLayout="@xml/rowkeys_qwertz1" />
diff --git a/java/res/xml-sw600dp/rows_south_slavic.xml b/java/res/xml-sw600dp/rows_south_slavic.xml
index e53a2ee92..6ef664342 100644
--- a/java/res/xml-sw600dp/rows_south_slavic.xml
+++ b/java/res/xml-sw600dp/rows_south_slavic.xml
@@ -27,8 +27,7 @@
latin:keyWidth="8.182%p"
>
+ latin:keyboardLayout="@xml/rowkeys_south_slavic1" />
diff --git a/java/res/xml-sw600dp/rows_spanish.xml b/java/res/xml-sw600dp/rows_spanish.xml
index b48ee0155..bca9bba3a 100644
--- a/java/res/xml-sw600dp/rows_spanish.xml
+++ b/java/res/xml-sw600dp/rows_spanish.xml
@@ -27,8 +27,7 @@
latin:keyWidth="9.0%p"
>
+ latin:keyboardLayout="@xml/rowkeys_qwerty1" />
diff --git a/java/res/xml-sw768dp/rows_azerty.xml b/java/res/xml-sw768dp/rows_azerty.xml
index dcc403b59..cf4bc92fa 100644
--- a/java/res/xml-sw768dp/rows_azerty.xml
+++ b/java/res/xml-sw768dp/rows_azerty.xml
@@ -31,8 +31,7 @@
latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" />
+ latin:keyboardLayout="@xml/rowkeys_azerty1" />
diff --git a/java/res/xml-sw768dp/rows_bulgarian.xml b/java/res/xml-sw768dp/rows_bulgarian.xml
index 64534144a..bdc1262f3 100644
--- a/java/res/xml-sw768dp/rows_bulgarian.xml
+++ b/java/res/xml-sw768dp/rows_bulgarian.xml
@@ -31,8 +31,7 @@
latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" />
+ latin:keyboardLayout="@xml/rowkeys_bulgarian1" />
diff --git a/java/res/xml-sw768dp/rows_bulgarian_bds.xml b/java/res/xml-sw768dp/rows_bulgarian_bds.xml
index 8acb4d259..58c46113e 100644
--- a/java/res/xml-sw768dp/rows_bulgarian_bds.xml
+++ b/java/res/xml-sw768dp/rows_bulgarian_bds.xml
@@ -31,8 +31,7 @@
latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" />
+ latin:keyboardLayout="@xml/rowkeys_bulgarian_bds1" />
diff --git a/java/res/xml-sw768dp/rows_colemak.xml b/java/res/xml-sw768dp/rows_colemak.xml
index db9b0c247..073f812e5 100644
--- a/java/res/xml-sw768dp/rows_colemak.xml
+++ b/java/res/xml-sw768dp/rows_colemak.xml
@@ -31,8 +31,7 @@
latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" />
+ latin:keyboardLayout="@xml/rowkeys_colemak1" />
-
+ latin:keyboardLayout="@xml/rowkeys_dvorak1" />
diff --git a/java/res/xml-sw768dp/rows_east_slavic.xml b/java/res/xml-sw768dp/rows_east_slavic.xml
index a4287f162..420307d3e 100644
--- a/java/res/xml-sw768dp/rows_east_slavic.xml
+++ b/java/res/xml-sw768dp/rows_east_slavic.xml
@@ -31,8 +31,7 @@
latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" />
+ latin:keyboardLayout="@xml/rowkeys_east_slavic1" />
+ latin:keyboardLayout="@xml/rowkeys_georgian1" />
diff --git a/java/res/xml-sw768dp/rows_greek.xml b/java/res/xml-sw768dp/rows_greek.xml
index aebe12928..9e1e00b73 100644
--- a/java/res/xml-sw768dp/rows_greek.xml
+++ b/java/res/xml-sw768dp/rows_greek.xml
@@ -33,8 +33,7 @@
+ latin:keyboardLayout="@xml/rowkeys_greek1" />
diff --git a/java/res/xml-sw768dp/rows_hebrew.xml b/java/res/xml-sw768dp/rows_hebrew.xml
index e588b830c..a5f6dfe09 100644
--- a/java/res/xml-sw768dp/rows_hebrew.xml
+++ b/java/res/xml-sw768dp/rows_hebrew.xml
@@ -30,10 +30,6 @@
latin:keyStyle="tabKeyStyle"
latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" />
-
-
+ latin:keyboardLayout="@xml/rowkeys_hindi1" />
diff --git a/java/res/xml-sw768dp/rows_mongolian.xml b/java/res/xml-sw768dp/rows_mongolian.xml
index 9afd4e2db..5f37f8773 100644
--- a/java/res/xml-sw768dp/rows_mongolian.xml
+++ b/java/res/xml-sw768dp/rows_mongolian.xml
@@ -31,8 +31,7 @@
latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" />
+ latin:keyboardLayout="@xml/rowkeys_mongolian1" />
diff --git a/java/res/xml-sw768dp/rows_nordic.xml b/java/res/xml-sw768dp/rows_nordic.xml
index 06591a66e..13d9399e8 100644
--- a/java/res/xml-sw768dp/rows_nordic.xml
+++ b/java/res/xml-sw768dp/rows_nordic.xml
@@ -31,8 +31,7 @@
latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" />
+ latin:keyboardLayout="@xml/rowkeys_nordic1" />
diff --git a/java/res/xml-sw768dp/rows_qwerty.xml b/java/res/xml-sw768dp/rows_qwerty.xml
index a1deabd3b..8af18ed72 100644
--- a/java/res/xml-sw768dp/rows_qwerty.xml
+++ b/java/res/xml-sw768dp/rows_qwerty.xml
@@ -31,8 +31,7 @@
latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" />
+ latin:keyboardLayout="@xml/rowkeys_qwerty1" />
diff --git a/java/res/xml-sw768dp/rows_qwertz.xml b/java/res/xml-sw768dp/rows_qwertz.xml
index 801dd38b6..0dd206d45 100644
--- a/java/res/xml-sw768dp/rows_qwertz.xml
+++ b/java/res/xml-sw768dp/rows_qwertz.xml
@@ -31,8 +31,7 @@
latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" />
+ latin:keyboardLayout="@xml/rowkeys_qwertz1" />
diff --git a/java/res/xml-sw768dp/rows_south_slavic.xml b/java/res/xml-sw768dp/rows_south_slavic.xml
index b55685330..6b44c4e6a 100644
--- a/java/res/xml-sw768dp/rows_south_slavic.xml
+++ b/java/res/xml-sw768dp/rows_south_slavic.xml
@@ -31,8 +31,7 @@
latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" />
+ latin:keyboardLayout="@xml/rowkeys_south_slavic1" />
diff --git a/java/res/xml-sw768dp/rows_spanish.xml b/java/res/xml-sw768dp/rows_spanish.xml
index 8b8033288..4520c100d 100644
--- a/java/res/xml-sw768dp/rows_spanish.xml
+++ b/java/res/xml-sw768dp/rows_spanish.xml
@@ -31,8 +31,7 @@
latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" />
+ latin:keyboardLayout="@xml/rowkeys_qwerty1" />
diff --git a/java/res/xml/keys_dvorak_123.xml b/java/res/xml/keys_dvorak_123.xml
index 60e6b6f0d..7124c89e7 100644
--- a/java/res/xml/keys_dvorak_123.xml
+++ b/java/res/xml/keys_dvorak_123.xml
@@ -51,7 +51,7 @@
latin:keyLabel="\'"
latin:keyHintLabel="1"
latin:additionalMoreKeys="1"
- latin:moreKeys="!" />
+ latin:moreKeys="!,"" />
@@ -72,13 +72,13 @@
latin:keyLabel=","
latin:keyHintLabel="2"
latin:additionalMoreKeys="2"
- latin:moreKeys="\?" />
+ latin:moreKeys="\?,<" />
+ latin:moreKeys="!text/more_keys_for_punctuation,%,>" />
diff --git a/java/res/xml/rowkeys_dvorak1.xml b/java/res/xml/rowkeys_dvorak1.xml
index 7e0eb6e71..033308acb 100644
--- a/java/res/xml/rowkeys_dvorak1.xml
+++ b/java/res/xml/rowkeys_dvorak1.xml
@@ -21,6 +21,8 @@
+
+
+
-
+
-
+
@@ -109,25 +125,45 @@
latin:keyLabel=" ึ"
latin:code="0x0E36"
latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
-
+
-
+
-
+
-
+
-
+
diff --git a/java/res/xml/rowkeys_thai2.xml b/java/res/xml/rowkeys_thai2.xml
index f602994b9..4bcbbbf8d 100644
--- a/java/res/xml/rowkeys_thai2.xml
+++ b/java/res/xml/rowkeys_thai2.xml
@@ -79,9 +79,13 @@
latin:keyLabel="," />
-
+
-