Add Sinhala keyboard layout

Bug: 6911143
Change-Id: I9ff87ece3e68381c0e9855106e7320c227f09965
diff --git a/java/res/xml-sw600dp/rows_sinhala.xml b/java/res/xml-sw600dp/rows_sinhala.xml
new file mode 100644
index 0000000..23c3f3a
--- /dev/null
+++ b/java/res/xml-sw600dp/rows_sinhala.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, 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/key_styles_common" />
+    <Row
+        latin:keyWidth="8.182%p"
+    >
+        <include
+            latin:keyboardLayout="@xml/rowkeys_sinhala1" />
+        <Key
+            latin:keyStyle="deleteKeyStyle"
+            latin:keyWidth="fillRight" />
+    </Row>
+    <Row
+        latin:keyWidth="8.182%p"
+    >
+        <include
+            latin:keyboardLayout="@xml/rowkeys_sinhala2" />
+        <Key
+            latin:keyStyle="enterKeyStyle"
+            latin:keyWidth="fillRight" />
+    </Row>
+    <Row
+        latin:keyWidth="8.182%p"
+    >
+        <Key
+            latin:keyStyle="shiftKeyStyle"
+            latin:keyWidth="10.0%p" />
+        <include
+            latin:keyboardLayout="@xml/rowkeys_sinhala3" />
+        <include
+            latin:keyboardLayout="@xml/keys_exclamation_question" />
+    </Row>
+    <include
+        latin:keyboardLayout="@xml/row_qwerty4" />
+</merge>
diff --git a/java/res/xml/kbd_sinhala.xml b/java/res/xml/kbd_sinhala.xml
new file mode 100644
index 0000000..6c0f4bc
--- /dev/null
+++ b/java/res/xml/kbd_sinhala.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, 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.
+*/
+-->
+
+<Keyboard
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
+>
+    <include
+        latin:keyboardLayout="@xml/rows_sinhala" />
+</Keyboard>
diff --git a/java/res/xml/keyboard_layout_set_sinhala.xml b/java/res/xml/keyboard_layout_set_sinhala.xml
new file mode 100644
index 0000000..8e6e619
--- /dev/null
+++ b/java/res/xml/keyboard_layout_set_sinhala.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, 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.
+*/
+-->
+
+<KeyboardLayoutSet
+    xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin">
+    <Element
+        latin:elementName="alphabet"
+        latin:elementKeyboard="@xml/kbd_sinhala"
+        latin:enableProximityCharsCorrection="true" />
+    <Element
+        latin:elementName="alphabetAutomaticShifted"
+        latin:elementKeyboard="@xml/kbd_sinhala"
+        latin:enableProximityCharsCorrection="true" />
+    <!-- On these shifted alphabet layouts the proximity characters correction should be disabled
+         because the letters on these layouts aren't the ones in different case of the above
+         unshifted layouts. -->
+    <Element
+        latin:elementName="alphabetManualShifted"
+        latin:elementKeyboard="@xml/kbd_sinhala" />
+    <Element
+        latin:elementName="alphabetShiftLocked"
+        latin:elementKeyboard="@xml/kbd_sinhala" />
+    <Element
+        latin:elementName="alphabetShiftLockShifted"
+        latin:elementKeyboard="@xml/kbd_sinhala" />
+    <Element
+        latin:elementName="symbols"
+        latin:elementKeyboard="@xml/kbd_symbols" />
+    <Element
+        latin:elementName="symbolsShifted"
+        latin:elementKeyboard="@xml/kbd_symbols_shift" />
+    <Element
+        latin:elementName="phone"
+        latin:elementKeyboard="@xml/kbd_phone" />
+    <Element
+        latin:elementName="phoneSymbols"
+        latin:elementKeyboard="@xml/kbd_phone_symbols" />
+    <Element
+        latin:elementName="number"
+        latin:elementKeyboard="@xml/kbd_number" />
+</KeyboardLayoutSet>
diff --git a/java/res/xml/method.xml b/java/res/xml/method.xml
index 777a13d..abd8d19 100644
--- a/java/res/xml/method.xml
+++ b/java/res/xml/method.xml
@@ -81,6 +81,7 @@
     pt_PT: Portuguese (Portugal)/qwerty
     ro: Romanian/qwerty
     ru: Russian/east_slavic
