Refactor Devanagari key-styles

Change-Id: I799b04317d5b7daff4bb230294b2de474e5585eb
diff --git a/java/res/xml-v16/key_devanagari_sign_anusvara.xml b/java/res/xml-v16/keystyle_devanagari_sign_anusvara.xml
similarity index 94%
rename from java/res/xml-v16/key_devanagari_sign_anusvara.xml
rename to java/res/xml-v16/keystyle_devanagari_sign_anusvara.xml
index ee0f21d..10b1426 100644
--- a/java/res/xml-v16/key_devanagari_sign_anusvara.xml
+++ b/java/res/xml-v16/keystyle_devanagari_sign_anusvara.xml
@@ -26,7 +26,8 @@
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
     <!-- U+0902: "ं" DEVANAGARI SIGN ANUSVARA -->
-    <Key
+    <key-style
+        latin:styleName="baseKeyDevanagariSignAnusvara"
         latin:keySpec="&#x0902;"
         latin:keyLabelFlags="fontNormal" />
 </merge>
diff --git a/java/res/xml-v16/key_devanagari_sign_candrabindu.xml b/java/res/xml-v16/keystyle_devanagari_sign_candrabindu.xml
similarity index 92%
rename from java/res/xml-v16/key_devanagari_sign_candrabindu.xml
rename to java/res/xml-v16/keystyle_devanagari_sign_candrabindu.xml
index f246120..6198d01 100644
--- a/java/res/xml-v16/key_devanagari_sign_candrabindu.xml
+++ b/java/res/xml-v16/keystyle_devanagari_sign_candrabindu.xml
@@ -40,8 +40,9 @@
         </default>
     </switch>
     <!-- U+0901: "ँ" DEVANAGARI SIGN CANDRABINDU -->
-    <Key
-        latin:keyStyle="moreKeysDevanagariSignCandrabindu"
+    <key-style
+        latin:styleName="baseKeyDevanagariSignCandrabindu"
+        latin:parentStyle="moreKeysDevanagariSignCandrabindu"
         latin:keySpec="&#x0901;"
         latin:keyLabelFlags="fontNormal" />
 </merge>
diff --git a/java/res/xml-v16/key_devanagari_sign_nukta.xml b/java/res/xml-v16/keystyle_devanagari_sign_nukta.xml
similarity index 81%
rename from java/res/xml-v16/key_devanagari_sign_nukta.xml
rename to java/res/xml-v16/keystyle_devanagari_sign_nukta.xml
index 9157795..e0b47bb 100644
--- a/java/res/xml-v16/key_devanagari_sign_nukta.xml
+++ b/java/res/xml-v16/keystyle_devanagari_sign_nukta.xml
@@ -36,14 +36,23 @@
                 latin:styleName="moreKeysDevanagariSignNukta"
                 latin:moreKeys="&#x097D;,&#x0970;,&#x093D;" />
         </case>
+        <case
+            latin:keyboardLayoutSet="nepali_romanized"
+        >
+            <!-- U+093C: "़" DEVANAGARI SIGN NUKTA -->
+             <key-style
+                latin:styleName="moreKeysDevanagariSignNukta"
+                latin:moreKeys="&#x093C;" />
+        </case>
         <default>
              <key-style
                 latin:styleName="moreKeysDevanagariSignNukta" />
         </default>
     </switch>
     <!-- U+093C: "़" DEVANAGARI SIGN NUKTA -->
-    <Key
-        latin:keyStyle="moreKeysDevanagariSignNukta"
+    <key-style
+        latin:styleName="baseKeyDevanagariSignNukta"
+        latin:parentStyle="moreKeysDevanagariSignNukta"
         latin:keySpec="&#x093C;"
         latin:keyLabelFlags="fontNormal" />
 </merge>
