aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
Diffstat (limited to 'java')
-rw-r--r--java/res/values/attrs.xml10
-rw-r--r--java/res/xml-iw/kbd_qwerty.xml6
-rw-r--r--java/res/xml-sw600dp/kbd_azerty_rows.xml53
-rw-r--r--java/res/xml-sw600dp/kbd_key_styles.xml108
-rw-r--r--java/res/xml-sw600dp/kbd_number.xml108
-rw-r--r--java/res/xml-sw600dp/kbd_phone.xml66
-rw-r--r--java/res/xml-sw600dp/kbd_phone_symbols.xml59
-rw-r--r--java/res/xml-sw600dp/kbd_qwerty_row1.xml5
-rw-r--r--java/res/xml-sw600dp/kbd_qwerty_row2.xml6
-rw-r--r--java/res/xml-sw600dp/kbd_qwerty_row3.xml8
-rw-r--r--java/res/xml-sw600dp/kbd_qwerty_row4.xml139
-rw-r--r--java/res/xml-sw600dp/kbd_qwerty_rows_scandinavia.xml21
-rw-r--r--java/res/xml-sw600dp/kbd_qwertz_rows.xml44
-rw-r--r--java/res/xml-sw600dp/kbd_row3_right.xml68
-rw-r--r--java/res/xml-sw600dp/kbd_ru_rows.xml35
-rw-r--r--java/res/xml-sw600dp/kbd_settings.xml89
-rw-r--r--java/res/xml-sw600dp/kbd_sr_rows.xml50
-rw-r--r--java/res/xml-sw600dp/kbd_symbols.xml44
-rw-r--r--java/res/xml-sw600dp/kbd_symbols_shift.xml35
-rw-r--r--java/res/xml-sw768dp/kbd_azerty_rows.xml19
-rw-r--r--java/res/xml-sw768dp/kbd_number.xml110
-rw-r--r--java/res/xml-sw768dp/kbd_phone.xml69
-rw-r--r--java/res/xml-sw768dp/kbd_phone_symbols.xml77
-rw-r--r--java/res/xml-sw768dp/kbd_qwerty_row1.xml7
-rw-r--r--java/res/xml-sw768dp/kbd_qwerty_row2.xml7
-rw-r--r--java/res/xml-sw768dp/kbd_qwerty_row3.xml7
-rw-r--r--java/res/xml-sw768dp/kbd_qwerty_row4.xml38
-rw-r--r--java/res/xml-sw768dp/kbd_qwerty_rows_scandinavia.xml15
-rw-r--r--java/res/xml-sw768dp/kbd_qwertz_rows.xml14
-rw-r--r--java/res/xml-sw768dp/kbd_ru_rows.xml46
-rw-r--r--java/res/xml-sw768dp/kbd_sr_rows.xml21
-rw-r--r--java/res/xml-sw768dp/kbd_symbols.xml40
-rw-r--r--java/res/xml-sw768dp/kbd_symbols_shift.xml37
-rw-r--r--java/res/xml/kbd_azerty_rows.xml4
-rw-r--r--java/res/xml/kbd_number.xml22
-rw-r--r--java/res/xml/kbd_phone.xml8
-rw-r--r--java/res/xml/kbd_phone_symbols.xml8
-rw-r--r--java/res/xml/kbd_qwerty_row1.xml1
-rw-r--r--java/res/xml/kbd_qwerty_row2.xml4
-rw-r--r--java/res/xml/kbd_qwerty_row3.xml2
-rw-r--r--java/res/xml/kbd_qwerty_row4.xml16
-rw-r--r--java/res/xml/kbd_qwerty_rows_scandinavia.xml4
-rw-r--r--java/res/xml/kbd_qwertz_rows.xml3
-rw-r--r--java/res/xml/kbd_ru_rows.xml6
-rw-r--r--java/res/xml/kbd_sr_rows.xml4
-rw-r--r--java/res/xml/kbd_symbols.xml4
-rw-r--r--java/res/xml/kbd_symbols_row4.xml9
-rw-r--r--java/res/xml/kbd_symbols_shift.xml4
-rw-r--r--java/res/xml/kbd_symbols_shift_row4.xml9
-rw-r--r--java/src/com/android/inputmethod/keyboard/Key.java49
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardId.java6
-rw-r--r--java/src/com/android/inputmethod/keyboard/KeyboardParser.java40
52 files changed, 837 insertions, 827 deletions
diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml
index 3bd6619d8..c63ecbe1a 100644
--- a/java/res/values/attrs.xml
+++ b/java/res/values/attrs.xml
@@ -83,7 +83,12 @@
<!-- Default width of a key, in pixels or percentage of display width. -->
<attr name="keyWidth" format="dimension|fraction" />
<!-- Default height of a row (key height + vertical gap), in pixels or percentage of
- keyboard height. -->
+ keyboard height.
+ If the value is zero, the actual key width will be determined to fill out the area up
+ to the right edge of the keyboard.
+ If the value is negative, the actual key width will be determined to fill out the
+ area between the nearest key on the left hand side and the right edge of the keyboard.
+ -->
<attr name="rowHeight" format="dimension|fraction" />
<!-- Default horizontal gap between keys. -->
<attr name="horizontalGap" format="dimension|fraction" />
@@ -142,6 +147,9 @@
<attr name="shiftedIcon" format="reference" />
<!-- The key is enabled and responds on press. -->
<attr name="enabled" format="boolean" />
+ <!-- The X-coordinate of upper right corner of this key including horizontal gap.
+ If the value is negative, the origin is the right edge of the keyboard. -->
+ <attr name="keyXPos" format="dimension|fraction" />
</declare-styleable>
<declare-styleable name="Keyboard_Row">
diff --git a/java/res/xml-iw/kbd_qwerty.xml b/java/res/xml-iw/kbd_qwerty.xml
index 98bfd7e0b..6c2504e65 100644
--- a/java/res/xml-iw/kbd_qwerty.xml
+++ b/java/res/xml-iw/kbd_qwerty.xml
@@ -35,7 +35,7 @@
latin:rowEdgeFlags="top"
>
<Spacer
- latin:horizontalGap="5%p" />
+ latin:keyWidth="5%p" />
<Key
latin:keyLabel="ק"
latin:keyEdgeFlags="left" />
@@ -54,7 +54,7 @@
<Key
latin:keyLabel="פ" />
<Spacer
- latin:horizontalGap="1.25%p" />
+ latin:keyWidth="1.25%p" />
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="13.75%p"
@@ -86,7 +86,7 @@
</Row>
<Row>
<Spacer
- latin:horizontalGap="5%p" />
+ latin:keyWidth="5%p" />
<Key
latin:keyLabel="ז"
latin:keyEdgeFlags="left" />
diff --git a/java/res/xml-sw600dp/kbd_azerty_rows.xml b/java/res/xml-sw600dp/kbd_azerty_rows.xml
index 5ad11470e..3d57ae715 100644
--- a/java/res/xml-sw600dp/kbd_azerty_rows.xml
+++ b/java/res/xml-sw600dp/kbd_azerty_rows.xml
@@ -24,7 +24,7 @@
<include
latin:keyboardLayout="@xml/kbd_key_styles" />
<Row
- latin:keyWidth="10%p"
+ latin:keyWidth="9.0%p"
latin:rowEdgeFlags="top"
>
<Key
@@ -67,11 +67,15 @@
<Key
latin:keyLabel="p"
latin:keyHintIcon="@drawable/key_hint_num0_holo"
- latin:popupCharacters="@string/alternates_for_p"
+ latin:popupCharacters="@string/alternates_for_p" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyXPos="-10.0%p"
+ latin:keyWidth="-10.0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
- latin:keyWidth="10%p"
+ latin:keyWidth="9.0%p"
>
<Key
latin:keyLabel="q"
@@ -99,15 +103,19 @@
latin:keyLabel="l"
latin:popupCharacters="@string/alternates_for_l" />
<Key
- latin:keyLabel="m"
+ latin:keyLabel="m" />
+ <Key
+ latin:keyStyle="returnKeyStyle"
+ latin:keyXPos="-14.6%p"
+ latin:keyWidth="-14.6%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
- latin:keyWidth="10%p"
+ latin:keyWidth="8.9%p"
>
<Key
latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="15%p"
+ latin:keyWidth="11.1%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="w"
@@ -116,7 +124,6 @@
latin:keyLabel="x" />
<Key
latin:keyLabel="c"
-
latin:popupCharacters="@string/alternates_for_c" />
<Key
latin:keyLabel="v"
@@ -128,11 +135,33 @@
latin:popupCharacters="@string/alternates_for_n" />
<Key
latin:keyLabel="\'" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="15%p"
- latin:keyEdgeFlags="right" />
- </Row>
+ <switch>
+ <case
+ latin:mode="email"
+ >
+ <Key
+ latin:keyLabel="," />
+ <Key
+ latin:keyLabel="." />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel=","
+ latin:manualTemporaryUpperCaseCode="33"
+ latin:keyHintIcon="@drawable/key_hint_exclamation_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_exclamation_large_holo"
+ latin:popupCharacters="!" />
+ <Key
+ latin:keyLabel="."
+ latin:manualTemporaryUpperCaseCode="63"
+ latin:keyHintIcon="@drawable/key_hint_question_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_question_large_holo"
+ latin:popupCharacters="\?" />
+ </default>
+ </switch>
+ <include
+ latin:keyboardLayout="@xml/kbd_row3_right" />
+ </Row>
<include
latin:keyboardLayout="@xml/kbd_qwerty_row4" />
</merge>
diff --git a/java/res/xml-sw600dp/kbd_key_styles.xml b/java/res/xml-sw600dp/kbd_key_styles.xml
index 6be6a2c30..0612cfd62 100644
--- a/java/res/xml-sw600dp/kbd_key_styles.xml
+++ b/java/res/xml-sw600dp/kbd_key_styles.xml
@@ -23,7 +23,7 @@
>
<!-- Base key style for the functional key -->
<switch>
- <case
+ <case
latin:colorScheme="white"
>
<key-style
@@ -37,38 +37,6 @@
latin:styleName="functionalKeyStyle" />
</case>
</switch>
- <!-- Base key style for the key which may have settings key as popup key -->
- <switch>
- <case
- latin:hasSettingsKey="true"
- >
- <key-style
- latin:styleName="settingsPopupStyle"
- latin:parentStyle="functionalKeyStyle" />
- <key-style
- latin:styleName="webTabKeyStyle"
- latin:code="@integer/key_tab"
- latin:keyIcon="@drawable/sym_keyboard_tab_holo"
- latin:iconPreview="@drawable/sym_keyboard_tab_holo"
- latin:keyHintIcon="@drawable/hint_popup_holo"
- latin:popupCharacters="\@drawable/sym_keyboard_settings|\@integer/key_settings"
- latin:parentStyle="functionalKeyStyle" />
- </case>
- <!-- latin:hasSettingsKey="false" -->
- <default>
- <key-style
- latin:styleName="settingsPopupStyle"
- latin:keyHintIcon="@drawable/hint_popup_holo"
- latin:popupCharacters="\@drawable/sym_keyboard_settings|\@integer/key_settings"
- latin:parentStyle="functionalKeyStyle" />
- <key-style
- latin:styleName="webTabKeyStyle"
- latin:code="@integer/key_tab"
- latin:keyIcon="@drawable/sym_keyboard_tab_holo"
- latin:iconPreview="@drawable/sym_keyboard_tab_holo"
- latin:parentStyle="functionalKeyStyle" />
- </default>
- </switch>
<!-- Functional key styles -->
<switch>
<case
@@ -110,18 +78,28 @@
latin:keyHintIcon="@drawable/hint_popup_holo"
latin:popupCharacters="@string/alternates_for_smiley"
latin:maxPopupKeyboardColumn="5" />
- <key-style
- latin:styleName="settingsKeyStyle"
- latin:code="@integer/key_settings"
- latin:keyIcon="@drawable/sym_keyboard_settings_holo"
- latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
- latin:parentStyle="functionalKeyStyle" />
- <key-style
- latin:styleName="micKeyStyle"
- latin:code="@integer/key_voice"
- latin:keyIcon="@drawable/sym_keyboard_voice_holo"
- latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
- latin:parentStyle="settingsPopupStyle" />
+ <switch>
+ <case
+ latin:voiceKeyEnabled="true"
+ >
+ <key-style
+ latin:styleName="micOrSettingsKeyStyle"
+ latin:code="@integer/key_voice"
+ latin:keyIcon="@drawable/sym_keyboard_voice_holo"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
+ latin:keyHintIcon="@drawable/hint_popup_holo"
+ latin:popupCharacters="\@drawable/sym_keyboard_settings|\@integer/key_settings"
+ latin:parentStyle="functionalKeyStyle" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="micOrSettingsKeyStyle"
+ latin:code="@integer/key_settings"
+ latin:keyIcon="@drawable/sym_keyboard_settings_holo"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
+ latin:parentStyle="functionalKeyStyle" />
+ </default>
+ </switch>
</case>
<case
latin:colorScheme="black"
@@ -162,21 +140,37 @@
latin:keyHintIcon="@drawable/hint_popup_holo"
latin:popupCharacters="@string/alternates_for_smiley"
latin:maxPopupKeyboardColumn="5" />
- <key-style
- latin:styleName="settingsKeyStyle"
- latin:code="@integer/key_settings"
- latin:keyIcon="@drawable/sym_bkeyboard_settings"
- latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
- latin:parentStyle="functionalKeyStyle" />
- <key-style
- latin:styleName="micKeyStyle"
- latin:code="@integer/key_voice"
- latin:keyIcon="@drawable/sym_bkeyboard_mic"
- latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
- latin:parentStyle="settingsPopupStyle" />
+ <switch>
+ <case
+ latin:voiceKeyEnabled="true"
+ >
+ <key-style
+ latin:styleName="micOrSettingsKeyStyle"
+ latin:code="@integer/key_voice"
+ latin:keyIcon="@drawable/sym_bkeyboard_mic"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
+ latin:keyHintIcon="@drawable/hint_popup_holo"
+ latin:popupCharacters="\@drawable/sym_keyboard_settings|\@integer/key_settings"
+ latin:parentStyle="functionalKeyStyle" />
+ </case>
+ <default>
+ <key-style
+ latin:styleName="micOrSettingsKeyStyle"
+ latin:code="@integer/key_settings"
+ latin:keyIcon="@drawable/sym_bkeyboard_settings"
+ latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
+ latin:parentStyle="functionalKeyStyle" />
+ </default>
+ </switch>
</case>
</switch>
<key-style
+ latin:styleName="tabKeyStyle"
+ latin:code="@integer/key_tab"
+ latin:keyLabel="@string/label_tab_key"
+ latin:keyLabelOption="fontNormal"
+ latin:parentStyle="functionalKeyStyle" />
+ <key-style
latin:styleName="toSymbolKeyStyle"
latin:code="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_symbol_key"
diff --git a/java/res/xml-sw600dp/kbd_number.xml b/java/res/xml-sw600dp/kbd_number.xml
index 4af621d86..80391ed03 100644
--- a/java/res/xml-sw600dp/kbd_number.xml
+++ b/java/res/xml-sw600dp/kbd_number.xml
@@ -23,7 +23,7 @@
latin:keyboardHeight="@dimen/keyboardHeight"
latin:maxKeyboardHeight="50%p"
latin:rowHeight="25%p"
- latin:keyWidth="13.7%p"
+ latin:keyWidth="12.7%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:popupKeyboardTemplate="@xml/kbd_popup_template"
@@ -39,71 +39,68 @@
>
<!-- This row is intentionally not marked as a top row -->
<Row>
- <Spacer
- latin:horizontalGap="29.5%p" />
<Key
- latin:keyStyle="num1KeyStyle" />
+ latin:keyStyle="num1KeyStyle"
+ latin:keyXPos="29.5%p" />
<Key
latin:keyStyle="num2KeyStyle" />
<Key
latin:keyStyle="num3KeyStyle" />
- <Spacer
- latin:horizontalGap="20.3%p" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="9.2%p"
+ latin:keyXPos="-10.0%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
- <Spacer
- latin:horizontalGap="29.5%p" />
<Key
- latin:keyStyle="num4KeyStyle" />
+ latin:keyStyle="num4KeyStyle"
+ latin:keyXPos="29.5%p" />
<Key
latin:keyStyle="num5KeyStyle" />
<Key
latin:keyStyle="num6KeyStyle" />
- <Spacer
- latin:horizontalGap="14.8%p" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="14.6%p"
+ latin:keyXPos="-14.6%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
- <Spacer
- latin:horizontalGap="29.5%p" />
<Key
- latin:keyStyle="num7KeyStyle" />
+ latin:keyStyle="num7KeyStyle"
+ latin:keyXPos="29.5%p" />
<Key
latin:keyStyle="num8KeyStyle" />
<Key
latin:keyStyle="num9KeyStyle" />
- <!-- There is an empty area below the "Enter" key and right of the "9" key. To
- ignore the touch event on the area, "9" is intentionally not marked as a right
- edge key. -->
</Row>
<!-- This row is intentionally not marked as a bottom row -->
<Row>
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyWidth="10.0%p"
+ latin:keyEdgeFlags="left" />
<Spacer
- latin:horizontalGap="43.2%p" />
+ latin:keyXPos="29.5%p" />
<Key
latin:keyStyle="num0KeyStyle" />
- <Spacer
- latin:horizontalGap="30.2%p" />
- <include
- latin:keyboardLayout="@xml/kbd_settings" />
+ <Spacer />
+ <Key
+ latin:keyStyle="micOrSettingsKeyStyle"
+ latin:keyXPos="-10.0%p"
+ latin:keyWidth="0.0%p"
+ latin:keyEdgeFlags="right" />
</Row>
</case>
<!-- latin:passwordInput="false" -->
<default>
<!-- This row is intentionally not marked as a top row -->
<Row>
- <Spacer
- latin:horizontalGap="10.0%p" />
<Key
latin:code="45"
latin:keyLabel="-"
+ latin:keyXPos="14.5%p"
latin:keyWidth="9.1%p" />
<Key
latin:code="43"
@@ -113,27 +110,24 @@
latin:code="44"
latin:keyLabel="."
latin:keyWidth="9.1%p" />
- <Spacer
- latin:horizontalGap="4.5%p" />
<Key
- latin:keyLabel="1" />
+ latin:keyLabel="1"
+ latin:keyXPos="43.3%p" />
<Key
latin:keyLabel="2" />
<Key
latin:keyLabel="3" />
- <Spacer
- latin:horizontalGap="8.1%p" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="9.2%p"
+ latin:keyXPos="-10.0%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
- <Spacer
- latin:horizontalGap="10.0%p" />
<Key
latin:code="44"
latin:keyLabel="*"
+ latin:keyXPos="14.5%p"
latin:keyWidth="9.1%p" />
<Key
latin:code="46"
@@ -143,33 +137,27 @@
latin:code="59"
latin:keyLabel=","
latin:keyWidth="9.1%p" />
- <Spacer
- latin:horizontalGap="4.5%p" />
<Key
latin:keyLabel="4"
- latin:keyWidth="13.7%p" />
+ latin:keyXPos="43.3%p" />
<Key
latin:keyLabel="5" />
<Key
latin:keyLabel="6" />
- <Spacer
- latin:horizontalGap="2.6%p" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="14.6%p"
+ latin:keyXPos="-14.6%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
- <Key
- latin:keyStyle="moreKeyStyle"
- latin:keyWidth="10.0%p"
- latin:keyEdgeFlags="left" />
<!-- There is an empty area below the "More" key and left of the "(" key. To
ignore the touch event on the area, "(" is intentionally not marked as a left
edge key. -->
<Key
latin:code="40"
latin:keyLabel="("
+ latin:keyXPos="14.5%p"
latin:keyWidth="9.1%p" />
<Key
latin:code="41"
@@ -179,40 +167,36 @@
latin:code="78"
latin:keyLabel="="
latin:keyWidth="9.1%p" />
- <Spacer
- latin:horizontalGap="4.5%p" />
<Key
- latin:keyLabel="7" />
+ latin:keyLabel="7"
+ latin:keyXPos="43.3%p" />
<Key
latin:keyLabel="8" />
<Key
latin:keyLabel="9" />
- <!-- There is an empty area below the "Enter" key and right of the "9" key. To
- ignore the touch event on the area, "9" is intentionally not marked as a right
- edge key. -->
</Row>
<!-- This row is intentionally not marked as a bottom row -->
<Row>
- <Spacer
- latin:horizontalGap="10.0%p" />
- <!-- There is an empty area below the "More" key and left of the "space" key. To
- ignore the touch event on the area, "space" is intentionally not marked as a
- left edge key. -->
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyWidth="10.0%p"
+ latin:keyEdgeFlags="left" />
<Key
latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle"
+ latin:keyXPos="14.5%p"
latin:keyWidth="27.2%p" />
- <Spacer
- latin:horizontalGap="4.5%p" />
<Key
- latin:keyLabel="*" />
+ latin:keyLabel="*"
+ latin:keyXPos="43.3%p" />
<Key
latin:keyLabel="0" />
<Key
latin:keyLabel="#" />
- <Spacer
- latin:horizontalGap="4.3%p" />
- <include
- latin:keyboardLayout="@xml/kbd_settings" />
+ <Key
+ latin:keyStyle="micOrSettingsKeyStyle"
+ latin:keyXPos="-10.0%p"
+ latin:keyWidth="0.0%p"
+ latin:keyEdgeFlags="right" />
</Row>
</default>
</switch>
diff --git a/java/res/xml-sw600dp/kbd_phone.xml b/java/res/xml-sw600dp/kbd_phone.xml
index f77fc7e43..d13fa851d 100644
--- a/java/res/xml-sw600dp/kbd_phone.xml
+++ b/java/res/xml-sw600dp/kbd_phone.xml
@@ -23,7 +23,7 @@
latin:keyboardHeight="@dimen/keyboardHeight"
latin:maxKeyboardHeight="50%p"
latin:rowHeight="25%p"
- latin:keyWidth="13.7%p"
+ latin:keyWidth="12.7%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:popupKeyboardTemplate="@xml/kbd_popup_template"
@@ -35,55 +35,49 @@
latin:keyboardLayout="@xml/kbd_numkey_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row>
- <Spacer
- latin:horizontalGap="14.5%p" />
<Key
latin:code="45"
latin:keyLabel=" - "
+ latin:keyXPos="19.0%p"
latin:keyWidth="9.1%p" />
<Key
latin:code="43"
latin:keyLabel=" + "
latin:keyWidth="9.1%p" />
- <Spacer
- latin:horizontalGap="9.1%p" />
<Key
- latin:keyStyle="num1KeyStyle" />
+ latin:keyStyle="num1KeyStyle"
+ latin:keyXPos="43.3%p" />
<Key
latin:keyStyle="num2KeyStyle" />
<Key
latin:keyStyle="num3KeyStyle" />
- <Spacer
- latin:horizontalGap="8.1%p" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="9.2%p"
+ latin:keyXPos="-10.0%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
- <Spacer
- latin:horizontalGap="14.5%p" />
<Key
latin:code="44"
latin:keyLabel=" , "
+ latin:keyXPos="19.0%p"
latin:keyWidth="9.1%p" />
<Key
latin:code="46"
latin:keyLabel=" . "
latin:keyWidth="9.1%p" />
- <Spacer
- latin:horizontalGap="9.1%p" />
<Key
- latin:keyStyle="num4KeyStyle" />
+ latin:keyStyle="num4KeyStyle"
+ latin:keyXPos="43.3%p" />
<Key
latin:keyStyle="num5KeyStyle" />
<Key
latin:keyStyle="num6KeyStyle" />
- <Spacer
- latin:horizontalGap="2.6%p" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="14.6%p"
+ latin:keyXPos="-14.6%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -91,52 +85,46 @@
latin:keyStyle="moreKeyStyle"
latin:keyWidth="10.0%p"
latin:keyEdgeFlags="left" />
- <Spacer
- latin:horizontalGap="4.5%p" />
<!-- There is an empty area below the "More" key and left of the "(" key. To ignore
the touch event on the area, "(" is intentionally not marked as a left edge key. -->
<Key
latin:code="40"
latin:keyLabel=" ( "
+ latin:keyXPos="19.0%p"
latin:keyWidth="9.1%p" />
<Key
latin:code="41"
latin:keyLabel=" ) "
latin:keyWidth="9.1%p" />
- <Spacer
- latin:horizontalGap="9.1%p" />
<Key
- latin:keyStyle="num7KeyStyle" />
+ latin:keyStyle="num7KeyStyle"
+ latin:keyXPos="43.3%p" />
<Key
latin:keyStyle="num8KeyStyle" />
<Key
latin:keyStyle="num9KeyStyle" />
- <!-- There is an empty area below the "Enter" key and right of the "9" key. To ignore
- the touch event on the area, "9" is intentionally not marked as a right edge key. -->
</Row>
<!-- This row is intentionally not marked as a bottom row -->
<Row>
- <Spacer
- latin:horizontalGap="14.5%p" />
- <!-- There is an empty area below the "More" key and left of the "space" key. To ignore
- the touch event on the area, "space" is intentionally not marked as a left edge key. -->
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyWidth="10.0%p"
+ latin:keyEdgeFlags="left" />
<Key
latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle"
+ latin:keyXPos="19.0%p"
latin:keyWidth="18.2%p" />
- <Spacer
- latin:horizontalGap="9.1%p" />
<Key
latin:keyStyle="numStarKeyStyle"
- latin:keyWidth="13.7%p" />
+ latin:keyXPos="43.3%p" />
<Key
- latin:keyStyle="num0KeyStyle"
- latin:keyWidth="13.7%p" />>
+ latin:keyStyle="num0KeyStyle" />
<Key
- latin:keyStyle="numPoundKeyStyle"
- latin:keyWidth="13.7%p" />
- <Spacer
- latin:horizontalGap="4.3%p" />
- <include
- latin:keyboardLayout="@xml/kbd_settings" />
+ latin:keyStyle="numPoundKeyStyle" />
+ <Key
+ latin:keyStyle="micOrSettingsKeyStyle"
+ latin:keyXPos="-10.0%p"
+ latin:keyWidth="0.0%p"
+ latin:keyEdgeFlags="right" />
</Row>
</Keyboard>
diff --git a/java/res/xml-sw600dp/kbd_phone_symbols.xml b/java/res/xml-sw600dp/kbd_phone_symbols.xml
index 63ef4128f..895ca63fc 100644
--- a/java/res/xml-sw600dp/kbd_phone_symbols.xml
+++ b/java/res/xml-sw600dp/kbd_phone_symbols.xml
@@ -23,7 +23,7 @@
latin:keyboardHeight="@dimen/keyboardHeight"
latin:maxKeyboardHeight="50%p"
latin:rowHeight="25%p"
- latin:keyWidth="13.7%p"
+ latin:keyWidth="12.7%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:popupKeyboardTemplate="@xml/kbd_popup_template"
@@ -35,11 +35,10 @@
latin:keyboardLayout="@xml/kbd_numkey_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row>
- <Spacer
- latin:horizontalGap="10.0%p" />
<Key
latin:code="45"
latin:keyLabel=" - "
+ latin:keyXPos="14.5%p"
latin:keyWidth="9.1%p" />
<Key
latin:code="43"
@@ -49,27 +48,24 @@
latin:code="44"
latin:keyLabel="@string/label_pause_key"
latin:keyWidth="9.1%p" />
- <Spacer
- latin:horizontalGap="4.5%p" />
<Key
- latin:keyStyle="num1KeyStyle" />
+ latin:keyStyle="num1KeyStyle"
+ latin:keyXPos="43.3%p" />
<Key
latin:keyStyle="num2KeyStyle" />
<Key
latin:keyStyle="num3KeyStyle" />
- <Spacer
- latin:horizontalGap="8.1%p" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="9.2%p"
+ latin:keyXPos="-10.0%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
- <Spacer
- latin:horizontalGap="10.0%p" />
<Key
latin:code="44"
latin:keyLabel=" , "
+ latin:keyXPos="14.5%p"
latin:keyWidth="9.1%p" />
<Key
latin:code="46"
@@ -79,19 +75,17 @@
latin:code="59"
latin:keyLabel="@string/label_wait_key"
latin:keyWidth="9.1%p" />
- <Spacer
- latin:horizontalGap="4.5%p" />
<Key
- latin:keyStyle="num4KeyStyle" />
+ latin:keyStyle="num4KeyStyle"
+ latin:keyXPos="43.3%p" />
<Key
latin:keyStyle="num5KeyStyle" />
<Key
latin:keyStyle="num6KeyStyle" />
- <Spacer
- latin:horizontalGap="2.6%p" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="14.6%p"
+ latin:keyXPos="-14.6%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -104,6 +98,7 @@
<Key
latin:code="40"
latin:keyLabel=" ( "
+ latin:keyXPos="14.5%p"
latin:keyWidth="9.1%p" />
<Key
latin:code="41"
@@ -113,37 +108,35 @@
latin:code="78"
latin:keyLabel=" N "
latin:keyWidth="9.1%p" />
- <Spacer
- latin:horizontalGap="4.5%p" />
<Key
- latin:keyStyle="num7KeyStyle" />
+ latin:keyStyle="num7KeyStyle"
+ latin:keyXPos="43.3%p" />
<Key
latin:keyStyle="num8KeyStyle" />
<Key
latin:keyStyle="num9KeyStyle" />
- <!-- There is an empty area below the "Enter" key and right of the "9" key. To ignore
- the touch event on the area, "9" is intentionally not marked as a right edge key. -->
</Row>
<!-- This row is intentionally not marked as a bottom row -->
<Row>
- <Spacer
- latin:horizontalGap="10.0%p" />
- <!-- There is an empty area below the "More" key and left of the "space" key. To ignore
- the touch event on the area, "space" is intentionally not marked as a left edge key. -->
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyWidth="10.0%p"
+ latin:keyEdgeFlags="left" />
<Key
latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle"
+ latin:keyXPos="14.5%p"
latin:keyWidth="27.2%p" />
- <Spacer
- latin:horizontalGap="4.5%p" />
<Key
- latin:keyStyle="numStarKeyStyle" />
+ latin:keyStyle="numStarKeyStyle"
+ latin:keyXPos="43.3%p" />
<Key
latin:keyStyle="num0KeyStyle" />
<Key
latin:keyStyle="numPoundKeyStyle" />
- <Spacer
- latin:horizontalGap="4.3%p" />
- <include
- latin:keyboardLayout="@xml/kbd_settings" />
+ <Key
+ latin:keyStyle="micOrSettingsKeyStyle"
+ latin:keyXPos="-10.0%p"
+ latin:keyWidth="0.0%p"
+ latin:keyEdgeFlags="right" />
</Row>
</Keyboard>
diff --git a/java/res/xml-sw600dp/kbd_qwerty_row1.xml b/java/res/xml-sw600dp/kbd_qwerty_row1.xml
index d3d5b25e6..af1bd5d50 100644
--- a/java/res/xml-sw600dp/kbd_qwerty_row1.xml
+++ b/java/res/xml-sw600dp/kbd_qwerty_row1.xml
@@ -22,7 +22,7 @@
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<Row
- latin:keyWidth="9.1%p"
+ latin:keyWidth="9.0%p"
latin:rowEdgeFlags="top"
>
<Key
@@ -68,7 +68,8 @@
latin:popupCharacters="@string/alternates_for_p" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="9.2%p"
+ latin:keyXPos="-10.0%p"
+ latin:keyWidth="-10.0%p"
latin:keyEdgeFlags="right" />
</Row>
</merge>
diff --git a/java/res/xml-sw600dp/kbd_qwerty_row2.xml b/java/res/xml-sw600dp/kbd_qwerty_row2.xml
index aecb4f4a9..1e6011cde 100644
--- a/java/res/xml-sw600dp/kbd_qwerty_row2.xml
+++ b/java/res/xml-sw600dp/kbd_qwerty_row2.xml
@@ -24,11 +24,10 @@
<Row
latin:keyWidth="9.0%p"
>
- <Spacer
- latin:horizontalGap="4.5%p" />
<Key
latin:keyLabel="a"
latin:popupCharacters="@string/alternates_for_a"
+ latin:keyXPos="4.5%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="s"
@@ -53,7 +52,8 @@
latin:popupCharacters="@string/alternates_for_l" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="14.6%p"
+ latin:keyXPos="-14.6%p"
+ latin:keyWidth="-14.6%p"
latin:keyEdgeFlags="right" />
</Row>
</merge>
diff --git a/java/res/xml-sw600dp/kbd_qwerty_row3.xml b/java/res/xml-sw600dp/kbd_qwerty_row3.xml
index e50f9079c..700bcf005 100644
--- a/java/res/xml-sw600dp/kbd_qwerty_row3.xml
+++ b/java/res/xml-sw600dp/kbd_qwerty_row3.xml
@@ -26,7 +26,7 @@
>
<Key
latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.0%p"
+ latin:keyWidth="11.1%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="z"
@@ -70,9 +70,7 @@
latin:popupCharacters="\?" />
</default>
</switch>
- <Key
- latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="10.1%p"
- latin:keyEdgeFlags="right" />
+ <include
+ latin:keyboardLayout="@xml/kbd_row3_right" />
</Row>
</merge>
diff --git a/java/res/xml-sw600dp/kbd_qwerty_row4.xml b/java/res/xml-sw600dp/kbd_qwerty_row4.xml
index 57367462a..648775c97 100644
--- a/java/res/xml-sw600dp/kbd_qwerty_row4.xml
+++ b/java/res/xml-sw600dp/kbd_qwerty_row4.xml
@@ -23,129 +23,45 @@
>
<!-- This row is intentionally not marked as a bottom row -->
<Row
- latin:keyWidth="8.9%p"
+ latin:keyWidth="9.1%p"
>
<Key
latin:keyStyle="toSymbolKeyStyle"
latin:keyLabelOption="alignLeft"
latin:keyWidth="13.0%p"
latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyStyle="tabKeyStyle"
+ latin:keyWidth="8.9%p" />
<switch>
<case
- latin:languageCode="ru"
+ latin:mode="email"
>
- <switch>
- <!-- TODO: implement logical OR for <case> attribute -->
- <case
- latin:mode="email"
- >
- <Key
- latin:keyStyle="comKeyStyle" />
- </case>
- <case
- latin:mode="url"
- >
- <Key
- latin:keyStyle="comKeyStyle" />
- </case>
- <case
- latin:imeAction="actionSearch"
- >
- <Key
- latin:keyLabel=":"
- latin:manualTemporaryUpperCaseCode="43"
- latin:keyHintIcon="@drawable/key_hint_plus_holo"
- latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_plus_large_holo"
- latin:popupCharacters="+" />
- </case>
- <default>
- <Key
- latin:keyStyle="smileyKeyStyle" />
- </default>
- </switch>
- <switch>
- <case
- latin:mode="email"
- >
- <Key
- latin:keyLabel="\@" />
- </case>
- <case
- latin:mode="url"
- >
- <Key
- latin:keyLabel="-"
- latin:manualTemporaryUpperCaseCode="95"
- latin:keyHintIcon="@drawable/key_hint_underline_holo"
- latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_underline_large_holo"
- latin:popupCharacters="_" />
- </case>
- <default>
- <Key
- latin:keyLabel="/"
- latin:manualTemporaryUpperCaseCode="64"
- latin:keyHintIcon="@drawable/key_hint_at_holo"
- latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_at_large_holo"
- latin:popupCharacters="\@" />
- </default>
- </switch>
+ <Key
+ latin:keyStyle="comKeyStyle"
+ latin:keyWidth="8.9%p" />
+ </case>
+ <case
+ latin:mode="url"
+ >
+ <Key
+ latin:keyStyle="comKeyStyle"
+ latin:keyWidth="8.9%p" />
</case>
- <!-- not languageCode="ru" -->
<default>
- <switch>
- <case
- latin:mode="url"
- >
- <Key
- latin:keyStyle="comKeyStyle"
- latin:keyWidth="17.8%p" />
- </case>
- <default>
- <switch>
- <case
- latin:mode="email"
- >
- <Key
- latin:keyStyle="comKeyStyle" />
- </case>
- <case
- latin:imeAction="actionSearch"
- >
- <Key
- latin:keyLabel=":"
- latin:manualTemporaryUpperCaseCode="43"
- latin:keyHintIcon="@drawable/key_hint_plus_holo"
- latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_plus_large_holo"
- latin:popupCharacters="+" />
- </case>
- <default>
- <Key
- latin:keyStyle="smileyKeyStyle" />
- </default>
- </switch>
- <switch>
- <case
- latin:mode="email"
- >
- <Key
- latin:keyLabel="\@" />
- </case>
- <default>
- <Key
- latin:keyLabel="/"
- latin:manualTemporaryUpperCaseCode="64"
- latin:keyHintIcon="@drawable/key_hint_at_holo"
- latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_at_large_holo"
- latin:popupCharacters="\@" />
- </default>
- </switch>
- </default>
- </switch>
+ <Key
+ latin:keyLabel="/"
+ latin:manualTemporaryUpperCaseCode="64"
+ latin:keyHintIcon="@drawable/key_hint_at_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_at_large_holo"
+ latin:popupCharacters="\@"
+ latin:keyWidth="8.9%p" />
</default>
</switch>
<Key
latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="38.5%p" />
+ latin:keyXPos="30.8%p"
+ latin:keyWidth="41.0%p" />
<switch>
<case
latin:languageCode="ru"
@@ -239,7 +155,10 @@
</switch>
</default>
</switch>
- <include
- latin:keyboardLayout="@xml/kbd_settings" />
+ <Key
+ latin:keyStyle="micOrSettingsKeyStyle"
+ latin:keyXPos="-10.0%p"
+ latin:keyWidth="-10.0%p"
+ latin:keyEdgeFlags="right" />
</Row>
</merge>
diff --git a/java/res/xml-sw600dp/kbd_qwerty_rows_scandinavia.xml b/java/res/xml-sw600dp/kbd_qwerty_rows_scandinavia.xml
index 7e4635b8c..0974a9d7c 100644
--- a/java/res/xml-sw600dp/kbd_qwerty_rows_scandinavia.xml
+++ b/java/res/xml-sw600dp/kbd_qwerty_rows_scandinavia.xml
@@ -24,14 +24,14 @@
<include
latin:keyboardLayout="@xml/kbd_key_styles" />
<Row
- latin:keyWidth="9.09%p"
+ latin:keyWidth="8.0%p"
latin:rowEdgeFlags="top"
>
<Key
latin:keyLabel="q"
latin:keyHintIcon="@drawable/key_hint_num1_holo"
latin:popupCharacters="@string/alternates_for_q"
- latin:keyWidth="8.75%p"
+ latin:keyXPos="2.15%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="w"
@@ -70,17 +70,19 @@
latin:keyHintIcon="@drawable/key_hint_num0_holo"
latin:popupCharacters="@string/alternates_for_p" />
<Key
- latin:keyLabel="å"
- latin:keyWidth="8.75%p"
+ latin:keyLabel="å" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyXPos="-10.0%p"
+ latin:keyWidth="-10.0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
- latin:keyWidth="9.09%p"
+ latin:keyWidth="8.0%p"
>
<Key
latin:keyLabel="a"
latin:popupCharacters="@string/alternates_for_a"
- latin:keyWidth="8.75%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="s"
@@ -108,8 +110,11 @@
latin:popupCharacters="@string/alternates_for_scandinavia_row2_10" />
<Key
latin:keyLabel="@string/keylabel_for_scandinavia_row2_11"
- latin:popupCharacters="@string/alternates_for_scandinavia_row2_11"
- latin:keyWidth="8.75%p"
+ latin:popupCharacters="@string/alternates_for_scandinavia_row2_11" />
+ <Key
+ latin:keyStyle="returnKeyStyle"
+ latin:keyXPos="-14.6%p"
+ latin:keyWidth="-14.6%p"
latin:keyEdgeFlags="right" />
</Row>
<include
diff --git a/java/res/xml-sw600dp/kbd_qwertz_rows.xml b/java/res/xml-sw600dp/kbd_qwertz_rows.xml
index 534276ccb..3490cc7fd 100644
--- a/java/res/xml-sw600dp/kbd_qwertz_rows.xml
+++ b/java/res/xml-sw600dp/kbd_qwertz_rows.xml
@@ -24,7 +24,7 @@
<include
latin:keyboardLayout="@xml/kbd_key_styles" />
<Row
- latin:keyWidth="10%p"
+ latin:keyWidth="9.0%p"
latin:rowEdgeFlags="top"
>
<Key
@@ -67,17 +67,21 @@
<Key
latin:keyLabel="p"
latin:keyHintIcon="@drawable/key_hint_num0_holo"
- latin:popupCharacters="@string/alternates_for_p"
+ latin:popupCharacters="@string/alternates_for_p" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyXPos="-10.0%p"
+ latin:keyWidth="-10.0%p"
latin:keyEdgeFlags="right" />
</Row>
<include
latin:keyboardLayout="@xml/kbd_qwerty_row2" />
<Row
- latin:keyWidth="10%p"
+ latin:keyWidth="8.9%p"
>
<Key
latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="15%p"
+ latin:keyWidth="11.1%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="y"
@@ -97,11 +101,33 @@
latin:popupCharacters="@string/alternates_for_n" />
<Key
latin:keyLabel="m" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="15%p"
- latin:keyEdgeFlags="right" />
+ <switch>
+ <case
+ latin:mode="email"
+ >
+ <Key
+ latin:keyLabel="," />
+ <Key
+ latin:keyLabel="." />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel=","
+ latin:manualTemporaryUpperCaseCode="33"
+ latin:keyHintIcon="@drawable/key_hint_exclamation_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_exclamation_large_holo"
+ latin:popupCharacters="!" />
+ <Key
+ latin:keyLabel="."
+ latin:manualTemporaryUpperCaseCode="63"
+ latin:keyHintIcon="@drawable/key_hint_question_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_question_large_holo"
+ latin:popupCharacters="\?" />
+ </default>
+ </switch>
+ <include
+ latin:keyboardLayout="@xml/kbd_row3_right" />
</Row>
- <include
+ <include
latin:keyboardLayout="@xml/kbd_qwerty_row4" />
</merge>
diff --git a/java/res/xml-sw600dp/kbd_row3_right.xml b/java/res/xml-sw600dp/kbd_row3_right.xml
new file mode 100644
index 000000000..7867e175a
--- /dev/null
+++ b/java/res/xml-sw600dp/kbd_row3_right.xml
@@ -0,0 +1,68 @@
+<?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:mode="email"
+ >
+ <Key
+ latin:keyLabel="\@"
+ latin:keyXPos="-8.9%p"
+ latin:keyWidth="-8.9%p"
+ latin:keyEdgeFlags="right" />
+ </case>
+ <case
+ latin:mode="url"
+ >
+ <Key
+ latin:keyLabel="-"
+ latin:manualTemporaryUpperCaseCode="95"
+ latin:keyHintIcon="@drawable/key_hint_underline_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_underline_large_holo"
+ latin:popupCharacters="_"
+ latin:keyXPos="-8.9%p"
+ latin:keyWidth="-8.9%p"
+ latin:keyEdgeFlags="right" />
+ </case>
+ <case
+ latin:imeAction="actionSearch"
+ >
+ <Key
+ latin:keyLabel=":"
+ latin:manualTemporaryUpperCaseCode="43"
+ latin:keyHintIcon="@drawable/key_hint_plus_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_plus_large_holo"
+ latin:popupCharacters="+"
+ latin:keyXPos="-8.9%p"
+ latin:keyWidth="-8.9%p"
+ latin:keyEdgeFlags="right" />
+ </case>
+ <default>
+ <Key
+ latin:keyStyle="smileyKeyStyle"
+ latin:keyXPos="-8.9%p"
+ latin:keyWidth="-8.9%p"
+ latin:keyEdgeFlags="right" />
+ </default>
+ </switch>
+</merge>
diff --git a/java/res/xml-sw600dp/kbd_ru_rows.xml b/java/res/xml-sw600dp/kbd_ru_rows.xml
index 0c7a997a6..95f297dd1 100644
--- a/java/res/xml-sw600dp/kbd_ru_rows.xml
+++ b/java/res/xml-sw600dp/kbd_ru_rows.xml
@@ -24,14 +24,14 @@
<include
latin:keyboardLayout="@xml/kbd_key_styles" />
<Row
- latin:keyWidth="9.091%p"
+ latin:keyWidth="8.0%p"
latin:rowEdgeFlags="top"
>
<Key
latin:keyLabel="й"
latin:keyHintIcon="@drawable/key_hint_num1_holo"
latin:popupCharacters="1"
- latin:keyWidth="8.75%p"
+ latin:keyXPos="2.15%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="ц"
@@ -70,16 +70,18 @@
latin:keyHintIcon="@drawable/key_hint_num0_holo"
latin:popupCharacters="0" />
<Key
- latin:keyLabel="х"
- latin:keyWidth="8.75%p"
+ latin:keyLabel="х" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyXPos="-10.0%p"
+ latin:keyWidth="-10.0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
- latin:keyWidth="9.091%p"
+ latin:keyWidth="8.0%p"
>
<Key
latin:keyLabel="ф"
- latin:keyWidth="8.75%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="ы" />
@@ -100,16 +102,19 @@
<Key
latin:keyLabel="ж" />
<Key
- latin:keyLabel="э"
- latin:keyWidth="8.75%p"
+ latin:keyLabel="э" />
+ <Key
+ latin:keyStyle="returnKeyStyle"
+ latin:keyXPos="-14.6%p"
+ latin:keyWidth="-14.6%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
- latin:keyWidth="8.5%p"
+ latin:keyWidth="8.0%p"
>
<Key
latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="11.75%p"
+ latin:keyWidth="11.1%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="я" />
@@ -131,9 +136,13 @@
<Key
latin:keyLabel="ю" />
<Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="11.75%p"
- latin:keyEdgeFlags="right" />
+ latin:keyLabel="."
+ latin:manualTemporaryUpperCaseCode="44"
+ latin:keyHintIcon="@drawable/key_hint_comma_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_comma_large_holo"
+ latin:popupCharacters="," />
+ <include
+ latin:keyboardLayout="@xml/kbd_row3_right" />
</Row>
<include
latin:keyboardLayout="@xml/kbd_qwerty_row4" />
diff --git a/java/res/xml-sw600dp/kbd_settings.xml b/java/res/xml-sw600dp/kbd_settings.xml
deleted file mode 100644
index 4f679ca93..000000000
--- a/java/res/xml-sw600dp/kbd_settings.xml
+++ /dev/null
@@ -1,89 +0,0 @@
-<?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:webInput="true"
- >
- <switch>
- <case
- latin:voiceKeyEnabled="true"
- latin:passwordInput="false"
- >
- <Key
- latin:keyStyle="webTabKeyStyle"
- latin:keyWidth="6.4%p" />
- <Key
- latin:keyStyle="micKeyStyle"
- latin:keyWidth="6.5%p" />
- </case>
- <default>
- <Spacer
- latin:horizontalGap="4.15%p" />
- <Key
- latin:keyStyle="webTabKeyStyle"
- latin:keyWidth="8.9%p" />
- </default>
- </switch>
- </case>
- <default>
- <switch>
- <case
- latin:hasSettingsKey="true"
- latin:voiceKeyEnabled="true"
- >
- <Key
- latin:keyStyle="settingsKeyStyle"
- latin:keyWidth="6.4%p" />
- <Key
- latin:keyStyle="micKeyStyle"
- latin:keyWidth="6.5%p" />
- </case>
- <case
- latin:hasSettingsKey="true"
- latin:voiceKeyEnabled="false"
- >
- <Spacer
- latin:horizontalGap="4.15%p" />
- <Key
- latin:keyStyle="settingsKeyStyle"
- latin:keyWidth="8.9%p" />
- </case>
- <case
- latin:hasSettingsKey="false"
- latin:voiceKeyEnabled="true"
- >
- <Spacer
- latin:horizontalGap="4.15%p" />
- <Key
- latin:keyStyle="micKeyStyle"
- latin:keyWidth="8.9%p" />
- </case>
- <default>
- <Spacer
- latin:horizontalGap="13.0%p" />
- </default>
- </switch>
- </default>
- </switch>
-</merge>
diff --git a/java/res/xml-sw600dp/kbd_sr_rows.xml b/java/res/xml-sw600dp/kbd_sr_rows.xml
index 71d0e60f1..8c8539ec2 100644
--- a/java/res/xml-sw600dp/kbd_sr_rows.xml
+++ b/java/res/xml-sw600dp/kbd_sr_rows.xml
@@ -24,13 +24,14 @@
<include
latin:keyboardLayout="@xml/kbd_key_styles" />
<Row
- latin:keyWidth="9.09%p"
+ latin:keyWidth="8.0%p"
latin:rowEdgeFlags="top"
>
<Key
latin:keyLabel="љ"
latin:keyHintIcon="@drawable/key_hint_num1_holo"
latin:popupCharacters="1"
+ latin:keyXPos="2.15%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="њ"
@@ -69,11 +70,15 @@
latin:keyHintIcon="@drawable/key_hint_num0_holo"
latin:popupCharacters="0" />
<Key
- latin:keyLabel="ш"
+ latin:keyLabel="ш" />
+ <Key
+ latin:keyStyle="deleteKeyStyle"
+ latin:keyXPos="-10.0%p"
+ latin:keyWidth="-10.0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
- latin:keyWidth="9.09%p"
+ latin:keyWidth="7.9%p"
>
<Key
latin:keyLabel="а"
@@ -97,14 +102,19 @@
<Key
latin:keyLabel="ч" />
<Key
- latin:keyLabel="ћ"
+ latin:keyLabel="ћ" />
+ <Key
+ latin:keyStyle="returnKeyStyle"
+ latin:keyXPos="-14.6%p"
+ latin:keyWidth="-14.6%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
- latin:keyWidth="8.90%p"
+ latin:keyWidth="7.5%p"
>
<Key
latin:keyStyle="shiftKeyStyle"
+ latin:keyWidth="8.8%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="ѕ" />
@@ -124,10 +134,32 @@
latin:keyLabel="ђ" />
<Key
latin:keyLabel="ж" />
- <Key
- latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="11.00%p"
- latin:keyEdgeFlags="right" />
+ <switch>
+ <case
+ latin:mode="email"
+ >
+ <Key
+ latin:keyLabel="," />
+ <Key
+ latin:keyLabel="." />
+ </case>
+ <default>
+ <Key
+ latin:keyLabel=","
+ latin:manualTemporaryUpperCaseCode="33"
+ latin:keyHintIcon="@drawable/key_hint_exclamation_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_exclamation_large_holo"
+ latin:popupCharacters="!" />
+ <Key
+ latin:keyLabel="."
+ latin:manualTemporaryUpperCaseCode="63"
+ latin:keyHintIcon="@drawable/key_hint_question_holo"
+ latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_question_large_holo"
+ latin:popupCharacters="\?" />
+ </default>
+ </switch>
+ <include
+ latin:keyboardLayout="@xml/kbd_row3_right" />
</Row>
<include
latin:keyboardLayout="@xml/kbd_qwerty_row4" />
diff --git a/java/res/xml-sw600dp/kbd_symbols.xml b/java/res/xml-sw600dp/kbd_symbols.xml
index c89cd2fba..2daaadd02 100644
--- a/java/res/xml-sw600dp/kbd_symbols.xml
+++ b/java/res/xml-sw600dp/kbd_symbols.xml
@@ -34,7 +34,7 @@
latin:keyboardLayout="@xml/kbd_currency_key_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row
- latin:keyWidth="9.1%p"
+ latin:keyWidth="9.0%p"
>
<Key
latin:keyLabel="1"
@@ -65,16 +65,16 @@
latin:popupCharacters="ⁿ,∅" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="9.2%p"
+ latin:keyXPos="-10.0%p"
+ latin:keyWidth="-10.0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="9.0%p"
>
- <Spacer
- latin:horizontalGap="4.5%p" />
<Key
- latin:keyLabel="#" />
+ latin:keyLabel="#"
+ latin:keyXPos="4.5%p" />
<Key
latin:keyStyle="currencyKeyStyle" />
<Key
@@ -99,7 +99,8 @@
latin:popupCharacters="],},&gt;" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="14.6%p"
+ latin:keyXPos="-14.6%p"
+ latin:keyWidth="-14.6%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -107,7 +108,7 @@
>
<Key
latin:keyStyle="moreKeyStyle"
- latin:keyWidth="10.0%p"
+ latin:keyWidth="11.1%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="&lt;"
@@ -171,9 +172,8 @@
</default>
</switch>
<Key
- latin:keyStyle="moreKeyStyle"
- latin:keyWidth="10.1%p"
- latin:keyEdgeFlags="right" />
+ latin:keyLabel="/"
+ latin:keyWidth="0%p" />
</Row>
<!-- This row is intentionally not marked as a bottom row -->
<Row
@@ -185,20 +185,23 @@
latin:keyWidth="13.0%p"
latin:keyEdgeFlags="left" />
<Key
- latin:keyLabel="/" />
+ latin:keyStyle="tabKeyStyle" />
<Key
latin:keyLabel="\@" />
<Key
latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="38.5%p" />
+ latin:keyXPos="30.8%p"
+ latin:keyWidth="41.0%p" />
<switch>
<case
latin:languageCode="ru"
>
<Key
- latin:keyLabel="_" />
+ latin:keyLabel="_"
+ latin:keyWidth="9.1%p" />
<Key
- latin:keyLabel="-" />
+ latin:keyLabel="-"
+ latin:keyWidth="9.1%p" />
</case>
<default>
<!-- Note: DroidSans doesn't have double-high-reversed-quotation
@@ -206,12 +209,17 @@
<!-- latin:popupCharacters="“,”,„,‟,«,»,‘,’,‚,‛" -->
<Key
latin:keyLabel="&quot;"
- latin:popupCharacters="“,”,«,»,‘,’,‚,‛" />
+ latin:popupCharacters="“,”,«,»,‘,’,‚,‛"
+ latin:keyWidth="9.1%p" />
<Key
- latin:keyLabel="_" />
+ latin:keyLabel="_"
+ latin:keyWidth="9.1%p" />
</default>
</switch>
- <include
- latin:keyboardLayout="@xml/kbd_settings" />
+ <Key
+ latin:keyStyle="micOrSettingsKeyStyle"
+ latin:keyXPos="-10.0%p"
+ latin:keyWidth="-10.0%p"
+ latin:keyEdgeFlags="right" />
</Row>
</Keyboard>
diff --git a/java/res/xml-sw600dp/kbd_symbols_shift.xml b/java/res/xml-sw600dp/kbd_symbols_shift.xml
index 7195f6a7e..111718a4d 100644
--- a/java/res/xml-sw600dp/kbd_symbols_shift.xml
+++ b/java/res/xml-sw600dp/kbd_symbols_shift.xml
@@ -32,7 +32,7 @@
latin:keyboardLayout="@xml/kbd_key_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row
- latin:keyWidth="9.1%p"
+ latin:keyWidth="9.0%p"
>
<Key
latin:keyLabel="~" />
@@ -66,17 +66,17 @@
latin:keyLabel="Δ" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="9.2%p"
+ latin:keyXPos="-10.0%p"
+ latin:keyWidth="-10.0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="9.0%p"
>
- <Spacer
- latin:horizontalGap="4.5%p" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
- latin:keyLabel="£" />
+ latin:keyLabel="£"
+ latin:keyXPos="4.5%p" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="¢" />
@@ -103,7 +103,8 @@
latin:keyLabel="}" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="14.6%p"
+ latin:keyXPos="-14.6%p"
+ latin:keyWidth="-14.6%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -111,7 +112,7 @@
>
<Key
latin:keyStyle="moreKeyStyle"
- latin:keyWidth="10.0%p"
+ latin:keyWidth="11.1%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="\\" />
@@ -137,10 +138,6 @@
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="¿" />
- <Key
- latin:keyStyle="moreKeyStyle"
- latin:keyWidth="10.1%p"
- latin:keyEdgeFlags="right" />
</Row>
<!-- This row is intentionally not marked as a bottom row -->
<Row
@@ -151,14 +148,16 @@
latin:keyLabelOption="alignLeft"
latin:keyWidth="13.0%p"
latin:keyEdgeFlags="left" />
- <Spacer
- latin:horizontalGap="17.8%p" />
+ <Key
+ latin:keyStyle="tabKeyStyle" />
<Key
latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="38.5%p" />
- <Spacer
- latin:horizontalGap="17.8%p" />
- <include
- latin:keyboardLayout="@xml/kbd_settings" />
+ latin:keyXPos="30.8%p"
+ latin:keyWidth="41.0%p" />
+ <Key
+ latin:keyStyle="micOrSettingsKeyStyle"
+ latin:keyXPos="-10.0%p"
+ latin:keyWidth="0.0%p"
+ latin:keyEdgeFlags="right" />
</Row>
</Keyboard>
diff --git a/java/res/xml-sw768dp/kbd_azerty_rows.xml b/java/res/xml-sw768dp/kbd_azerty_rows.xml
index 564f77629..f6ebfe612 100644
--- a/java/res/xml-sw768dp/kbd_azerty_rows.xml
+++ b/java/res/xml-sw768dp/kbd_azerty_rows.xml
@@ -24,12 +24,12 @@
<include
latin:keyboardLayout="@xml/kbd_key_styles" />
<Row
- latin:keyWidth="8.272%p"
+ latin:keyWidth="8.282%p"
>
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
- latin:keyWidth="7.949%p"
+ latin:keyWidth="7.969%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="a"
@@ -63,11 +63,12 @@
latin:popupCharacters="@string/alternates_for_p" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="9.331%p"
+ latin:keyXPos="-9.219%p"
+ latin:keyWidth="-9.219%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
- latin:keyWidth="8.157%p"
+ latin:keyWidth="8.125%p"
>
<Key
latin:keyStyle="toSymbolKeyStyle"
@@ -103,15 +104,16 @@
latin:keyEdgeFlags="right" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="8.593%p"
+ latin:keyXPos="-15.704%p"
+ latin:keyWidth="-15.704%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
- latin:keyWidth="8.042%p"
+ latin:keyWidth="8.047%p"
>
<Key
latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="15.192%p"
+ latin:keyWidth="13.829%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="w"
@@ -161,7 +163,8 @@
</switch>
<Key
latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="12.530%p"
+ latin:keyXPos="-13.750%p"
+ latin:keyWidth="-13.750%p"
latin:keyEdgeFlags="right" />
</Row>
<include
diff --git a/java/res/xml-sw768dp/kbd_number.xml b/java/res/xml-sw768dp/kbd_number.xml
index 012b75115..c99ead42e 100644
--- a/java/res/xml-sw768dp/kbd_number.xml
+++ b/java/res/xml-sw768dp/kbd_number.xml
@@ -23,7 +23,7 @@
latin:keyboardHeight="@dimen/keyboardHeight"
latin:maxKeyboardHeight="50%p"
latin:rowHeight="25%p"
- latin:keyWidth="11.949%p"
+ latin:keyWidth="11.954%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:popupKeyboardTemplate="@xml/kbd_popup_template"
@@ -39,42 +39,42 @@
>
<!-- This row is intentionally not marked as a top row -->
<Row>
- <Spacer
- latin:horizontalGap="32.076%p" />
<Key
- latin:keyStyle="num1KeyStyle" />
+ latin:keyStyle="tabKeyStyle"
+ latin:keyLabelOption="alignLeft"
+ latin:keyWidth="7.969%p"
+ latin:keyEdgeFlags="left" />
+ <Key
+ latin:keyStyle="num1KeyStyle"
+ latin:keyXPos="32.076%p" />
<Key
latin:keyStyle="num2KeyStyle" />
<Key
latin:keyStyle="num3KeyStyle" />
- <Spacer
- latin:horizontalGap="22.272%p" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="9.804%p"
+ latin:keyXPos="-9.219%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
- <Spacer
- latin:horizontalGap="32.076%p" />
<Key
- latin:keyStyle="num4KeyStyle" />
+ latin:keyStyle="num4KeyStyle"
+ latin:keyXPos="32.076%p" />
<Key
latin:keyStyle="num5KeyStyle" />
<Key
latin:keyStyle="num6KeyStyle" />
- <Spacer
- latin:horizontalGap="17.371%p" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="14.706%p"
+ latin:keyXPos="-15.704%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
- <Spacer
- latin:horizontalGap="32.076%p" />
<Key
- latin:keyStyle="num7KeyStyle" />
+ latin:keyStyle="num7KeyStyle"
+ latin:keyXPos="32.076%p" />
<Key
latin:keyStyle="num8KeyStyle" />
<Key
@@ -86,7 +86,7 @@
<!-- This row is intentionally not marked as a bottom row -->
<Row>
<Spacer
- latin:horizontalGap="44.026%p" />
+ latin:keyXPos="32.076%p" />
<Key
latin:keyStyle="num0KeyStyle" />
<!-- There is an empty area below the "Enter" key and right of the "#" key. To
@@ -101,79 +101,72 @@
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
+ latin:keyWidth="7.969%p"
latin:keyEdgeFlags="left" />
- <Spacer
- latin:horizontalGap="4.458%p" />
<Key
latin:keyLabel="-"
- latin:keyWidth="8.042%p" />
+ latin:keyXPos="13.829%p"
+ latin:keyWidth="8.047%p" />
<Key
latin:keyLabel="+"
- latin:keyWidth="8.042%p" />
+ latin:keyWidth="8.047%p" />
<Key
latin:keyLabel="."
- latin:keyWidth="8.042%p" />
- <Spacer
- latin:horizontalGap="4.458%p" />
+ latin:keyWidth="8.047%p" />
<Key
- latin:keyLabel="1" />
+ latin:keyLabel="1"
+ latin:keyXPos="45.0%p" />
<Key
latin:keyLabel="2" />
<Key
latin:keyLabel="3" />
- <Spacer
- latin:horizontalGap="9.360%p" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="9.804%p"
+ latin:keyXPos="-9.219%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
- <Spacer
- latin:horizontalGap="16.406%p" />
<Key
latin:keyLabel="*"
- latin:keyWidth="8.042%p" />
+ latin:keyXPos="13.829%p"
+ latin:keyWidth="8.047%p" />
<Key
latin:keyLabel="/"
- latin:keyWidth="8.042%p" />
+ latin:keyWidth="8.047%p" />
<Key
latin:keyLabel=","
- latin:keyWidth="8.042%p" />
- <Spacer
- latin:horizontalGap="4.458%p" />
+ latin:keyWidth="8.047%p" />
<Key
- latin:keyLabel="4" />
+ latin:keyLabel="4"
+ latin:keyXPos="45.0%p" />
<Key
latin:keyLabel="5" />
<Key
latin:keyLabel="6" />
- <Spacer
- latin:horizontalGap="4.458%p" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="14.706%p"
+ latin:keyXPos="-15.704%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<!-- There is an empty area below the "More" key and left of the "(" key. To
ignore the touch event on the area, "(" is intentionally not marked as a left
edge key. -->
- <Spacer
- latin:horizontalGap="16.406%p" />
<Key
latin:keyLabel="("
- latin:keyWidth="8.042%p" />
+ latin:keyXPos="13.829%p"
+ latin:keyWidth="8.047%p" />
<Key
latin:keyLabel=")"
- latin:keyWidth="8.042%p" />
+ latin:keyWidth="8.047%p" />
<Key
latin:keyLabel="="
- latin:keyWidth="8.042%p" />
- <Spacer
- latin:horizontalGap="4.458%p" />
+ latin:keyWidth="8.047%p" />
<Key
- latin:keyLabel="7" />
+ latin:keyLabel="7"
+ latin:keyXPos="45.0%p" />
<Key
latin:keyLabel="8" />
<Key
@@ -184,29 +177,24 @@
</Row>
<!-- This row is intentionally not marked as a bottom row -->
<Row>
- <!-- There is an empty area below the "More" key and left of the "space" key. To
- ignore the touch event on the area, "space" is intentionally not marked as a
- left edge key. -->
- <Spacer
- latin:horizontalGap="8.362%p" />
<switch>
<case latin:hasSettingsKey="true">
<Key
latin:keyStyle="settingsKeyStyle"
- latin:keyWidth="8.042%p" />
+ latin:keyWidth="8.047%p" />
</case>
<default>
<Spacer
- latin:horizontalGap="8.042%p" />
+ latin:keyWidth="8.047%p" />
</default>
</switch>
<Key
latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle"
- latin:keyWidth="24.127%p" />
- <Spacer
- latin:horizontalGap="4.458%p" />
+ latin:keyXPos="13.829%p"
+ latin:keyWidth="24.14%p" />
<Key
- latin:keyLabel="*" />
+ latin:keyLabel="*"
+ latin:keyXPos="45.0%p" />
<Key
latin:keyLabel="0" />
<Key
@@ -217,12 +205,10 @@
>
<Key
latin:keyStyle="micKeyStyle"
- latin:keyWidth="8.042%p" />
+ latin:keyXPos="-8.047%p"
+ latin:keyWidth="0%p" />
</case>
</switch>
- <!-- There is an empty area below the "Enter" key and right of the "#" key. To
- ignore the touch event on the area, "#" is intentionally not marked as a right
- edge key. -->
</Row>
</default>
</switch>
diff --git a/java/res/xml-sw768dp/kbd_phone.xml b/java/res/xml-sw768dp/kbd_phone.xml
index 49e105d4f..a3dfec099 100644
--- a/java/res/xml-sw768dp/kbd_phone.xml
+++ b/java/res/xml-sw768dp/kbd_phone.xml
@@ -23,7 +23,7 @@
latin:keyboardHeight="@dimen/keyboardHeight"
latin:maxKeyboardHeight="50%p"
latin:rowHeight="25%p"
- latin:keyWidth="11.949%p"
+ latin:keyWidth="11.954%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:popupKeyboardTemplate="@xml/kbd_popup_template"
@@ -38,63 +38,59 @@
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
+ latin:keyWidth="7.969%p"
latin:keyEdgeFlags="left" />
<!-- To match one character label size with "Tab", I placed spaces around the char '-'
and '+'. -->
- <Spacer
- latin:horizontalGap="8.470%p" />
<Key
latin:code="45"
latin:keyLabel=" - "
- latin:keyWidth="8.042%p" />
+ latin:keyXPos="20.4%p"
+ latin:keyWidth="8.047%p" />
<Key
latin:code="43"
latin:keyLabel=" + "
- latin:keyWidth="8.042%p" />
- <Spacer
- latin:horizontalGap="8.479%p" />
+ latin:keyWidth="8.047%p" />
<Key
- latin:keyStyle="num1KeyStyle" />
+ latin:keyStyle="num1KeyStyle"
+ latin:keyXPos="45.0%p" />
<Key
latin:keyStyle="num2KeyStyle" />
<Key
latin:keyStyle="num3KeyStyle" />
- <Spacer
- latin:horizontalGap="9.360%p" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="9.804%p"
+ latin:keyXPos="-9.219%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:keyStyle="moreKeyStyle"
+ latin:keyWidth="11.172%p"
latin:keyEdgeFlags="left" />
<!-- To match one character label size with "More", I placed spaces around the char ','
and '.'. -->
- <Spacer
- latin:horizontalGap="8.470%p" />
<Key
latin:code="44"
latin:keyLabel=" , "
- latin:keyWidth="8.042%p" />
+ latin:keyXPos="20.4%p"
+ latin:keyWidth="8.047%p" />
<Key
latin:code="46"
latin:keyLabel=" . "
- latin:keyWidth="8.042%p" />
- <Spacer
- latin:horizontalGap="8.479%p" />
+ latin:keyWidth="8.047%p" />
<Key
- latin:keyStyle="num4KeyStyle" />
+ latin:keyStyle="num4KeyStyle"
+ latin:keyXPos="45.0%p" />
<Key
latin:keyStyle="num5KeyStyle" />
<Key
latin:keyStyle="num6KeyStyle" />
- <Spacer
- latin:horizontalGap="4.458%p" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="14.706%p"
+ latin:keyXPos="-15.704%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -102,20 +98,18 @@
and ')'. -->
<!-- There is an empty area below the "More" key and left of the "(" key. To ignore
the touch event on the area, "(" is intentionally not marked as a left edge key. -->
- <Spacer
- latin:horizontalGap="20.427%p" />
<Key
latin:code="40"
latin:keyLabel=" ( "
- latin:keyWidth="8.042%p" />
+ latin:keyXPos="20.4%p"
+ latin:keyWidth="8.047%p" />
<Key
latin:code="41"
latin:keyLabel=" ) "
- latin:keyWidth="8.042%p" />
- <Spacer
- latin:horizontalGap="8.479%p" />
+ latin:keyWidth="8.047%p" />
<Key
- latin:keyStyle="num7KeyStyle" />
+ latin:keyStyle="num7KeyStyle"
+ latin:keyXPos="45.0%p" />
<Key
latin:keyStyle="num8KeyStyle" />
<Key
@@ -125,28 +119,24 @@
</Row>
<!-- This row is intentionally not marked as a bottom row -->
<Row>
- <!-- There is an empty area below the "More" key and left of the "space" key. To ignore
- the touch event on the area, "space" is intentionally not marked as a left edge key. -->
- <Spacer
- latin:horizontalGap="12.340%p" />
<switch>
<case latin:hasSettingsKey="true">
<Key
latin:keyStyle="settingsKeyStyle"
- latin:keyWidth="8.042%p" />
+ latin:keyWidth="8.047%p" />
</case>
<default>
<Spacer
- latin:horizontalGap="8.042%p" />
+ latin:keyWidth="8.047%p" />
</default>
</switch>
<Key
latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle"
+ latin:keyXPos="20.4%p"
latin:keyWidth="16.084%p" />
- <Spacer
- latin:horizontalGap="8.479%p" />
<Key
- latin:keyStyle="numStarKeyStyle" />
+ latin:keyStyle="numStarKeyStyle"
+ latin:keyXPos="45.0%p" />
<Key
latin:keyStyle="num0KeyStyle" />
<Key
@@ -157,10 +147,9 @@
>
<Key
latin:keyStyle="micKeyStyle"
- latin:keyWidth="8.042%p" />
+ latin:keyXPos="-8.047%p"
+ latin:keyWidth="0%p" />
</case>
</switch>
- <!-- There is an empty area below the "Enter" key and right of the "#" key. To ignore
- the touch event on the area, "#" is intentionally not marked as a right edge key. -->
</Row>
</Keyboard>
diff --git a/java/res/xml-sw768dp/kbd_phone_symbols.xml b/java/res/xml-sw768dp/kbd_phone_symbols.xml
index f73fb5dc8..931c3c934 100644
--- a/java/res/xml-sw768dp/kbd_phone_symbols.xml
+++ b/java/res/xml-sw768dp/kbd_phone_symbols.xml
@@ -23,7 +23,7 @@
latin:keyboardHeight="@dimen/keyboardHeight"
latin:maxKeyboardHeight="50%p"
latin:rowHeight="25%p"
- latin:keyWidth="11.949%p"
+ latin:keyWidth="11.954%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:popupKeyboardTemplate="@xml/kbd_popup_template"
@@ -38,71 +38,67 @@
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
+ latin:keyWidth="7.969%p"
latin:keyEdgeFlags="left" />
- <Spacer
- latin:horizontalGap="4.458%p" />
<Key
latin:code="45"
latin:keyLabel=" - "
- latin:keyWidth="8.042%p" />
+ latin:keyXPos="13.829%p"
+ latin:keyWidth="8.047%p" />
<Key
latin:code="43"
latin:keyLabel=" + "
- latin:keyWidth="8.042%p" />
+ latin:keyWidth="8.047%p" />
<Key
latin:code="44"
latin:keyLabel="@string/label_pause_key"
- latin:keyWidth="8.042%p" />
+ latin:keyWidth="8.047%p" />
<!-- To match one character label size with "Tab" and "Pause, I placed spaces around the
char '-' and '+'. -->
- <Spacer
- latin:horizontalGap="4.458%p" />
<Key
- latin:keyStyle="num1KeyStyle" />
+ latin:keyStyle="num1KeyStyle"
+ latin:keyXPos="45.0%p" />
<Key
latin:keyStyle="num2KeyStyle" />
<Key
latin:keyStyle="num3KeyStyle" />
- <Spacer
- latin:horizontalGap="9.360%p" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="9.804%p"
+ latin:keyXPos="-9.219%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:keyStyle="moreKeyStyle"
+ latin:keyWidth="11.172%p"
latin:keyEdgeFlags="left" />
- <Spacer
- latin:horizontalGap="4.458%p" />
<Key
latin:code="44"
latin:keyLabel=" , "
- latin:keyWidth="8.042%p" />
+ latin:keyXPos="13.829%p"
+ latin:keyWidth="8.047%p" />
<Key
latin:code="46"
latin:keyLabel=" . "
- latin:keyWidth="8.042%p" />
+ latin:keyWidth="8.047%p" />
<Key
latin:code="59"
latin:keyLabel="@string/label_wait_key"
- latin:keyWidth="8.042%p" />
+ latin:keyWidth="8.047%p" />
<!-- To match one character label size with "More" and "Wait", I placed spaces around the
char ',' and '.'. -->
- <Spacer
- latin:horizontalGap="4.458%p" />
<Key
- latin:keyStyle="num4KeyStyle" />
+ latin:keyStyle="num4KeyStyle"
+ latin:keyXPos="45.0%p" />
<Key
latin:keyStyle="num5KeyStyle" />
<Key
latin:keyStyle="num6KeyStyle" />
- <Spacer
- latin:horizontalGap="4.458%p" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="14.706%p"
+ latin:keyXPos="-15.704%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -110,24 +106,22 @@
char 'N', '(' and ')'. -->
<!-- There is an empty area below the "More" key and left of the "(" key. To ignore
the touch event on the area, "(" is intentionally not marked as a left edge key. -->
- <Spacer
- latin:horizontalGap="16.406%p" />
<Key
latin:code="40"
latin:keyLabel=" ( "
- latin:keyWidth="8.042%p" />
+ latin:keyXPos="13.829%p"
+ latin:keyWidth="8.047%p" />
<Key
latin:code="41"
latin:keyLabel=" ) "
- latin:keyWidth="8.042%p" />
+ latin:keyWidth="8.047%p" />
<Key
latin:code="78"
latin:keyLabel=" N "
- latin:keyWidth="8.042%p" />
- <Spacer
- latin:horizontalGap="4.458%p" />
+ latin:keyWidth="8.047%p" />
<Key
- latin:keyStyle="num7KeyStyle" />
+ latin:keyStyle="num7KeyStyle"
+ latin:keyXPos="45.0%p" />
<Key
latin:keyStyle="num8KeyStyle" />
<Key
@@ -137,28 +131,24 @@
</Row>
<!-- This row is intentionally not marked as a bottom row -->
<Row>
- <!-- There is an empty area below the "More" key and left of the "space" key. To ignore
- the touch event on the area, "space" is intentionally not marked as a left edge key. -->
- <Spacer
- latin:horizontalGap="8.362%p" />
<switch>
<case latin:hasSettingsKey="true">
<Key
latin:keyStyle="settingsKeyStyle"
- latin:keyWidth="8.042%p" />
+ latin:keyWidth="8.047%p" />
</case>
<default>
<Spacer
- latin:horizontalGap="8.042%p" />
+ latin:keyWidth="8.047%p" />
</default>
</switch>
<Key
latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle"
- latin:keyWidth="24.127%p" />
- <Spacer
- latin:horizontalGap="4.458%p" />
+ latin:keyXPos="13.829%p"
+ latin:keyWidth="24.14%p" />
<Key
- latin:keyStyle="numStarKeyStyle" />
+ latin:keyStyle="numStarKeyStyle"
+ latin:keyXPos="45.0%p" />
<Key
latin:keyStyle="num0KeyStyle" />
<Key
@@ -169,10 +159,9 @@
>
<Key
latin:keyStyle="micKeyStyle"
- latin:keyWidth="8.042%p" />
+ latin:keyXPos="-8.047%p"
+ latin:keyWidth="0%p" />
</case>
</switch>
- <!-- There is an empty area below the "Enter" key and right of the "#" key. To ignore
- the touch event on the area, "#" is intentionally not marked as a right edge key. -->
</Row>
</Keyboard>
diff --git a/java/res/xml-sw768dp/kbd_qwerty_row1.xml b/java/res/xml-sw768dp/kbd_qwerty_row1.xml
index f5135591c..0a793028e 100644
--- a/java/res/xml-sw768dp/kbd_qwerty_row1.xml
+++ b/java/res/xml-sw768dp/kbd_qwerty_row1.xml
@@ -23,12 +23,12 @@
>
<!-- This row is intentionally not marked as a top row -->
<Row
- latin:keyWidth="8.272%p"
+ latin:keyWidth="8.282%p"
>
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
- latin:keyWidth="7.949%p"
+ latin:keyWidth="7.969%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="q"
@@ -62,7 +62,8 @@
latin:popupCharacters="@string/alternates_for_p" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="9.331%p"
+ latin:keyXPos="-9.219%p"
+ latin:keyWidth="-9.219%p"
latin:keyEdgeFlags="right" />
</Row>
</merge>
diff --git a/java/res/xml-sw768dp/kbd_qwerty_row2.xml b/java/res/xml-sw768dp/kbd_qwerty_row2.xml
index 02bd0a6c9..aeeab235e 100644
--- a/java/res/xml-sw768dp/kbd_qwerty_row2.xml
+++ b/java/res/xml-sw768dp/kbd_qwerty_row2.xml
@@ -22,12 +22,12 @@
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<Row
- latin:keyWidth="8.157%p"
+ latin:keyWidth="8.125%p"
>
<Key
latin:keyStyle="toSymbolKeyStyle"
latin:keyLabelOption="alignLeft"
- latin:keyWidth="11.167%p"
+ latin:keyWidth="11.172%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="a"
@@ -55,7 +55,8 @@
latin:popupCharacters="@string/alternates_for_l" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="15.750%p"
+ latin:keyXPos="-15.704%p"
+ latin:keyWidth="-15.704%p"
latin:keyEdgeFlags="right" />
</Row>
</merge>
diff --git a/java/res/xml-sw768dp/kbd_qwerty_row3.xml b/java/res/xml-sw768dp/kbd_qwerty_row3.xml
index b7e9bcff9..e488cf32d 100644
--- a/java/res/xml-sw768dp/kbd_qwerty_row3.xml
+++ b/java/res/xml-sw768dp/kbd_qwerty_row3.xml
@@ -22,11 +22,11 @@
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<Row
- latin:keyWidth="8.042%p"
+ latin:keyWidth="8.047%p"
>
<Key
latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="15.192%p"
+ latin:keyWidth="13.829%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="z"
@@ -72,7 +72,8 @@
</switch>
<Key
latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="12.530%p"
+ latin:keyXPos="-13.750%p"
+ latin:keyWidth="-13.750%p"
latin:keyEdgeFlags="right" />
</Row>
</merge>
diff --git a/java/res/xml-sw768dp/kbd_qwerty_row4.xml b/java/res/xml-sw768dp/kbd_qwerty_row4.xml
index e5bc342ae..44e8e10e1 100644
--- a/java/res/xml-sw768dp/kbd_qwerty_row4.xml
+++ b/java/res/xml-sw768dp/kbd_qwerty_row4.xml
@@ -23,18 +23,17 @@
>
<!-- This row is intentionally not marked as a bottom row -->
<Row
- latin:keyWidth="8.042%p"
+ latin:keyWidth="8.047%p"
>
- <Spacer
- latin:horizontalGap="8.362%p" />
<switch>
<case latin:hasSettingsKey="true">
<Key
- latin:keyStyle="settingsKeyStyle" />
+ latin:keyStyle="settingsKeyStyle"
+ latin:keyWidth="8.047%p" />
</case>
<default>
<Spacer
- latin:horizontalGap="8.042%p" />
+ latin:keyWidth="8.047%p" />
</default>
</switch>
<switch>
@@ -47,13 +46,15 @@
latin:mode="email"
>
<Key
- latin:keyStyle="comKeyStyle" />
+ latin:keyStyle="comKeyStyle"
+ latin:keyXPos="15.157%p" />
</case>
<case
latin:mode="url"
>
<Key
- latin:keyStyle="comKeyStyle" />
+ latin:keyStyle="comKeyStyle"
+ latin:keyXPos="15.157%p" />
</case>
<case
latin:imeAction="actionSearch"
@@ -63,11 +64,13 @@
latin:manualTemporaryUpperCaseCode="43"
latin:keyHintIcon="@drawable/key_hint_plus_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_plus_large_holo"
- latin:popupCharacters="+" />
+ latin:popupCharacters="+"
+ latin:keyXPos="15.157%p" />
</case>
<default>
<Key
- latin:keyStyle="smileyKeyStyle" />
+ latin:keyStyle="smileyKeyStyle"
+ latin:keyXPos="15.157%p" />
</default>
</switch>
<switch>
@@ -105,6 +108,7 @@
>
<Key
latin:keyStyle="comKeyStyle"
+ latin:keyXPos="15.157%p"
latin:keyWidth="16.084%p" />
</case>
<default>
@@ -113,7 +117,8 @@
latin:mode="email"
>
<Key
- latin:keyStyle="comKeyStyle" />
+ latin:keyStyle="comKeyStyle"
+ latin:keyXPos="15.157%p" />
</case>
<case
latin:imeAction="actionSearch"
@@ -123,11 +128,13 @@
latin:manualTemporaryUpperCaseCode="43"
latin:keyHintIcon="@drawable/key_hint_plus_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_plus_large_holo"
- latin:popupCharacters="+" />
+ latin:popupCharacters="+"
+ latin:keyXPos="15.157%p" />
</case>
<default>
<Key
- latin:keyStyle="smileyKeyStyle" />
+ latin:keyStyle="smileyKeyStyle"
+ latin:keyXPos="15.157%p" />
</default>
</switch>
<switch>
@@ -152,7 +159,8 @@
</switch>
<Key
latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="37.454%p" />
+ latin:keyXPos="31.250%p"
+ latin:keyWidth="37.500%p" />
<switch>
<case
latin:languageCode="ru"
@@ -251,7 +259,9 @@
latin:voiceKeyEnabled="true"
>
<Key
- latin:keyStyle="micKeyStyle" />
+ latin:keyStyle="micKeyStyle"
+ latin:keyXPos="-8.047%p"
+ latin:keyWidth="0%p" />
</case>
</switch>
</Row>
diff --git a/java/res/xml-sw768dp/kbd_qwerty_rows_scandinavia.xml b/java/res/xml-sw768dp/kbd_qwerty_rows_scandinavia.xml
index fb2034fb7..363de4b8c 100644
--- a/java/res/xml-sw768dp/kbd_qwerty_rows_scandinavia.xml
+++ b/java/res/xml-sw768dp/kbd_qwerty_rows_scandinavia.xml
@@ -24,12 +24,12 @@
<include
latin:keyboardLayout="@xml/kbd_key_styles" />
<Row
- latin:keyWidth="7.520%p"
+ latin:keyWidth="7.579%p"
>
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
- latin:keyWidth="7.949%p"
+ latin:keyWidth="7.969%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="q"
@@ -65,16 +65,17 @@
latin:keyLabel="å" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="9.331%p"
+ latin:keyXPos="-9.219%p"
+ latin:keyWidth="-9.219%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
- latin:keyWidth="7.520%p"
+ latin:keyWidth="7.500%p"
>
<Key
latin:keyStyle="toSymbolKeyStyle"
latin:keyLabelOption="alignLeft"
- latin:keyWidth="7.949%p"
+ latin:keyWidth="7.969%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="a"
@@ -108,8 +109,10 @@
latin:popupCharacters="@string/alternates_for_scandinavia_row2_11" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="9.331%p"
+ latin:keyXPos="-15.704%p"
+ latin:keyWidth="-15.704%p"
latin:keyEdgeFlags="right" />
+
</Row>
<include
latin:keyboardLayout="@xml/kbd_qwerty_row3" />
diff --git a/java/res/xml-sw768dp/kbd_qwertz_rows.xml b/java/res/xml-sw768dp/kbd_qwertz_rows.xml
index 3e99f0511..9a8b66177 100644
--- a/java/res/xml-sw768dp/kbd_qwertz_rows.xml
+++ b/java/res/xml-sw768dp/kbd_qwertz_rows.xml
@@ -24,12 +24,12 @@
<include
latin:keyboardLayout="@xml/kbd_key_styles" />
<Row
- latin:keyWidth="8.272%p"
+ latin:keyWidth="8.282%p"
>
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
- latin:keyWidth="7.949%p"
+ latin:keyWidth="7.969%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="q"
@@ -63,17 +63,18 @@
latin:popupCharacters="@string/alternates_for_p" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="9.331%p"
+ latin:keyXPos="-9.219%p"
+ latin:keyWidth="-9.219%p"
latin:keyEdgeFlags="right" />
</Row>
<include
latin:keyboardLayout="@xml/kbd_qwerty_row2" />
<Row
- latin:keyWidth="8.042%p"
+ latin:keyWidth="8.047%p"
>
<Key
latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="15.192%p"
+ latin:keyWidth="13.829%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="y"
@@ -119,7 +120,8 @@
</switch>
<Key
latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="12.530%p"
+ latin:keyXPos="-13.750%p"
+ latin:keyWidth="-13.750%p"
latin:keyEdgeFlags="right" />
</Row>
<include
diff --git a/java/res/xml-sw768dp/kbd_ru_rows.xml b/java/res/xml-sw768dp/kbd_ru_rows.xml
index c5cd04371..22e7d562c 100644
--- a/java/res/xml-sw768dp/kbd_ru_rows.xml
+++ b/java/res/xml-sw768dp/kbd_ru_rows.xml
@@ -25,57 +25,49 @@
latin:keyboardLayout="@xml/kbd_key_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row
- latin:keyWidth="7.520%p"
+ latin:keyWidth="7.579%p"
>
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
- latin:keyWidth="7.949%p"
+ latin:keyWidth="7.969%p"
latin:keyEdgeFlags="left" />
<Key
- latin:keyLabel="й"
- latin:popupCharacters="1" />
+ latin:keyLabel="й" />
<Key
- latin:keyLabel="ц"
- latin:popupCharacters="2" />
+ latin:keyLabel="ц" />
<Key
- latin:keyLabel="у"
- latin:popupCharacters="3" />
+ latin:keyLabel="у" />
<Key
- latin:keyLabel="к"
- latin:popupCharacters="4" />
+ latin:keyLabel="к" />
<Key
latin:keyLabel="е"
latin:popupCharacters="@string/alternates_for_cyrillic_e" />
<Key
- latin:keyLabel="н"
- latin:popupCharacters="6" />
+ latin:keyLabel="н" />
<Key
- latin:keyLabel="г"
- latin:popupCharacters="7" />
+ latin:keyLabel="г" />
<Key
- latin:keyLabel="ш"
- latin:popupCharacters="8" />
+ latin:keyLabel="ш" />
<Key
- latin:keyLabel="щ"
- latin:popupCharacters="9" />
+ latin:keyLabel="щ" />
<Key
- latin:keyLabel="з"
- latin:popupCharacters="0" />
+ latin:keyLabel="з" />
<Key
latin:keyLabel="х" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="9.331%p"
+ latin:keyXPos="-9.219%p"
+ latin:keyWidth="-9.219%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
- latin:keyWidth="7.520%p"
+ latin:keyWidth="7.500%p"
>
<Key
latin:keyStyle="toSymbolKeyStyle"
latin:keyLabelOption="alignLeft"
- latin:keyWidth="7.949%p"
+ latin:keyWidth="9.219%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="ф" />
@@ -101,11 +93,12 @@
latin:keyLabel="э" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="9.331%p"
+ latin:keyXPos="-15.704%p"
+ latin:keyWidth="-15.704%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
- latin:keyWidth="7.520%p"
+ latin:keyWidth="7.500%p"
>
<Key
latin:keyStyle="shiftKeyStyle"
@@ -138,7 +131,8 @@
latin:popupCharacters="," />
<Key
latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="12.400%p"
+ latin:keyXPos="-13.750%p"
+ latin:keyWidth="-13.750%p"
latin:keyEdgeFlags="right" />
</Row>
<include
diff --git a/java/res/xml-sw768dp/kbd_sr_rows.xml b/java/res/xml-sw768dp/kbd_sr_rows.xml
index be0058505..693658d09 100644
--- a/java/res/xml-sw768dp/kbd_sr_rows.xml
+++ b/java/res/xml-sw768dp/kbd_sr_rows.xml
@@ -25,12 +25,12 @@
latin:keyboardLayout="@xml/kbd_key_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row
- latin:keyWidth="7.520%p"
+ latin:keyWidth="7.579%p"
>
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
- latin:keyWidth="8.640%p"
+ latin:keyWidth="7.969%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="љ"
@@ -66,16 +66,17 @@
latin:keyLabel="ш" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="8.640%p"
+ latin:keyXPos="-9.219%p"
+ latin:keyWidth="-9.219%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
- latin:keyWidth="7.520%p"
+ latin:keyWidth="7.500%p"
>
<Key
latin:keyStyle="toSymbolKeyStyle"
latin:keyLabelOption="alignLeft"
- latin:keyWidth="8.640%p"
+ latin:keyWidth="9.219%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="а" />
@@ -101,15 +102,16 @@
latin:keyLabel="ћ" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="8.640%p"
+ latin:keyXPos="-15.704%p"
+ latin:keyWidth="-15.704%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
- latin:keyWidth="7.520%p"
+ latin:keyWidth="7.500%p"
>
<Key
latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="8.640%p"
+ latin:keyWidth="9.219%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="ѕ" />
@@ -143,7 +145,8 @@
latin:popupCharacters="\?" />
<Key
latin:keyStyle="shiftKeyStyle"
- latin:keyWidth="8.640%p"
+ latin:keyXPos="-13.750%p"
+ latin:keyWidth="-13.750%p"
latin:keyEdgeFlags="right" />
</Row>
<include
diff --git a/java/res/xml-sw768dp/kbd_symbols.xml b/java/res/xml-sw768dp/kbd_symbols.xml
index 16722a04b..15c75cacc 100644
--- a/java/res/xml-sw768dp/kbd_symbols.xml
+++ b/java/res/xml-sw768dp/kbd_symbols.xml
@@ -34,12 +34,12 @@
latin:keyboardLayout="@xml/kbd_currency_key_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row
- latin:keyWidth="8.272%p"
+ latin:keyWidth="8.282%p"
>
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
- latin:keyWidth="7.949%p"
+ latin:keyWidth="7.969%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="1"
@@ -70,16 +70,17 @@
latin:popupCharacters="ⁿ,∅" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="9.331%p"
+ latin:keyXPos="-9.219%p"
+ latin:keyWidth="-9.219%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
- latin:keyWidth="8.157%p"
+ latin:keyWidth="8.125%p"
>
<Key
latin:keyStyle="toAlphaKeyStyle"
latin:keyLabelOption="alignLeft"
- latin:keyWidth="11.167%p"
+ latin:keyWidth="11.172%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="#" />
@@ -107,15 +108,16 @@
latin:popupCharacters="],},&gt;" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="15.750%p"
+ latin:keyXPos="-15.704%p"
+ latin:keyWidth="-15.704%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
- latin:keyWidth="8.042%p"
+ latin:keyWidth="8.047%p"
>
<Key
latin:keyStyle="moreKeyStyle"
- latin:keyWidth="15.192%p"
+ latin:keyWidth="13.829%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="&lt;"
@@ -179,32 +181,34 @@
</switch>
<Key
latin:keyStyle="moreKeyStyle"
- latin:keyWidth="12.530%p"
+ latin:keyXPos="-13.750%p"
+ latin:keyWidth="-13.750%p"
latin:keyEdgeFlags="right" />
</Row>
<!-- This row is intentionally not marked as a bottom row -->
<Row
- latin:keyWidth="8.042%p"
+ latin:keyWidth="8.047%p"
>
- <Spacer
- latin:horizontalGap="8.362%p" />
<switch>
<case latin:hasSettingsKey="true">
<Key
- latin:keyStyle="settingsKeyStyle" />
+ latin:keyStyle="settingsKeyStyle"
+ latin:keyWidth="8.047%p" />
</case>
<default>
<Spacer
- latin:horizontalGap="8.042%p" />
+ latin:keyWidth="8.047%p" />
</default>
</switch>
<Key
- latin:keyLabel="/" />
+ latin:keyLabel="/"
+ latin:keyXPos="15.157%p" />
<Key
latin:keyLabel="\@" />
<Key
latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="37.454%p" />
+ latin:keyXPos="31.250%p"
+ latin:keyWidth="37.500%p" />
<switch>
<case
latin:languageCode="ru"
@@ -229,7 +233,9 @@
latin:voiceKeyEnabled="true"
>
<Key
- latin:keyStyle="micKeyStyle" />
+ latin:keyStyle="micKeyStyle"
+ latin:keyXPos="-8.047%p"
+ latin:keyWidth="0%p" />
</case>
</switch>
</Row>
diff --git a/java/res/xml-sw768dp/kbd_symbols_shift.xml b/java/res/xml-sw768dp/kbd_symbols_shift.xml
index cc23358a5..44340ab81 100644
--- a/java/res/xml-sw768dp/kbd_symbols_shift.xml
+++ b/java/res/xml-sw768dp/kbd_symbols_shift.xml
@@ -32,12 +32,12 @@
latin:keyboardLayout="@xml/kbd_key_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row
- latin:keyWidth="8.272%p"
+ latin:keyWidth="8.282%p"
>
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
- latin:keyWidth="7.949%p"
+ latin:keyWidth="7.969%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="~" />
@@ -71,16 +71,17 @@
latin:keyLabel="Δ" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="9.331%p"
+ latin:keyXPos="-9.219%p"
+ latin:keyWidth="-9.219%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
- latin:keyWidth="8.157%p"
+ latin:keyWidth="8.125%p"
>
<Key
latin:keyStyle="toAlphaKeyStyle"
latin:keyLabelOption="alignLeft"
- latin:keyWidth="11.167%p"
+ latin:keyWidth="11.172%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
@@ -111,15 +112,16 @@
latin:keyLabel="}" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="15.750%p"
+ latin:keyXPos="-15.704%p"
+ latin:keyWidth="-15.704%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
- latin:keyWidth="8.042%p"
+ latin:keyWidth="8.047%p"
>
<Key
latin:keyStyle="moreKeyStyle"
- latin:keyWidth="15.192%p"
+ latin:keyWidth="13.829%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="\\" />
@@ -147,34 +149,37 @@
latin:keyLabel="¿" />
<Key
latin:keyStyle="moreKeyStyle"
- latin:keyWidth="12.530%p"
+ latin:keyXPos="-13.750%p"
+ latin:keyWidth="-13.750%p"
latin:keyEdgeFlags="right" />
</Row>
<!-- This row is intentionally not marked as a bottom row -->
<Row
- latin:keyWidth="8.042%p"
+ latin:keyWidth="8.047%p"
>
- <Spacer
- latin:horizontalGap="24.446%p" />
<switch>
<case latin:hasSettingsKey="true">
<Key
- latin:keyStyle="settingsKeyStyle" />
+ latin:keyStyle="settingsKeyStyle"
+ latin:keyWidth="8.047%p" />
</case>
<default>
<Spacer
- latin:horizontalGap="8.042%p" />
+ latin:keyWidth="8.047%p" />
</default>
</switch>
<Key
latin:keyStyle="spaceKeyStyle"
- latin:keyWidth="37.454%p" />
+ latin:keyXPos="31.250%p"
+ latin:keyWidth="37.500%p" />
<switch>
<case
latin:voiceKeyEnabled="true"
>
<Key
- latin:keyStyle="micKeyStyle" />
+ latin:keyStyle="micKeyStyle"
+ latin:keyXPos="-8.047%p"
+ latin:keyWidth="0%p" />
</case>
</switch>
</Row>
diff --git a/java/res/xml/kbd_azerty_rows.xml b/java/res/xml/kbd_azerty_rows.xml
index cc5fb5720..4a766987d 100644
--- a/java/res/xml/kbd_azerty_rows.xml
+++ b/java/res/xml/kbd_azerty_rows.xml
@@ -68,6 +68,7 @@
latin:keyLabel="p"
latin:keyHintIcon="@drawable/key_hint_num0"
latin:popupCharacters="@string/alternates_for_p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -100,6 +101,7 @@
latin:popupCharacters="@string/alternates_for_l" />
<Key
latin:keyLabel="m"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -130,7 +132,7 @@
latin:keyLabel="\'" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="15%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<include
diff --git a/java/res/xml/kbd_number.xml b/java/res/xml/kbd_number.xml
index 033f802b7..3c8384604 100644
--- a/java/res/xml/kbd_number.xml
+++ b/java/res/xml/kbd_number.xml
@@ -47,8 +47,6 @@
latin:keyStyle="num2KeyStyle" />
<Key
latin:keyStyle="num3KeyStyle" />
- <Spacer
- latin:horizontalGap="20%p" />
</Row>
<Row>
<Key
@@ -58,8 +56,6 @@
latin:keyStyle="num5KeyStyle" />
<Key
latin:keyStyle="num6KeyStyle" />
- <Spacer
- latin:horizontalGap="20%p" />
</Row>
<Row>
<Key
@@ -71,21 +67,19 @@
latin:keyStyle="num9KeyStyle" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:rowEdgeFlags="bottom"
>
- <Spacer
- latin:horizontalGap="26.67%p" />
+ <Spacer />
<Key
latin:keyStyle="num0KeyStyle" />
- <Spacer
- latin:horizontalGap="26.67%p" />
+ <Spacer />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
</case>
@@ -103,7 +97,7 @@
<Key
latin:keyLabel="-"
latin:keyStyle="functionalKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -117,7 +111,7 @@
<Key
latin:keyLabel=","
latin:keyStyle="functionalKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -130,7 +124,7 @@
latin:keyLabel="9" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -145,7 +139,7 @@
latin:keyLabel="." />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
</default>
diff --git a/java/res/xml/kbd_phone.xml b/java/res/xml/kbd_phone.xml
index 62fbdeeec..7af8d07b4 100644
--- a/java/res/xml/kbd_phone.xml
+++ b/java/res/xml/kbd_phone.xml
@@ -46,7 +46,7 @@
<Key
latin:keyLabel="-"
latin:keyStyle="functionalKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -60,7 +60,7 @@
<Key
latin:keyLabel="."
latin:keyStyle="functionalKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -73,7 +73,7 @@
latin:keyStyle="num9KeyStyle" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -88,7 +88,7 @@
latin:keyStyle="numSpaceKeyStyle" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
</Keyboard>
diff --git a/java/res/xml/kbd_phone_symbols.xml b/java/res/xml/kbd_phone_symbols.xml
index 67cd330e7..4b6319ef7 100644
--- a/java/res/xml/kbd_phone_symbols.xml
+++ b/java/res/xml/kbd_phone_symbols.xml
@@ -46,7 +46,7 @@
<Key
latin:keyLabel="-"
latin:keyStyle="functionalKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -63,7 +63,7 @@
<Key
latin:keyLabel="."
latin:keyStyle="functionalKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -78,7 +78,7 @@
latin:keyStyle="numPoundKeyStyle" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -94,7 +94,7 @@
latin:keyStyle="numSpaceKeyStyle" />
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
</Keyboard>
diff --git a/java/res/xml/kbd_qwerty_row1.xml b/java/res/xml/kbd_qwerty_row1.xml
index 3964d3c3e..9ee164313 100644
--- a/java/res/xml/kbd_qwerty_row1.xml
+++ b/java/res/xml/kbd_qwerty_row1.xml
@@ -66,6 +66,7 @@
latin:keyLabel="p"
latin:keyHintIcon="@drawable/key_hint_num0"
latin:popupCharacters="@string/alternates_for_p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
</merge>
diff --git a/java/res/xml/kbd_qwerty_row2.xml b/java/res/xml/kbd_qwerty_row2.xml
index 9ed4553c4..cf9b3049b 100644
--- a/java/res/xml/kbd_qwerty_row2.xml
+++ b/java/res/xml/kbd_qwerty_row2.xml
@@ -24,10 +24,9 @@
<Row
latin:keyWidth="10%p"
>
- <Spacer
- latin:horizontalGap="5%p" />
<Key
latin:keyLabel="a"
+ latin:keyXPos="5%p"
latin:popupCharacters="@string/alternates_for_a"
latin:keyEdgeFlags="left" />
<Key
@@ -51,6 +50,7 @@
<Key
latin:keyLabel="l"
latin:popupCharacters="@string/alternates_for_l"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
</merge>
diff --git a/java/res/xml/kbd_qwerty_row3.xml b/java/res/xml/kbd_qwerty_row3.xml
index 26608fd71..ffbf06133 100644
--- a/java/res/xml/kbd_qwerty_row3.xml
+++ b/java/res/xml/kbd_qwerty_row3.xml
@@ -48,7 +48,7 @@
latin:keyLabel="m" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="15%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
</merge>
diff --git a/java/res/xml/kbd_qwerty_row4.xml b/java/res/xml/kbd_qwerty_row4.xml
index 1e7a3fc5b..67a1a76a1 100644
--- a/java/res/xml/kbd_qwerty_row4.xml
+++ b/java/res/xml/kbd_qwerty_row4.xml
@@ -64,13 +64,13 @@
>
<Key
latin:keyStyle="smileyKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</case>
<default>
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</default>
</switch>
@@ -114,21 +114,13 @@
>
<Key
latin:keyStyle="smileyKeyStyle"
- latin:keyWidth="25%p"
- latin:keyEdgeFlags="right" />
- </case>
- <case
- latin:webInput="true"
- >
- <Key
- latin:keyStyle="returnKeyStyle"
- latin:keyWidth="15%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</case>
<default>
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="25%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</default>
</switch>
diff --git a/java/res/xml/kbd_qwerty_rows_scandinavia.xml b/java/res/xml/kbd_qwerty_rows_scandinavia.xml
index 06bb286a2..be841dccd 100644
--- a/java/res/xml/kbd_qwerty_rows_scandinavia.xml
+++ b/java/res/xml/kbd_qwerty_rows_scandinavia.xml
@@ -71,7 +71,7 @@
latin:popupCharacters="@string/alternates_for_p" />
<Key
latin:keyLabel="å"
- latin:keyWidth="8.75%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -109,7 +109,7 @@
<Key
latin:keyLabel="@string/keylabel_for_scandinavia_row2_11"
latin:popupCharacters="@string/alternates_for_scandinavia_row2_11"
- latin:keyWidth="8.75%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<include
diff --git a/java/res/xml/kbd_qwertz_rows.xml b/java/res/xml/kbd_qwertz_rows.xml
index df532637d..960b9f5ae 100644
--- a/java/res/xml/kbd_qwertz_rows.xml
+++ b/java/res/xml/kbd_qwertz_rows.xml
@@ -68,6 +68,7 @@
latin:keyLabel="p"
latin:keyHintIcon="@drawable/key_hint_num0"
latin:popupCharacters="@string/alternates_for_p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<include
@@ -99,7 +100,7 @@
latin:keyLabel="m" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="15%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<include
diff --git a/java/res/xml/kbd_ru_rows.xml b/java/res/xml/kbd_ru_rows.xml
index b99259938..5d30221d9 100644
--- a/java/res/xml/kbd_ru_rows.xml
+++ b/java/res/xml/kbd_ru_rows.xml
@@ -71,7 +71,7 @@
latin:popupCharacters="0" />
<Key
latin:keyLabel="х"
- latin:keyWidth="8.75%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -101,7 +101,7 @@
latin:keyLabel="ж" />
<Key
latin:keyLabel="э"
- latin:keyWidth="8.75%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -132,7 +132,7 @@
latin:keyLabel="ю" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="11.75%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<include
diff --git a/java/res/xml/kbd_sr_rows.xml b/java/res/xml/kbd_sr_rows.xml
index 0aa17d5e4..8239f24cb 100644
--- a/java/res/xml/kbd_sr_rows.xml
+++ b/java/res/xml/kbd_sr_rows.xml
@@ -70,6 +70,7 @@
latin:popupCharacters="0" />
<Key
latin:keyLabel="ш"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -98,6 +99,7 @@
latin:keyLabel="ч" />
<Key
latin:keyLabel="ћ"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
@@ -126,7 +128,7 @@
latin:keyLabel="ж" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="11.00%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<include
diff --git a/java/res/xml/kbd_symbols.xml b/java/res/xml/kbd_symbols.xml
index bd3917bb2..3c9098da7 100644
--- a/java/res/xml/kbd_symbols.xml
+++ b/java/res/xml/kbd_symbols.xml
@@ -64,6 +64,7 @@
<Key
latin:keyLabel="0"
latin:popupCharacters="ⁿ,∅"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -94,6 +95,7 @@
<Key
latin:keyLabel=")"
latin:popupCharacters="],},&gt;"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -124,7 +126,7 @@
latin:popupCharacters="¿" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="15%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<include latin:keyboardLayout="@xml/kbd_symbols_row4" />
diff --git a/java/res/xml/kbd_symbols_row4.xml b/java/res/xml/kbd_symbols_row4.xml
index a5981bfbc..e92e58bcb 100644
--- a/java/res/xml/kbd_symbols_row4.xml
+++ b/java/res/xml/kbd_symbols_row4.xml
@@ -22,6 +22,7 @@
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<Row
+ latin:keyWidth="10%p"
latin:rowEdgeFlags="bottom"
>
<switch>
@@ -49,13 +50,13 @@
>
<Key
latin:keyStyle="smileyKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</case>
<default>
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</default>
</switch>
@@ -86,13 +87,13 @@
>
<Key
latin:keyStyle="smileyKeyStyle"
- latin:keyWidth="25%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</case>
<default>
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="25%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</default>
</switch>
diff --git a/java/res/xml/kbd_symbols_shift.xml b/java/res/xml/kbd_symbols_shift.xml
index b99d97084..0f9ea3b77 100644
--- a/java/res/xml/kbd_symbols_shift.xml
+++ b/java/res/xml/kbd_symbols_shift.xml
@@ -62,6 +62,7 @@
latin:keyLabel="{" />
<Key
latin:keyLabel="}"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -93,6 +94,7 @@
latin:keyLabel="[" />
<Key
latin:keyLabel="]"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
@@ -123,7 +125,7 @@
latin:popupCharacters="≥,»,›" />
<Key
latin:keyStyle="deleteKeyStyle"
- latin:keyWidth="15%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</Row>
<include latin:keyboardLayout="@xml/kbd_symbols_shift_row4" />
diff --git a/java/res/xml/kbd_symbols_shift_row4.xml b/java/res/xml/kbd_symbols_shift_row4.xml
index e4b5403b5..3ed76ea58 100644
--- a/java/res/xml/kbd_symbols_shift_row4.xml
+++ b/java/res/xml/kbd_symbols_shift_row4.xml
@@ -22,6 +22,7 @@
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<Row
+ latin:keyWidth="10%p"
latin:rowEdgeFlags="bottom"
>
<switch>
@@ -47,13 +48,13 @@
>
<Key
latin:keyStyle="smileyKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</case>
<default>
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="20%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</default>
</switch>
@@ -82,13 +83,13 @@
>
<Key
latin:keyStyle="smileyKeyStyle"
- latin:keyWidth="25%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</case>
<default>
<Key
latin:keyStyle="returnKeyStyle"
- latin:keyWidth="25%p"
+ latin:keyWidth="0%p"
latin:keyEdgeFlags="right" />
</default>
</switch>
diff --git a/java/src/com/android/inputmethod/keyboard/Key.java b/java/src/com/android/inputmethod/keyboard/Key.java
index 8eadf4ba4..eccd0c822 100644
--- a/java/src/com/android/inputmethod/keyboard/Key.java
+++ b/java/src/com/android/inputmethod/keyboard/Key.java
@@ -16,10 +16,6 @@
package com.android.inputmethod.keyboard;
-import com.android.inputmethod.keyboard.KeyStyles.KeyStyle;
-import com.android.inputmethod.keyboard.KeyboardParser.ParseException;
-import com.android.inputmethod.latin.R;
-
import android.content.res.Resources;
import android.content.res.TypedArray;
import android.content.res.XmlResourceParser;
@@ -27,6 +23,10 @@ import android.graphics.drawable.Drawable;
import android.text.TextUtils;
import android.util.Xml;
+import com.android.inputmethod.keyboard.KeyStyles.KeyStyle;
+import com.android.inputmethod.keyboard.KeyboardParser.ParseException;
+import com.android.inputmethod.latin.R;
+
import java.util.ArrayList;
/**
@@ -137,7 +137,7 @@ public class Key {
};
/**
- * This constructor is being used only for key in mini popup keyboard.
+ * This constructor is being used only for key in popup mini keyboard.
*/
public Key(Resources res, Keyboard keyboard, CharSequence popupCharacter, int x, int y,
int width, int height, int edgeFlags) {
@@ -174,6 +174,7 @@ public class Key {
* @param x the x coordinate of the top-left
* @param y the y coordinate of the top-left
* @param parser the XML parser containing the attributes for this key
+ * @param keyStyles active key styles set
*/
public Key(Resources res, Row row, int x, int y, XmlResourceParser parser,
KeyStyles keyStyles) {
@@ -181,6 +182,7 @@ public class Key {
final TypedArray keyboardAttr = res.obtainAttributes(Xml.asAttributeSet(parser),
R.styleable.Keyboard);
+ int keyWidth;
try {
mHeight = KeyboardParser.getDimensionOrFraction(keyboardAttr,
R.styleable.Keyboard_rowHeight,
@@ -188,17 +190,13 @@ public class Key {
mGap = KeyboardParser.getDimensionOrFraction(keyboardAttr,
R.styleable.Keyboard_horizontalGap,
mKeyboard.getDisplayWidth(), row.mDefaultHorizontalGap);
- mWidth = KeyboardParser.getDimensionOrFraction(keyboardAttr,
+ keyWidth = KeyboardParser.getDimensionOrFraction(keyboardAttr,
R.styleable.Keyboard_keyWidth,
- mKeyboard.getDisplayWidth(), row.mDefaultWidth) - mGap;
+ mKeyboard.getDisplayWidth(), row.mDefaultWidth);
} finally {
keyboardAttr.recycle();
}
- // Horizontal gap is divided equally to both sides of the key.
- mX = x + mGap / 2;
- mY = y;
-
final TypedArray keyAttr = res.obtainAttributes(Xml.asAttributeSet(parser),
R.styleable.Keyboard_Key);
try {
@@ -212,6 +210,35 @@ public class Key {
style = keyStyles.getEmptyKeyStyle();
}
+ final int keyboardWidth = mKeyboard.getDisplayWidth();
+ int keyXPos = KeyboardParser.getDimensionOrFraction(keyAttr,
+ R.styleable.Keyboard_Key_keyXPos, keyboardWidth, x);
+ if (keyXPos < 0) {
+ // If keyXPos is negative, the actual x-coordinate will be k + keyXPos.
+ keyXPos += keyboardWidth;
+ if (keyXPos < x) {
+ // keyXPos shouldn't be less than x because drawable area for this key starts
+ // at x. Or, this key will overlaps the adjacent key on its left hand side.
+ keyXPos = x;
+ }
+ }
+ if (keyWidth == 0) {
+ // If keyWidth is zero, the actual key width will be determined to fill out the
+ // area up to the right edge of the keyboard.
+ keyWidth = keyboardWidth - keyXPos;
+ } else if (keyWidth < 0) {
+ // If keyWidth is negative, the actual key width will be determined to fill out the
+ // area between the nearest key on the left hand side and the right edge of the
+ // keyboard.
+ keyXPos = x;
+ keyWidth = keyboardWidth - keyXPos;
+ }
+
+ // Horizontal gap is divided equally to both sides of the key.
+ mX = keyXPos + mGap / 2;
+ mY = y;
+ mWidth = keyWidth - mGap;
+
final CharSequence[] popupCharacters = style.getTextArray(keyAttr,
R.styleable.Keyboard_Key_popupCharacters);
if (res.getBoolean(R.bool.config_digit_popup_characters_enabled)) {
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardId.java b/java/src/com/android/inputmethod/keyboard/KeyboardId.java
index bb2c0e3ba..d0e8b32c3 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardId.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardId.java
@@ -138,19 +138,19 @@ public class KeyboardId {
@Override
public String toString() {
- return String.format("[%s.xml %s %s %s imeAction=%s %s%s%s%s%s%s%s]",
+ return String.format("[%s.xml %s %s %s %s %s%s%s%s%s%s%s]",
mXmlName,
mLocale,
(mOrientation == 1 ? "port" : "land"),
modeName(mMode),
imeOptionsName(mImeAction),
+ colorSchemeName(mColorScheme),
(mWebInput ? " webInput" : ""),
(mPasswordInput ? " passwordInput" : ""),
(mHasSettingsKey ? " hasSettingsKey" : ""),
(mVoiceKeyEnabled ? " voiceKeyEnabled" : ""),
(mHasVoiceKey ? " hasVoiceKey" : ""),
- (mEnableShiftLock ? " enableShiftLock" : ""),
- colorSchemeName(mColorScheme)
+ (mEnableShiftLock ? " enableShiftLock" : "")
);
}
diff --git a/java/src/com/android/inputmethod/keyboard/KeyboardParser.java b/java/src/com/android/inputmethod/keyboard/KeyboardParser.java
index bc9e8f0a0..308651a9e 100644
--- a/java/src/com/android/inputmethod/keyboard/KeyboardParser.java
+++ b/java/src/com/android/inputmethod/keyboard/KeyboardParser.java
@@ -243,7 +243,7 @@ public class KeyboardParser {
if (TAG_KEY.equals(tag)) {
parseKey(parser, row, keys);
} else if (TAG_SPACER.equals(tag)) {
- parseSpacer(parser, keys);
+ parseSpacer(parser, row, keys);
} else if (TAG_INCLUDE.equals(tag)) {
parseIncludeRowContent(parser, row, keys);
} else if (TAG_SWITCH.equals(tag)) {
@@ -290,19 +290,32 @@ public class KeyboardParser {
}
}
- private void parseSpacer(XmlResourceParser parser, List<Key> keys)
+ private void parseSpacer(XmlResourceParser parser, Row row, List<Key> keys)
throws XmlPullParserException, IOException {
if (keys == null) {
checkEndTag(TAG_SPACER, parser);
} else {
if (DEBUG) Log.d(TAG, String.format("<%s />", TAG_SPACER));
- final TypedArray a = mResources.obtainAttributes(Xml.asAttributeSet(parser),
+ final TypedArray keyboardAttr = mResources.obtainAttributes(Xml.asAttributeSet(parser),
R.styleable.Keyboard);
- final int gap = getDimensionOrFraction(a, R.styleable.Keyboard_horizontalGap,
- mKeyboard.getDisplayWidth(), 0);
- a.recycle();
+ if (keyboardAttr.hasValue(R.styleable.Keyboard_horizontalGap))
+ throw new IllegalAttribute(parser, "horizontalGap");
+ final int defaultWidth = (row != null) ? row.mDefaultWidth : 0;
+ final int keyWidth = getDimensionOrFraction(keyboardAttr, R.styleable.Keyboard_keyWidth,
+ mKeyboard.getDisplayWidth(), defaultWidth);
+ keyboardAttr.recycle();
+
+ final TypedArray keyAttr = mResources.obtainAttributes(Xml.asAttributeSet(parser),
+ R.styleable.Keyboard_Key);
+ int keyXPos = KeyboardParser.getDimensionOrFraction(keyAttr,
+ R.styleable.Keyboard_Key_keyXPos, mKeyboard.getDisplayWidth(), mCurrentX);
+ if (keyXPos < 0) {
+ // If keyXPos is negative, the actual x-coordinate will be display_width + keyXPos.
+ keyXPos += mKeyboard.getDisplayWidth();
+ }
+
checkEndTag(TAG_SPACER, parser);
- setSpacer(gap);
+ setSpacer(keyXPos, keyWidth);
}
}
@@ -536,7 +549,7 @@ public class KeyboardParser {
}
private void endKey(Key key) {
- mCurrentX += key.mGap + key.mWidth;
+ mCurrentX = key.mX + key.mGap + key.mWidth;
if (mCurrentX > mMaxRowWidth)
mMaxRowWidth = mCurrentX;
}
@@ -545,8 +558,8 @@ public class KeyboardParser {
mTotalHeight = mCurrentY - defaultVerticalGap;
}
- private void setSpacer(int gap) {
- mCurrentX += gap;
+ private void setSpacer(int keyXPos, int width) {
+ mCurrentX = keyXPos + width;
}
public static int getDimensionOrFraction(TypedArray a, int index, int base, int defValue) {
@@ -584,6 +597,13 @@ public class KeyboardParser {
}
@SuppressWarnings("serial")
+ private static class IllegalAttribute extends ParseException {
+ public IllegalAttribute(XmlResourceParser parser, String attribute) {
+ super("Tag " + parser.getName() + " has illegal attribute " + attribute, parser);
+ }
+ }
+
+ @SuppressWarnings("serial")
private static class NonEmptyTag extends ParseException {
public NonEmptyTag(String tag, XmlResourceParser parser) {
super(tag + " must be empty tag", parser);