From 6b38a5fd4c7697c962bff9f3964f20e00c470b1b Mon Sep 17 00:00:00 2001 From: "Tadashi G. Takaoka" <takaoka@google.com> Date: Fri, 27 May 2011 02:38:11 +0900 Subject: [PATCH] Adaptive keyboard width/position parser (DO NOT MERGE) This change introduces the following features to Keyboard XML format. * "keyXPos" can specify the key X coordinate directly. * "keyXPos" can be negative. The X coordinate will be calcluated from the right edge of the keyboard toward left. * "keyWidth" can be zero to be filled up to the right side. * "keyWidth can be negative. The key will be filled up to both sides. * Spacer's horizontalGap is renamed as keyWidth, and can be inherited from key-style. * Spacer can have keyXPos attribute. Using these syntax, all keyboard layouts have been re-written. Bug: 4442045 Change-Id: I314b2e8ca2aa145ff9506cbf927140a15685af42 --- java/res/values/attrs.xml | 10 +- java/res/xml-iw/kbd_qwerty.xml | 6 +- java/res/xml-sw600dp/kbd_azerty_rows.xml | 53 +++++-- java/res/xml-sw600dp/kbd_key_styles.xml | 108 +++++++------- java/res/xml-sw600dp/kbd_number.xml | 108 ++++++-------- java/res/xml-sw600dp/kbd_phone.xml | 66 ++++----- java/res/xml-sw600dp/kbd_phone_symbols.xml | 59 ++++---- java/res/xml-sw600dp/kbd_qwerty_row1.xml | 5 +- java/res/xml-sw600dp/kbd_qwerty_row2.xml | 6 +- java/res/xml-sw600dp/kbd_qwerty_row3.xml | 8 +- java/res/xml-sw600dp/kbd_qwerty_row4.xml | 139 ++++-------------- .../kbd_qwerty_rows_scandinavia.xml | 21 ++- java/res/xml-sw600dp/kbd_qwertz_rows.xml | 44 ++++-- java/res/xml-sw600dp/kbd_row3_right.xml | 68 +++++++++ java/res/xml-sw600dp/kbd_ru_rows.xml | 35 +++-- java/res/xml-sw600dp/kbd_settings.xml | 89 ----------- java/res/xml-sw600dp/kbd_sr_rows.xml | 50 +++++-- java/res/xml-sw600dp/kbd_symbols.xml | 44 +++--- java/res/xml-sw600dp/kbd_symbols_shift.xml | 35 +++-- java/res/xml-sw768dp/kbd_azerty_rows.xml | 19 ++- java/res/xml-sw768dp/kbd_number.xml | 110 ++++++-------- java/res/xml-sw768dp/kbd_phone.xml | 69 ++++----- java/res/xml-sw768dp/kbd_phone_symbols.xml | 77 +++++----- java/res/xml-sw768dp/kbd_qwerty_row1.xml | 7 +- java/res/xml-sw768dp/kbd_qwerty_row2.xml | 7 +- java/res/xml-sw768dp/kbd_qwerty_row3.xml | 7 +- java/res/xml-sw768dp/kbd_qwerty_row4.xml | 38 +++-- .../kbd_qwerty_rows_scandinavia.xml | 15 +- java/res/xml-sw768dp/kbd_qwertz_rows.xml | 14 +- java/res/xml-sw768dp/kbd_ru_rows.xml | 46 +++--- java/res/xml-sw768dp/kbd_sr_rows.xml | 21 +-- java/res/xml-sw768dp/kbd_symbols.xml | 40 ++--- java/res/xml-sw768dp/kbd_symbols_shift.xml | 37 +++-- java/res/xml/kbd_azerty_rows.xml | 4 +- java/res/xml/kbd_number.xml | 22 +-- java/res/xml/kbd_phone.xml | 8 +- java/res/xml/kbd_phone_symbols.xml | 8 +- java/res/xml/kbd_qwerty_row1.xml | 1 + java/res/xml/kbd_qwerty_row2.xml | 4 +- java/res/xml/kbd_qwerty_row3.xml | 2 +- java/res/xml/kbd_qwerty_row4.xml | 16 +- java/res/xml/kbd_qwerty_rows_scandinavia.xml | 4 +- java/res/xml/kbd_qwertz_rows.xml | 3 +- java/res/xml/kbd_ru_rows.xml | 6 +- java/res/xml/kbd_sr_rows.xml | 4 +- java/res/xml/kbd_symbols.xml | 4 +- java/res/xml/kbd_symbols_row4.xml | 9 +- java/res/xml/kbd_symbols_shift.xml | 4 +- java/res/xml/kbd_symbols_shift_row4.xml | 9 +- .../com/android/inputmethod/keyboard/Key.java | 49 ++++-- .../inputmethod/keyboard/KeyboardId.java | 6 +- .../inputmethod/keyboard/KeyboardParser.java | 40 +++-- 52 files changed, 837 insertions(+), 827 deletions(-) create mode 100644 java/res/xml-sw600dp/kbd_row3_right.xml delete mode 100644 java/res/xml-sw600dp/kbd_settings.xml diff --git a/java/res/values/attrs.xml b/java/res/values/attrs.xml index 3bd6619d81..c63ecbe1a6 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 98bfd7e0b2..6c2504e657 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 5ad11470e2..3d57ae7155 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 6be6a2c300..0612cfd62d 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,20 +140,36 @@ 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" diff --git a/java/res/xml-sw600dp/kbd_number.xml b/java/res/xml-sw600dp/kbd_number.xml index 4af621d861..80391ed033 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 f77fc7e437..d13fa851de 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 63ef4128fd..895ca63fc0 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 d3d5b25e64..af1bd5d508 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 aecb4f4a97..1e6011cde6 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 e50f9079c1..700bcf0058 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 57367462a8..648775c97d 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 7e4635b8cf..0974a9d7ca 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 534276ccb0..3490cc7fdc 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 0000000000..7867e175a0 --- /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 0c7a997a6b..95f297dd14 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 4f679ca931..0000000000 --- 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 71d0e60f14..8c8539ec20 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 c89cd2fba8..2daaadd02a 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="],},>" /> <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="<" @@ -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=""" - 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 7195f6a7e6..111718a4d8 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 564f776290..f6ebfe6121 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 012b751159..c99ead42e8 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 49e105d4ff..a3dfec099c 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 f73fb5dc8e..931c3c934e 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 f5135591c3..0a793028ea 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 02bd0a6c99..aeeab235e4 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 b7e9bcff9a..e488cf32d2 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 e5bc342ae8..44e8e10e14 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 fb2034fb75..363de4b8c8 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 3e99f05113..9a8b661776 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 c5cd043712..22e7d562c4 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 be00585051..693658d097 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 16722a04bc..15c75cacc3 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="],},>" /> <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="<" @@ -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 cc23358a52..44340ab817 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 cc5fb57203..4a766987df 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 033f802b7e..3c8384604e 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 62fbdeeec8..7af8d07b4f 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 67cd330e77..4b6319ef7c 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 3964d3c3e6..9ee1643137 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 9ed4553c45..cf9b3049b3 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 26608fd716..ffbf061333 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 1e7a3fc5b1..67a1a76a1d 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 06bb286a2d..be841dccdc 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 df532637d0..960b9f5ae9 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 b992599385..5d30221d9b 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 0aa17d5e4c..8239f24cb6 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 bd3917bb2c..3c9098da7d 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="],},>" + 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 a5981bfbcc..e92e58bcbf 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 b99d970842..0f9ea3b77b 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 e4b5403b5d..3ed76ea581 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 8eadf4ba43..eccd0c822b 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 bb2c0e3ba0..d0e8b32c31 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 bc9e8f0a01..308651a9eb 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) { @@ -583,6 +596,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) { -- GitLab