diff --git a/java/res/xml-v16/key_devanagari_vowel_sign_candra_o.xml b/java/res/xml-v16/keystyle_devanagari_vowel_sign_candra_o.xml
similarity index 94%
rename from java/res/xml-v16/key_devanagari_vowel_sign_candra_o.xml
rename to java/res/xml-v16/keystyle_devanagari_vowel_sign_candra_o.xml
index 2f17399..f7edae0 100644
--- a/java/res/xml-v16/key_devanagari_vowel_sign_candra_o.xml
+++ b/java/res/xml-v16/keystyle_devanagari_vowel_sign_candra_o.xml
@@ -26,7 +26,8 @@
     xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
 >
     <!-- U+0949: "ॉ" DEVANAGARI VOWEL SIGN CANDRA O -->
-    <Key
+    <key-style
+        latin:styleName="baseKeyDevanagariVowelSignCandraO"
         latin:keySpec="&#x0949;"
         latin:keyLabelFlags="fontNormal" />
 </merge>
diff --git a/java/res/xml-v16/key_devanagari_vowel_sign_vocalic_r.xml b/java/res/xml-v16/keystyle_devanagari_vowel_sign_vocalic_r.xml
similarity index 93%
rename from java/res/xml-v16/key_devanagari_vowel_sign_vocalic_r.xml
rename to java/res/xml-v16/keystyle_devanagari_vowel_sign_vocalic_r.xml
index dc7a0e0..b49a97c 100644
--- a/java/res/xml-v16/key_devanagari_vowel_sign_vocalic_r.xml
+++ b/java/res/xml-v16/keystyle_devanagari_vowel_sign_vocalic_r.xml
@@ -48,8 +48,9 @@
         </default>
     </switch>
     <!-- U+0943: "ृ" DEVANAGARI VOWEL SIGN VOCALIC R -->
-    <Key
-        latin:keyStyle="moreKeysDevanagariVowelSignVocalicR"
+    <key-style
+        latin:styleName="baseKeyDevanagariVowelSignVocalicR"
+        latin:parentStyle="moreKeysDevanagariVowelSignVocalicR"
         latin:keySpec="&#x0943;"
         latin:keyLabelFlags="fontNormal" />
 </merge>
diff --git a/java/res/xml/key_devanagari_sign_anusvara.xml b/java/res/xml/keystyle_devanagari_sign_anusvara.xml
similarity index 94%
rename from java/res/xml/key_devanagari_sign_anusvara.xml
rename to java/res/xml/keystyle_devanagari_sign_anusvara.xml
index 5d7c018..0486a5d 100644
--- a/java/res/xml/key_devanagari_sign_anusvara.xml
+++ b/java/res/xml/keystyle_devanagari_sign_anusvara.xml
@@ -27,7 +27,8 @@
 >
     <!-- U+25CC: "◌" DOTTED CIRCLE
          U+0902: "ं" DEVANAGARI SIGN ANUSVARA -->
-    <Key
+    <key-style
+        latin:styleName="baseKeyDevanagariSignAnusvara"
         latin:keySpec="&#x25CC;&#x0902;|&#x0902;"
         latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
 </merge>
diff --git a/java/res/xml/key_devanagari_sign_candrabindu.xml b/java/res/xml/keystyle_devanagari_sign_candrabindu.xml
similarity index 93%
rename from java/res/xml/key_devanagari_sign_candrabindu.xml
rename to java/res/xml/keystyle_devanagari_sign_candrabindu.xml
index 9e9c371..24cb44b 100644
--- a/java/res/xml/key_devanagari_sign_candrabindu.xml
+++ b/java/res/xml/keystyle_devanagari_sign_candrabindu.xml
@@ -42,8 +42,9 @@
     </switch>
     <!-- U+25CC: "◌" DOTTED CIRCLE
          U+0901: "ँ" DEVANAGARI SIGN CANDRABINDU -->
-    <Key
-        latin:keyStyle="moreKeysDevanagariSignCandrabindu"
+    <key-style
+        latin:styleName="baseKeyDevanagariSignCandrabindu"
+        latin:parentStyle="moreKeysDevanagariSignCandrabindu"
         latin:keySpec="&#x25CC;&#x0901;|&#x0901;"
         latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
 </merge>
