diff --git a/java/res/xml-sw600dp/rowkeys_symbols2.xml b/java/res/xml-sw600dp/rowkeys_symbols2.xml
new file mode 100644
index 000000000..e0121a35c
--- /dev/null
+++ b/java/res/xml-sw600dp/rowkeys_symbols2.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml-sw600dp/rowkeys_symbols3.xml b/java/res/xml-sw600dp/rowkeys_symbols3.xml
new file mode 100644
index 000000000..9293352cf
--- /dev/null
+++ b/java/res/xml-sw600dp/rowkeys_symbols3.xml
@@ -0,0 +1,58 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml-sw600dp/rowkeys_symbols_shift1.xml b/java/res/xml-sw600dp/rowkeys_symbols_shift1.xml
new file mode 100644
index 000000000..356ee2f0e
--- /dev/null
+++ b/java/res/xml-sw600dp/rowkeys_symbols_shift1.xml
@@ -0,0 +1,56 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml-sw600dp/rowkeys_symbols_shift2.xml b/java/res/xml-sw600dp/rowkeys_symbols_shift2.xml
new file mode 100644
index 000000000..2048b7335
--- /dev/null
+++ b/java/res/xml-sw600dp/rowkeys_symbols_shift2.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml-sw600dp/rowkeys_symbols_shift3.xml b/java/res/xml-sw600dp/rowkeys_symbols_shift3.xml
new file mode 100644
index 000000000..8bd865639
--- /dev/null
+++ b/java/res/xml-sw600dp/rowkeys_symbols_shift3.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml-sw600dp/rows_symbols.xml b/java/res/xml-sw600dp/rows_symbols.xml
index 96503e886..6923ce1a5 100644
--- a/java/res/xml-sw600dp/rows_symbols.xml
+++ b/java/res/xml-sw600dp/rows_symbols.xml
@@ -28,46 +28,8 @@
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
+ latin:keyboardLayout="@xml/rowkeys_symbols2"
+ latin:keyXPos="4.5%p" />
-
-
+ latin:keyboardLayout="@xml/rowkeys_symbols3" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ latin:keyLabel="/" />
+
diff --git a/java/res/xml-sw600dp/rows_symbols4.xml b/java/res/xml-sw600dp/rows_symbols4.xml
new file mode 100644
index 000000000..bfc9b2cf6
--- /dev/null
+++ b/java/res/xml-sw600dp/rows_symbols4.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml-sw600dp/rows_symbols_shift.xml b/java/res/xml-sw600dp/rows_symbols_shift.xml
index c5eee6251..83ca0c1b6 100644
--- a/java/res/xml-sw600dp/rows_symbols_shift.xml
+++ b/java/res/xml-sw600dp/rows_symbols_shift.xml
@@ -28,38 +28,8 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
+ latin:keyboardLayout="@xml/rowkeys_symbols_shift2"
+ latin:keyXPos="4.5%p" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ latin:keyboardLayout="@xml/rowkeys_symbols_shift3" />
+
diff --git a/java/res/xml-sw600dp/rows_symbols_shift4.xml b/java/res/xml-sw600dp/rows_symbols_shift4.xml
new file mode 100644
index 000000000..4381bce6d
--- /dev/null
+++ b/java/res/xml-sw600dp/rows_symbols_shift4.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml-sw768dp/rows_symbols.xml b/java/res/xml-sw768dp/rows_symbols.xml
index a19af2265..3902aef8e 100644
--- a/java/res/xml-sw768dp/rows_symbols.xml
+++ b/java/res/xml-sw768dp/rows_symbols.xml
@@ -32,46 +32,8 @@
latin:keyStyle="tabKeyStyle"
latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" />
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
+ latin:keyboardLayout="@xml/rowkeys_symbols2" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ latin:keyboardLayout="@xml/rowkeys_symbols3" />
-
-
-
-
-
-
-
-
-
-
-
-
-
+
diff --git a/java/res/xml-sw768dp/rows_symbols4.xml b/java/res/xml-sw768dp/rows_symbols4.xml
new file mode 100644
index 000000000..19b36d690
--- /dev/null
+++ b/java/res/xml-sw768dp/rows_symbols4.xml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml-sw768dp/rows_symbols_shift.xml b/java/res/xml-sw768dp/rows_symbols_shift.xml
index 8c1bef434..7cfff3741 100644
--- a/java/res/xml-sw768dp/rows_symbols_shift.xml
+++ b/java/res/xml-sw768dp/rows_symbols_shift.xml
@@ -32,38 +32,8 @@
latin:keyStyle="tabKeyStyle"
latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
+ latin:keyboardLayout="@xml/rowkeys_symbols_shift2" />
-
-
-
-
-
-
-
-
-
-
-
-
-
+ latin:keyboardLayout="@xml/rowkeys_symbols_shift3" />
-
-
-
-
-
-
-
-
-
+
diff --git a/java/res/xml-sw768dp/rows_symbols_shift4.xml b/java/res/xml-sw768dp/rows_symbols_shift4.xml
new file mode 100644
index 000000000..8e0071f63
--- /dev/null
+++ b/java/res/xml-sw768dp/rows_symbols_shift4.xml
@@ -0,0 +1,44 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml/rowkeys_symbols1.xml b/java/res/xml/rowkeys_symbols1.xml
new file mode 100644
index 000000000..f6d6243d1
--- /dev/null
+++ b/java/res/xml/rowkeys_symbols1.xml
@@ -0,0 +1,64 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml/rowkeys_symbols2.xml b/java/res/xml/rowkeys_symbols2.xml
new file mode 100644
index 000000000..1092421d8
--- /dev/null
+++ b/java/res/xml/rowkeys_symbols2.xml
@@ -0,0 +1,48 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml/rowkeys_symbols3.xml b/java/res/xml/rowkeys_symbols3.xml
new file mode 100644
index 000000000..1a484d416
--- /dev/null
+++ b/java/res/xml/rowkeys_symbols3.xml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml/rowkeys_symbols_shift1.xml b/java/res/xml/rowkeys_symbols_shift1.xml
new file mode 100644
index 000000000..cc00aebcd
--- /dev/null
+++ b/java/res/xml/rowkeys_symbols_shift1.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml/rowkeys_symbols_shift2.xml b/java/res/xml/rowkeys_symbols_shift2.xml
new file mode 100644
index 000000000..3fd8aacb6
--- /dev/null
+++ b/java/res/xml/rowkeys_symbols_shift2.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml/rowkeys_symbols_shift3.xml b/java/res/xml/rowkeys_symbols_shift3.xml
new file mode 100644
index 000000000..f5db0fee6
--- /dev/null
+++ b/java/res/xml/rowkeys_symbols_shift3.xml
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml/rows_symbols.xml b/java/res/xml/rows_symbols.xml
index 6d0467c6f..dcd8d59d8 100644
--- a/java/res/xml/rows_symbols.xml
+++ b/java/res/xml/rows_symbols.xml
@@ -28,137 +28,21 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ latin:keyboardLayout="@xml/rowkeys_symbols1" />
-
-
-
-
-
-
-
-
-
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
diff --git a/java/res/xml/rows_symbols4.xml b/java/res/xml/rows_symbols4.xml
new file mode 100644
index 000000000..3e26650e8
--- /dev/null
+++ b/java/res/xml/rows_symbols4.xml
@@ -0,0 +1,55 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/java/res/xml/rows_symbols_shift.xml b/java/res/xml/rows_symbols_shift.xml
index a7d0499e1..6205eeddd 100644
--- a/java/res/xml/rows_symbols_shift.xml
+++ b/java/res/xml/rows_symbols_shift.xml
@@ -28,120 +28,21 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
+ latin:keyboardLayout="@xml/rowkeys_symbols_shift1" />
-
-
-
-
-
-
-
-
-
-
-
+ latin:keyboardLayout="@xml/rowkeys_symbols_shift2" />
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ latin:keyboardLayout="@xml/rowkeys_symbols_shift3" />
+
diff --git a/java/res/xml/rows_symbols_shift4.xml b/java/res/xml/rows_symbols_shift4.xml
new file mode 100644
index 000000000..28b6ab8dc
--- /dev/null
+++ b/java/res/xml/rows_symbols_shift4.xml
@@ -0,0 +1,49 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+