+    si_LK: Sinhala (Sri Lanka)/sinhala # This is a preliminary keyboard layout.
     sk: Slovak/qwerty
     sl: Slovenian/qwerty
     sr: Serbian/south_slavic
@@ -594,6 +595,14 @@
     />
     <subtype android:icon="@drawable/ic_ime_switcher_dark"
             android:label="@string/subtype_generic"
+            android:subtypeId="0x5c6b3bde"
+            android:imeSubtypeLocale="si_LK"
+            android:imeSubtypeMode="keyboard"
+            android:imeSubtypeExtraValue="KeyboardLayoutSet=sinhala,EmojiCapable"
+            android:isAsciiCapable="false"
+    />
+    <subtype android:icon="@drawable/ic_ime_switcher_dark"
+            android:label="@string/subtype_generic"
             android:subtypeId="0x8e94d413"
             android:imeSubtypeLocale="sk"
             android:imeSubtypeMode="keyboard"
diff --git a/java/res/xml/rowkeys_sinhala1.xml b/java/res/xml/rowkeys_sinhala1.xml
new file mode 100644
index 0000000..f258ae2
--- /dev/null
+++ b/java/res/xml/rowkeys_sinhala1.xml
@@ -0,0 +1,124 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, 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"
+>
+    <switch>
+        <case
+            latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+        >
+            <!-- U+0DD6: "ූ" SINHALA VOWEL SIGN DIGA PAA-PILLA -->
+            <Key
+                latin:keySpec="&#x0DD6;"
+                latin:additionalMoreKeys="1" />
+            <!-- U+0D8B: "උ" SINHALA LETTER UYANNA -->
+            <Key
+                latin:keySpec="&#x0D8B;"
+                latin:additionalMoreKeys="2" />
+            <!-- U+0DD1: "ෑ" SINHALA VOWEL SIGN DIGA AEDA-PILLA -->
+            <Key
+                latin:keySpec="&#x0DD1;"
+                latin:additionalMoreKeys="3" />
+            <!-- U+0D8D: "ඍ" SINHALA LETTER IRUYANNA -->
+            <Key
+                latin:keySpec="&#x0D8D;"
+                latin:additionalMoreKeys="4" />
+            <!-- U+0D94: "ඔ" SINHALA LETTER OYANNA -->
+            <Key
+                latin:keySpec="&#x0D94;"
+                latin:additionalMoreKeys="5" />
+            <!-- U+0DC1: "ශ" SINHALA LETTER TAALUJA SAYANNA -->
+            <Key
+                latin:keySpec="&#x0DC1;"
+                latin:additionalMoreKeys="6" />
+            <!-- U+0DB9: "ඹ" SINHALA LETTER AMBA BAYANNA -->
+            <Key
+                latin:keySpec="&#x0DB9;"
+                latin:additionalMoreKeys="7" />
+            <!-- U+0DC2: "ෂ" SINHALA LETTER MUURDHAJA SAYANNA -->
+            <Key
+                latin:keySpec="&#x0DC2;"
+                latin:additionalMoreKeys="8" />
+            <!-- U+0DB0: "ධ" SINHALA LETTER MAHAAPRAANA DAYANNA -->
+            <Key
+                latin:keySpec="&#x0DB0;"
+                latin:additionalMoreKeys="9" />
+            <!-- U+0DA1: "ඡ" SINHALA LETTER MAHAAPRAANA CAYANNA -->
+            <Key
+                latin:keySpec="&#x0DA1;"
+                latin:additionalMoreKeys="0" />
+            <!-- U+0DA5: "ඥ" SINHALA LETTER TAALUJA SANYOOGA NAAKSIKYAYA
+                 U+0DF4: "෴" SINHALA PUNCTUATION KUNDDALIYA  -->
+            <Key
+                latin:keySpec="&#x0DA5;"
+                latin:moreKeys="&#x0DF4;" />
+        </case>
+        <default>
+            <!-- U+0DD4: "ු" SINHALA VOWEL SIGN KETTI PAA-PILLA -->
+            <Key
+                latin:keySpec="&#x0DD4;"
+                latin:additionalMoreKeys="1" />
+            <!-- U+0D85: "අ" SINHALA LETTER AYANNA -->
+            <Key
+                latin:keySpec="&#x0D85;"
+                latin:additionalMoreKeys="2" />
+            <!-- U+0DD0: "ැ" SINHALA VOWEL SIGN KETTI AEDA-PILLA -->
+            <Key
+                latin:keySpec="&#x0DD0;"
+                latin:additionalMoreKeys="3" />
+            <!-- U+0DBB: "ර" SINHALA LETTER RAYANNA -->
+            <Key
+                latin:keySpec="&#x0DBB;"
+                latin:additionalMoreKeys="4" />
+            <!-- U+0D91: "එ" SINHALA LETTER EYANNA -->
+            <Key
+                latin:keySpec="&#x0D91;"
+                latin:additionalMoreKeys="5" />
+            <!-- U+0DC4: "හ" SINHALA LETTER HAYANNA -->
+            <Key
+                latin:keySpec="&#x0DC4;"
+                latin:additionalMoreKeys="6" />
+            <!-- U+0DB8: "ම" SINHALA LETTER MAYANNA -->
+            <Key
+                latin:keySpec="&#x0DB8;"
+                latin:additionalMoreKeys="7" />
+            <!-- U+0DC3: "ස" SINHALA LETTER DANTAJA SAYANNA -->
+            <Key
+                latin:keySpec="&#x0DC3;"
+                latin:additionalMoreKeys="8" />
+            <!-- U+0DAF: "ද" SINHALA LETTER ALPAPRAANA DAYANNA
+                 U+0DB3: "ඳ" SINHALA LETTER SANYAKA DAYANNA -->
+            <Key
+                latin:keySpec="&#x0DAF;"
+                latin:moreKeys="&#x0DB3;"
+                latin:additionalMoreKeys="9" />
+            <!-- U+0DA0: "ච" SINHALA LETTER ALPAPRAANA CAYANNA -->
+            <Key
+                latin:keySpec="&#x0DA0;"
+                latin:additionalMoreKeys="0" />
+            <!-- U+0DA4: "ඤ" SINHALA LETTER TAALUJA NAASIKYAYA
+                 U+0DF4: "෴" SINHALA PUNCTUATION KUNDDALIYA -->
+            <Key
+                latin:keySpec="&#x0DA4;"
+                latin:moreKeys="&#x0DF4;" />
+         </default>
+    </switch>
+</merge>
diff --git a/java/res/xml/rowkeys_sinhala2.xml b/java/res/xml/rowkeys_sinhala2.xml
new file mode 100644
index 0000000..91c1928
--- /dev/null
+++ b/java/res/xml/rowkeys_sinhala2.xml
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, 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"
+>
+    <switch>
+        <case
+            latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+        >
+            <!-- U+0DDF: "ෟ" SINHALA VOWEL SIGN GAYANUKITTA -->
+            <Key
+                latin:keySpec="&#x0DDF;" />
+            <!-- U+0DD3: "ී" SINHALA VOWEL SIGN DIGA IS-PILLA -->
+            <Key
+                latin:keySpec="&#x0DD3;" />
+            <!-- U+0DD8: "ෘ" SINHALA VOWEL SIGN GAETTA-PILLA -->
+            <Key
+                latin:keySpec="&#x0DD8;" />
+            <!-- U+0DC6: "ෆ" SINHALA LETTER FAYANNA -->
+            <Key
+                latin:keySpec="&#x0DC6;" />
+            <!-- U+0DA8: "ඨ" SINHALA LETTER MAHAAPRAANA TTAYANNA -->
+            <Key
+                latin:keySpec="&#x0DA8;" />
+            <!-- U+0DCA/U+200D/U+0DBA: "්‍ය" SINHALA SIGN AL-LAKUNA/ZERO WIDTH JOINER/SINHALA LETTER YAYANNA -->
+            <Key
+                latin:keySpec="&#x0DCA;&#x200D;&#x0DBA;" />
+            <!-- U+0DC5/U+0DD4: "ළු" SINHALA LETTER MUURDHAJA LAYANNA/SINHALA VOWEL SIGN KETTI PAA-PILLA -->
+            <Key
+                latin:keySpec="&#x0DC5;&#x0DD4;" />
+            <!-- U+0DAB: "ණ" SINHALA LETTER MUURDHAJA NAYANNA -->
+            <Key
+                latin:keySpec="&#x0DAB;" />
+            <!-- U+0D9B: "ඛ" SINHALA LETTER MAHAAPRAANA KAYANNA -->
+            <Key
+                latin:keySpec="&#x0D9B;" />
+            <!-- U+0DAE: "ථ" SINHALA LETTER MAHAAPRAANA TAYANNA -->
+            <Key
+                latin:keySpec="&#x0DAE;" />
+            <!-- U+0DCA/U+200D/U+0DBB: "්‍ර" SINHALA SIGN AL-LAKUNA/ZERO WIDTH JOINER/SINHALA LETTER RAYANNA -->
+            <Key
+                latin:keySpec="&#x0DCA;&#x200D;&#x0DBB;" />
+        </case>
+        <default>
+            <!-- U+0DCA: "්" SINHALA SIGN AL-LAKUNA -->
+            <Key
+                latin:keySpec="&#x0DCA;" />
+            <!-- U+0DD2: "ි" SINHALA VOWEL SIGN KETTI IS-PILLA -->
+            <Key
+                latin:keySpec="&#x0DD2;" />
+            <!-- U+0DCF: "ා" SINHALA VOWEL SIGN AELA-PILLA -->
+            <Key
+                latin:keySpec="&#x0DCF;" />
+            <!-- U+0DD9: "ෙ" SINHALA VOWEL SIGN KOMBUVA -->
+            <Key
+                latin:keySpec="&#x0DD9;" />
+            <!-- U+0DA7: "ට" SINHALA LETTER ALPAPRAANA TTAYANNA -->
+            <Key
+                latin:keySpec="&#x0DA7;" />
+            <!-- U+0DBA: "ය" SINHALA LETTER YAYANNA -->
+            <Key
+                latin:keySpec="&#x0DBA;" />
+            <!-- U+0DC0: "ව" SINHALA LETTER VAYANNA -->
+            <Key
+                latin:keySpec="&#x0DC0;" />
+            <!-- U+0DB1: "න" SINHALA LETTER DANTAJA NAYANNA -->
+            <Key
+                latin:keySpec="&#x0DB1;" />
+            <!-- U+0D9A: "ක" SINHALA LETTER ALPAPRAANA KAYANNA -->
+            <Key
+                latin:keySpec="&#x0D9A;" />
+            <!-- U+0DAD: "ත" SINHALA LETTER ALPAPRAANA TAYANNA -->
+            <Key
+                latin:keySpec="&#x0DAD;" />
+            <!-- U+0D8F: "ඏ" SINHALA LETTER ILUYANNA -->
+            <Key
+                latin:keySpec="&#x0D8F;" />
+         </default>
+    </switch>
+</merge>
diff --git a/java/res/xml/rowkeys_sinhala3.xml b/java/res/xml/rowkeys_sinhala3.xml
new file mode 100644
index 0000000..64ba9f3
--- /dev/null
+++ b/java/res/xml/rowkeys_sinhala3.xml
@@ -0,0 +1,94 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, 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"
+>
+    <switch>
+        <case
+            latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+        >
+            <!-- U+0D9E: "ඞ" SINHALA LETTER KANTAJA NAASIKYAYA -->
+            <Key
+                latin:keySpec="&#x0D9E;" />
+            <!-- U+0DA3: "ඣ" SINHALA LETTER MAHAAPRAANA JAYANNA -->
+            <Key
+                latin:keySpec="&#x0DA3;" />
+            <!-- U+0DAA: "ඪ" SINHALA LETTER MAHAAPRAANA DDAYANNA -->
+            <Key
+                latin:keySpec="&#x0DAA;" />
+            <!-- U+0D8A: "ඊ" SINHALA LETTER IIYANNA -->
+            <Key
+                latin:keySpec="&#x0D8A;" />
+            <!-- U+0DB7: "භ" SINHALA LETTER MAHAAPRAANA BAYANNA -->
+            <Key
+                latin:keySpec="&#x0DB7;" />
+            <!-- U+0DB5: "ඵ" SINHALA LETTER MAHAAPRAANA PAYANNA -->
+            <Key
+                latin:keySpec="&#x0DB5;" />
+            <!-- U+0DC5: "ළ" SINHALA LETTER MUURDHAJA LAYANNA -->
+            <Key
+                latin:keySpec="&#x0DC5;" />
+            <!-- U+0D9D: "ඝ" SINHALA LETTER MAHAAPRAANA GAYANNA -->
+            <Key
+                latin:keySpec="&#x0D9D;" />
+            <!-- U+0DBB/U+0DCA/U+200D: "ර්‍" SINHALA LETTER RAYANNA/SINHALA SIGN AL-LAKUNA/ZERO WIDTH JOINER -->
+            <Key
+                latin:keySpec="&#x0DBB;&#x0DCA;&#x200D;" />
+        </case>
+        <default>
+            <!-- U+0D82: "ං" SINHALA SIGN ANUSVARAYA
+                 U+0D83: "ඃ" SINHALA SIGN VISARGAYA -->
+            <Key
+                latin:keySpec="&#x0D82;"
+                latin:moreKeys="&#x0D83;" />
+            <!-- U+0DA2: "ජ" SINHALA LETTER ALPAPRAANA JAYANNA
+                 U+0DA6: "ඦ" SINHALA LETTER SANYAKA JAYANNA -->
+            <Key
+                latin:keySpec="&#x0DA2;"
+                latin:moreKeys="&#x0DA6;" />
+            <!-- U+0DA9: "ඩ" SINHALA LETTER ALPAPRAANA DDAYANNA
+                 U+0DAC: "ඬ" SINHALA LETTER SANYAKA DDAYANNA -->
+            <Key
+                latin:keySpec="&#x0DA9;"
+                latin:moreKeys="&#x0DAC;" />
+            <!-- U+0D89: "ඉ" SINHALA LETTER IYANNA -->
+            <Key
+                latin:keySpec="&#x0D89;" />
+            <!-- U+0DB6: "බ" SINHALA LETTER ALPAPRAANA BAYANNA -->
+            <Key
+                latin:keySpec="&#x0DB6;" />
+            <!-- U+0DB4: "ප" SINHALA LETTER ALPAPRAANA PAYANNA -->
+            <Key
+                latin:keySpec="&#x0DB4;" />
+            <!-- U+0DBD: "ල" SINHALA LETTER DANTAJA LAYANNA -->
+            <Key
+                latin:keySpec="&#x0DBD;" />
+            <!-- U+0D9C: "ග" SINHALA LETTER ALPAPRAANA GAYANNA
+                 U+0D9F: "ඟ" SINHALA LETTER SANYAKA GAYANNA -->
+            <Key
+                latin:keySpec="&#x0D9C;"
+                latin:moreKeys="&#x0D9F;" />
+            <!-- U+0DF3: "ෳ" SINHALA VOWEL SIGN DIGA GAYANUKITTA -->
+            <Key
+                latin:keySpec="&#x0DF3;" />
+         </default>
+    </switch>
+</merge>
diff --git a/java/res/xml/rows_sinhala.xml b/java/res/xml/rows_sinhala.xml
new file mode 100644
index 0000000..b47b373
--- /dev/null
+++ b/java/res/xml/rows_sinhala.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2014, 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/key_styles_common" />
+    <Row
+        latin:keyWidth="9.091%p"
+    >
+        <include
+            latin:keyboardLayout="@xml/rowkeys_sinhala1" />
+    </Row>
+    <Row
+            latin:keyWidth="9.091%p"
+    >
+        <include
+            latin:keyboardLayout="@xml/rowkeys_sinhala2" />
+    </Row>
+    <Row
+        latin:keyWidth="8.711%p"
+    >
+        <Key
+            latin:keyStyle="shiftKeyStyle"
+            latin:keyWidth="10.8%p" />
+        <include
+            latin:keyboardLayout="@xml/rowkeys_sinhala3" />
+        <Key
+            latin:keyStyle="deleteKeyStyle"
+            latin:keyWidth="fillRight" />
+    </Row>
+    <include
+        latin:keyboardLayout="@xml/row_qwerty4" />
+</merge>