diff --git a/java/res/xml/key_devanagari_sign_nukta.xml b/java/res/xml/keystyle_devanagari_sign_nukta.xml
similarity index 80%
rename from java/res/xml/key_devanagari_sign_nukta.xml
rename to java/res/xml/keystyle_devanagari_sign_nukta.xml
index b56eb0a..41da555 100644
--- a/java/res/xml/key_devanagari_sign_nukta.xml
+++ b/java/res/xml/keystyle_devanagari_sign_nukta.xml
@@ -37,6 +37,15 @@
                 latin:styleName="moreKeysDevanagariSignNukta"
                 latin:moreKeys="&#x25CC;&#x097D;|&#x097D;,&#x25CC;&#x0970;|&#x0970;,&#x25CC;&#x093D;|&#x093D;" />
         </case>
+        <case
+            latin:keyboardLayoutSet="nepali_romanized"
+        >
+            <!-- U+25CC: "◌" DOTTED CIRCLE
+                 U+093C: "़" DEVANAGARI SIGN NUKTA -->
+             <key-style
+                latin:styleName="moreKeysDevanagariSignNukta"
+                latin:moreKeys="&#x25CC;&#x093C;|&#x093C;" />
+        </case>
         <default>
              <key-style
                 latin:styleName="moreKeysDevanagariSignNukta" />
@@ -44,8 +53,9 @@
     </switch>
     <!-- U+25CC: "◌" DOTTED CIRCLE
          U+093C: "़" DEVANAGARI SIGN NUKTA -->
-    <Key
-        latin:keyStyle="moreKeysDevanagariSignNukta"
+    <key-style
+        latin:styleName="baseKeyDevanagariSignNukta"
+        latin:parentStyle="moreKeysDevanagariSignNukta"
         latin:keySpec="&#x25CC;&#x093C;|&#x093C;"
         latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
 </merge>
diff --git a/java/res/xml/key_devanagari_vowel_sign_candra_o.xml b/java/res/xml/keystyle_devanagari_vowel_sign_candra_o.xml
similarity index 94%
rename from java/res/xml/key_devanagari_vowel_sign_candra_o.xml
rename to java/res/xml/keystyle_devanagari_vowel_sign_candra_o.xml
index 6d7d000..e2c2cec 100644
--- a/java/res/xml/key_devanagari_vowel_sign_candra_o.xml
+++ b/java/res/xml/keystyle_devanagari_vowel_sign_candra_o.xml
@@ -27,7 +27,8 @@
 >
     <!-- U+25CC: "◌" DOTTED CIRCLE
          U+0949: "ॉ" DEVANAGARI VOWEL SIGN CANDRA O -->
-    <Key
+    <key-style
+        latin:styleName="baseKeyDevanagariVowelSignCandraO"
         latin:keySpec="&#x25CC;&#x0949;|&#x0949;"
         latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
 </merge>
diff --git a/java/res/xml/key_devanagari_vowel_sign_vocalic_r.xml b/java/res/xml/keystyle_devanagari_vowel_sign_vocalic_r.xml
similarity index 93%
rename from java/res/xml/key_devanagari_vowel_sign_vocalic_r.xml
rename to java/res/xml/keystyle_devanagari_vowel_sign_vocalic_r.xml
index badea3e..2268f7d 100644
--- a/java/res/xml/key_devanagari_vowel_sign_vocalic_r.xml
+++ b/java/res/xml/keystyle_devanagari_vowel_sign_vocalic_r.xml
@@ -50,8 +50,9 @@
     </switch>
     <!-- U+25CC: "◌" DOTTED CIRCLE
          U+0943: "ृ" DEVANAGARI VOWEL SIGN VOCALIC R -->
-    <Key
-        latin:keyStyle="moreKeysDevanagariVowelSignVocalicR"
+    <key-style
+        latin:styleName="baseKeyDevanagariVowelSignVocalicR"
+        latin:parentStyle="moreKeysDevanagariVowelSignVocalicR"
         latin:keySpec="&#x25CC;&#x0943;|&#x0943;"
         latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
 </merge>
