Support PC QWERTY layout
Bug: 4460018
Change-Id: I9a29f6a322af66f6a152fa1883b3686c5f7a3328
diff --git a/java/res/values/donottranslate.xml b/java/res/values/donottranslate.xml
index 37f0736..0be8860 100644
--- a/java/res/values/donottranslate.xml
+++ b/java/res/values/donottranslate.xml
@@ -154,6 +154,7 @@
<item>azerty</item>
<item>dvorak</item>
<item>colemak</item>
+ <item>pcqwerty</item>
</string-array>
<!-- Predefined keyboard layout display names -->
<string-array name="predefined_layout_display_names">
@@ -162,6 +163,7 @@
<item>AZERTY</item>
<item>Dvorak</item>
<item>Colemak</item>
+ <item>PC</item>
</string-array>
<!-- Description for generic subtype that has predefined layout.
The string resource name must be "subtype_generic_<layout name>". -->
@@ -170,6 +172,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_pcqwerty">%s (PC)</string>
<!-- dictionary pack package name /settings activity (for shared prefs and settings) -->
<string name="dictionary_pack_package_name">com.google.android.inputmethod.latin.dictionarypack</string>
diff --git a/java/res/xml-sw600dp/keys_pcqwerty2_right3.xml b/java/res/xml-sw600dp/keys_pcqwerty2_right3.xml
new file mode 100644
index 0000000..0a27ca7
--- /dev/null
+++ b/java/res/xml-sw600dp/keys_pcqwerty2_right3.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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="symbols|symbolsShifted"
+ >
+ <Key
+ latin:keyLabel="["
+ latin:moreKeys="{" />
+ <Key
+ latin:keyLabel="]"
+ latin:moreKeys="}" />
+ <!-- U+00A6: "¦" BROKEN BAR -->
+ <Key
+ latin:keyLabel="\\"
+ latin:moreKeys="\\|,¦" />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel="["
+ latin:keyHintLabel="{"
+ latin:moreKeys="{"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ <Key
+ latin:keyLabel="]"
+ latin:keyHintLabel="}"
+ latin:moreKeys="}"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ <!-- U+00A6: "¦" BROKEN BAR -->
+ <Key
+ latin:keyLabel="\\"
+ latin:keyHintLabel="|"
+ latin:moreKeys="\\|,¦"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml-sw600dp/keys_pcqwerty3_right2.xml b/java/res/xml-sw600dp/keys_pcqwerty3_right2.xml
new file mode 100644
index 0000000..a0e5cbb
--- /dev/null
+++ b/java/res/xml-sw600dp/keys_pcqwerty3_right2.xml
@@ -0,0 +1,68 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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="symbols|symbolsShifted"
+ >
+ <Key
+ latin:keyLabel=";"
+ latin:moreKeys=":" />
+ <!-- U+2018: "‘" LEFT SINGLE QUOTATION MARK
+ U+2019: "’" RIGHT SINGLE QUOTATION MARK
+ U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
+ U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
+ U+201C: "“" LEFT DOUBLE QUOTATION MARK
+ U+201D: "”" RIGHT DOUBLE QUOTATION MARK
+ U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
+ U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
+ <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK.
+ moreKeys="!fixedColumnOrder!4,“,”,„,‟,‘,’,‚,‛" -->
+ <Key
+ latin:keyLabel="\'"
+ latin:moreKeys="!fixedColumnOrder!4,“,”,‘,’,‚,‛,"" />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel=";"
+ latin:keyHintLabel=":"
+ latin:moreKeys=":"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ <!-- U+2018: "‘" LEFT SINGLE QUOTATION MARK
+ U+2019: "’" RIGHT SINGLE QUOTATION MARK
+ U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
+ U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
+ U+201C: "“" LEFT DOUBLE QUOTATION MARK
+ U+201D: "”" RIGHT DOUBLE QUOTATION MARK
+ U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
+ U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
+ <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK.
+ moreKeys="!fixedColumnOrder!4,“,”,„,‟,‘,’,‚,‛" -->
+ <Key
+ latin:keyLabel="\'"
+ latin:keyHintLabel="""
+ latin:moreKeys="!fixedColumnOrder!4,“,”,‘,’,‚,‛,""
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml-sw600dp/keys_pcqwerty4_right3.xml b/java/res/xml-sw600dp/keys_pcqwerty4_right3.xml
new file mode 100644
index 0000000..ee5271a
--- /dev/null
+++ b/java/res/xml-sw600dp/keys_pcqwerty4_right3.xml
@@ -0,0 +1,76 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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="symbols|symbolsShifted"
+ >
+ <!-- U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ U+2264: "≤" LESS-THAN OR EQUAL TO
+ U+2265: "≥" GREATER-THAN EQUAL TO
+ U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+ <Key
+ latin:keyLabel=","
+ latin:additionalMoreKeys="<"
+ latin:moreKeys="!fixedColumnOrder!4,‹,⁤,«" />
+ <Key
+ latin:keyLabel="."
+ latin:additionalMoreKeys=">"
+ latin:moreKeys="!fixedColumnOrder!4,›,⁥,»" />
+ <!-- U+00BF: "¿" INVERTED QUESTION MARK -->
+ <Key
+ latin:keyLabel="/"
+ latin:additionalMoreKeys="\?"
+ latin:moreKeys="¿" />
+ </case>
+ <default>
+ <!-- U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ U+2264: "≤" LESS-THAN OR EQUAL TO
+ U+2265: "≥" GREATER-THAN EQUAL TO
+ U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+ <Key
+ latin:keyLabel=","
+ latin:keyHintLabel="<"
+ latin:additionalMoreKeys="<"
+ latin:moreKeys="!fixedColumnOrder!4,‹,≤,«"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ <Key
+ latin:keyLabel="."
+ latin:keyHintLabel=">"
+ latin:additionalMoreKeys=">"
+ latin:moreKeys="!fixedColumnOrder!4,›,≥,»"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ <!-- U+00BF: "¿" INVERTED QUESTION MARK -->
+ <Key
+ latin:keyLabel="/"
+ latin:keyHintLabel="\?"
+ latin:additionalMoreKeys="\?"
+ latin:moreKeys="¿"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml-sw600dp/row_pcqwerty5.xml b/java/res/xml-sw600dp/row_pcqwerty5.xml
new file mode 100644
index 0000000..83bc83e
--- /dev/null
+++ b/java/res/xml-sw600dp/row_pcqwerty5.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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"
+>
+ <Row
+ latin:keyWidth="7.0%p"
+ >
+ <switch>
+ <case
+ latin:keyboardLayoutSetElement="symbols|symbolsShifted"
+ >
+ <Spacer
+ latin:keyXPos="15.0%p"
+ latin:keyWidth="10.5%p" />
+ </case>
+ <case
+ latin:mode="email|url"
+ >
+ <Key
+ latin:keyStyle="comKeyStyle"
+ latin:keyXPos="15.0%p"
+ latin:keyWidth="10.5%p" />
+ </case>
+ <default>
+ <Spacer
+ latin:keyXPos="15.0%p"
+ latin:keyWidth="10.5%p" />
+ </default>
+ </switch>
+ <switch>
+ <case
+ latin:languageSwitchKeyEnabled="true"
+ >
+ <Key
+ latin:keyStyle="languageSwitchKeyStyle" />
+ <Key
+ latin:keyStyle="spaceKeyStyle"
+ latin:keyWidth="42.0%p" />
+ </case>
+ <!-- languageSwitchKeyEnabled="false" -->
+ <default>
+ <Key
+ latin:keyStyle="spaceKeyStyle"
+ latin:keyWidth="49.0%p" />
+ </default>
+ </switch>
+ <include
+ latin:keyXPos="-9.0%p"
+ latin:keyWidth="fillRight"
+ latin:keyboardLayout="@xml/key_shortcut" />
+ </Row>
+</merge>
diff --git a/java/res/xml-sw600dp/rowkeys_pcqwerty1.xml b/java/res/xml-sw600dp/rowkeys_pcqwerty1.xml
new file mode 100644
index 0000000..d486b9d
--- /dev/null
+++ b/java/res/xml-sw600dp/rowkeys_pcqwerty1.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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="symbols|symbolsShifted"
+ >
+ <include
+ latin:keyboardLayout="@xml/keys_pcqwerty_symbols1" />
+ </case>
+ <!-- keyboardLayoutSetElement="alphabet*" -->
+ <default>
+ <!-- U+00AC: "¬" NOT SIGN -->
+ <Key
+ latin:keyLabel="`"
+ latin:keyHintLabel="~"
+ latin:additionalMoreKeys="~"
+ latin:moreKeys="¬"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ <!-- U+00A1: "¡" NVERTED EXCLAMATION MARK -->
+ <Key
+ latin:keyLabel="1"
+ latin:keyHintLabel="!"
+ latin:additionalMoreKeys="!"
+ latin:moreKeys="¡,!text/more_keys_for_symbols_1"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ <Key
+ latin:keyLabel="2"
+ latin:keyHintLabel="\@"
+ latin:additionalMoreKeys="\@"
+ latin:moreKeys="!text/more_keys_for_symbols_2"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ <Key
+ latin:keyLabel="3"
+ latin:keyHintLabel="#"
+ latin:additionalMoreKeys="#"
+ latin:moreKeys="!text/more_keys_for_symbols_3"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ <Key
+ latin:keyLabel="4"
+ latin:keyHintLabel="$"
+ latin:additionalMoreKeys="$"
+ latin:moreKeys="!text/more_keys_for_symbols_4"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ <Key
+ latin:keyLabel="5"
+ latin:keyHintLabel="%"
+ latin:additionalMoreKeys="\\%"
+ latin:moreKeys="!text/more_keys_for_symbols_5"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ <Key
+ latin:keyLabel="6"
+ latin:keyHintLabel="^"
+ latin:additionalMoreKeys="^"
+ latin:moreKeys="!text/more_keys_for_symbols_6"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ <Key
+ latin:keyLabel="7"
+ latin:keyHintLabel="&"
+ latin:additionalMoreKeys="&"
+ latin:moreKeys="!text/more_keys_for_symbols_7"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ <Key
+ latin:keyLabel="8"
+ latin:keyHintLabel="*"
+ latin:additionalMoreKeys="*"
+ latin:moreKeys="!text/more_keys_for_symbols_8"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ <Key
+ latin:keyLabel="9"
+ latin:keyHintLabel="("
+ latin:additionalMoreKeys="("
+ latin:moreKeys="!text/more_keys_for_symbols_9"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ <Key
+ latin:keyLabel="0"
+ latin:keyHintLabel=")"
+ latin:additionalMoreKeys=")"
+ latin:moreKeys="!text/more_keys_for_symbols_0"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ <Key
+ latin:keyLabel="-"
+ latin:keyHintLabel="_"
+ latin:moreKeys="_"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ <Key
+ latin:keyLabel="="
+ latin:keyHintLabel="+"
+ latin:moreKeys="+"
+ latin:keyStyle="hasShiftedLetterHintStyle" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml-sw600dp/rows_pcqwerty.xml b/java/res/xml-sw600dp/rows_pcqwerty.xml
new file mode 100644
index 0000000..ff2f785
--- /dev/null
+++ b/java/res/xml-sw600dp/rows_pcqwerty.xml
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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.0%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty1" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillBoth" />
+ </Row>
+ <Row
+ latin:keyWidth="7.0%p"
+ >
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyWidth="9.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty2" />
+ </Row>
+ <Row
+ latin:keyWidth="7.0%p"
+ >
+ <Key
+ latin:keyStyle="toSymbolKeyStyle"
+ latin:keyLabel="!text/label_to_symbol_key_pcqwerty"
+ latin:keyWidth="12.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty3" />
+ <Key
+ latin:keyStyle="enterKeyStyle"
+ latin:keyWidth="fillBoth" />
+ </Row>
+ <Row
+ latin:keyWidth="7.0%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="15.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty4" />
+ <include
+ latin:keyboardLayout="@xml/key_smiley"
+ latin:keyXPos="-9.0%p"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_pcqwerty5" />
+</merge>
diff --git a/java/res/xml-sw600dp/rows_pcqwerty_symbols.xml b/java/res/xml-sw600dp/rows_pcqwerty_symbols.xml
new file mode 100644
index 0000000..046bce9
--- /dev/null
+++ b/java/res/xml-sw600dp/rows_pcqwerty_symbols.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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" />
+ <include
+ latin:keyboardLayout="@xml/key_styles_currency" />
+ <Row
+ latin:keyWidth="7.0%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty1" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillBoth" />
+ </Row>
+ <Row
+ latin:keyWidth="7.0%p"
+ >
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyWidth="9.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty2" />
+ </Row>
+ <Row
+ latin:keyWidth="7.0%p"
+ >
+ <Key
+ latin:keyStyle="toAlphaKeyStyle"
+ latin:keyWidth="12.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty3" />
+ <Key
+ latin:keyStyle="enterKeyStyle"
+ latin:keyWidth="fillBoth" />
+ </Row>
+ <Row
+ latin:keyWidth="7.0%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty4"
+ latin:keyXPos="15.0%p" />
+ <include
+ latin:keyboardLayout="@xml/key_smiley"
+ latin:keyXPos="-9.0%p"
+ latin:keyWidth="fillRight" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_pcqwerty5" />
+</merge>
diff --git a/java/res/xml-sw768dp/row_pcqwerty5.xml b/java/res/xml-sw768dp/row_pcqwerty5.xml
new file mode 100644
index 0000000..e27ec87
--- /dev/null
+++ b/java/res/xml-sw768dp/row_pcqwerty5.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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"
+>
+ <Row
+ latin:keyWidth="8.047%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/key_settings" />
+ <switch>
+ <case
+ latin:keyboardLayoutSetElement="symbols|symbolsShifted"
+ >
+ <Spacer
+ latin:keyXPos="15.0%p"
+ latin:keyWidth="10.5%p" />
+ </case>
+ <case
+ latin:mode="email|url"
+ >
+ <Key
+ latin:keyStyle="comKeyStyle"
+ latin:keyXPos="15.0%p"
+ latin:keyWidth="10.5%p" />
+ </case>
+ <default>
+ <Spacer
+ latin:keyXPos="15.0%p"
+ latin:keyWidth="10.5%p" />
+ </default>
+ </switch>
+ <Key
+ latin:keyStyle="spaceKeyStyle"
+ latin:keyWidth="49.0%p" />
+ <include
+ latin:keyXPos="-8.047%p"
+ latin:keyWidth="fillRight"
+ latin:keyboardLayout="@xml/key_shortcut" />
+ </Row>
+</merge>
diff --git a/java/res/xml-sw768dp/rows_pcqwerty.xml b/java/res/xml-sw768dp/rows_pcqwerty.xml
new file mode 100644
index 0000000..c14fb12
--- /dev/null
+++ b/java/res/xml-sw768dp/rows_pcqwerty.xml
@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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.0%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty1" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillBoth" />
+ </Row>
+ <Row
+ latin:keyWidth="7.0%p"
+ >
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyWidth="9.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty2" />
+ </Row>
+ <Row
+ latin:keyWidth="7.0%p"
+ >
+ <Key
+ latin:keyStyle="toSymbolKeyStyle"
+ latin:keyLabel="!text/label_to_symbol_key_pcqwerty"
+ latin:keyWidth="12.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty3" />
+ <Key
+ latin:keyStyle="enterKeyStyle"
+ latin:keyWidth="fillBoth" />
+ </Row>
+ <Row
+ latin:keyWidth="7.0%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="15.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty4" />
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="fillBoth" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_pcqwerty5" />
+</merge>
diff --git a/java/res/xml-sw768dp/rows_pcqwerty_symbols.xml b/java/res/xml-sw768dp/rows_pcqwerty_symbols.xml
new file mode 100644
index 0000000..faa9d8a
--- /dev/null
+++ b/java/res/xml-sw768dp/rows_pcqwerty_symbols.xml
@@ -0,0 +1,67 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2011, 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" />
+ <include
+ latin:keyboardLayout="@xml/key_styles_currency" />
+ <Row
+ latin:keyWidth="7.0%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty1" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillBoth" />
+ </Row>
+ <Row
+ latin:keyWidth="7.0%p"
+ >
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyWidth="9.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty2" />
+ </Row>
+ <Row
+ latin:keyWidth="7.0%p"
+ >
+ <Key
+ latin:keyStyle="toAlphaKeyStyle"
+ latin:keyWidth="12.0%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty3" />
+ <Key
+ latin:keyStyle="enterKeyStyle"
+ latin:keyWidth="fillBoth" />
+ </Row>
+ <Row
+ latin:keyWidth="7.0%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty4"
+ latin:keyXPos="15.0%p" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_pcqwerty5" />
+</merge>
diff --git a/java/res/xml/kbd_pcqwerty.xml b/java/res/xml/kbd_pcqwerty.xml
new file mode 100644
index 0000000..cebca4f
--- /dev/null
+++ b/java/res/xml/kbd_pcqwerty.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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="3.20%p"
+ latin:touchPositionCorrectionData="@null"
+>
+ <include
+ latin:keyboardLayout="@xml/rows_pcqwerty" />
+</Keyboard>
diff --git a/java/res/xml/kbd_pcqwerty_symbols.xml b/java/res/xml/kbd_pcqwerty_symbols.xml
new file mode 100644
index 0000000..fd64e5b
--- /dev/null
+++ b/java/res/xml/kbd_pcqwerty_symbols.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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="3.20%p"
+ latin:touchPositionCorrectionData="@null"
+>
+ <include
+ latin:keyboardLayout="@xml/rows_pcqwerty_symbols" />
+</Keyboard>
diff --git a/java/res/xml/key_styles_common.xml b/java/res/xml/key_styles_common.xml
index 4341b79..f0e9170 100644
--- a/java/res/xml/key_styles_common.xml
+++ b/java/res/xml/key_styles_common.xml
@@ -147,8 +147,8 @@
latin:keyIconPreview="!icon/tab_key_preview" />
<switch>
<!-- When this qwerty keyboard has no shortcut keys but shortcut key is enabled, then symbol
- keyboard will have a shortcut key. That means we should use
- iconToSymbolKeyWithShortcutKey here. -->
+ keyboard will have a shortcut key. That means we should use label_to_symbol_key label
+ and shortcut_for_label icon. -->
<case
latin:shortcutKeyEnabled="true"
latin:hasShortcutKey="false"
diff --git a/java/res/xml/keyboard_layout_set_pcqwerty.xml b/java/res/xml/keyboard_layout_set_pcqwerty.xml
new file mode 100644
index 0000000..9367ed0
--- /dev/null
+++ b/java/res/xml/keyboard_layout_set_pcqwerty.xml
@@ -0,0 +1,42 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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_pcqwerty"
+ latin:enableProximityCharsCorrection="true" />
+ <Element
+ latin:elementName="symbols"
+ latin:elementKeyboard="@xml/kbd_pcqwerty_symbols" />
+ <Element
+ latin:elementName="symbolsShifted"
+ latin:elementKeyboard="@xml/kbd_pcqwerty_symbols" />
+ <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/keys_pcqwerty2_right3.xml b/java/res/xml/keys_pcqwerty2_right3.xml
new file mode 100644
index 0000000..2065e6b
--- /dev/null
+++ b/java/res/xml/keys_pcqwerty2_right3.xml
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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="alphabet|alphabetAutomaticShifted"
+ >
+ <Key
+ latin:keyLabel="["
+ latin:moreKeys="{" />
+ <Key
+ latin:keyLabel="]"
+ latin:moreKeys="}" />
+ <!-- U+00A6: "¦" BROKEN BAR -->
+ <Key
+ latin:keyLabel="\\"
+ latin:moreKeys="\\|,¦" />
+ </case>
+ <!-- keyboardLayoutSetElement="alphabet*Shifted|symbols*" -->
+ <default>
+ <Key
+ latin:keyLabel="{" />
+ <Key
+ latin:keyLabel="}" />
+ <!-- U+00A6: "¦" BROKEN BAR -->
+ <Key
+ latin:keyLabel="|"
+ latin:moreKeys="¦" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml/keys_pcqwerty3_right2.xml b/java/res/xml/keys_pcqwerty3_right2.xml
new file mode 100644
index 0000000..fd9d3b8
--- /dev/null
+++ b/java/res/xml/keys_pcqwerty3_right2.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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="alphabet|alphabetAutomaticShifted"
+ >
+ <Key
+ latin:keyLabel=";"
+ latin:moreKeys=":" />
+ <Key
+ latin:keyLabel="\'"
+ latin:moreKeys=""" />
+ </case>
+ <!-- keyboardLayoutSetElement="alphabet*Shifted|symbols*" -->
+ <default>
+ <Key
+ latin:keyLabel=":" />
+ <!-- U+2018: "‘" LEFT SINGLE QUOTATION MARK
+ U+2019: "’" RIGHT SINGLE QUOTATION MARK
+ U+201A: "‚" SINGLE LOW-9 QUOTATION MARK
+ U+201B: "‛" SINGLE HIGH-REVERSED-9 QUOTATION MARK
+ U+201C: "“" LEFT DOUBLE QUOTATION MARK
+ U+201D: "”" RIGHT DOUBLE QUOTATION MARK
+ U+201E: "„" DOUBLE LOW-9 QUOTATION MARK
+ U+201F: "‟" DOUBLE HIGH-REVERSED-9 QUOTATION MARK -->
+ <!-- TODO: Neither DroidSans nor Roboto have the glyph for U+201F DOUBLE HIGH-REVERSED-9 QUOTATION MARK.
+ moreKeys="!fixedColumnOrder!4,“,”,„,‟,‘,’,‚,‛" -->
+ <Key
+ latin:keyLabel="""
+ latin:moreKeys="!fixedColumnOrder!4,“,”,‘,’,‚,‛" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml/keys_pcqwerty4_right3.xml b/java/res/xml/keys_pcqwerty4_right3.xml
new file mode 100644
index 0000000..7795b3d
--- /dev/null
+++ b/java/res/xml/keys_pcqwerty4_right3.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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="alphabet|alphabetAutomaticShifted"
+ >
+ <Key
+ latin:keyLabel=","
+ latin:moreKeys="<" />
+ <Key
+ latin:keyLabel="."
+ latin:moreKeys=">" />
+ <!-- U+00BF: "¿" INVERTED QUESTION MARK -->
+ <Key
+ latin:keyLabel="/"
+ latin:moreKeys="\?,¿" />
+ </case>
+ <!-- keyboardLayoutSetElement="alphabet*Shifted|symbols*" -->
+ <default>
+ <!-- U+2039: "‹" SINGLE LEFT-POINTING ANGLE QUOTATION MARK
+ U+203A: "›" SINGLE RIGHT-POINTING ANGLE QUOTATION MARK
+ U+2264: "≤" LESS-THAN OR EQUAL TO
+ U+2265: "≥" GREATER-THAN EQUAL TO
+ U+00AB: "«" LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+ U+00BB: "»" RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK -->
+ <Key
+ latin:keyLabel="<"
+ latin:moreKeys="!fixedColumnOrder!3,‹,≤,«" />
+ <Key
+ latin:keyLabel=">"
+ latin:moreKeys="!fixedColumnOrder!3,›,≥,»" />
+ <!-- U+00BF: "¿" INVERTED QUESTION MARK -->
+ <Key
+ latin:keyLabel="\?"
+ latin:moreKeys="¿" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml/keys_pcqwerty_symbols1.xml b/java/res/xml/keys_pcqwerty_symbols1.xml
new file mode 100644
index 0000000..bf48b1f
--- /dev/null
+++ b/java/res/xml/keys_pcqwerty_symbols1.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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"
+>
+ <!-- U+00AC: "¬" NOT SIGN -->
+ <Key
+ latin:keyLabel="~"
+ latin:moreKeys="¬" />
+ <!-- U+00A1: "¡" NVERTED EXCLAMATION MARK -->
+ <Key
+ latin:keyLabel="!"
+ latin:moreKeys="¡" />
+ <Key
+ latin:keyLabel="\@" />
+ <Key
+ latin:keyLabel="#" />
+ <Key
+ latin:keyLabel="$" />
+ <!-- U+2030: "‰" PER MILLE SIGN -->
+ <Key
+ latin:keyLabel="%"
+ latin:moreKeys="‰" />
+ <Key
+ latin:keyLabel="^" />
+ <Key
+ latin:keyLabel="&" />
+ <Key
+ latin:keyLabel="*"
+ latin:moreKeys="!text/more_keys_for_star" />
+ <Key
+ latin:keyLabel="(" />
+ <Key
+ latin:keyLabel=")" />
+ <Key
+ latin:keyLabel="_" />
+ <Key
+ latin:keyLabel="+" />
+</merge>
diff --git a/java/res/xml/keys_pcqwerty_symbols2.xml b/java/res/xml/keys_pcqwerty_symbols2.xml
new file mode 100644
index 0000000..d0ea984
--- /dev/null
+++ b/java/res/xml/keys_pcqwerty_symbols2.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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"
+>
+ <!-- U+2022: "•" BULLET -->
+ <Key
+ latin:keyLabel="•"
+ latin:moreKeys="!text/more_keys_for_bullet" />
+ <!-- U+00B1: "±" PLUS-MINUS SIGN -->
+ <Key
+ latin:keyLabel="±" />
+ <!-- U+00AC: "¬" NOT SIGN -->
+ <Key
+ latin:keyLabel="¬" />
+ <!-- U+00A6: "¦" BROKEN BAR -->
+ <Key
+ latin:keyLabel="¦" />
+ <!-- U+221A: "√" SQUARE ROOT -->
+ <Key
+ latin:keyLabel="√" />
+ <!-- U+03C0: "π" GREEK SMALL LETTER PI
+ U+03A0: "Π" GREEK CAPITAL LETTER PI -->
+ <Key
+ latin:keyLabel="π"
+ latin:moreKeys="Π" />
+ <!-- U+03CC: "σ" GREEK SMALL LETTER SIGMA
+ U+03A3: "Σ" GREEK CAPITAL LETTER SIGMA -->
+ <Key
+ latin:keyLabel="σ"
+ latin:moreKeys="Σ" />
+ <!-- U+00B5: "µ" MICRO SIGN -->
+ <Key
+ latin:keyLabel="µ" />
+ <!-- U+00F7: "÷" DIVISION SIGN -->
+ <Key
+ latin:keyLabel="÷" />
+ <!-- U+00D7: "×" MULTIPLICATION SIGN -->
+ <Key
+ latin:keyLabel="×" />
+</merge>
diff --git a/java/res/xml/keys_pcqwerty_symbols3.xml b/java/res/xml/keys_pcqwerty_symbols3.xml
new file mode 100644
index 0000000..35279de
--- /dev/null
+++ b/java/res/xml/keys_pcqwerty_symbols3.xml
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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"
+>
+ <!-- U+00A3: "£" POUND SIGN; -->
+ <Key
+ latin:keyLabel="£" />
+ <!-- U+00A2: "¢" CENT SIGN -->
+ <Key
+ latin:keyLabel="¢" />
+ <!-- U+20AC: "€" EURO SIGN -->
+ <Key
+ latin:keyLabel="€" />
+ <!-- U+00A5: "¥" YEN SIGN -->
+ <Key
+ latin:keyLabel="¥" />
+ <!-- U+00A4: "¤" CURRENCY SIGN -->
+ <Key
+ latin:keyLabel="¤" />
+ <!-- U+00B0: "°" DEGREE SIGN
+ U+2032: "′" PRIME
+ U+2033: "″" DOUBLE PRIME -->
+ <Key
+ latin:keyLabel="°"
+ latin:moreKeys="′,″" />
+ <!-- U+2260: "≠" NOT EQUAL TO -->
+ <Key
+ latin:keyLabel="≠" />
+ <!-- U+2248: "≈" ALMOST EQUAL TO -->
+ <Key
+ latin:keyLabel="≈" />
+ <!-- U+221E: "∞" INFINITY -->
+ <Key
+ latin:keyLabel="∞" />
+</merge>
diff --git a/java/res/xml/keys_pcqwerty_symbols4.xml b/java/res/xml/keys_pcqwerty_symbols4.xml
new file mode 100644
index 0000000..3c628f0
--- /dev/null
+++ b/java/res/xml/keys_pcqwerty_symbols4.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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"
+>
+ <!-- U+2122: "™" TRADE MARK SIGN -->
+ <Key
+ latin:keyLabel="™" />
+ <!-- U+00AE: "®" REGISTERED SIGN -->
+ <Key
+ latin:keyLabel="®" />
+ <!-- U+00A9: "©" COPYRIGHT SIGN -->
+ <Key
+ latin:keyLabel="©" />
+ <!-- U+00B6: "¶" PILCROW SIGN -->
+ <Key
+ latin:keyLabel="¶" />
+ <!-- U+00A7: "§" SECTION SIGN -->
+ <Key
+ latin:keyLabel="§" />
+ <!-- U+2191: "↑" UPWARDS ARROW
+ U+2193: "↓" DOWNWARDS ARROW
+ U+2190: "←" LEFTWARDS ARROW
+ U+2192: "→" RIGHTWARDS ARROW -->
+ <Key
+ latin:keyLabel="↑"
+ latin:moreKeys="↓" />
+ <Key
+ latin:keyLabel="←"
+ latin:moreKeys="→" />
+</merge>
diff --git a/java/res/xml/row_pcqwerty5.xml b/java/res/xml/row_pcqwerty5.xml
new file mode 100644
index 0000000..c9ee32c
--- /dev/null
+++ b/java/res/xml/row_pcqwerty5.xml
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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"
+>
+ <Row
+ latin:keyWidth="7.692%p"
+ >
+ <switch>
+ <case
+ latin:keyboardLayoutSetElement="symbols|symbolsShifted"
+ >
+ <Key
+ latin:keyStyle="toAlphaKeyStyle"
+ latin:keyWidth="11.538%p" />
+ </case>
+ <!-- keyboardLayoutSetElement="alphabet*" -->
+ <default>
+ <Key
+ latin:keyStyle="toSymbolKeyStyle"
+ latin:keyIcon="!icon/undefined"
+ latin:keyLabel="!text/label_to_symbol_key_pcqwerty"
+ latin:keyWidth="11.538%p" />
+ </default>
+ </switch>
+ <switch>
+ <case
+ latin:shortcutKeyEnabled="true"
+ >
+ <Key
+ latin:keyStyle="shortcutKeyStyle" />
+ </case>
+ </switch>
+ <switch>
+ <case
+ latin:languageSwitchKeyEnabled="true"
+ >
+ <Key
+ latin:keyStyle="languageSwitchKeyStyle"
+ latin:keyXPos="19.230%p" />
+ <Key
+ latin:keyStyle="spaceKeyStyle"
+ latin:keyWidth="53.844%p" />
+ </case>
+ <!-- languageSwitchKeyEnabled="false" -->
+ <default>
+ <Key
+ latin:keyStyle="spaceKeyStyle"
+ latin:keyXPos="19.230%p"
+ latin:keyWidth="61.536%p" />
+ </default>
+ </switch>
+ <Key
+ latin:keyStyle="enterKeyStyle"
+ latin:keyWidth="fillRight" />
+ </Row>
+</merge>
diff --git a/java/res/xml/rowkeys_pcqwerty1.xml b/java/res/xml/rowkeys_pcqwerty1.xml
new file mode 100644
index 0000000..0ecda35
--- /dev/null
+++ b/java/res/xml/rowkeys_pcqwerty1.xml
@@ -0,0 +1,87 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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="alphabet|alphabetAutomaticShifted"
+ >
+ <!-- U+00AC: "¬" NOT SIGN -->
+ <Key
+ latin:keyLabel="`"
+ latin:moreKeys="~"
+ latin:additionalMoreKeys="¬" />
+ <!-- U+00A1: "¡" NVERTED EXCLAMATION MARK -->
+ <Key
+ latin:keyLabel="1"
+ latin:additionalMoreKeys="!"
+ latin:moreKeys="¡,!text/more_keys_for_symbols_1" />
+ <Key
+ latin:keyLabel="2"
+ latin:additionalMoreKeys="\@"
+ latin:moreKeys="!text/more_keys_for_symbols_2" />
+ <Key
+ latin:keyLabel="3"
+ latin:additionalMoreKeys="#"
+ latin:moreKeys="!text/more_keys_for_symbols_3" />
+ <Key
+ latin:keyLabel="4"
+ latin:additionalMoreKeys="$"
+ latin:moreKeys="!text/more_keys_for_symbols_4" />
+ <Key
+ latin:keyLabel="5"
+ latin:additionalMoreKeys="\\%"
+ latin:moreKeys="!text/more_keys_for_symbols_5" />
+ <Key
+ latin:keyLabel="6"
+ latin:additionalMoreKeys="^"
+ latin:moreKeys="!text/more_keys_for_symbols_6" />
+ <Key
+ latin:keyLabel="7"
+ latin:additionalMoreKeys="&"
+ latin:moreKeys="!text/more_keys_for_symbols_7" />
+ <Key
+ latin:keyLabel="8"
+ latin:additionalMoreKeys="*,%"
+ latin:moreKeys="!text/more_keys_for_symbols_8" />
+ <Key
+ latin:keyLabel="9"
+ latin:additionalMoreKeys="("
+ latin:moreKeys="!text/more_keys_for_symbols_9" />
+ <Key
+ latin:keyLabel="0"
+ latin:additionalMoreKeys=")"
+ latin:moreKeys="!text/more_keys_for_symbols_0" />
+ <Key
+ latin:keyLabel="-"
+ latin:moreKeys="_" />
+ <Key
+ latin:keyLabel="="
+ latin:moreKeys="+" />
+ </case>
+ <!-- keyboardLayoutSetElement="alphabet*Shifted|symbols*" -->
+ <default>
+ <include
+ latin:keyboardLayout="@xml/keys_pcqwerty_symbols1" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml/rowkeys_pcqwerty2.xml b/java/res/xml/rowkeys_pcqwerty2.xml
new file mode 100644
index 0000000..cedf475
--- /dev/null
+++ b/java/res/xml/rowkeys_pcqwerty2.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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="symbols|symbolsShifted"
+ >
+ <include
+ latin:keyboardLayout="@xml/keys_pcqwerty_symbols2" />
+ </case>
+ <default>
+ <!-- The keys on this PC layout row2 consist of the letters of QWERTY layout row1 and
+ some symbols keys. -->
+ <include
+ latin:keyboardLayout="@xml/rowkeys_qwerty1"
+ latin:keyLabelFlags="disableAdditionalMoreKeys|disableKeyHintLabel" />
+ </default>
+ </switch>
+ <include
+ latin:keyboardLayout="@xml/keys_pcqwerty2_right3" />
+</merge>
diff --git a/java/res/xml/rowkeys_pcqwerty3.xml b/java/res/xml/rowkeys_pcqwerty3.xml
new file mode 100644
index 0000000..5044e5f
--- /dev/null
+++ b/java/res/xml/rowkeys_pcqwerty3.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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="symbols|symbolsShifted"
+ >
+ <include
+ latin:keyboardLayout="@xml/keys_pcqwerty_symbols3" />
+ </case>
+ <default>
+ <!-- The keys on this PC layout row3 consist of the letters of QWERTY layout row2 and
+ some symbols keys. -->
+ <include
+ latin:keyboardLayout="@xml/rowkeys_qwerty2" />
+ </default>
+ </switch>
+ <include
+ latin:keyboardLayout="@xml/keys_pcqwerty3_right2" />
+</merge>
diff --git a/java/res/xml/rowkeys_pcqwerty4.xml b/java/res/xml/rowkeys_pcqwerty4.xml
new file mode 100644
index 0000000..4071e8c
--- /dev/null
+++ b/java/res/xml/rowkeys_pcqwerty4.xml
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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="symbols|symbolsShifted"
+ >
+ <include
+ latin:keyboardLayout="@xml/keys_pcqwerty_symbols4" />
+ </case>
+ <default>
+ <!-- The keys on this PC layout row4 consist of the letters of QWERTY layout row3 and
+ some symbols keys. -->
+ <include
+ latin:keyboardLayout="@xml/rowkeys_qwerty3" />
+ </default>
+ </switch>
+ <include
+ latin:keyboardLayout="@xml/keys_pcqwerty4_right3" />
+</merge>
diff --git a/java/res/xml/rows_pcqwerty.xml b/java/res/xml/rows_pcqwerty.xml
new file mode 100644
index 0000000..a5ed745
--- /dev/null
+++ b/java/res/xml/rows_pcqwerty.xml
@@ -0,0 +1,65 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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.692%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty1" />
+ </Row>
+ <Row
+ latin:keyWidth="7.692%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty2" />
+ </Row>
+ <Row
+ latin:keyWidth="7.692%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty3"
+ latin:keyXPos="3.846%p" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillRight"
+ latin:visualInsetsLeft="1%p" />
+ </Row>
+ <Row
+ latin:keyWidth="7.692%p"
+ >
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="11.538%p"
+ latin:visualInsetsRight="1%p" />
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty4" />
+ <Key
+ latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="fillRight"
+ latin:visualInsetsLeft="1%p" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_pcqwerty5" />
+</merge>
diff --git a/java/res/xml/rows_pcqwerty_symbols.xml b/java/res/xml/rows_pcqwerty_symbols.xml
new file mode 100644
index 0000000..107a4ad
--- /dev/null
+++ b/java/res/xml/rows_pcqwerty_symbols.xml
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+**
+** Copyright 2012, 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" />
+ <include
+ latin:keyboardLayout="@xml/key_styles_currency" />
+ <Row
+ latin:keyWidth="7.692%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty1" />
+ </Row>
+ <Row
+ latin:keyWidth="7.692%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty2" />
+ </Row>
+ <Row
+ latin:keyWidth="7.692%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty3"
+ latin:keyXPos="3.846%p" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyWidth="fillRight"
+ latin:visualInsetsLeft="1%p" />
+ </Row>
+ <Row
+ latin:keyWidth="7.692%p"
+ >
+ <include
+ latin:keyboardLayout="@xml/rowkeys_pcqwerty4"
+ latin:keyXPos="11.538%p" />
+ </Row>
+ <include
+ latin:keyboardLayout="@xml/row_pcqwerty5" />
+</merge>
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
index cd3d3c0..1b51675 100644
--- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
+++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
@@ -234,6 +234,7 @@
/* 118 */ "label_to_phone_symbols_key",
/* 119 */ "label_time_am",
/* 120 */ "label_time_pm",
+ /* 121 */ "label_to_symbol_key_pcqwerty",
};
private static final String EMPTY = "";
@@ -381,6 +382,8 @@
/* 119 */ "AM",
// Key label for "post meridiem"
/* 120 */ "PM",
+ // Label for "switch to symbols" key on PC QWERTY layout
+ /* 121 */ "Sym",
};
/* Language ar: Arabic */
diff --git a/tools/maketext/res/values/donottranslate-more-keys.xml b/tools/maketext/res/values/donottranslate-more-keys.xml
index 4016134..1acb8a1 100644
--- a/tools/maketext/res/values/donottranslate-more-keys.xml
+++ b/tools/maketext/res/values/donottranslate-more-keys.xml
@@ -201,4 +201,6 @@
<string name="label_time_am">"AM"</string>
<!-- Key label for "post meridiem" -->
<string name="label_time_pm">"PM"</string>
+ <!-- Label for "switch to symbols" key on PC QWERTY layout -->
+ <string name="label_to_symbol_key_pcqwerty">Sym</string>
</resources>