summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulien "_FrnchFrgg_" RIVAUD <frnchfrgg@free.fr>2015-06-07 13:26:11 +0200
committerMichael Bestas <mkbestas@lineageos.org>2019-12-11 23:42:56 +0200
commit54698c03ade55a67638f470462efa0f3091cf05e (patch)
tree643c9356adb51fc4131f77d507207fd5e200641d
parent97bc61632604a65a564c1540daa5512926b68208 (diff)
downloadandroid_packages_inputmethods_LatinIME-54698c03ade55a67638f470462efa0f3091cf05e.tar.gz
android_packages_inputmethods_LatinIME-54698c03ade55a67638f470462efa0f3091cf05e.tar.bz2
android_packages_inputmethods_LatinIME-54698c03ade55a67638f470462efa0f3091cf05e.zip
Add support for Bépo keyboard layout
This layout is a Dvorak-like initiative, used mainly in France, that can be used to type any language with more ease that QWERTY & Co. It is already supported out of the box by most Linux/BSD distributions. I used http://linuxfr.org/users/jpec/journaux/de-la-conception-d-une-disposition-bepo-pour-android as an inspiration for a variant more adapted to phones. See http://bepo.fr/ for more information about the layout. Change-Id: I6a5b43608d23cf99ddde4e241e1691aae3ff8098
-rw-r--r--java/res/values/cm_strings.xml11
-rw-r--r--java/res/values/donottranslate.xml3
-rw-r--r--java/res/xml-sw600dp/rows_bepo.xml55
-rw-r--r--java/res/xml/kbd_bepo.xml21
-rw-r--r--java/res/xml/keyboard_layout_set_bepo.xml37
-rw-r--r--java/res/xml/rowkeys_bepo1.xml66
-rw-r--r--java/res/xml/rowkeys_bepo2.xml48
-rw-r--r--java/res/xml/rowkeys_bepo3.xml38
-rw-r--r--java/res/xml/rows_bepo.xml49
9 files changed, 328 insertions, 0 deletions
diff --git a/java/res/values/cm_strings.xml b/java/res/values/cm_strings.xml
index e3399eab4..513dbd5bd 100644
--- a/java/res/values/cm_strings.xml
+++ b/java/res/values/cm_strings.xml
@@ -14,5 +14,16 @@
limitations under the License.
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
+ <!-- This string is displayed in the description for a keyboard type. It refers specifically to
+the Latin alphabet, as opposed to Cyrillic, Arabic, Hebrew or other scripts.
+When the device is configured to use a language using a script other than the Latin alphabet, the
+user still needs a keyboard that can input Latin characters for passwords or login names for
+example, and a way to switch to this Latin alphabet keyboard. This string is the description for
+this keyboard, so users of other scripts should understand when they read this that it represents a
+keyboard that is meant for them to be able to enter Latin characters as opposed to the script they
+are used to. This keyboard does not provide a dictionary, and it is not tied to any specific
+language among those that use the Latin alphabet. This keyboard is laid out in the Bépo
+disposition rather than other common dispositions for Latin languages. [CHAR LIMIT=25] -->
+ <string name="subtype_no_language_bepo">Alphabet (Bépo)</string>
<string name="subtype_hu_ZZ">Hungarian (QWERTY)</string>
</resources>
diff --git a/java/res/values/donottranslate.xml b/java/res/values/donottranslate.xml
index 12fa1a704..a468dc541 100644
--- a/java/res/values/donottranslate.xml
+++ b/java/res/values/donottranslate.xml
@@ -53,6 +53,7 @@
<item>azerty</item>
<item>dvorak</item>
<item>colemak</item>
+ <item>bepo</item>
<item>pcqwerty</item>
</string-array>
<!-- Predefined keyboard layout display names -->
@@ -62,6 +63,7 @@
<item>AZERTY</item>
<item>Dvorak</item>
<item>Colemak</item>
+ <item>Bépo</item>
<item>PC</item>
</string-array>
<!-- Description for generic subtype that has predefined layout.
@@ -73,6 +75,7 @@
<string name="subtype_generic_azerty">%s (AZERTY)</string>
<string name="subtype_generic_dvorak">%s (Dvorak)</string>
<string name="subtype_generic_colemak">%s (Colemak)</string>
+ <string name="subtype_generic_bepo">%s (Bépo)</string>
<string name="subtype_generic_pcqwerty">%s (PC)</string>
<!-- Description for Bulgarian (BDS) subtype. -->
diff --git a/java/res/xml-sw600dp/rows_bepo.xml b/java/res/xml-sw600dp/rows_bepo.xml
new file mode 100644
index 000000000..9916561ca
--- /dev/null
+++ b/java/res/xml-sw600dp/rows_bepo.xml
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The CyanogenMod 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.0%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_bepo1" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <Row
+ latin:keyWidth="9.0%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_bepo2" />
+ <Key
+ latin:keyStyle="enterKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <Row
+ latin:keyWidth="9.0%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="10.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_bepo3" />
+ <include
+ latin:keyboardLayout="@xml/keys_exclamation_question" />
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_qwerty4" />
+</merge>
diff --git a/java/res/xml/kbd_bepo.xml b/java/res/xml/kbd_bepo.xml
new file mode 100644
index 000000000..4f961aa02
--- /dev/null
+++ b/java/res/xml/kbd_bepo.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The CyanogenMod 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_bepo" />
+</Keyboard>
diff --git a/java/res/xml/keyboard_layout_set_bepo.xml b/java/res/xml/keyboard_layout_set_bepo.xml
new file mode 100644
index 000000000..6a38d407b
--- /dev/null
+++ b/java/res/xml/keyboard_layout_set_bepo.xml
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The CyanogenMod 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_bepo"
+ latin:enableProximityCharsCorrection="true" />
+ <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/rowkeys_bepo1.xml b/java/res/xml/rowkeys_bepo1.xml
new file mode 100644
index 000000000..d1e73b0ec
--- /dev/null
+++ b/java/res/xml/rowkeys_bepo1.xml
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The CyanogenMod 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"
+>
+ <Key
+ latin:keySpec="b"
+ latin:keyHintLabel="1"
+ latin:additionalMoreKeys="1"/>
+ <Key
+ latin:keySpec="&#xE9;"
+ latin:keyHintLabel="2"
+ latin:additionalMoreKeys="2,&#xE8;" />
+ <Key
+ latin:keySpec="p"
+ latin:keyHintLabel="3"
+ latin:additionalMoreKeys="3" />
+ <Key
+ latin:keySpec="o"
+ latin:keyHintLabel="4"
+ latin:additionalMoreKeys="4"
+ latin:moreKeys="!text/morekeys_o" />
+ <Key
+ latin:keySpec="v"
+ latin:keyHintLabel="5"
+ latin:additionalMoreKeys="5"
+ latin:moreKeys="!text/morekeys_v" />
+ <Key
+ latin:keySpec="d"
+ latin:keyHintLabel="6"
+ latin:additionalMoreKeys="6"
+ latin:moreKeys="!text/morekeys_d" />
+ <Key
+ latin:keySpec="l"
+ latin:keyHintLabel="7"
+ latin:additionalMoreKeys="7"
+ latin:moreKeys="!text/morekeys_l" />
+ <Key
+ latin:keySpec="j"
+ latin:keyHintLabel="8"
+ latin:additionalMoreKeys="8"
+ latin:moreKeys="!text/morekeys_j" />
+ <Key
+ latin:keySpec="z"
+ latin:keyHintLabel="9"
+ latin:additionalMoreKeys="9"
+ latin:moreKeys="!text/morekeys_z" />
+ <Key
+ latin:keySpec="w"
+ latin:keyHintLabel="0"
+ latin:additionalMoreKeys="0"
+ latin:moreKeys="!text/morekeys_w" />
+</merge>
diff --git a/java/res/xml/rowkeys_bepo2.xml b/java/res/xml/rowkeys_bepo2.xml
new file mode 100644
index 000000000..138636622
--- /dev/null
+++ b/java/res/xml/rowkeys_bepo2.xml
@@ -0,0 +1,48 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The CyanogenMod 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"
+>
+ <Key
+ latin:keySpec="a"
+ latin:moreKeys="!text/morekeys_a" />
+ <Key
+ latin:keySpec="u"
+ latin:moreKeys="!text/morekeys_u" />
+ <Key
+ latin:keySpec="i"
+ latin:moreKeys="!text/morekeys_i" />
+ <Key
+ latin:keySpec="e"
+ latin:moreKeys="!text/morekeys_e" />
+ <Key
+ latin:keySpec="c"
+ latin:moreKeys="!text/morekeys_c" />
+ <Key
+ latin:keySpec="t"
+ latin:moreKeys="!text/morekeys_t" />
+ <Key
+ latin:keySpec="s"
+ latin:moreKeys="!text/morekeys_s" />
+ <Key
+ latin:keySpec="r"
+ latin:moreKeys="!text/morekeys_r" />
+ <Key
+ latin:keySpec="n"
+ latin:moreKeys="!text/morekeys_n" />
+ <Key
+ latin:keySpec="m" />
+</merge>
diff --git a/java/res/xml/rowkeys_bepo3.xml b/java/res/xml/rowkeys_bepo3.xml
new file mode 100644
index 000000000..15ffbef24
--- /dev/null
+++ b/java/res/xml/rowkeys_bepo3.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The CyanogenMod 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"
+>
+ <Key
+ latin:keySpec="y"
+ latin:moreKeys="!text/morekeys_y" />
+ <Key
+ latin:keySpec="x" />
+ <Key
+ latin:keySpec="k"
+ latin:moreKeys="!text/morekeys_k" />
+ <Key
+ latin:keySpec="q"
+ latin:moreKeys="!text/morekeys_q" />
+ <Key
+ latin:keySpec="g"
+ latin:moreKeys="!text/morekeys_g" />
+ <Key
+ latin:keySpec="h"
+ latin:moreKeys="!text/morekeys_h" />
+ <Key
+ latin:keySpec="f" />
+</merge>
diff --git a/java/res/xml/rows_bepo.xml b/java/res/xml/rows_bepo.xml
new file mode 100644
index 000000000..91bc4ba12
--- /dev/null
+++ b/java/res/xml/rows_bepo.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Copyright (C) 2015 The CyanogenMod 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="10%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_bepo1" />
+ </Row>
+ <Row
+ latin:keyWidth="10%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_bepo2" />
+ </Row>
+ <Row
+ latin:keyWidth="10%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="15%p"
+ latin:visualInsetsRight="1%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_bepo3" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillRight"
+ latin:visualInsetsLeft="1%p" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_qwerty4" />
+</merge>