diff --git a/java/res/xml/rowkeys_hindi1.xml b/java/res/xml/rowkeys_hindi1.xml
index 5d696b3..cff9756 100644
--- a/java/res/xml/rowkeys_hindi1.xml
+++ b/java/res/xml/rowkeys_hindi1.xml
@@ -92,9 +92,9 @@
             <!-- Because the font rendering system prior to API version 16 can't automatically
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
-            <!-- U+0967: "१" DEVANAGARI DIGIT ONE -->
             <include
                 latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_au" />
+            <!-- U+0967: "१" DEVANAGARI DIGIT ONE -->
             <Key
                 latin:keyStyle="baseKeyDevanagariVowelSignAu"
                 latin:keyHintLabel="1"
@@ -102,9 +102,9 @@
             <!-- Because the font rendering system prior to API version 16 can't automatically
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
-            <!-- U+0968: "२" DEVANAGARI DIGIT TWO -->
             <include
                 latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_ai" />
+            <!-- U+0968: "२" DEVANAGARI DIGIT TWO -->
             <Key
                 latin:keyStyle="baseKeyDevanagariVowelSignAi"
                 latin:keyHintLabel="2"
@@ -112,9 +112,9 @@
             <!-- Because the font rendering system prior to API version 16 can't automatically
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
-            <!-- U+0969: "३" DEVANAGARI DIGIT THREE -->
             <include
                 latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_aa" />
+            <!-- U+0969: "३" DEVANAGARI DIGIT THREE -->
             <Key
                 latin:keyStyle="baseKeyDevanagariVowelSignAa"
                 latin:keyHintLabel="3"
@@ -122,9 +122,9 @@
             <!-- Because the font rendering system prior to API version 16 can't automatically
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
-            <!-- U+096A: "४" DEVANAGARI DIGIT FOUR -->
             <include
                 latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_ii" />
+            <!-- U+096A: "४" DEVANAGARI DIGIT FOUR -->
             <Key
                 latin:keyStyle="baseKeyDevanagariVowelSignIi"
                 latin:keyHintLabel="4"
@@ -132,9 +132,9 @@
             <!-- Because the font rendering system prior to API version 16 can't automatically
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
-            <!-- U+096B: "५" DEVANAGARI DIGIT FIVE -->
             <include
                 latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_uu" />
+            <!-- U+096B: "५" DEVANAGARI DIGIT FIVE -->
             <Key
                 latin:keyStyle="baseKeyDevanagariVowelSignUu"
                 latin:keyHintLabel="5"
diff --git a/java/res/xml/rowkeys_hindi3.xml b/java/res/xml/rowkeys_hindi3.xml
index a9be472..cf36fc5 100644
--- a/java/res/xml/rowkeys_hindi3.xml
+++ b/java/res/xml/rowkeys_hindi3.xml
@@ -33,7 +33,9 @@
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
             <include
-                latin:keyboardLayout="@xml/key_devanagari_sign_candrabindu" />
+                latin:keyboardLayout="@xml/keystyle_devanagari_sign_candrabindu" />
+            <Key
+                latin:keyStyle="baseKeyDevanagariSignCandrabindu" />
             <!-- U+0923: "ण" DEVANAGARI LETTER NNA -->
             <Key
                 latin:keySpec="&#x0923;"
@@ -59,7 +61,9 @@
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
             <include
-                latin:keyboardLayout="@xml/key_devanagari_vowel_sign_vocalic_r" />
+                latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_vocalic_r" />
+            <Key
+                latin:keyStyle="baseKeyDevanagariVowelSignVocalicR" />
             <!-- U+091E: "ञ" DEVANAGARI LETTER NYA -->
             <Key
                 latin:keySpec="&#x091E;"
@@ -70,9 +74,16 @@
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
             <include
