aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/res/values-km/donottranslate.xml23
-rw-r--r--java/res/xml-sw600dp/rows_khmer.xml72
-rw-r--r--java/res/xml-sw600dp/rows_lao.xml13
-rw-r--r--java/res/xml-sw600dp/rows_thai.xml13
-rw-r--r--java/res/xml/kbd_khmer.xml31
-rw-r--r--java/res/xml/keyboard_layout_set_khmer.xml58
-rw-r--r--java/res/xml/method.xml9
-rw-r--r--java/res/xml/rowkeys_khmer1.xml191
-rw-r--r--java/res/xml/rowkeys_khmer2.xml144
-rw-r--r--java/res/xml/rowkeys_khmer3.xml138
-rw-r--r--java/res/xml/rowkeys_khmer4.xml113
-rw-r--r--java/res/xml/rows_khmer.xml56
-rw-r--r--java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java20
13 files changed, 877 insertions, 4 deletions
diff --git a/java/res/values-km/donottranslate.xml b/java/res/values-km/donottranslate.xml
new file mode 100644
index 000000000..a9893feec
--- /dev/null
+++ b/java/res/values-km/donottranslate.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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">
+ <!-- Whether this language uses spaces between words -->
+ <bool name="current_language_has_spaces">false</bool>
+</resources>
diff --git a/java/res/xml-sw600dp/rows_khmer.xml b/java/res/xml-sw600dp/rows_khmer.xml
new file mode 100644
index 000000000..2824a5c2f
--- /dev/null
+++ b/java/res/xml-sw600dp/rows_khmer.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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="7.5%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_khmer1" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <Row
+ latin:keyWidth="7.5%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_khmer2" />
+ </Row>
+ <Row
+ latin:keyWidth="7.5%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_khmer3" />
+ <Key
+ latin:keyStyle="enterKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <Row
+ latin:keyWidth="7.5%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="10.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_khmer4" />
+ <switch>
+ <case
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ >
+ <Spacer />
+ </case>
+ <default>
+ <include
+ latin:keyboardLayout="@xml/keys_exclamation_question" />
+ </default>
+ </switch>
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_qwerty4" />
+</merge>
diff --git a/java/res/xml-sw600dp/rows_lao.xml b/java/res/xml-sw600dp/rows_lao.xml
index cfe8db98e..446d9bd5a 100644
--- a/java/res/xml-sw600dp/rows_lao.xml
+++ b/java/res/xml-sw600dp/rows_lao.xml
@@ -55,8 +55,17 @@
latin:keyWidth="10.0%p" />
<include
latin:keyboardLayout="@xml/rowkeys_lao4" />
- <include
- latin:keyboardLayout="@xml/keys_exclamation_question" />
+ <switch>
+ <case
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ >
+ <Spacer />
+ </case>
+ <default>
+ <include
+ latin:keyboardLayout="@xml/keys_exclamation_question" />
+ </default>
+ </switch>
</Row>
<include
latin:keyboardLayout="@xml/row_qwerty4" />
diff --git a/java/res/xml-sw600dp/rows_thai.xml b/java/res/xml-sw600dp/rows_thai.xml
index cfcaf6815..7738c7f04 100644
--- a/java/res/xml-sw600dp/rows_thai.xml
+++ b/java/res/xml-sw600dp/rows_thai.xml
@@ -59,8 +59,17 @@
latin:keyWidth="10.0%p" />
<include
latin:keyboardLayout="@xml/rowkeys_thai4" />
- <include
- latin:keyboardLayout="@xml/keys_exclamation_question" />
+ <switch>
+ <case
+ latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLocked|alphabetShiftLockShifted"
+ >
+ <Spacer />
+ </case>
+ <default>
+ <include
+ latin:keyboardLayout="@xml/keys_exclamation_question" />
+ </default>
+ </switch>
</Row>
<include
latin:keyboardLayout="@xml/row_qwerty4" />
diff --git a/java/res/xml/kbd_khmer.xml b/java/res/xml/kbd_khmer.xml
new file mode 100644
index 000000000..7a2337a48
--- /dev/null
+++ b/java/res/xml/kbd_khmer.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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"
+ latin:rowHeight="20%p"
+ latin:verticalGap="@fraction/key_bottom_gap_5row"
+ latin:keyLetterSize="@fraction/key_letter_ratio_5row"
+ latin:keyShiftedLetterHintRatio="@fraction/key_uppercase_letter_ratio_5row"
+ latin:touchPositionCorrectionData="@array/touch_position_correction_data_default"
+>
+ <include
+ latin:keyboardLayout="@xml/rows_khmer" />
+</Keyboard>
diff --git a/java/res/xml/keyboard_layout_set_khmer.xml b/java/res/xml/keyboard_layout_set_khmer.xml
new file mode 100644
index 000000000..181f98b3d
--- /dev/null
+++ b/java/res/xml/keyboard_layout_set_khmer.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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_khmer"
+ latin:enableProximityCharsCorrection="true" />
+ <Element
+ latin:elementName="alphabetAutomaticShifted"
+ latin:elementKeyboard="@xml/kbd_khmer"
+ 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_khmer" />
+ <Element
+ latin:elementName="alphabetShiftLocked"
+ latin:elementKeyboard="@xml/kbd_khmer" />
+ <Element
+ latin:elementName="alphabetShiftLockShifted"
+ latin:elementKeyboard="@xml/kbd_khmer" />
+ <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 d92dc29da..945fbd537 100644
--- a/java/res/xml/method.xml
+++ b/java/res/xml/method.xml
@@ -54,6 +54,7 @@
iw: Hebrew/hebrew # "he" is official language code of Hebrew.
ka: Georgian/georgian
(kk: Kazakh/east_slavic) # disabled temporarily. waiting for strnig resources.
+ km: Khmer/khmer
ky: Kyrgyz/east_slavic
lo: Lao/lao
lt: Lithuanian/qwerty
@@ -326,6 +327,14 @@
-->
<subtype android:icon="@drawable/ic_subtype_keyboard"
android:label="@string/subtype_generic"
+ android:subtypeId="0x1365683a"
+ android:imeSubtypeLocale="km"
+ android:imeSubtypeMode="keyboard"
+ android:imeSubtypeExtraValue="KeyboardLayoutSet=khmer,EmojiCapable"
+ />
+ <!-- android:subtypeId="Need this for km" -->
+ <subtype android:icon="@drawable/ic_subtype_keyboard"
+ android:label="@string/subtype_generic"
android:subtypeId="0x2e391c04"
android:imeSubtypeLocale="ky"
android:imeSubtypeMode="keyboard"
diff --git a/java/res/xml/rowkeys_khmer1.xml b/java/res/xml/rowkeys_khmer1.xml
new file mode 100644
index 000000000..174ac757b
--- /dev/null
+++ b/java/res/xml/rowkeys_khmer1.xml
@@ -0,0 +1,191 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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+200D: ZERO WIDTH JOINER -->
+ <Key
+ latin:keyLabel="!"
+ latin:moreKeys="!icon/zwj_key|&#x200D;" />
+ <!-- U+17D7: "ៗ" KHMER SIGN LEK TOO
+ U+200C: ZERO WIDTH NON-JOINER -->
+ <Key
+ latin:keyLabel="&#x17D7;"
+ latin:moreKeys="!icon/zwnj_key|&#x200C;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17D1: "៑" KHMER SIGN VIRIAM -->
+ <Key
+ latin:keyLabel="&quot;"
+ latin:keyHintLabel="&#x17D1;"
+ latin:moreKeys="&#x17D1;" />
+ <!-- U+17DB: "៛" KHMER CURRENCY SYMBOL RIEL
+ U+20AC: "€" EURO SIGN -->
+ <Key
+ latin:keyLabel="&#x17DB;"
+ latin:keyHintLabel="$"
+ latin:moreKeys="$,&#x20AC;" />
+ <!-- U+17D6: "៖" KHMER SIGN CAMNUC PII KUUH -->
+ <Key
+ latin:keyLabel="%"
+ latin:keyHintLabel="&#x17D6;"
+ latin:moreKeys="&#x17D6;" />
+ <!-- U+17CD: "៍" KHMER SIGN TOANDAKHIAT
+ U+17D9: "៙" KHMER SIGN PHNAEK MUAN -->
+ <Key
+ latin:keyLabel="&#x17CD;"
+ latin:keyHintLabel="&#x17D9;"
+ latin:moreKeys="&#x17D9;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17D0: "័" KHMER SIGN SAMYOK SANNYA
+ U+17DA: "៚" KHMER SIGN KOOMUUT -->
+ <Key
+ latin:keyLabel="&#x17D0;"
+ latin:keyHintLabel="&#x17DA;"
+ latin:moreKeys="&#x17DA;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17CF: "៏" KHMER SIGN AHSDA -->
+ <Key
+ latin:keyLabel="&#x17CF;"
+ latin:keyHintLabel="*"
+ latin:moreKeys="*"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+ <Key
+ latin:keyLabel="("
+ latin:keyHintLabel="{"
+ latin:moreKeys="{,&#x00AB;" />
+ <!-- U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+ <Key
+ latin:keyLabel=")"
+ latin:keyHintLabel="}"
+ latin:moreKeys="},&#x00BB;" />
+ <!-- U+17CC: "៌" KHMER SIGN ROBAT
+ U+00D7: "×" MULTIPLICATION SIGN -->
+ <Key
+ latin:keyLabel="&#x17CC;"
+ latin:keyHintLabel="&#x00D7;"
+ latin:moreKeys="&#x00D7;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17CE: "៎" KHMER SIGN KAKABAT -->
+ <Key
+ latin:keyLabel="&#x17CE;"
+ latin:keyLabelFlags="fontNormal" />
+ </case>
+ <default>
+ <!-- U+17E1: "១" KHMER DIGIT ONE
+ U+17F1: "៱" KHMER SYMBOL LEK ATTAK MUOY -->
+ <Key
+ latin:keyLabel="&#x17E1;"
+ latin:keyHintLabel="1"
+ latin:additionalMoreKeys="1"
+ latin:moreKeys="&#x17F1;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17E2: "២" KHMER DIGIT TWO
+ U+17F2: "៲" KHMER SYMBOL LEK ATTAK PII -->
+ <Key
+ latin:keyLabel="&#x17E2;"
+ latin:keyHintLabel="2"
+ latin:additionalMoreKeys="2"
+ latin:moreKeys="&#x17F2;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17E3: "៣" KHMER DIGIT THREE
+ U+17F3: "៳" KHMER SYMBOL LEK ATTAK BEI -->
+ <Key
+ latin:keyLabel="&#x17E3;"
+ latin:keyHintLabel="3"
+ latin:additionalMoreKeys="3"
+ latin:moreKeys="&#x17F3;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17E4: "៤" KHMER DIGIT FOUR
+ U+17F4: "៴" KHMER SYMBOL LEK ATTAK BUON -->
+ <Key
+ latin:keyLabel="&#x17E4;"
+ latin:keyHintLabel="4"
+ latin:additionalMoreKeys="4"
+ latin:moreKeys="&#x17F4;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17E5: "៥" KHMER DIGIT FIVE
+ U+17F5: "៵" KHMER SYMBOL LEK ATTAK PRAM -->
+ <Key
+ latin:keyLabel="&#x17E5;"
+ latin:keyHintLabel="5"
+ latin:additionalMoreKeys="5"
+ latin:moreKeys="&#x17F5;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17E6: "៦" KHMER DIGIT SIX
+ U+17F6: "៶" KHMER SYMBOL LEK ATTAK PRAM-MUOY -->
+ <Key
+ latin:keyLabel="&#x17E6;"
+ latin:keyHintLabel="6"
+ latin:additionalMoreKeys="6"
+ latin:moreKeys="&#x17F6;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17E7: "៧" KHMER DIGIT SEVEN
+ U+17F7: "៷" KHMER SYMBOL LEK ATTAK PRAM-PII -->
+ <Key
+ latin:keyLabel="&#x17E7;"
+ latin:keyHintLabel="7"
+ latin:additionalMoreKeys="7"
+ latin:moreKeys="&#x17F7;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17E8: "៨" KHMER DIGIT EIGHT
+ U+17F8: "៸" KHMER SYMBOL LEK ATTAK PRAM-BEI -->
+ <Key
+ latin:keyLabel="&#x17E8;"
+ latin:keyHintLabel="8"
+ latin:additionalMoreKeys="8"
+ latin:moreKeys="&#x17F8;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17E9: "៩" KHMER DIGIT NINE
+ U+17F9: "៹" KHMER SYMBOL LEK ATTAK PRAM-BUON -->
+ <Key
+ latin:keyLabel="&#x17E9;"
+ latin:keyHintLabel="9"
+ latin:additionalMoreKeys="9"
+ latin:moreKeys="&#x17F9;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17E0: "០" KHMER DIGIT ZERO
+ U+17F0: "៰" KHMER SYMBOL LEK ATTAK SON -->
+ <Key
+ latin:keyLabel="&#x17E0;"
+ latin:keyHintLabel="0"
+ latin:additionalMoreKeys="0"
+ latin:moreKeys="&#x17F0;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17A5: "ឥ" KHMER INDEPENDENT VOWEL QI
+ U+17A6: "ឦ" KHMER INDEPENDENT VOWEL QII -->
+ <Key
+ latin:keyLabel="&#x17A5;"
+ latin:moreKeys=".,&#x17A6;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17B2: "ឲ" KHMER INDEPENDENT VOWEL QOO TYPE TWO
+ U+17B1: "ឱ" KHMER INDEPENDENT VOWEL QOO TYPE ONE -->
+ <Key
+ latin:keyLabel="&#x17B2;"
+ latin:moreKeys="\\,,&#x17B1;"
+ latin:keyLabelFlags="fontNormal" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml/rowkeys_khmer2.xml b/java/res/xml/rowkeys_khmer2.xml
new file mode 100644
index 000000000..cba2d3b90
--- /dev/null
+++ b/java/res/xml/rowkeys_khmer2.xml
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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+1788: "ឈ" KHMER LETTER CHO
+ U+17DC: "ៜ" KHMER SIGN AVAKRAHASANYA -->
+ <Key
+ latin:keyLabel="&#x1788;"
+ latin:keyHintLabel="&#x17DC;"
+ latin:moreKeys="&#x17DC;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17BA: "ឺ" KHMER VOWEL SIGN YY
+ U+17DD: "៝" KHMER SIGN ATTHACAN -->
+ <Key
+ latin:keyLabel="&#x17BA;"
+ latin:keyHintLabel="&#x17DD;"
+ latin:moreKeys="&#x17DD;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17C2: "ែ" KHMER VOWEL SIGN AE -->
+ <Key
+ latin:keyLabel="&#x17C2;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17AC: "ឬ" KHMER INDEPENDENT VOWEL RYY
+ U+17AB: "ឫ" KHMER INDEPENDENT VOWEL RY -->
+ <Key
+ latin:keyLabel="&#x17AC;"
+ latin:keyHintLabel="&#x17AB;"
+ latin:moreKeys="&#x17AB;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+1791: "ទ" KHMER LETTER TO -->
+ <Key
+ latin:keyLabel="&#x1791;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17BD: "ួ" KHMER VOWEL SIGN UA -->
+ <Key
+ latin:keyLabel="&#x17BD;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17BC: "ូ" KHMER VOWEL SIGN UU -->
+ <Key
+ latin:keyLabel="&#x17BC;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17B8: "ី" KHMER VOWEL SIGN II -->
+ <Key
+ latin:keyLabel="&#x17B8;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17C5: "ៅ" KHMER VOWEL SIGN AU -->
+ <Key
+ latin:keyLabel="&#x17C5;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+1797: "ភ" KHMER LETTER PHO -->
+ <Key
+ latin:keyLabel="&#x1797;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17BF: "ឿ" KHMER VOWEL SIGN YA -->
+ <Key
+ latin:keyLabel="&#x17BF;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17B0: "ឰ" KHMER INDEPENDENT VOWEL QAI -->
+ <Key
+ latin:keyLabel="&#x17B0;"
+ latin:keyLabelFlags="fontNormal" />
+ </case>
+ <default>
+ <!-- U+1786: "ឆ" KHMER LETTER CHA -->
+ <Key
+ latin:keyLabel="&#x1786;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17B9: "ឹ" KHMER VOWEL SIGN Y -->
+ <Key
+ latin:keyLabel="&#x17B9;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17C1: "េ" KHMER VOWEL SIGN E -->
+ <Key
+ latin:keyLabel="&#x17C1;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+179A: "រ" KHMER LETTER RO -->
+ <Key
+ latin:keyLabel="&#x179A;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+178F: "ត" KHMER LETTER TA -->
+ <Key
+ latin:keyLabel="&#x178F;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+1799: "យ" KHMER LETTER YO -->
+ <Key
+ latin:keyLabel="&#x1799;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17BB: "ុ" KHMER VOWEL SIGN U -->
+ <Key
+ latin:keyLabel="&#x17BB;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17B7: "ិ" KHMER VOWEL SIGN I -->
+ <Key
+ latin:keyLabel="&#x17B7;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17C4: "ោ" KHMER VOWEL SIGN OO -->
+ <Key
+ latin:keyLabel="&#x17C4;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+1795: "ផ" KHMER LETTER PHA -->
+ <Key
+ latin:keyLabel="&#x1795;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17C0: "ៀ" KHMER VOWEL SIGN IE -->
+ <Key
+ latin:keyLabel="&#x17C0;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17AA: "ឪ" KHMER INDEPENDENT VOWEL QUUV
+ U+17A7: "ឧ" KHMER INDEPENDENT VOWEL QU
+ U+17B1: "ឱ" KHMER INDEPENDENT VOWEL QOO TYPE ONE
+ U+17B3: "ឳ" KHMER INDEPENDENT VOWEL QAU
+ U+17A9: "ឩ" KHMER INDEPENDENT VOWEL QUU
+ U+17A8: "ឨ" KHMER INDEPENDENT VOWEL QUK -->
+ <Key
+ latin:keyLabel="&#x17AA;"
+ latin:keyHintLabel="&#x17A7;"
+ latin:moreKeys="&#x17A7;,&#x17B1;,&#x17B3;,&#x17A9;,&#x17A8;"
+ latin:keyLabelFlags="fontNormal" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml/rowkeys_khmer3.xml b/java/res/xml/rowkeys_khmer3.xml
new file mode 100644
index 000000000..5d55b9c63
--- /dev/null
+++ b/java/res/xml/rowkeys_khmer3.xml
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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+17B6/U+17C6: "ាំ" KHMER VOWEL SIGN AA/KHMER SIGN NIKAHIT -->
+ <Key
+ latin:keyLabel="&#x17B6;&#x17C6;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ <!-- U+17C3: "ៃ" KHMER VOWEL SIGN AI -->
+ <Key
+ latin:keyLabel="&#x17C3;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+178C: "ឌ" KHMER LETTER DO -->
+ <Key
+ latin:keyLabel="&#x178C;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+1792: "ធ" KHMER LETTER THO -->
+ <Key
+ latin:keyLabel="&#x178C;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17A2: "អ" KHMER LETTER QA -->
+ <Key
+ latin:keyLabel="&#x17A2;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17C7: "ះ" KHMER SIGN REAHMUK
+ U+17C8: "ៈ" KHMER SIGN YUUKALEAPINTU;-->
+ <Key
+ latin:keyLabel="&#x17C7;"
+ latin:keyHintLabel="&#x17C8;"
+ latin:moreKeys="&#x17C8;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+1789: "ញ" KHMER LETTER NYO -->
+ <Key
+ latin:keyLabel="&#x1789;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+1782: "គ" KHMER LETTER KO
+ U+179D: "ឝ" KHMER LETTER SHA -->
+ <Key
+ latin:keyLabel="&#x1782;"
+ latin:keyHintLabel="&#x179D;"
+ latin:moreKeys="&#x179D;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17A1: "ឡ" KHMER LETTER LA -->
+ <Key
+ latin:keyLabel="&#x17A1;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17C4/U+17C7: "ោះ" KHMER VOWEL SIGN OO/KHMER SIGN REAHMUK -->
+ <Key
+ latin:keyLabel="&#x17C4;&#x17C7;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17C9: "៉" KHMER SIGN MUUSIKATOAN -->
+ <Key
+ latin:keyLabel="&#x17C9;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17AF: "ឯ" KHMER INDEPENDENT VOWEL QE -->
+ <Key
+ latin:keyLabel="&#x17AF;"
+ latin:keyLabelFlags="fontNormal" />
+ </case>
+ <default>
+ <!-- U+17B6: "ា" KHMER VOWEL SIGN AA -->
+ <Key
+ latin:keyLabel="&#x17B6;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+179F: "ស" KHMER LETTER SA -->
+ <Key
+ latin:keyLabel="&#x179F;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+178A: "ដ" KHMER LETTER DA -->
+ <Key
+ latin:keyLabel="&#x178A;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+1790: "ថ" KHMER LETTER THA -->
+ <Key
+ latin:keyLabel="&#x1790;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+1784: "ង" KHMER LETTER NGO -->
+ <Key
+ latin:keyLabel="&#x1784;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17A0: "ហ" KHMER LETTER HA -->
+ <Key
+ latin:keyLabel="&#x17A0;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17D2: "្" KHMER SIGN COENG -->
+ <Key
+ latin:keyLabel="&#x17D2;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+1780: "ក" KHMER LETTER KA -->
+ <Key
+ latin:keyLabel="&#x1780;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+179B: "ល" KHMER LETTER LO -->
+ <Key
+ latin:keyLabel="&#x179B;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17BE: "ើ" KHMER VOWEL SIGN OE -->
+ <Key
+ latin:keyLabel="&#x17BE;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17CB: "់" KHMER SIGN BANTOC -->
+ <Key
+ latin:keyLabel="&#x17CB;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17AE: "ឮ" KHMER INDEPENDENT VOWEL LYY
+ U+17AD: "ឭ" KHMER INDEPENDENT VOWEL LY
+ U+17B0: "ឰ" KHMER INDEPENDENT VOWEL QAI -->
+ <Key
+ latin:keyLabel="&#x17AE;"
+ latin:keyHintLabel="&#x17AD;"
+ latin:moreKeys="&#x17AD;,&#x17B0;"
+ latin:keyLabelFlags="fontNormal" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml/rowkeys_khmer4.xml b/java/res/xml/rowkeys_khmer4.xml
new file mode 100644
index 000000000..fe6c59125
--- /dev/null
+++ b/java/res/xml/rowkeys_khmer4.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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+178D: "ឍ" KHMER LETTER TTHO -->
+ <Key
+ latin:keyLabel="&#x178D;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+1783: "ឃ" KHMER LETTER KHO -->
+ <Key
+ latin:keyLabel="&#x1783;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+1787: "ជ" KHMER LETTER CO -->
+ <Key
+ latin:keyLabel="&#x1787;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17C1/U+17C7: "េះ" KHMER VOWEL SIGN E/KHMER SIGN REAHMUK -->
+ <Key
+ latin:keyLabel="&#x17C1;&#x17C7;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+1796: "ព" KHMER LETTER PO
+ U+179E: "ឞ" KHMER LETTER SSO -->
+ <Key
+ latin:keyLabel="&#x1796;"
+ latin:keyHintLabel="&#x179E;"
+ latin:moreKeys="&#x179E;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+178E: "ណ" KHMER LETTER NNO -->
+ <Key
+ latin:keyLabel="&#x178E;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17C6: "ំ" KHMER SIGN NIKAHIT -->
+ <Key
+ latin:keyLabel="&#x17C6;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17BB/U+17C7: "ុះ" KHMER VOWEL SIGN U/KHMER SIGN REAHMUK -->
+ <Key
+ latin:keyLabel="&#x17BB;&#x17C7;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ <!-- U+17D5: "៕" KHMER SIGN BARIYOOSAN -->
+ <Key
+ latin:keyLabel="&#x17D5;"
+ latin:keyLabelFlags="fontNormal" />
+ <Key
+ latin:keyLabel="\?" />
+ </case>
+ <default>
+ <!-- U+178B: "ឋ" KHMER LETTER TTHA -->
+ <Key
+ latin:keyLabel="&#x178B;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+1781: "ខ" KHMER LETTER KHA -->
+ <Key
+ latin:keyLabel="&#x1781;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+1785: "ច" KHMER LETTER CA -->
+ <Key
+ latin:keyLabel="&#x1785;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+179C: "វ" KHMER LETTER VO -->
+ <Key
+ latin:keyLabel="&#x179C;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+1794: "ប" KHMER LETTER BA -->
+ <Key
+ latin:keyLabel="&#x1794;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+1793: "ន" KHMER LETTER NO -->
+ <Key
+ latin:keyLabel="&#x1793;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+1798: "ម" KHMER LETTER MO -->
+ <Key
+ latin:keyLabel="&#x1798;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17BB/U+17C6: "ុំ" KHMER VOWEL SIGN U/KHMER SIGN NIKAHIT -->
+ <Key
+ latin:keyLabel="&#x17BB;&#x17C6;"
+ latin:keyLabelFlags="fontNormal|followKeyLetterRatio" />
+ <!-- U+17D4: "។" KHMER SIGN KHAN -->
+ <Key
+ latin:keyLabel="&#x17D4;"
+ latin:keyLabelFlags="fontNormal" />
+ <!-- U+17CA: "៊" KHMER SIGN TRIISAP -->
+ <Key
+ latin:keyLabel="&#x17CA;"
+ latin:keyLabelFlags="fontNormal" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml/rows_khmer.xml b/java/res/xml/rows_khmer.xml
new file mode 100644
index 000000000..e3993871b
--- /dev/null
+++ b/java/res/xml/rows_khmer.xml
@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2013, 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.3333%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_khmer1" />
+ </Row>
+ <Row
+ latin:keyWidth="8.3333%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_khmer2" />
+ </Row>
+ <Row
+ latin:keyWidth="8.3333%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_khmer3" />
+ </Row>
+ <Row
+ latin:keyWidth="8.3333%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_khmer4" />
+ <Key
+ latin:keyStyle="deleteKeyStyle" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_qwerty4" />
+</merge>
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
index a72595f7c..2af2f6995 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
@@ -2015,6 +2015,25 @@ public final class KeyboardTextsSet {
/* 45 */ "\u0410\u0411\u0412",
};
+ /* Language km: Khmer */
+ private static final String[] LANGUAGE_km = {
+ /* 0~ */
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ null, null, null, null, null, null, null, null, null, null, null, null, null, null, null,
+ /* ~44 */
+ // Label for "switch to alphabetic" key.
+ // U+1780: "ក" KHMER LETTER KA
+ // U+1781: "ខ" KHMER LETTER KHA
+ // U+1782: "គ" KHMER LETTER KO
+ /* 45 */ "\u1780\u1781\u1782",
+ /* 46~ */
+ null, null, null, null,
+ /* ~49 */
+ // U+17DB: "៛" KHMER CURRENCY SYMBOL RIEL
+ /* 50 */ "\u17DB,\u00A2,\u00A3,\u20AC,\u00A5,\u20B1",
+ };
+
/* Language ky: Kirghiz */
private static final String[] LANGUAGE_ky = {
/* 0~ */
@@ -3407,6 +3426,7 @@ public final class KeyboardTextsSet {
"iw", LANGUAGE_iw, /* Hebrew */
"ka", LANGUAGE_ka, /* Georgian */
"kk", LANGUAGE_kk, /* Kazakh */
+ "km", LANGUAGE_km, /* Khmer */
"ky", LANGUAGE_ky, /* Kirghiz */
"lo", LANGUAGE_lo, /* Lao */
"lt", LANGUAGE_lt, /* Lithuanian */