aboutsummaryrefslogtreecommitdiffstats
path: root/java/res
diff options
context:
space:
mode:
Diffstat (limited to 'java/res')
-rw-r--r--java/res/values/attrs.xml8
-rw-r--r--java/res/xml-sw600dp/kbd_key_styles.xml51
-rw-r--r--java/res/xml-sw600dp/kbd_number.xml17
-rw-r--r--java/res/xml-sw600dp/kbd_phone.xml8
-rw-r--r--java/res/xml-sw600dp/kbd_phone_symbols.xml8
-rw-r--r--java/res/xml-sw600dp/kbd_qwerty_f2.xml77
-rw-r--r--java/res/xml-sw600dp/kbd_qwerty_row4.xml10
-rw-r--r--java/res/xml-sw600dp/kbd_symbols.xml10
-rw-r--r--java/res/xml-sw600dp/kbd_symbols_shift.xml10
-rw-r--r--java/res/xml/kbd_key_styles.xml128
10 files changed, 213 insertions, 114 deletions
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 5c00510af..e9b6354a5 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -277,6 +277,14 @@
<attr name="navigateAction" format="boolean" />
<attr name="passwordInput" format="boolean" />
<attr name="hasSettingsKey" format="boolean" />
+ <!-- This should be aligned with KeyboardID.F2KEY_MODE_* -->
+ <attr name="f2KeyMode" format="enum">
+ <enum name="none" value="0" />
+ <enum name="settings" value="1" />
+ <enum name="shortcutIme" value="2" />
+ <enum name="shortcutImeOrSettings" value="3" />
+ </attr>
+ <attr name="clobberSettingsKey" format="boolean" />
<attr name="voiceKeyEnabled" format="boolean" />
<attr name="hasVoiceKey" format="boolean" />
<attr name="imeAction" format="enum">
diff --git a/java/res/xml-sw600dp/kbd_key_styles.xml b/java/res/xml-sw600dp/kbd_key_styles.xml
index dbff293ba..e8e80ac03 100644
--- a/java/res/xml-sw600dp/kbd_key_styles.xml
+++ b/java/res/xml-sw600dp/kbd_key_styles.xml
@@ -25,6 +25,23 @@
<key-style
latin:styleName="functionalKeyStyle"
latin:isFunctional="true" />
+ <!-- Base key style for the key which may have settings key as popup key -->
+ <switch>
+ <case
+ latin:clobberSettingsKey="true"
+ >
+ <key-style
+ latin:styleName="settingsPopupStyle"
+ latin:parentStyle="functionalKeyStyle" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="settingsPopupStyle"
+ latin:keyLabelOption="popupHint"
+ latin:popupCharacters="\@icon/5|\@integer/key_settings"
+ latin:parentStyle="functionalKeyStyle" />
+ </default>
+ </switch>
<!-- Functional key styles -->
<key-style
latin:styleName="shiftKeyStyle"
@@ -59,28 +76,18 @@
latin:keyLabelOption="popupHint"
latin:popupCharacters="@string/alternates_for_smiley"
latin:maxPopupKeyboardColumn="5" />
- <switch>
- <case
- latin:voiceKeyEnabled="true"
- >
- <key-style
- latin:styleName="shortcutOrSettingsKeyStyle"
- latin:code="@integer/key_shortcut"
- latin:keyIcon="iconShortcutKey"
- latin:keyIconPreview="iconPreviewShortcutKey"
- latin:keyLabelOption="popupHint"
- latin:popupCharacters="\@icon/5|\@integer/key_settings"
- latin:parentStyle="functionalKeyStyle" />
- </case>
- <default>
- <key-style
- latin:styleName="shortcutOrSettingsKeyStyle"
- latin:code="@integer/key_settings"
- latin:keyIcon="iconSettingsKey"
- latin:keyIconPreview="iconPreviewSettingsKey"
- latin:parentStyle="functionalKeyStyle" />
- </default>
- </switch>
+ <key-style
+ latin:styleName="shortcutKeyStyle"
+ latin:code="@integer/key_shortcut"
+ latin:keyIcon="iconShortcutKey"
+ latin:keyIconPreview="iconPreviewShortcutKey"
+ latin:parentStyle="settingsPopupStyle" />
+ <key-style
+ latin:styleName="settingsKeyStyle"
+ latin:code="@integer/key_settings"
+ latin:keyIcon="iconSettingsKey"
+ latin:keyIconPreview="iconPreviewSettingsKey"
+ latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="tabKeyStyle"
latin:code="@integer/key_tab"
diff --git a/java/res/xml-sw600dp/kbd_number.xml b/java/res/xml-sw600dp/kbd_number.xml
index 42d7d0777..2c7af0ae2 100644
--- a/java/res/xml-sw600dp/kbd_number.xml
+++ b/java/res/xml-sw600dp/kbd_number.xml
@@ -78,12 +78,11 @@
latin:keyXPos="24.875%p" />
<Key
latin:keyStyle="num0KeyStyle" />
- <Spacer />
- <Key
- latin:keyStyle="shortcutOrSettingsKeyStyle"
+ <Spacer
latin:keyXPos="-11.00%p"
- latin:keyWidth="fillRight"
- latin:keyEdgeFlags="right" />
+ latin:keyWidth="0%p" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_f2" />
</Row>
</case>
<!-- latin:passwordInput="false" -->
@@ -185,11 +184,11 @@
<Key
latin:keyLabel="#"
latin:keyStyle="numLabelStyle" />
- <Key
- latin:keyStyle="shortcutOrSettingsKeyStyle"
+ <Spacer
latin:keyXPos="-11.00%p"
- latin:keyWidth="fillBoth"
- latin:keyEdgeFlags="right" />
+ latin:keyWidth="0%p" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_f2" />
</Row>
</default>
</switch>
diff --git a/java/res/xml-sw600dp/kbd_phone.xml b/java/res/xml-sw600dp/kbd_phone.xml
index 017d00352..4dee882e9 100644
--- a/java/res/xml-sw600dp/kbd_phone.xml
+++ b/java/res/xml-sw600dp/kbd_phone.xml
@@ -115,10 +115,10 @@
<Key
latin:keyLabel="#"
latin:keyStyle="numLabelStyle" />
- <Key
- latin:keyStyle="shortcutOrSettingsKeyStyle"
+ <Spacer
latin:keyXPos="-11.00%p"
- latin:keyWidth="fillBoth"
- latin:keyEdgeFlags="right" />
+ latin:keyWidth="0%p" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_f2" />
</Row>
</Keyboard>
diff --git a/java/res/xml-sw600dp/kbd_phone_symbols.xml b/java/res/xml-sw600dp/kbd_phone_symbols.xml
index 168e6b114..87de880d9 100644
--- a/java/res/xml-sw600dp/kbd_phone_symbols.xml
+++ b/java/res/xml-sw600dp/kbd_phone_symbols.xml
@@ -125,10 +125,10 @@
<Key
latin:keyLabel="#"
latin:keyStyle="numLabelStyle" />
- <Key
- latin:keyStyle="shortcutOrSettingsKeyStyle"
+ <Spacer
latin:keyXPos="-11.00%p"
- latin:keyWidth="fillBoth"
- latin:keyEdgeFlags="right" />
+ latin:keyWidth="0%p" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_f2" />
</Row>
</Keyboard>
diff --git a/java/res/xml-sw600dp/kbd_qwerty_f2.xml b/java/res/xml-sw600dp/kbd_qwerty_f2.xml
new file mode 100644
index 000000000..2724755b0
--- /dev/null
+++ b/java/res/xml-sw600dp/kbd_qwerty_f2.xml
@@ -0,0 +1,77 @@
+<?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"
+>
+ <switch>
+ <case
+ latin:f2KeyMode="settings"
+ >
+ <Key
+ latin:keyStyle="settingsKeyStyle"
+ latin:keyWidth="fillBoth"
+ latin:keyEdgeFlags="right" />
+ </case>
+ <case
+ latin:f2KeyMode="shortcutIme"
+ >
+ <switch>
+ <case
+ latin:voiceKeyEnabled="true"
+ >
+ <Key
+ latin:keyStyle="micKeyStyle"
+ latin:keyWidth="fillBoth"
+ latin:keyEdgeFlags="right" />
+ </case>
+ <!-- voiceKeyEnabled="false" -->
+ <default>
+ <Spacer />
+ </default>
+ </switch>
+ </case>
+ <case
+ latin:f2KeyMode="shortcutImeOrSettings"
+ >
+ <switch>
+ <case
+ latin:voiceKeyEnabled="true"
+ >
+ <Key
+ latin:keyStyle="micKeyStyle"
+ latin:keyWidth="fillBoth"
+ latin:keyEdgeFlags="right" />
+ </case>
+ <!-- voiceKeyEnabled="false" -->
+ <default>
+ <Key
+ latin:keyStyle="settingsKeyStyle"
+ latin:keyWidth="fillBoth"
+ latin:keyEdgeFlags="right" />
+ </default>
+ </switch>
+ </case>
+ <!-- f2KeyMode="none" -->
+ <default>
+ <Spacer />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml-sw600dp/kbd_qwerty_row4.xml b/java/res/xml-sw600dp/kbd_qwerty_row4.xml
index 958a7ed8f..8fd65fe0e 100644
--- a/java/res/xml-sw600dp/kbd_qwerty_row4.xml
+++ b/java/res/xml-sw600dp/kbd_qwerty_row4.xml
@@ -154,10 +154,10 @@
</switch>
</default>
</switch>
- <Key
- latin:keyStyle="shortcutOrSettingsKeyStyle"
- latin:keyXPos="-10.0%p"
- latin:keyWidth="fillBoth"
- latin:keyEdgeFlags="right" />
+ <Spacer
+ latin:keyXPos="-10.00%p"
+ latin:keyWidth="0%p" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_f2" />
</Row>
</merge>
diff --git a/java/res/xml-sw600dp/kbd_symbols.xml b/java/res/xml-sw600dp/kbd_symbols.xml
index fca97c737..77849f6fd 100644
--- a/java/res/xml-sw600dp/kbd_symbols.xml
+++ b/java/res/xml-sw600dp/kbd_symbols.xml
@@ -209,10 +209,10 @@
latin:keyWidth="9.750%p" />
</default>
</switch>
- <Key
- latin:keyStyle="shortcutOrSettingsKeyStyle"
- latin:keyXPos="-10.0%p"
- latin:keyWidth="fillBoth"
- latin:keyEdgeFlags="right" />
+ <Spacer
+ latin:keyXPos="-10.00%p"
+ latin:keyWidth="0%p" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_f2" />
</Row>
</Keyboard>
diff --git a/java/res/xml-sw600dp/kbd_symbols_shift.xml b/java/res/xml-sw600dp/kbd_symbols_shift.xml
index c23681d4e..b25292f27 100644
--- a/java/res/xml-sw600dp/kbd_symbols_shift.xml
+++ b/java/res/xml-sw600dp/kbd_symbols_shift.xml
@@ -147,10 +147,10 @@
latin:keyStyle="spaceKeyStyle"
latin:keyXPos="30.750%p"
latin:keyWidth="39.750%p" />
- <Key
- latin:keyStyle="shortcutOrSettingsKeyStyle"
- latin:keyXPos="-10.0%p"
- latin:keyWidth="fillRight"
- latin:keyEdgeFlags="right" />
+ <Spacer
+ latin:keyXPos="-10.00%p"
+ latin:keyWidth="0%p" />
+ <include
+ latin:keyboardLayout="@xml/kbd_qwerty_f2" />
</Row>
</Keyboard>
diff --git a/java/res/xml/kbd_key_styles.xml b/java/res/xml/kbd_key_styles.xml
index e7d8d31b6..63d519c4c 100644
--- a/java/res/xml/kbd_key_styles.xml
+++ b/java/res/xml/kbd_key_styles.xml
@@ -28,13 +28,21 @@
<!-- Base key style for the key which may have settings key as popup key -->
<switch>
<case
+ latin:clobberSettingsKey="true"
+ >
+ <key-style
+ latin:styleName="settingsPopupStyle"
+ latin:parentStyle="functionalKeyStyle" />
+ </case>
+ <case
+ latin:clobberSettingsKey="false"
latin:hasSettingsKey="true"
>
<key-style
latin:styleName="settingsPopupStyle"
latin:parentStyle="functionalKeyStyle" />
</case>
- <!-- latin:hasSettingsKey="false" -->
+ <!-- clobberSettingsKey="false" and hasSettingsKey="false" -->
<default>
<key-style
latin:styleName="settingsPopupStyle"
@@ -57,57 +65,6 @@
latin:keyIcon="iconDeleteKey"
latin:parentStyle="functionalKeyStyle"
latin:isRepeatable="true" />
- <switch>
- <!-- When this qwerty keyboard has no voice key but voice key is enabled, then symbol
- keyboard will have mic key. That means we should use "?123mic" key here. -->
- <case
- latin:voiceKeyEnabled="true"
- latin:hasVoiceKey="false"
- >
- <key-style
- latin:styleName="toSymbolKeyStyle"
- latin:code="@integer/key_switch_alpha_symbol"
- latin:keyIcon="iconToSymbolKeyWithShortcut"
- latin:parentStyle="functionalKeyStyle" />
- </case>
- <default>
- <key-style
- latin:styleName="toSymbolKeyStyle"
- latin:code="@integer/key_switch_alpha_symbol"
- latin:keyLabel="@string/label_to_symbol_key"
- latin:parentStyle="functionalKeyStyle" />
- </default>
- </switch>
- <key-style
- latin:styleName="settingsKeyStyle"
- latin:code="@integer/key_settings"
- latin:keyIcon="iconSettingsKey"
- latin:keyIconPreview="iconPreviewSettingsKey"
- latin:parentStyle="functionalKeyStyle" />
- <key-style
- latin:styleName="spaceKeyStyle"
- latin:code="@integer/key_space"
- latin:keyIconPreview="iconPreviewSpaceKey"
- latin:parentStyle="functionalKeyStyle" />
- <key-style
- latin:styleName="tabKeyStyle"
- latin:code="@integer/key_tab"
- latin:keyIcon="iconTabKey"
- latin:keyIconPreview="iconPreviewTabKey"
- latin:parentStyle="functionalKeyStyle" />
- <key-style
- latin:styleName="shortcutKeyStyle"
- latin:code="@integer/key_shortcut"
- latin:keyIcon="iconShortcutKey"
- latin:keyIconPreview="iconPreviewShortcutKey"
- latin:parentStyle="settingsPopupStyle" />
- <!-- Note: This key style is not for functional tab key. This is used for the tab key which is
- laid out as normal letter key. -->
- <key-style
- latin:styleName="nonSpecialBackgroundTabKeyStyle"
- latin:code="@integer/key_tab"
- latin:keyIcon="iconTabKey"
- latin:keyIconPreview="iconPreviewTabKey" />
<!-- Return key style -->
<switch>
<case
@@ -164,6 +121,65 @@
</default>
</switch>
<key-style
+ latin:styleName="spaceKeyStyle"
+ latin:code="@integer/key_space"
+ latin:keyIconPreview="iconPreviewSpaceKey"
+ latin:parentStyle="functionalKeyStyle" />
+ <key-style
+ latin:styleName="smileyKeyStyle"
+ latin:keyLabel=":-)"
+ latin:keyOutputText=":-) "
+ latin:keyLabelOption="popupHint"
+ latin:popupCharacters="@string/alternates_for_smiley"
+ latin:maxPopupKeyboardColumn="5"
+ latin:parentStyle="functionalKeyStyle" />
+ <key-style
+ latin:styleName="shortcutKeyStyle"
+ latin:code="@integer/key_shortcut"
+ latin:keyIcon="iconShortcutKey"
+ latin:keyIconPreview="iconPreviewShortcutKey"
+ latin:parentStyle="settingsPopupStyle" />
+ <key-style
+ latin:styleName="settingsKeyStyle"
+ latin:code="@integer/key_settings"
+ latin:keyIcon="iconSettingsKey"
+ latin:keyIconPreview="iconPreviewSettingsKey"
+ latin:parentStyle="functionalKeyStyle" />
+ <key-style
+ latin:styleName="tabKeyStyle"
+ latin:code="@integer/key_tab"
+ latin:keyIcon="iconTabKey"
+ latin:keyIconPreview="iconPreviewTabKey"
+ latin:parentStyle="functionalKeyStyle" />
+ <!-- Note: This key style is not for functional tab key. This is used for the tab key which is
+ laid out as normal letter key. -->
+ <key-style
+ latin:styleName="nonSpecialBackgroundTabKeyStyle"
+ latin:code="@integer/key_tab"
+ latin:keyIcon="iconTabKey"
+ latin:keyIconPreview="iconPreviewTabKey" />
+ <switch>
+ <!-- When this qwerty keyboard has no voice key but voice key is enabled, then symbol
+ keyboard will have mic key. That means we should use "?123mic" key here. -->
+ <case
+ latin:voiceKeyEnabled="true"
+ latin:hasVoiceKey="false"
+ >
+ <key-style
+ latin:styleName="toSymbolKeyStyle"
+ latin:code="@integer/key_switch_alpha_symbol"
+ latin:keyIcon="iconToSymbolKeyWithShortcut"
+ latin:parentStyle="functionalKeyStyle" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="toSymbolKeyStyle"
+ latin:code="@integer/key_switch_alpha_symbol"
+ latin:keyLabel="@string/label_to_symbol_key"
+ latin:parentStyle="functionalKeyStyle" />
+ </default>
+ </switch>
+ <key-style
latin:styleName="toAlphaKeyStyle"
latin:code="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_alpha_key"
@@ -174,14 +190,6 @@
latin:keyLabel="@string/label_alt_key"
latin:parentStyle="functionalKeyStyle"
latin:isSticky="true" />
- <key-style
- latin:styleName="smileyKeyStyle"
- latin:keyLabel=":-)"
- latin:keyOutputText=":-) "
- latin:keyLabelOption="popupHint"
- latin:popupCharacters="@string/alternates_for_smiley"
- latin:maxPopupKeyboardColumn="5"
- latin:parentStyle="functionalKeyStyle" />
<switch>
<case
latin:passwordInput="true"