-                latin:keyboardLayout="@xml/key_devanagari_vowel_sign_candra_o" />
+                latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_candra_o" />
+            <Key
+                latin:keyStyle="baseKeyDevanagariVowelSignCandraO" />
+            <!-- Because the font rendering system prior to API version 16 can't automatically
+                 render dotted circle for incomplete combining letter of some scripts, different
+                 set of Key definitions are needed based on the API version. -->
             <include
-                latin:keyboardLayout="@xml/key_devanagari_sign_anusvara" />
+                latin:keyboardLayout="@xml/keystyle_devanagari_sign_anusvara" />
+            <Key
+                latin:keyStyle="baseKeyDevanagariSignAnusvara" />
             <!-- U+092E: "म" DEVANAGARI LETTER MA
                  U+0950: "ॐ" DEVANAGARI OM -->
             <Key
@@ -112,7 +123,9 @@
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
             <include
-                latin:keyboardLayout="@xml/key_devanagari_sign_nukta" />
-         </default>
+                latin:keyboardLayout="@xml/keystyle_devanagari_sign_nukta" />
+            <Key
+                latin:keyStyle="baseKeyDevanagariSignNukta" />
+        </default>
     </switch>
 </merge>
diff --git a/java/res/xml/rowkeys_nepali_romanized1.xml b/java/res/xml/rowkeys_nepali_romanized1.xml
index 3c082c2..616b259 100644
--- a/java/res/xml/rowkeys_nepali_romanized1.xml
+++ b/java/res/xml/rowkeys_nepali_romanized1.xml
@@ -44,7 +44,9 @@
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
             <include
-                latin:keyboardLayout="@xml/key_devanagari_vowel_sign_vocalic_r" />
+                latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_vocalic_r" />
+            <Key
+                latin:keyStyle="baseKeyDevanagariVowelSignVocalicR" />
             <!-- U+0925: "थ" DEVANAGARI LETTER THA -->
             <Key
                 latin:keySpec="&#x0925;"
@@ -81,21 +83,25 @@
                 latin:keyLabelFlags="fontNormal" />
         </case>
         <default>
+            <!-- Because the font rendering system prior to API version 16 can't automatically
+                 render dotted circle for incomplete combining letter of some scripts, different
+                 set of Key definitions are needed based on the API version. -->
+            <include
+                latin:keyboardLayout="@xml/keystyle_devanagari_sign_nukta" />
             <!-- U+091F: "ट" DEVANAGARI LETTER TTA
-                 U+0967: "१" DEVANAGARI DIGIT ONE
-                 U+093C: "़" DEVANAGARI SIGN NUKTA -->
+                 U+0967: "१" DEVANAGARI DIGIT ONE -->
             <Key
                 latin:keySpec="&#x091F;"
                 latin:keyHintLabel="1"
                 latin:additionalMoreKeys="&#x0967;,1"
-                latin:moreKeys="&#x093C;"
+                latin:keyStyle="moreKeysDevanagariSignNukta"
                 latin:keyLabelFlags="fontNormal" />
             <!-- Because the font rendering system prior to API version 16 can't automatically
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
-            <!-- U+0968: "२" DEVANAGARI DIGIT TWO -->
             <include
                 latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_au" />
+            <!-- U+0968: "२" DEVANAGARI DIGIT TWO -->
             <Key
                 latin:keyStyle="baseKeyDevanagariVowelSignAu"
                 latin:keyHintLabel="2"
@@ -103,9 +109,9 @@
             <!-- Because the font rendering system prior to API version 16 can't automatically
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
-            <!-- U+0969: "३" DEVANAGARI DIGIT THREE -->
             <include
                 latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_e" />
+            <!-- U+0969: "३" DEVANAGARI DIGIT THREE -->
             <Key
                 latin:keyStyle="baseKeyDevanagariVowelSignE"
                 latin:keyHintLabel="3"
@@ -134,9 +140,9 @@
             <!-- Because the font rendering system prior to API version 16 can't automatically
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
-            <!-- U+096D: "७" DEVANAGARI DIGIT SEVEN -->
             <include
                 latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_u" />
+            <!-- U+096D: "७" DEVANAGARI DIGIT SEVEN -->
             <Key
                 latin:keyStyle="baseKeyDevanagariVowelSignU"
                 latin:keyHintLabel="7"
@@ -144,9 +150,9 @@
             <!-- Because the font rendering system prior to API version 16 can't automatically
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
-            <!-- U+096E: "८" DEVANAGARI DIGIT EIGHT -->
             <include
                 latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_i" />
+            <!-- U+096E: "८" DEVANAGARI DIGIT EIGHT -->
             <Key
                 latin:keyStyle="baseKeyDevanagariVowelSignI"
                 latin:keyHintLabel="8"
@@ -154,9 +160,9 @@
             <!-- Because the font rendering system prior to API version 16 can't automatically
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
-            <!-- U+096F: "९" DEVANAGARI DIGIT NINE -->
             <include
                 latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_o" />
+            <!-- U+096F: "९" DEVANAGARI DIGIT NINE -->
             <Key
                 latin:keyStyle="baseKeyDevanagariVowelSignO"
                 latin:keyHintLabel="9"
diff --git a/java/res/xml/rowkeys_nepali_romanized3.xml b/java/res/xml/rowkeys_nepali_romanized3.xml
index 232d96e..cc2ca8c 100644
--- a/java/res/xml/rowkeys_nepali_romanized3.xml
+++ b/java/res/xml/rowkeys_nepali_romanized3.xml
@@ -41,7 +41,9 @@
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
             <include
-                latin:keyboardLayout="@xml/key_devanagari_sign_candrabindu" />
+                latin:keyboardLayout="@xml/keystyle_devanagari_sign_candrabindu" />
+            <Key
+                latin:keyStyle="baseKeyDevanagariSignCandrabindu" />
             <!-- U+092D: "भ" DEVANAGARI LETTER BHA -->
             <Key
                 latin:keySpec="&#x092D;"
@@ -54,7 +56,9 @@
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
             <include
-                latin:keyboardLayout="@xml/key_devanagari_sign_anusvara" />
+                latin:keyboardLayout="@xml/keystyle_devanagari_sign_anusvara" />
+            <Key
+                latin:keyStyle="baseKeyDevanagariSignAnusvara" />
             <!-- U+0919: "ङ" DEVANAGARI LETTER NGA -->
             <Key
                 latin:keySpec="&#x0919;"
diff --git a/java/res/xml/rowkeys_nepali_traditional1.xml b/java/res/xml/rowkeys_nepali_traditional1.xml
index 98a7be2..cf4bda9 100644
--- a/java/res/xml/rowkeys_nepali_traditional1.xml
+++ b/java/res/xml/rowkeys_nepali_traditional1.xml
@@ -91,7 +91,9 @@
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
             <include
-                latin:keyboardLayout="@xml/key_devanagari_vowel_sign_vocalic_r" />
+                latin:keyboardLayout="@xml/keystyle_devanagari_vowel_sign_vocalic_r" />
+            <Key
+                latin:keyStyle="baseKeyDevanagariVowelSignVocalicR" />
         </case>
         <default>
             <!-- U+091F: "ट" DEVANAGARI LETTER TTA
diff --git a/java/res/xml/rowkeys_nepali_traditional2.xml b/java/res/xml/rowkeys_nepali_traditional2.xml
index 5ea14ea..58a463e 100644
--- a/java/res/xml/rowkeys_nepali_traditional2.xml
+++ b/java/res/xml/rowkeys_nepali_traditional2.xml
@@ -41,7 +41,9 @@
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
             <include
-                latin:keyboardLayout="@xml/key_devanagari_sign_candrabindu" />
+                latin:keyboardLayout="@xml/keystyle_devanagari_sign_candrabindu" />
+            <Key
+                latin:keyStyle="baseKeyDevanagariSignCandrabindu" />
             <!-- U+0926/U+094D/U+0926: "द्द" DEVANAGARI LETTER DA/DEVANAGARI SIGN VIRAMA/DEVANAGARI LETTER DA -->
             <Key
                 latin:keySpec="&#x0926;&#x094D;&#x0926;"
diff --git a/java/res/xml/rowkeys_nepali_traditional3_right3.xml b/java/res/xml/rowkeys_nepali_traditional3_right3.xml
index d6a74d4..3e6187d 100644
--- a/java/res/xml/rowkeys_nepali_traditional3_right3.xml
+++ b/java/res/xml/rowkeys_nepali_traditional3_right3.xml
@@ -29,7 +29,9 @@
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
             <include
-                latin:keyboardLayout="@xml/key_devanagari_sign_anusvara" />
+                latin:keyboardLayout="@xml/keystyle_devanagari_sign_anusvara" />
+            <Key
+                latin:keyStyle="baseKeyDevanagariSignAnusvara" />
             <!-- U+0919: "ङ" DEVANAGARI LETTER NGA -->
             <Key
                 latin:keySpec="&#x0919;"
@@ -54,8 +56,8 @@
             <Key
                 latin:keySpec="&#x0964;"
                 latin:keyLabelFlags="fontNormal" />
-             <!-- U+0930: "र" DEVANAGARI LETTER RA
-                  U+0930/U+0941: "रु" DEVANAGARI LETTER RA/DEVANAGARI VOWEL SIGN U -->
+            <!-- U+0930: "र" DEVANAGARI LETTER RA
+                 U+0930/U+0941: "रु" DEVANAGARI LETTER RA/DEVANAGARI VOWEL SIGN U -->
             <Key
                 latin:keySpec="&#x0930;"
                 latin:moreKeys="&#x0930;&#x0941;"
diff --git a/java/res/xml/rowkeys_nepali_traditional3_right5.xml b/java/res/xml/rowkeys_nepali_traditional3_right5.xml
index a34f400..89d5aa4 100644
--- a/java/res/xml/rowkeys_nepali_traditional3_right5.xml
+++ b/java/res/xml/rowkeys_nepali_traditional3_right5.xml
@@ -29,7 +29,9 @@
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
             <include
-                latin:keyboardLayout="@xml/key_devanagari_sign_anusvara" />
+                latin:keyboardLayout="@xml/keystyle_devanagari_sign_anusvara" />
+            <Key
+                latin:keyStyle="baseKeyDevanagariSignAnusvara" />
             <!-- U+0919: "ङ" DEVANAGARI LETTER NGA -->
             <Key
                 latin:keySpec="&#x0919;"
@@ -53,9 +55,9 @@
             <!-- Because the font rendering system prior to API version 16 can't automatically
                  render dotted circle for incomplete combining letter of some scripts, different
                  set of Key definitions are needed based on the API version. -->
-            <!-- U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA -->
             <include
                 latin:keyboardLayout="@xml/keystyle_devanagari_sign_visarga" />
+            <!-- U+093D: "ऽ" DEVANAGARI SIGN AVAGRAHA -->
             <Key
                 latin:keyStyle="baseKeyDevanagariSignVisarga"
                 latin:moreKeys="&#x093D;" />
diff --git a/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java b/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java
index 649cd82..7048dbb 100644
--- a/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java
+++ b/tests/src/com/android/inputmethod/keyboard/layout/NepaliRomanized.java
@@ -72,8 +72,7 @@
                     // U+091F: "ट" DEVANAGARI LETTER TTA
                     // U+0967: "१" DEVANAGARI DIGIT ONE
                     // U+093C: "़" DEVANAGARI SIGN NUKTA
-                    // TODO: Nukta should be moreKey(SIGN_NUKTA, "\u093C").
-                    key("\u091F", joinMoreKeys("\u0967", "1", "\u093C")),
+                    key("\u091F", joinMoreKeys("\u0967", "1", key(SIGN_NUKTA, "\u093C"))),
                     // U+094C: "ौ" DEVANAGARI VOWEL SIGN AU
                     // U+0968: "२" DEVANAGARI DIGIT TWO
                     key(VOWEL_SIGN_AU, "\u094C", joinMoreKeys("\u0968", "2")),