Rename PopupCharactersParser to MoreKeySpecParser

Also renames PopupPanel to MoreKeysPanel

Change-Id: I37209a5a8fe7dbba1eef03e3be88ba5253653926
main
Tadashi G. Takaoka 2011-08-31 15:26:32 +09:00
parent 0e7ee45f54
commit 9d5601e901
93 changed files with 697 additions and 690 deletions

View File

@ -25,7 +25,7 @@
<bool name="config_enable_show_popup_on_keypress_option">false</bool> <bool name="config_enable_show_popup_on_keypress_option">false</bool>
<bool name="config_enable_bigram_suggestions_option">false</bool> <bool name="config_enable_bigram_suggestions_option">false</bool>
<bool name="config_sliding_key_input_enabled">false</bool> <bool name="config_sliding_key_input_enabled">false</bool>
<bool name="config_digit_popup_characters_enabled">false</bool> <bool name="config_digit_more_keys_enabled">false</bool>
<!-- Whether or not Popup on key press is enabled by default --> <!-- Whether or not Popup on key press is enabled by default -->
<bool name="config_default_popup_preview">false</bool> <bool name="config_default_popup_preview">false</bool>
<bool name="config_default_sound_enabled">true</bool> <bool name="config_default_sound_enabled">true</bool>
@ -39,5 +39,5 @@
<!-- This configuration is the index of the array {@link KeyboardSwitcher.KEYBOARD_THEMES}. --> <!-- This configuration is the index of the array {@link KeyboardSwitcher.KEYBOARD_THEMES}. -->
<string name="config_default_keyboard_theme_id" translatable="false">5</string> <string name="config_default_keyboard_theme_id" translatable="false">5</string>
<string name="config_text_size_of_language_on_spacebar" translatable="false">medium</string> <string name="config_text_size_of_language_on_spacebar" translatable="false">medium</string>
<integer name="config_max_mini_keyboard_column">5</integer> <integer name="config_max_more_keys_column">5</integer>
</resources> </resources>

View File

@ -25,7 +25,7 @@
<bool name="config_enable_show_popup_on_keypress_option">false</bool> <bool name="config_enable_show_popup_on_keypress_option">false</bool>
<bool name="config_enable_bigram_suggestions_option">false</bool> <bool name="config_enable_bigram_suggestions_option">false</bool>
<bool name="config_sliding_key_input_enabled">false</bool> <bool name="config_sliding_key_input_enabled">false</bool>
<bool name="config_digit_popup_characters_enabled">false</bool> <bool name="config_digit_more_keys_enabled">false</bool>
<!-- Whether or not Popup on key press is enabled by default --> <!-- Whether or not Popup on key press is enabled by default -->
<bool name="config_default_popup_preview">false</bool> <bool name="config_default_popup_preview">false</bool>
<bool name="config_default_sound_enabled">true</bool> <bool name="config_default_sound_enabled">true</bool>
@ -37,7 +37,7 @@
<!-- This configuration is the index of the array {@link KeyboardSwitcher.KEYBOARD_THEMES}. --> <!-- This configuration is the index of the array {@link KeyboardSwitcher.KEYBOARD_THEMES}. -->
<string name="config_default_keyboard_theme_id" translatable="false">5</string> <string name="config_default_keyboard_theme_id" translatable="false">5</string>
<string name="config_text_size_of_language_on_spacebar" translatable="false">medium</string> <string name="config_text_size_of_language_on_spacebar" translatable="false">medium</string>
<integer name="config_max_mini_keyboard_column">5</integer> <integer name="config_max_more_keys_column">5</integer>
<!-- Screen metrics for logging. 0 = "mdpi", 1 = "hdpi", 2 = "xlarge" --> <!-- Screen metrics for logging. 0 = "mdpi", 1 = "hdpi", 2 = "xlarge" -->
<integer name="log_screen_metrics">2</integer> <integer name="log_screen_metrics">2</integer>
</resources> </resources>

View File

@ -95,8 +95,8 @@
<!-- Amount to offset the touch Y coordinate by, for bias correction. --> <!-- Amount to offset the touch Y coordinate by, for bias correction. -->
<attr name="verticalCorrection" format="dimension" /> <attr name="verticalCorrection" format="dimension" />
<!-- Layout resource for popup panel --> <!-- Layout resource for more keys panel -->
<attr name="popupLayout" format="reference" /> <attr name="moreKeysLayout" format="reference" />
<attr name="shadowColor" format="color" /> <attr name="shadowColor" format="color" />
<attr name="shadowRadius" format="float" /> <attr name="shadowRadius" format="float" />
@ -153,8 +153,8 @@
<attr name="horizontalGap" format="dimension|fraction" /> <attr name="horizontalGap" format="dimension|fraction" />
<!-- Default vertical gap between rows of keys. --> <!-- Default vertical gap between rows of keys. -->
<attr name="verticalGap" format="dimension|fraction" /> <attr name="verticalGap" format="dimension|fraction" />
<!-- Popup panel layout template --> <!-- More keys keyboard layout template -->
<attr name="popupTemplate" format="reference" /> <attr name="moreKeysTemplate" format="reference" />
<!-- Locale of the keyboard layout --> <!-- Locale of the keyboard layout -->
<attr name="keyboardLocale" format="string" /> <attr name="keyboardLocale" format="string" />
<!-- True if the keyboard is Right-To-Left --> <!-- True if the keyboard is Right-To-Left -->
@ -178,10 +178,10 @@
<declare-styleable name="Keyboard_Key"> <declare-styleable name="Keyboard_Key">
<!-- The unicode value that this key outputs. --> <!-- The unicode value that this key outputs. -->
<attr name="code" format="integer" /> <attr name="code" format="integer" />
<!-- The characters to display in the popup keyboard. --> <!-- The keys to display in the more keys keyboard. -->
<attr name="popupCharacters" format="string" /> <attr name="moreKeys" format="string" />
<!-- Maximum column of mini keyboard --> <!-- Maximum column of more keys keyboard -->
<attr name="maxMiniKeyboardColumn" format="integer" /> <attr name="maxMoreKeysColumn" format="integer" />
<!-- Whether this is a functional key which has different key top than normal key. --> <!-- Whether this is a functional key which has different key top than normal key. -->
<attr name="isFunctional" format="boolean" /> <attr name="isFunctional" format="boolean" />
<!-- Whether this is a toggle key. --> <!-- Whether this is a toggle key. -->

View File

@ -27,7 +27,7 @@
<bool name="config_enable_bigram_suggestions_option">true</bool> <bool name="config_enable_bigram_suggestions_option">true</bool>
<bool name="config_enable_usability_study_mode_option">false</bool> <bool name="config_enable_usability_study_mode_option">false</bool>
<bool name="config_sliding_key_input_enabled">true</bool> <bool name="config_sliding_key_input_enabled">true</bool>
<bool name="config_digit_popup_characters_enabled">true</bool> <bool name="config_digit_more_keys_enabled">true</bool>
<!-- Whether or not Popup on key press is enabled by default --> <!-- Whether or not Popup on key press is enabled by default -->
<bool name="config_default_popup_preview">true</bool> <bool name="config_default_popup_preview">true</bool>
<!-- Default value for bigram suggestion: while showing candidates for a word should we weigh <!-- Default value for bigram suggestion: while showing candidates for a word should we weigh
@ -67,7 +67,7 @@
<!-- This configuration is the index of the array {@link KeyboardSwitcher.KEYBOARD_THEMES}. --> <!-- This configuration is the index of the array {@link KeyboardSwitcher.KEYBOARD_THEMES}. -->
<string name="config_default_keyboard_theme_id" translatable="false">5</string> <string name="config_default_keyboard_theme_id" translatable="false">5</string>
<string name="config_text_size_of_language_on_spacebar" translatable="false">small</string> <string name="config_text_size_of_language_on_spacebar" translatable="false">small</string>
<integer name="config_max_mini_keyboard_column">5</integer> <integer name="config_max_more_keys_column">5</integer>
<string-array name="auto_correction_threshold_values" translatable="false"> <string-array name="auto_correction_threshold_values" translatable="false">
<!-- Off, When auto correction setting is Off, this value is not used. --> <!-- Off, When auto correction setting is Off, this value is not used. -->
<item></item> <item></item>

View File

@ -21,12 +21,12 @@
<item name="keyboardHeight">@dimen/keyboardHeight</item> <item name="keyboardHeight">@dimen/keyboardHeight</item>
<item name="maxKeyboardHeight">@fraction/maxKeyboardHeight</item> <item name="maxKeyboardHeight">@fraction/maxKeyboardHeight</item>
<item name="minKeyboardHeight">@fraction/minKeyboardHeight</item> <item name="minKeyboardHeight">@fraction/minKeyboardHeight</item>
<item name="popupTemplate">@xml/kbd_mini_keyboard_template</item> <item name="moreKeysTemplate">@xml/kbd_mini_keyboard_template</item>
<item name="keyboardTopPadding">@fraction/keyboard_top_padding</item> <item name="keyboardTopPadding">@fraction/keyboard_top_padding</item>
<item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding</item> <item name="keyboardBottomPadding">@fraction/keyboard_bottom_padding</item>
<item name="horizontalGap">@fraction/key_horizontal_gap</item> <item name="horizontalGap">@fraction/key_horizontal_gap</item>
<item name="verticalGap">@fraction/key_bottom_gap</item> <item name="verticalGap">@fraction/key_bottom_gap</item>
<item name="maxMiniKeyboardColumn">@integer/config_max_mini_keyboard_column</item> <item name="maxMoreKeysColumn">@integer/config_max_more_keys_column</item>
</style> </style>
<style name="LatinKeyboard"> <style name="LatinKeyboard">
<item name="autoCorrectionSpacebarLedEnabled">@bool/config_auto_correction_spacebar_led_enabled <item name="autoCorrectionSpacebarLedEnabled">@bool/config_auto_correction_spacebar_led_enabled
@ -61,7 +61,7 @@
<item name="keyPreviewOffset">@dimen/key_preview_offset</item> <item name="keyPreviewOffset">@dimen/key_preview_offset</item>
<item name="keyPreviewHeight">@dimen/key_preview_height</item> <item name="keyPreviewHeight">@dimen/key_preview_height</item>
<item name="keyPreviewTextRatio">@fraction/key_preview_text_ratio</item> <item name="keyPreviewTextRatio">@fraction/key_preview_text_ratio</item>
<item name="popupLayout">@layout/mini_keyboard</item> <item name="moreKeysLayout">@layout/mini_keyboard</item>
<item name="verticalCorrection">@dimen/keyboard_vertical_correction</item> <item name="verticalCorrection">@dimen/keyboard_vertical_correction</item>
<item name="shadowColor">#BB000000</item> <item name="shadowColor">#BB000000</item>
<item name="shadowRadius">2.75</item> <item name="shadowRadius">2.75</item>

View File

@ -38,7 +38,7 @@
<key-style <key-style
latin:styleName="f2PopupStyle" latin:styleName="f2PopupStyle"
latin:keyLabelOption="hasPopupHint" latin:keyLabelOption="hasPopupHint"
latin:popupCharacters="\@icon/3|\@integer/key_settings" latin:moreKeys="\@icon/3|\@integer/key_settings"
latin:parentStyle="functionalKeyStyle" /> latin:parentStyle="functionalKeyStyle" />
</default> </default>
</switch> </switch>
@ -72,8 +72,8 @@
latin:keyLabel=":-)" latin:keyLabel=":-)"
latin:keyOutputText=":-) " latin:keyOutputText=":-) "
latin:keyLabelOption="hasPopupHint" latin:keyLabelOption="hasPopupHint"
latin:popupCharacters="@string/alternates_for_smiley" latin:moreKeys="@string/alternates_for_smiley"
latin:maxMiniKeyboardColumn="5" /> latin:maxMoreKeysColumn="5" />
<key-style <key-style
latin:styleName="shortcutKeyStyle" latin:styleName="shortcutKeyStyle"
latin:code="@integer/key_shortcut" latin:code="@integer/key_shortcut"
@ -117,5 +117,5 @@
latin:keyLabel="@string/keylabel_for_popular_domain" latin:keyLabel="@string/keylabel_for_popular_domain"
latin:keyLabelOption="fontNormal|hasPopupHint" latin:keyLabelOption="fontNormal|hasPopupHint"
latin:keyOutputText="@string/keylabel_for_popular_domain" latin:keyOutputText="@string/keylabel_for_popular_domain"
latin:popupCharacters="@string/alternates_for_popular_domain" /> latin:moreKeys="@string/alternates_for_popular_domain" />
</merge> </merge>

View File

@ -26,34 +26,34 @@
> >
<Key <Key
latin:keyLabel="q" latin:keyLabel="q"
latin:popupCharacters="@string/alternates_for_q" /> latin:moreKeys="@string/alternates_for_q" />
<Key <Key
latin:keyLabel="w" latin:keyLabel="w"
latin:popupCharacters="@string/alternates_for_w" /> latin:moreKeys="@string/alternates_for_w" />
<Key <Key
latin:keyLabel="e" latin:keyLabel="e"
latin:popupCharacters="@string/alternates_for_e" /> latin:moreKeys="@string/alternates_for_e" />
<Key <Key
latin:keyLabel="r" latin:keyLabel="r"
latin:popupCharacters="@string/alternates_for_r" /> latin:moreKeys="@string/alternates_for_r" />
<Key <Key
latin:keyLabel="t" latin:keyLabel="t"
latin:popupCharacters="@string/alternates_for_t" /> latin:moreKeys="@string/alternates_for_t" />
<Key <Key
latin:keyLabel="y" latin:keyLabel="y"
latin:popupCharacters="@string/alternates_for_y" /> latin:moreKeys="@string/alternates_for_y" />
<Key <Key
latin:keyLabel="u" latin:keyLabel="u"
latin:popupCharacters="@string/alternates_for_u" /> latin:moreKeys="@string/alternates_for_u" />
<Key <Key
latin:keyLabel="i" latin:keyLabel="i"
latin:popupCharacters="@string/alternates_for_i" /> latin:moreKeys="@string/alternates_for_i" />
<Key <Key
latin:keyLabel="o" latin:keyLabel="o"
latin:popupCharacters="@string/alternates_for_o" /> latin:moreKeys="@string/alternates_for_o" />
<Key <Key
latin:keyLabel="p" latin:keyLabel="p"
latin:popupCharacters="@string/alternates_for_p" /> latin:moreKeys="@string/alternates_for_p" />
<Key <Key
latin:keyStyle="deleteKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyXPos="-10.0%p" latin:keyXPos="-10.0%p"

View File

@ -26,29 +26,29 @@
> >
<Key <Key
latin:keyLabel="a" latin:keyLabel="a"
latin:popupCharacters="@string/alternates_for_a" latin:moreKeys="@string/alternates_for_a"
latin:keyXPos="4.5%p" /> latin:keyXPos="4.5%p" />
<Key <Key
latin:keyLabel="s" latin:keyLabel="s"
latin:popupCharacters="@string/alternates_for_s" /> latin:moreKeys="@string/alternates_for_s" />
<Key <Key
latin:keyLabel="d" latin:keyLabel="d"
latin:popupCharacters="@string/alternates_for_d" /> latin:moreKeys="@string/alternates_for_d" />
<Key <Key
latin:keyLabel="f" /> latin:keyLabel="f" />
<Key <Key
latin:keyLabel="g" latin:keyLabel="g"
latin:popupCharacters="@string/alternates_for_g" /> latin:moreKeys="@string/alternates_for_g" />
<Key <Key
latin:keyLabel="h" /> latin:keyLabel="h" />
<Key <Key
latin:keyLabel="j" /> latin:keyLabel="j" />
<Key <Key
latin:keyLabel="k" latin:keyLabel="k"
latin:popupCharacters="@string/alternates_for_k" /> latin:moreKeys="@string/alternates_for_k" />
<Key <Key
latin:keyLabel="l" latin:keyLabel="l"
latin:popupCharacters="@string/alternates_for_l" /> latin:moreKeys="@string/alternates_for_l" />
<Key <Key
latin:keyStyle="returnKeyStyle" latin:keyStyle="returnKeyStyle"
latin:keyXPos="-14.6%p" latin:keyXPos="-14.6%p"

View File

@ -29,20 +29,20 @@
latin:keyWidth="10.0%p" /> latin:keyWidth="10.0%p" />
<Key <Key
latin:keyLabel="z" latin:keyLabel="z"
latin:popupCharacters="@string/alternates_for_z" /> latin:moreKeys="@string/alternates_for_z" />
<Key <Key
latin:keyLabel="x" /> latin:keyLabel="x" />
<Key <Key
latin:keyLabel="c" latin:keyLabel="c"
latin:popupCharacters="@string/alternates_for_c" /> latin:moreKeys="@string/alternates_for_c" />
<Key <Key
latin:keyLabel="v" latin:keyLabel="v"
latin:popupCharacters="@string/alternates_for_v" /> latin:moreKeys="@string/alternates_for_v" />
<Key <Key
latin:keyLabel="b" /> latin:keyLabel="b" />
<Key <Key
latin:keyLabel="n" latin:keyLabel="n"
latin:popupCharacters="@string/alternates_for_n" /> latin:moreKeys="@string/alternates_for_n" />
<Key <Key
latin:keyLabel="m" /> latin:keyLabel="m" />
<include <include

View File

@ -47,7 +47,7 @@
latin:keyLabel="/" latin:keyLabel="/"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="\@" latin:keyHintLabel="\@"
latin:popupCharacters="\@" /> latin:moreKeys="\@" />
</default> </default>
</switch> </switch>
<Key <Key

View File

@ -35,12 +35,12 @@
latin:keyLabel="," latin:keyLabel=","
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="!" latin:keyHintLabel="!"
latin:popupCharacters="!" /> latin:moreKeys="!" />
<Key <Key
latin:keyLabel="." latin:keyLabel="."
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="\?" latin:keyHintLabel="\?"
latin:popupCharacters="\?" /> latin:moreKeys="\?" />
</default> </default>
</switch> </switch>
</merge> </merge>

View File

@ -37,7 +37,7 @@
latin:keyLabel="-" latin:keyLabel="-"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="_" latin:keyHintLabel="_"
latin:popupCharacters="_" latin:moreKeys="_"
latin:keyXPos="-8.9%p" latin:keyXPos="-8.9%p"
latin:keyWidth="fillBoth" /> latin:keyWidth="fillBoth" />
</case> </case>
@ -48,7 +48,7 @@
latin:keyLabel=":" latin:keyLabel=":"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="+" latin:keyHintLabel="+"
latin:popupCharacters="+" latin:moreKeys="+"
latin:keyXPos="-8.9%p" latin:keyXPos="-8.9%p"
latin:keyWidth="fillBoth" /> latin:keyWidth="fillBoth" />
</case> </case>

View File

@ -35,14 +35,14 @@
latin:keyLabel="/" latin:keyLabel="/"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel=":" latin:keyHintLabel=":"
latin:popupCharacters=":" /> latin:moreKeys=":" />
</case> </case>
<default> <default>
<Key <Key
latin:keyLabel="@string/keylabel_for_apostrophe" latin:keyLabel="@string/keylabel_for_apostrophe"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="@string/keyhintlabel_for_apostrophe" latin:keyHintLabel="@string/keyhintlabel_for_apostrophe"
latin:popupCharacters="@string/alternates_for_apostrophe" /> latin:moreKeys="@string/alternates_for_apostrophe" />
</default> </default>
</switch> </switch>
<switch> <switch>
@ -57,7 +57,7 @@
latin:keyLabel="@string/keylabel_for_dash" latin:keyLabel="@string/keylabel_for_dash"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="@string/keyhintlabel_for_dash" latin:keyHintLabel="@string/keyhintlabel_for_dash"
latin:popupCharacters="@string/alternates_for_dash" /> latin:moreKeys="@string/alternates_for_dash" />
</default> </default>
</switch> </switch>
</merge> </merge>

View File

@ -36,7 +36,7 @@
latin:keyLabel="ق" /> latin:keyLabel="ق" />
<Key <Key
latin:keyLabel="ف" latin:keyLabel="ف"
latin:popupCharacters="ڤ" /> latin:moreKeys="ڤ" />
<Key <Key
latin:keyLabel="غ" /> latin:keyLabel="غ" />
<Key <Key
@ -45,14 +45,14 @@
\u0647\u0640: ARABIC LETTER HEH + ARABIC TATWEEL --> \u0647\u0640: ARABIC LETTER HEH + ARABIC TATWEEL -->
<Key <Key
latin:keyLabel="ه" latin:keyLabel="ه"
latin:popupCharacters="\ufeeb|\u0647\u0640" /> latin:moreKeys="\ufeeb|\u0647\u0640" />
<Key <Key
latin:keyLabel="خ" /> latin:keyLabel="خ" />
<Key <Key
latin:keyLabel="ح" /> latin:keyLabel="ح" />
<Key <Key
latin:keyLabel="ج" latin:keyLabel="ج"
latin:popupCharacters="چ" /> latin:moreKeys="چ" />
<Key <Key
latin:keyStyle="deleteKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyXPos="-10.0%p" latin:keyXPos="-10.0%p"
@ -70,7 +70,7 @@
latin:keyLabel="ي" /> latin:keyLabel="ي" />
<Key <Key
latin:keyLabel="ب" latin:keyLabel="ب"
latin:popupCharacters="پ" /> latin:moreKeys="پ" />
<!-- \ufefb: ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM <!-- \ufefb: ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
\u0644: ARABIC LETTER LAM \u0644: ARABIC LETTER LAM
\u0627: ARABIC LETTER ALEF \u0627: ARABIC LETTER ALEF
@ -82,13 +82,13 @@
\u0622: ARABIC LETTER ALEF WITH MADDA ABOVE --> \u0622: ARABIC LETTER ALEF WITH MADDA ABOVE -->
<Key <Key
latin:keyLabel="ل" latin:keyLabel="ل"
latin:popupCharacters="\ufefb|\u0644\u0627,\ufef7|\u0644\u0623,\ufef9|\u0644\u0625,\ufef5|\u0644\u0622" /> latin:moreKeys="\ufefb|\u0644\u0627,\ufef7|\u0644\u0623,\ufef9|\u0644\u0625,\ufef5|\u0644\u0622" />
<!-- \u0623: ARABIC LETTER ALEF WITH HAMZA ABOVE <!-- \u0623: ARABIC LETTER ALEF WITH HAMZA ABOVE
\u0625: ARABIC LETTER ALEF WITH HAMZA BELOW \u0625: ARABIC LETTER ALEF WITH HAMZA BELOW
\u0622: ARABIC LETTER ALEF WITH MADDA ABOVE --> \u0622: ARABIC LETTER ALEF WITH MADDA ABOVE -->
<Key <Key
latin:keyLabel="ا" latin:keyLabel="ا"
latin:popupCharacters="\u0623,\u0625,\u0622" /> latin:moreKeys="\u0623,\u0625,\u0622" />
<Key <Key
latin:keyLabel="ت" /> latin:keyLabel="ت" />
<Key <Key
@ -97,7 +97,7 @@
latin:keyLabel="م" /> latin:keyLabel="م" />
<Key <Key
latin:keyLabel="ك" latin:keyLabel="ك"
latin:popupCharacters="گ" /> latin:moreKeys="گ" />
<Key <Key
latin:keyLabel="ط" /> latin:keyLabel="ط" />
<Key <Key
@ -123,7 +123,7 @@
latin:keyLabel="-" latin:keyLabel="-"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="_" latin:keyHintLabel="_"
latin:popupCharacters="_" /> latin:moreKeys="_" />
</case> </case>
<case <case
latin:imeAction="actionSearch" latin:imeAction="actionSearch"
@ -132,7 +132,7 @@
latin:keyLabel=":" latin:keyLabel=":"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="+" latin:keyHintLabel="+"
latin:popupCharacters="+" /> latin:moreKeys="+" />
</case> </case>
<default> <default>
<Key <Key
@ -157,7 +157,7 @@
latin:keyLabel="و" /> latin:keyLabel="و" />
<Key <Key
latin:keyLabel="ز" latin:keyLabel="ز"
latin:popupCharacters="ژ" /> latin:moreKeys="ژ" />
<Key <Key
latin:keyLabel="ظ" /> latin:keyLabel="ظ" />
<Key <Key

View File

@ -28,34 +28,34 @@
> >
<Key <Key
latin:keyLabel="a" latin:keyLabel="a"
latin:popupCharacters="@string/alternates_for_a" /> latin:moreKeys="@string/alternates_for_a" />
<Key <Key
latin:keyLabel="z" latin:keyLabel="z"
latin:popupCharacters="@string/alternates_for_z" /> latin:moreKeys="@string/alternates_for_z" />
<Key <Key
latin:keyLabel="e" latin:keyLabel="e"
latin:popupCharacters="@string/alternates_for_e" /> latin:moreKeys="@string/alternates_for_e" />
<Key <Key
latin:keyLabel="r" latin:keyLabel="r"
latin:popupCharacters="@string/alternates_for_r" /> latin:moreKeys="@string/alternates_for_r" />
<Key <Key
latin:keyLabel="t" latin:keyLabel="t"
latin:popupCharacters="@string/alternates_for_t" /> latin:moreKeys="@string/alternates_for_t" />
<Key <Key
latin:keyLabel="y" latin:keyLabel="y"
latin:popupCharacters="@string/alternates_for_y" /> latin:moreKeys="@string/alternates_for_y" />
<Key <Key
latin:keyLabel="u" latin:keyLabel="u"
latin:popupCharacters="@string/alternates_for_u" /> latin:moreKeys="@string/alternates_for_u" />
<Key <Key
latin:keyLabel="i" latin:keyLabel="i"
latin:popupCharacters="@string/alternates_for_i" /> latin:moreKeys="@string/alternates_for_i" />
<Key <Key
latin:keyLabel="o" latin:keyLabel="o"
latin:popupCharacters="@string/alternates_for_o" /> latin:moreKeys="@string/alternates_for_o" />
<Key <Key
latin:keyLabel="p" latin:keyLabel="p"
latin:popupCharacters="@string/alternates_for_p" /> latin:moreKeys="@string/alternates_for_p" />
<Key <Key
latin:keyStyle="deleteKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyXPos="-10.0%p" latin:keyXPos="-10.0%p"
@ -66,29 +66,29 @@
> >
<Key <Key
latin:keyLabel="q" latin:keyLabel="q"
latin:popupCharacters="@string/alternates_for_q" latin:moreKeys="@string/alternates_for_q"
latin:keyXPos="5.0%p" /> latin:keyXPos="5.0%p" />
<Key <Key
latin:keyLabel="s" latin:keyLabel="s"
latin:popupCharacters="@string/alternates_for_s" /> latin:moreKeys="@string/alternates_for_s" />
<Key <Key
latin:keyLabel="d" latin:keyLabel="d"
latin:popupCharacters="@string/alternates_for_d" /> latin:moreKeys="@string/alternates_for_d" />
<Key <Key
latin:keyLabel="f" /> latin:keyLabel="f" />
<Key <Key
latin:keyLabel="g" latin:keyLabel="g"
latin:popupCharacters="@string/alternates_for_g" /> latin:moreKeys="@string/alternates_for_g" />
<Key <Key
latin:keyLabel="h" /> latin:keyLabel="h" />
<Key <Key
latin:keyLabel="j" /> latin:keyLabel="j" />
<Key <Key
latin:keyLabel="k" latin:keyLabel="k"
latin:popupCharacters="@string/alternates_for_k" /> latin:moreKeys="@string/alternates_for_k" />
<Key <Key
latin:keyLabel="l" latin:keyLabel="l"
latin:popupCharacters="@string/alternates_for_l" /> latin:moreKeys="@string/alternates_for_l" />
<Key <Key
latin:keyLabel="m" /> latin:keyLabel="m" />
<Key <Key
@ -104,20 +104,20 @@
latin:keyWidth="10.0%p" /> latin:keyWidth="10.0%p" />
<Key <Key
latin:keyLabel="w" latin:keyLabel="w"
latin:popupCharacters="@string/alternates_for_w" /> latin:moreKeys="@string/alternates_for_w" />
<Key <Key
latin:keyLabel="x" /> latin:keyLabel="x" />
<Key <Key
latin:keyLabel="c" latin:keyLabel="c"
latin:popupCharacters="@string/alternates_for_c" /> latin:moreKeys="@string/alternates_for_c" />
<Key <Key
latin:keyLabel="v" latin:keyLabel="v"
latin:popupCharacters="@string/alternates_for_v" /> latin:moreKeys="@string/alternates_for_v" />
<Key <Key
latin:keyLabel="b" /> latin:keyLabel="b" />
<Key <Key
latin:keyLabel="n" latin:keyLabel="n"
latin:popupCharacters="@string/alternates_for_n" /> latin:moreKeys="@string/alternates_for_n" />
<Key <Key
latin:keyLabel="\'" /> latin:keyLabel="\'" />
<switch> <switch>
@ -134,12 +134,12 @@
latin:keyLabel="," latin:keyLabel=","
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="!" latin:keyHintLabel="!"
latin:popupCharacters="!" /> latin:moreKeys="!" />
<Key <Key
latin:keyLabel="." latin:keyLabel="."
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="\?" latin:keyHintLabel="\?"
latin:popupCharacters="\?" /> latin:moreKeys="\?" />
</default> </default>
</switch> </switch>
<include <include

View File

@ -59,17 +59,17 @@
latin:keyLabel="ד" /> latin:keyLabel="ד" />
<Key <Key
latin:keyLabel="ג" latin:keyLabel="ג"
latin:popupCharacters="ג׳" /> latin:moreKeys="ג׳" />
<Key <Key
latin:keyLabel="כ" /> latin:keyLabel="כ" />
<Key <Key
latin:keyLabel="ע" /> latin:keyLabel="ע" />
<Key <Key
latin:keyLabel="י" latin:keyLabel="י"
latin:popupCharacters="ײַ" /> latin:moreKeys="ײַ" />
<Key <Key
latin:keyLabel="ח" latin:keyLabel="ח"
latin:popupCharacters="ח׳" /> latin:moreKeys="ח׳" />
<Key <Key
latin:keyLabel="ל" /> latin:keyLabel="ל" />
<Key <Key
@ -96,7 +96,7 @@
latin:keyLabel="-" latin:keyLabel="-"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="_" latin:keyHintLabel="_"
latin:popupCharacters="_" latin:moreKeys="_"
latin:keyWidth="10.0%p" /> latin:keyWidth="10.0%p" />
</case> </case>
<case <case
@ -106,7 +106,7 @@
latin:keyLabel=":" latin:keyLabel=":"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="+" latin:keyHintLabel="+"
latin:popupCharacters="+" latin:moreKeys="+"
latin:keyWidth="10.0%p" /> latin:keyWidth="10.0%p" />
</case> </case>
<default> <default>
@ -117,7 +117,7 @@
</switch> </switch>
<Key <Key
latin:keyLabel="ז" latin:keyLabel="ז"
latin:popupCharacters="ז׳" /> latin:moreKeys="ז׳" />
<Key <Key
latin:keyLabel="ס" /> latin:keyLabel="ס" />
<Key <Key
@ -130,13 +130,13 @@
latin:keyLabel="מ" /> latin:keyLabel="מ" />
<Key <Key
latin:keyLabel="צ" latin:keyLabel="צ"
latin:popupCharacters="צ׳" /> latin:moreKeys="צ׳" />
<Key <Key
latin:keyLabel="ת" latin:keyLabel="ת"
latin:popupCharacters="ת׳" /> latin:moreKeys="ת׳" />
<Key <Key
latin:keyLabel="ץ" latin:keyLabel="ץ"
latin:popupCharacters="ץ׳" /> latin:moreKeys="ץ׳" />
<Key <Key
latin:keyStyle="returnKeyStyle" latin:keyStyle="returnKeyStyle"
latin:keyXPos="-10.400%p" latin:keyXPos="-10.400%p"

View File

@ -28,34 +28,34 @@
> >
<Key <Key
latin:keyLabel="q" latin:keyLabel="q"
latin:popupCharacters="@string/alternates_for_q" /> latin:moreKeys="@string/alternates_for_q" />
<Key <Key
latin:keyLabel="w" latin:keyLabel="w"
latin:popupCharacters="@string/alternates_for_w" /> latin:moreKeys="@string/alternates_for_w" />
<Key <Key
latin:keyLabel="e" latin:keyLabel="e"
latin:popupCharacters="@string/alternates_for_e" /> latin:moreKeys="@string/alternates_for_e" />
<Key <Key
latin:keyLabel="r" latin:keyLabel="r"
latin:popupCharacters="@string/alternates_for_r" /> latin:moreKeys="@string/alternates_for_r" />
<Key <Key
latin:keyLabel="t" latin:keyLabel="t"
latin:popupCharacters="@string/alternates_for_t" /> latin:moreKeys="@string/alternates_for_t" />
<Key <Key
latin:keyLabel="z" latin:keyLabel="z"
latin:popupCharacters="@string/alternates_for_z" /> latin:moreKeys="@string/alternates_for_z" />
<Key <Key
latin:keyLabel="u" latin:keyLabel="u"
latin:popupCharacters="@string/alternates_for_u" /> latin:moreKeys="@string/alternates_for_u" />
<Key <Key
latin:keyLabel="i" latin:keyLabel="i"
latin:popupCharacters="@string/alternates_for_i" /> latin:moreKeys="@string/alternates_for_i" />
<Key <Key
latin:keyLabel="o" latin:keyLabel="o"
latin:popupCharacters="@string/alternates_for_o" /> latin:moreKeys="@string/alternates_for_o" />
<Key <Key
latin:keyLabel="p" latin:keyLabel="p"
latin:popupCharacters="@string/alternates_for_p" /> latin:moreKeys="@string/alternates_for_p" />
<Key <Key
latin:keyStyle="deleteKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyXPos="-10.0%p" latin:keyXPos="-10.0%p"
@ -71,20 +71,20 @@
latin:keyWidth="10.0%p" /> latin:keyWidth="10.0%p" />
<Key <Key
latin:keyLabel="y" latin:keyLabel="y"
latin:popupCharacters="@string/alternates_for_y" /> latin:moreKeys="@string/alternates_for_y" />
<Key <Key
latin:keyLabel="x" /> latin:keyLabel="x" />
<Key <Key
latin:keyLabel="c" latin:keyLabel="c"
latin:popupCharacters="@string/alternates_for_c" /> latin:moreKeys="@string/alternates_for_c" />
<Key <Key
latin:keyLabel="v" latin:keyLabel="v"
latin:popupCharacters="@string/alternates_for_v" /> latin:moreKeys="@string/alternates_for_v" />
<Key <Key
latin:keyLabel="b" /> latin:keyLabel="b" />
<Key <Key
latin:keyLabel="n" latin:keyLabel="n"
latin:popupCharacters="@string/alternates_for_n" /> latin:moreKeys="@string/alternates_for_n" />
<Key <Key
latin:keyLabel="m" /> latin:keyLabel="m" />
<switch> <switch>
@ -101,12 +101,12 @@
latin:keyLabel="," latin:keyLabel=","
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="!" latin:keyHintLabel="!"
latin:popupCharacters="!" /> latin:moreKeys="!" />
<Key <Key
latin:keyLabel="." latin:keyLabel="."
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="\?" latin:keyHintLabel="\?"
latin:popupCharacters="\?" /> latin:moreKeys="\?" />
</default> </default>
</switch> </switch>
<include <include

View File

@ -36,7 +36,7 @@
latin:keyLabel="к" /> latin:keyLabel="к" />
<Key <Key
latin:keyLabel="е" latin:keyLabel="е"
latin:popupCharacters="@string/alternates_for_cyrillic_e" /> latin:moreKeys="@string/alternates_for_cyrillic_e" />
<Key <Key
latin:keyLabel="н" /> latin:keyLabel="н" />
<Key <Key
@ -124,12 +124,12 @@
latin:keyLabel="," latin:keyLabel=","
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="!" latin:keyHintLabel="!"
latin:popupCharacters="!" /> latin:moreKeys="!" />
<Key <Key
latin:keyLabel="." latin:keyLabel="."
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="\?" latin:keyHintLabel="\?"
latin:popupCharacters="\?" /> latin:moreKeys="\?" />
</default> </default>
</switch> </switch>
<include <include

View File

@ -28,34 +28,34 @@
> >
<Key <Key
latin:keyLabel="q" latin:keyLabel="q"
latin:popupCharacters="@string/alternates_for_q" /> latin:moreKeys="@string/alternates_for_q" />
<Key <Key
latin:keyLabel="w" latin:keyLabel="w"
latin:popupCharacters="@string/alternates_for_w" /> latin:moreKeys="@string/alternates_for_w" />
<Key <Key
latin:keyLabel="e" latin:keyLabel="e"
latin:popupCharacters="@string/alternates_for_e" /> latin:moreKeys="@string/alternates_for_e" />
<Key <Key
latin:keyLabel="r" latin:keyLabel="r"
latin:popupCharacters="@string/alternates_for_r" /> latin:moreKeys="@string/alternates_for_r" />
<Key <Key
latin:keyLabel="t" latin:keyLabel="t"
latin:popupCharacters="@string/alternates_for_t" /> latin:moreKeys="@string/alternates_for_t" />
<Key <Key
latin:keyLabel="y" latin:keyLabel="y"
latin:popupCharacters="@string/alternates_for_y" /> latin:moreKeys="@string/alternates_for_y" />
<Key <Key
latin:keyLabel="u" latin:keyLabel="u"
latin:popupCharacters="@string/alternates_for_u" /> latin:moreKeys="@string/alternates_for_u" />
<Key <Key
latin:keyLabel="i" latin:keyLabel="i"
latin:popupCharacters="@string/alternates_for_i" /> latin:moreKeys="@string/alternates_for_i" />
<Key <Key
latin:keyLabel="o" latin:keyLabel="o"
latin:popupCharacters="@string/alternates_for_o" /> latin:moreKeys="@string/alternates_for_o" />
<Key <Key
latin:keyLabel="p" latin:keyLabel="p"
latin:popupCharacters="@string/alternates_for_p" /> latin:moreKeys="@string/alternates_for_p" />
<Key <Key
latin:keyLabel="å" /> latin:keyLabel="å" />
<Key <Key
@ -69,34 +69,34 @@
<Key <Key
latin:keyLabel="a" latin:keyLabel="a"
latin:keyXPos="3.5%p" latin:keyXPos="3.5%p"
latin:popupCharacters="@string/alternates_for_a" /> latin:moreKeys="@string/alternates_for_a" />
<Key <Key
latin:keyLabel="s" latin:keyLabel="s"
latin:popupCharacters="@string/alternates_for_s" /> latin:moreKeys="@string/alternates_for_s" />
<Key <Key
latin:keyLabel="d" latin:keyLabel="d"
latin:popupCharacters="@string/alternates_for_d" /> latin:moreKeys="@string/alternates_for_d" />
<Key <Key
latin:keyLabel="f" /> latin:keyLabel="f" />
<Key <Key
latin:keyLabel="g" latin:keyLabel="g"
latin:popupCharacters="@string/alternates_for_g" /> latin:moreKeys="@string/alternates_for_g" />
<Key <Key
latin:keyLabel="h" /> latin:keyLabel="h" />
<Key <Key
latin:keyLabel="j" /> latin:keyLabel="j" />
<Key <Key
latin:keyLabel="k" latin:keyLabel="k"
latin:popupCharacters="@string/alternates_for_k" /> latin:moreKeys="@string/alternates_for_k" />
<Key <Key
latin:keyLabel="l" latin:keyLabel="l"
latin:popupCharacters="@string/alternates_for_l" /> latin:moreKeys="@string/alternates_for_l" />
<Key <Key
latin:keyLabel="@string/keylabel_for_scandinavia_row2_10" latin:keyLabel="@string/keylabel_for_scandinavia_row2_10"
latin:popupCharacters="@string/alternates_for_scandinavia_row2_10" /> latin:moreKeys="@string/alternates_for_scandinavia_row2_10" />
<Key <Key
latin:keyLabel="@string/keylabel_for_scandinavia_row2_11" latin:keyLabel="@string/keylabel_for_scandinavia_row2_11"
latin:popupCharacters="@string/alternates_for_scandinavia_row2_11" /> latin:moreKeys="@string/alternates_for_scandinavia_row2_11" />
<Key <Key
latin:keyStyle="returnKeyStyle" latin:keyStyle="returnKeyStyle"
latin:keyXPos="-14.6%p" latin:keyXPos="-14.6%p"
@ -112,20 +112,20 @@
latin:keyWidth="4.35%p" /> latin:keyWidth="4.35%p" />
<Key <Key
latin:keyLabel="z" latin:keyLabel="z"
latin:popupCharacters="@string/alternates_for_z" /> latin:moreKeys="@string/alternates_for_z" />
<Key <Key
latin:keyLabel="x" /> latin:keyLabel="x" />
<Key <Key
latin:keyLabel="c" latin:keyLabel="c"
latin:popupCharacters="@string/alternates_for_c" /> latin:moreKeys="@string/alternates_for_c" />
<Key <Key
latin:keyLabel="v" latin:keyLabel="v"
latin:popupCharacters="@string/alternates_for_v" /> latin:moreKeys="@string/alternates_for_v" />
<Key <Key
latin:keyLabel="b" /> latin:keyLabel="b" />
<Key <Key
latin:keyLabel="n" latin:keyLabel="n"
latin:popupCharacters="@string/alternates_for_n" /> latin:moreKeys="@string/alternates_for_n" />
<Key <Key
latin:keyLabel="m" /> latin:keyLabel="m" />
<include <include

View File

@ -30,29 +30,29 @@
> >
<Key <Key
latin:keyLabel="a" latin:keyLabel="a"
latin:popupCharacters="@string/alternates_for_a" latin:moreKeys="@string/alternates_for_a"
latin:keyXPos="5.0%p" /> latin:keyXPos="5.0%p" />
<Key <Key
latin:keyLabel="s" latin:keyLabel="s"
latin:popupCharacters="@string/alternates_for_s" /> latin:moreKeys="@string/alternates_for_s" />
<Key <Key
latin:keyLabel="d" latin:keyLabel="d"
latin:popupCharacters="@string/alternates_for_d" /> latin:moreKeys="@string/alternates_for_d" />
<Key <Key
latin:keyLabel="f" /> latin:keyLabel="f" />
<Key <Key
latin:keyLabel="g" latin:keyLabel="g"
latin:popupCharacters="@string/alternates_for_g" /> latin:moreKeys="@string/alternates_for_g" />
<Key <Key
latin:keyLabel="h" /> latin:keyLabel="h" />
<Key <Key
latin:keyLabel="j" /> latin:keyLabel="j" />
<Key <Key
latin:keyLabel="k" latin:keyLabel="k"
latin:popupCharacters="@string/alternates_for_k" /> latin:moreKeys="@string/alternates_for_k" />
<Key <Key
latin:keyLabel="l" latin:keyLabel="l"
latin:popupCharacters="@string/alternates_for_l" /> latin:moreKeys="@string/alternates_for_l" />
<Key <Key
latin:keyLabel="ñ" /> latin:keyLabel="ñ" />
<Key <Key

View File

@ -30,34 +30,34 @@
> >
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_1" latin:keyLabel="@string/keylabel_for_symbols_1"
latin:popupCharacters="@string/alternates_for_symbols_1" /> latin:moreKeys="@string/alternates_for_symbols_1" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_2" latin:keyLabel="@string/keylabel_for_symbols_2"
latin:popupCharacters="@string/alternates_for_symbols_2" /> latin:moreKeys="@string/alternates_for_symbols_2" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_3" latin:keyLabel="@string/keylabel_for_symbols_3"
latin:popupCharacters="@string/alternates_for_symbols_3" /> latin:moreKeys="@string/alternates_for_symbols_3" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_4" latin:keyLabel="@string/keylabel_for_symbols_4"
latin:popupCharacters="@string/alternates_for_symbols_4" /> latin:moreKeys="@string/alternates_for_symbols_4" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_5" latin:keyLabel="@string/keylabel_for_symbols_5"
latin:popupCharacters="@string/alternates_for_symbols_5" /> latin:moreKeys="@string/alternates_for_symbols_5" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_6" latin:keyLabel="@string/keylabel_for_symbols_6"
latin:popupCharacters="@string/alternates_for_symbols_6" /> latin:moreKeys="@string/alternates_for_symbols_6" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_7" latin:keyLabel="@string/keylabel_for_symbols_7"
latin:popupCharacters="@string/alternates_for_symbols_7" /> latin:moreKeys="@string/alternates_for_symbols_7" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_8" latin:keyLabel="@string/keylabel_for_symbols_8"
latin:popupCharacters="@string/alternates_for_symbols_8" /> latin:moreKeys="@string/alternates_for_symbols_8" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_9" latin:keyLabel="@string/keylabel_for_symbols_9"
latin:popupCharacters="@string/alternates_for_symbols_9" /> latin:moreKeys="@string/alternates_for_symbols_9" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_0" latin:keyLabel="@string/keylabel_for_symbols_0"
latin:popupCharacters="@string/alternates_for_symbols_0" /> latin:moreKeys="@string/alternates_for_symbols_0" />
<Key <Key
latin:keyStyle="deleteKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyXPos="-10.0%p" latin:keyXPos="-10.0%p"
@ -73,24 +73,24 @@
latin:keyStyle="currencyKeyStyle" /> latin:keyStyle="currencyKeyStyle" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_percent" latin:keyLabel="@string/keylabel_for_symbols_percent"
latin:popupCharacters="@string/alternates_for_symbols_percent" /> latin:moreKeys="@string/alternates_for_symbols_percent" />
<Key <Key
latin:keyLabel="&amp;" /> latin:keyLabel="&amp;" />
<Key <Key
latin:keyLabel="*" latin:keyLabel="*"
latin:popupCharacters="†,‡,★" /> latin:moreKeys="†,‡,★" />
<Key <Key
latin:keyLabel="-" latin:keyLabel="-"
latin:popupCharacters="_,,—" /> latin:moreKeys="_,,—" />
<Key <Key
latin:keyLabel="+" latin:keyLabel="+"
latin:popupCharacters="±" /> latin:moreKeys="±" />
<Key <Key
latin:keyLabel="(" latin:keyLabel="("
latin:popupCharacters="[,{,&lt;" /> latin:moreKeys="[,{,&lt;" />
<Key <Key
latin:keyLabel=")" latin:keyLabel=")"
latin:popupCharacters="],},&gt;" /> latin:moreKeys="],},&gt;" />
<Key <Key
latin:keyStyle="returnKeyStyle" latin:keyStyle="returnKeyStyle"
latin:keyXPos="-14.6%p" latin:keyXPos="-14.6%p"
@ -104,20 +104,20 @@
latin:keyWidth="10.0%p" /> latin:keyWidth="10.0%p" />
<Key <Key
latin:keyLabel="&lt;" latin:keyLabel="&lt;"
latin:popupCharacters="≤,«," /> latin:moreKeys="≤,«," />
<Key <Key
latin:keyLabel="&gt;" latin:keyLabel="&gt;"
latin:popupCharacters="≥,»," /> latin:moreKeys="≥,»," />
<Key <Key
latin:keyLabel="=" latin:keyLabel="="
latin:popupCharacters="≠,≈" /> latin:moreKeys="≠,≈" />
<switch> <switch>
<case <case
latin:mode="url" latin:mode="url"
> >
<Key <Key
latin:keyLabel="\'" latin:keyLabel="\'"
latin:popupCharacters=",,," /> latin:moreKeys=",,," />
</case> </case>
<default> <default>
<Key <Key
@ -126,18 +126,18 @@
</switch> </switch>
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_semicolon" latin:keyLabel="@string/keylabel_for_symbols_semicolon"
latin:popupCharacters="@string/alternates_for_symbols_semicolon" /> latin:moreKeys="@string/alternates_for_symbols_semicolon" />
<Key <Key
latin:keyLabel="@string/keylabel_for_comma" latin:keyLabel="@string/keylabel_for_comma"
latin:popupCharacters="@string/alternates_for_comma" /> latin:moreKeys="@string/alternates_for_comma" />
<Key <Key
latin:keyLabel="." /> latin:keyLabel="." />
<Key <Key
latin:keyLabel="!" latin:keyLabel="!"
latin:popupCharacters="¡" /> latin:moreKeys="¡" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_question" latin:keyLabel="@string/keylabel_for_symbols_question"
latin:popupCharacters="@string/alternates_for_symbols_question" /> latin:moreKeys="@string/alternates_for_symbols_question" />
<Key <Key
latin:keyLabel="/" latin:keyLabel="/"
latin:keyWidth="fillRight" /> latin:keyWidth="fillRight" />
@ -157,10 +157,10 @@
latin:keyXPos="30.750%p" latin:keyXPos="30.750%p"
latin:keyWidth="39.750%p" /> latin:keyWidth="39.750%p" />
<!-- Note: DroidSans doesn't have double-high-reversed-quotation '\u201f' glyph. --> <!-- Note: DroidSans doesn't have double-high-reversed-quotation '\u201f' glyph. -->
<!-- latin:popupCharacters="“,”,„,‟,«,»,,,," --> <!-- latin:moreKeys="“,”,„,‟,«,»,,,," -->
<Key <Key
latin:keyLabel="&quot;" latin:keyLabel="&quot;"
latin:popupCharacters="“,”,«,»,,,," /> latin:moreKeys="“,”,«,»,,,," />
<Key <Key
latin:keyLabel="_" /> latin:keyLabel="_" />
<Spacer <Spacer

View File

@ -34,19 +34,19 @@
latin:keyLabel="|" /> latin:keyLabel="|" />
<Key <Key
latin:keyLabel="•" latin:keyLabel="•"
latin:popupCharacters="♪,♥,♠,♦,♣" /> latin:moreKeys="♪,♥,♠,♦,♣" />
<Key <Key
latin:keyLabel="√" /> latin:keyLabel="√" />
<Key <Key
latin:keyLabel="π" latin:keyLabel="π"
latin:popupCharacters="Π" /> latin:moreKeys="Π" />
<Key <Key
latin:keyLabel="÷" /> latin:keyLabel="÷" />
<Key <Key
latin:keyLabel="×" /> latin:keyLabel="×" />
<Key <Key
latin:keyLabel="§" latin:keyLabel="§"
latin:popupCharacters="¶" /> latin:moreKeys="¶" />
<Key <Key
latin:keyLabel="Δ" /> latin:keyLabel="Δ" />
<Key <Key
@ -68,13 +68,13 @@
latin:keyLabel="¥" /> latin:keyLabel="¥" />
<Key <Key
latin:keyLabel="^" latin:keyLabel="^"
latin:popupCharacters="↑,↓,←,→" /> latin:moreKeys="↑,↓,←,→" />
<Key <Key
latin:keyLabel="°" latin:keyLabel="°"
latin:popupCharacters=",″" /> latin:moreKeys=",″" />
<Key <Key
latin:keyLabel="±" latin:keyLabel="±"
latin:popupCharacters="∞" /> latin:moreKeys="∞" />
<Key <Key
latin:keyLabel="{" /> latin:keyLabel="{" />
<Key <Key

View File

@ -54,8 +54,8 @@
latin:keyLabel=":-)" latin:keyLabel=":-)"
latin:keyOutputText=":-) " latin:keyOutputText=":-) "
latin:keyLabelOption="hasPopupHint" latin:keyLabelOption="hasPopupHint"
latin:popupCharacters="@string/alternates_for_smiley" latin:moreKeys="@string/alternates_for_smiley"
latin:maxMiniKeyboardColumn="5" /> latin:maxMoreKeysColumn="5" />
<key-style <key-style
latin:styleName="settingsKeyStyle" latin:styleName="settingsKeyStyle"
latin:code="@integer/key_settings" latin:code="@integer/key_settings"
@ -103,5 +103,5 @@
latin:keyLabel="@string/keylabel_for_popular_domain" latin:keyLabel="@string/keylabel_for_popular_domain"
latin:keyLabelOption="fontNormal|hasPopupHint" latin:keyLabelOption="fontNormal|hasPopupHint"
latin:keyOutputText="@string/keylabel_for_popular_domain" latin:keyOutputText="@string/keylabel_for_popular_domain"
latin:popupCharacters="@string/alternates_for_popular_domain" /> latin:moreKeys="@string/alternates_for_popular_domain" />
</merge> </merge>

View File

@ -30,34 +30,34 @@
latin:keyWidth="7.969%p" /> latin:keyWidth="7.969%p" />
<Key <Key
latin:keyLabel="q" latin:keyLabel="q"
latin:popupCharacters="@string/alternates_for_q" /> latin:moreKeys="@string/alternates_for_q" />
<Key <Key
latin:keyLabel="w" latin:keyLabel="w"
latin:popupCharacters="@string/alternates_for_w" /> latin:moreKeys="@string/alternates_for_w" />
<Key <Key
latin:keyLabel="e" latin:keyLabel="e"
latin:popupCharacters="@string/alternates_for_e" /> latin:moreKeys="@string/alternates_for_e" />
<Key <Key
latin:keyLabel="r" latin:keyLabel="r"
latin:popupCharacters="@string/alternates_for_r" /> latin:moreKeys="@string/alternates_for_r" />
<Key <Key
latin:keyLabel="t" latin:keyLabel="t"
latin:popupCharacters="@string/alternates_for_t" /> latin:moreKeys="@string/alternates_for_t" />
<Key <Key
latin:keyLabel="y" latin:keyLabel="y"
latin:popupCharacters="@string/alternates_for_y" /> latin:moreKeys="@string/alternates_for_y" />
<Key <Key
latin:keyLabel="u" latin:keyLabel="u"
latin:popupCharacters="@string/alternates_for_u" /> latin:moreKeys="@string/alternates_for_u" />
<Key <Key
latin:keyLabel="i" latin:keyLabel="i"
latin:popupCharacters="@string/alternates_for_i" /> latin:moreKeys="@string/alternates_for_i" />
<Key <Key
latin:keyLabel="o" latin:keyLabel="o"
latin:popupCharacters="@string/alternates_for_o" /> latin:moreKeys="@string/alternates_for_o" />
<Key <Key
latin:keyLabel="p" latin:keyLabel="p"
latin:popupCharacters="@string/alternates_for_p" /> latin:moreKeys="@string/alternates_for_p" />
<Key <Key
latin:keyStyle="deleteKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyXPos="-9.219%p" latin:keyXPos="-9.219%p"

View File

@ -30,28 +30,28 @@
latin:keyWidth="11.172%p"/> latin:keyWidth="11.172%p"/>
<Key <Key
latin:keyLabel="a" latin:keyLabel="a"
latin:popupCharacters="@string/alternates_for_a" /> latin:moreKeys="@string/alternates_for_a" />
<Key <Key
latin:keyLabel="s" latin:keyLabel="s"
latin:popupCharacters="@string/alternates_for_s" /> latin:moreKeys="@string/alternates_for_s" />
<Key <Key
latin:keyLabel="d" latin:keyLabel="d"
latin:popupCharacters="@string/alternates_for_d" /> latin:moreKeys="@string/alternates_for_d" />
<Key <Key
latin:keyLabel="f" /> latin:keyLabel="f" />
<Key <Key
latin:keyLabel="g" latin:keyLabel="g"
latin:popupCharacters="@string/alternates_for_g" /> latin:moreKeys="@string/alternates_for_g" />
<Key <Key
latin:keyLabel="h" /> latin:keyLabel="h" />
<Key <Key
latin:keyLabel="j" /> latin:keyLabel="j" />
<Key <Key
latin:keyLabel="k" latin:keyLabel="k"
latin:popupCharacters="@string/alternates_for_k" /> latin:moreKeys="@string/alternates_for_k" />
<Key <Key
latin:keyLabel="l" latin:keyLabel="l"
latin:popupCharacters="@string/alternates_for_l" /> latin:moreKeys="@string/alternates_for_l" />
<Key <Key
latin:keyStyle="returnKeyStyle" latin:keyStyle="returnKeyStyle"
latin:keyXPos="-15.704%p" latin:keyXPos="-15.704%p"

View File

@ -29,20 +29,20 @@
latin:keyWidth="13.829%p"/> latin:keyWidth="13.829%p"/>
<Key <Key
latin:keyLabel="z" latin:keyLabel="z"
latin:popupCharacters="@string/alternates_for_z" /> latin:moreKeys="@string/alternates_for_z" />
<Key <Key
latin:keyLabel="x" /> latin:keyLabel="x" />
<Key <Key
latin:keyLabel="c" latin:keyLabel="c"
latin:popupCharacters="@string/alternates_for_c" /> latin:moreKeys="@string/alternates_for_c" />
<Key <Key
latin:keyLabel="v" latin:keyLabel="v"
latin:popupCharacters="@string/alternates_for_v" /> latin:moreKeys="@string/alternates_for_v" />
<Key <Key
latin:keyLabel="b" /> latin:keyLabel="b" />
<Key <Key
latin:keyLabel="n" latin:keyLabel="n"
latin:popupCharacters="@string/alternates_for_n" /> latin:moreKeys="@string/alternates_for_n" />
<Key <Key
latin:keyLabel="m" /> latin:keyLabel="m" />
<include <include

View File

@ -59,7 +59,7 @@
latin:keyLabel=":" latin:keyLabel=":"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="+" latin:keyHintLabel="+"
latin:popupCharacters="+" /> latin:moreKeys="+" />
</case> </case>
<default> <default>
<Key <Key
@ -78,7 +78,7 @@
latin:keyLabel="/" latin:keyLabel="/"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="\@" latin:keyHintLabel="\@"
latin:popupCharacters="\@" /> latin:moreKeys="\@" />
</default> </default>
</switch> </switch>
</default> </default>

View File

@ -35,12 +35,12 @@
latin:keyLabel="," latin:keyLabel=","
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="!" latin:keyHintLabel="!"
latin:popupCharacters="!" /> latin:moreKeys="!" />
<Key <Key
latin:keyLabel="." latin:keyLabel="."
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="\?" latin:keyHintLabel="\?"
latin:popupCharacters="\?" /> latin:moreKeys="\?" />
</default> </default>
</switch> </switch>
</merge> </merge>

View File

@ -35,14 +35,14 @@
latin:keyLabel="/" latin:keyLabel="/"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel=":" latin:keyHintLabel=":"
latin:popupCharacters=":" /> latin:moreKeys=":" />
</case> </case>
<default> <default>
<Key <Key
latin:keyLabel="@string/keylabel_for_apostrophe" latin:keyLabel="@string/keylabel_for_apostrophe"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="@string/keyhintlabel_for_apostrophe" latin:keyHintLabel="@string/keyhintlabel_for_apostrophe"
latin:popupCharacters="@string/alternates_for_apostrophe" /> latin:moreKeys="@string/alternates_for_apostrophe" />
</default> </default>
</switch> </switch>
<switch> <switch>
@ -57,7 +57,7 @@
latin:keyLabel="@string/keylabel_for_dash" latin:keyLabel="@string/keylabel_for_dash"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="@string/keyhintlabel_for_dash" latin:keyHintLabel="@string/keyhintlabel_for_dash"
latin:popupCharacters="@string/alternates_for_dash" /> latin:moreKeys="@string/alternates_for_dash" />
</default> </default>
</switch> </switch>
</merge> </merge>

View File

@ -40,7 +40,7 @@
latin:keyLabel="ق" /> latin:keyLabel="ق" />
<Key <Key
latin:keyLabel="ف" latin:keyLabel="ف"
latin:popupCharacters="ڤ" /> latin:moreKeys="ڤ" />
<Key <Key
latin:keyLabel="غ" /> latin:keyLabel="غ" />
<Key <Key
@ -49,14 +49,14 @@
\u0647\u0640: ARABIC LETTER HEH + ARABIC TATWEEL --> \u0647\u0640: ARABIC LETTER HEH + ARABIC TATWEEL -->
<Key <Key
latin:keyLabel="ه" latin:keyLabel="ه"
latin:popupCharacters="\ufeeb|\u0647\u0640" /> latin:moreKeys="\ufeeb|\u0647\u0640" />
<Key <Key
latin:keyLabel="خ" /> latin:keyLabel="خ" />
<Key <Key
latin:keyLabel="ح" /> latin:keyLabel="ح" />
<Key <Key
latin:keyLabel="ج" latin:keyLabel="ج"
latin:popupCharacters="چ" /> latin:moreKeys="چ" />
<Key <Key
latin:keyStyle="deleteKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyXPos="-11.500%p" latin:keyXPos="-11.500%p"
@ -77,7 +77,7 @@
latin:keyLabel="ي" /> latin:keyLabel="ي" />
<Key <Key
latin:keyLabel="ب" latin:keyLabel="ب"
latin:popupCharacters="پ" /> latin:moreKeys="پ" />
<!-- \ufefb: ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM <!-- \ufefb: ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
\u0644: ARABIC LETTER LAM \u0644: ARABIC LETTER LAM
\u0627: ARABIC LETTER ALEF \u0627: ARABIC LETTER ALEF
@ -89,13 +89,13 @@
\u0622: ARABIC LETTER ALEF WITH MADDA ABOVE --> \u0622: ARABIC LETTER ALEF WITH MADDA ABOVE -->
<Key <Key
latin:keyLabel="ل" latin:keyLabel="ل"
latin:popupCharacters="\ufefb|\u0644\u0627,\ufef7|\u0644\u0623,\ufef9|\u0644\u0625,\ufef5|\u0644\u0622" /> latin:moreKeys="\ufefb|\u0644\u0627,\ufef7|\u0644\u0623,\ufef9|\u0644\u0625,\ufef5|\u0644\u0622" />
<!-- \u0623: ARABIC LETTER ALEF WITH HAMZA ABOVE <!-- \u0623: ARABIC LETTER ALEF WITH HAMZA ABOVE
\u0625: ARABIC LETTER ALEF WITH HAMZA BELOW \u0625: ARABIC LETTER ALEF WITH HAMZA BELOW
\u0622: ARABIC LETTER ALEF WITH MADDA ABOVE --> \u0622: ARABIC LETTER ALEF WITH MADDA ABOVE -->
<Key <Key
latin:keyLabel="ا" latin:keyLabel="ا"
latin:popupCharacters="\u0623,\u0625,\u0622" /> latin:moreKeys="\u0623,\u0625,\u0622" />
<Key <Key
latin:keyLabel="ت" /> latin:keyLabel="ت" />
<Key <Key
@ -104,7 +104,7 @@
latin:keyLabel="م" /> latin:keyLabel="م" />
<Key <Key
latin:keyLabel="ك" latin:keyLabel="ك"
latin:popupCharacters="گ" /> latin:moreKeys="گ" />
<Key <Key
latin:keyLabel="ط" /> latin:keyLabel="ط" />
<Key <Key
@ -134,7 +134,7 @@
latin:keyLabel="و" /> latin:keyLabel="و" />
<Key <Key
latin:keyLabel="ز" latin:keyLabel="ز"
latin:popupCharacters="ژ" /> latin:moreKeys="ژ" />
<Key <Key
latin:keyLabel="ظ" /> latin:keyLabel="ظ" />
<Key <Key

View File

@ -32,34 +32,34 @@
latin:keyWidth="7.969%p" /> latin:keyWidth="7.969%p" />
<Key <Key
latin:keyLabel="a" latin:keyLabel="a"
latin:popupCharacters="@string/alternates_for_a" /> latin:moreKeys="@string/alternates_for_a" />
<Key <Key
latin:keyLabel="z" latin:keyLabel="z"
latin:popupCharacters="@string/alternates_for_z" /> latin:moreKeys="@string/alternates_for_z" />
<Key <Key
latin:keyLabel="e" latin:keyLabel="e"
latin:popupCharacters="@string/alternates_for_e" /> latin:moreKeys="@string/alternates_for_e" />
<Key <Key
latin:keyLabel="r" latin:keyLabel="r"
latin:popupCharacters="@string/alternates_for_r" /> latin:moreKeys="@string/alternates_for_r" />
<Key <Key
latin:keyLabel="t" latin:keyLabel="t"
latin:popupCharacters="@string/alternates_for_t" /> latin:moreKeys="@string/alternates_for_t" />
<Key <Key
latin:keyLabel="y" latin:keyLabel="y"
latin:popupCharacters="@string/alternates_for_y" /> latin:moreKeys="@string/alternates_for_y" />
<Key <Key
latin:keyLabel="u" latin:keyLabel="u"
latin:popupCharacters="@string/alternates_for_u" /> latin:moreKeys="@string/alternates_for_u" />
<Key <Key
latin:keyLabel="i" latin:keyLabel="i"
latin:popupCharacters="@string/alternates_for_i" /> latin:moreKeys="@string/alternates_for_i" />
<Key <Key
latin:keyLabel="o" latin:keyLabel="o"
latin:popupCharacters="@string/alternates_for_o" /> latin:moreKeys="@string/alternates_for_o" />
<Key <Key
latin:keyLabel="p" latin:keyLabel="p"
latin:popupCharacters="@string/alternates_for_p" /> latin:moreKeys="@string/alternates_for_p" />
<Key <Key
latin:keyStyle="deleteKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyXPos="-9.219%p" latin:keyXPos="-9.219%p"
@ -74,28 +74,28 @@
latin:keyWidth="10.167%p" /> latin:keyWidth="10.167%p" />
<Key <Key
latin:keyLabel="q" latin:keyLabel="q"
latin:popupCharacters="@string/alternates_for_q" /> latin:moreKeys="@string/alternates_for_q" />
<Key <Key
latin:keyLabel="s" latin:keyLabel="s"
latin:popupCharacters="@string/alternates_for_s" /> latin:moreKeys="@string/alternates_for_s" />
<Key <Key
latin:keyLabel="d" latin:keyLabel="d"
latin:popupCharacters="@string/alternates_for_d" /> latin:moreKeys="@string/alternates_for_d" />
<Key <Key
latin:keyLabel="f" /> latin:keyLabel="f" />
<Key <Key
latin:keyLabel="g" latin:keyLabel="g"
latin:popupCharacters="@string/alternates_for_g" /> latin:moreKeys="@string/alternates_for_g" />
<Key <Key
latin:keyLabel="h" /> latin:keyLabel="h" />
<Key <Key
latin:keyLabel="j" /> latin:keyLabel="j" />
<Key <Key
latin:keyLabel="k" latin:keyLabel="k"
latin:popupCharacters="@string/alternates_for_k" /> latin:moreKeys="@string/alternates_for_k" />
<Key <Key
latin:keyLabel="l" latin:keyLabel="l"
latin:popupCharacters="@string/alternates_for_l" /> latin:moreKeys="@string/alternates_for_l" />
<Key <Key
latin:keyLabel="m" /> latin:keyLabel="m" />
<Key <Key
@ -111,25 +111,25 @@
latin:keyWidth="13.829%p" /> latin:keyWidth="13.829%p" />
<Key <Key
latin:keyLabel="w" latin:keyLabel="w"
latin:popupCharacters="@string/alternates_for_w" /> latin:moreKeys="@string/alternates_for_w" />
<Key <Key
latin:keyLabel="x" /> latin:keyLabel="x" />
<Key <Key
latin:keyLabel="c" latin:keyLabel="c"
latin:popupCharacters="@string/alternates_for_c" /> latin:moreKeys="@string/alternates_for_c" />
<Key <Key
latin:keyLabel="v" latin:keyLabel="v"
latin:popupCharacters="@string/alternates_for_v" /> latin:moreKeys="@string/alternates_for_v" />
<Key <Key
latin:keyLabel="b" /> latin:keyLabel="b" />
<Key <Key
latin:keyLabel="n" latin:keyLabel="n"
latin:popupCharacters="@string/alternates_for_n" /> latin:moreKeys="@string/alternates_for_n" />
<Key <Key
latin:keyLabel="\'" latin:keyLabel="\'"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel=":" latin:keyHintLabel=":"
latin:popupCharacters=":" /> latin:moreKeys=":" />
<switch> <switch>
<case <case
latin:mode="email" latin:mode="email"
@ -144,12 +144,12 @@
latin:keyLabel="," latin:keyLabel=","
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="!" latin:keyHintLabel="!"
latin:popupCharacters="!" /> latin:moreKeys="!" />
<Key <Key
latin:keyLabel="." latin:keyLabel="."
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="\?" latin:keyHintLabel="\?"
latin:popupCharacters="\?" /> latin:moreKeys="\?" />
</default> </default>
</switch> </switch>
<Key <Key

View File

@ -66,17 +66,17 @@
latin:keyLabel="ד" /> latin:keyLabel="ד" />
<Key <Key
latin:keyLabel="ג" latin:keyLabel="ג"
latin:popupCharacters="ג׳" /> latin:moreKeys="ג׳" />
<Key <Key
latin:keyLabel="כ" /> latin:keyLabel="כ" />
<Key <Key
latin:keyLabel="ע" /> latin:keyLabel="ע" />
<Key <Key
latin:keyLabel="י" latin:keyLabel="י"
latin:popupCharacters="ײַ" /> latin:moreKeys="ײַ" />
<Key <Key
latin:keyLabel="ח" latin:keyLabel="ח"
latin:popupCharacters="ח׳" /> latin:moreKeys="ח׳" />
<Key <Key
latin:keyLabel="ל" /> latin:keyLabel="ל" />
<Key <Key
@ -89,7 +89,7 @@
> >
<Key <Key
latin:keyLabel="ז" latin:keyLabel="ז"
latin:popupCharacters="ז׳" latin:moreKeys="ז׳"
latin:keyXPos="13.829%p" /> latin:keyXPos="13.829%p" />
<Key <Key
latin:keyLabel="ס" /> latin:keyLabel="ס" />
@ -103,13 +103,13 @@
latin:keyLabel="מ" /> latin:keyLabel="מ" />
<Key <Key
latin:keyLabel="צ" latin:keyLabel="צ"
latin:popupCharacters="צ׳" /> latin:moreKeys="צ׳" />
<Key <Key
latin:keyLabel="ת" latin:keyLabel="ת"
latin:popupCharacters="ת׳" /> latin:moreKeys="ת׳" />
<Key <Key
latin:keyLabel="ץ" latin:keyLabel="ץ"
latin:popupCharacters="ץ׳" /> latin:moreKeys="ץ׳" />
<Key <Key
latin:keyStyle="returnKeyStyle" latin:keyStyle="returnKeyStyle"
latin:keyXPos="-10.400%p" latin:keyXPos="-10.400%p"

View File

@ -32,34 +32,34 @@
latin:keyWidth="7.969%p" /> latin:keyWidth="7.969%p" />
<Key <Key
latin:keyLabel="q" latin:keyLabel="q"
latin:popupCharacters="@string/alternates_for_q" /> latin:moreKeys="@string/alternates_for_q" />
<Key <Key
latin:keyLabel="w" latin:keyLabel="w"
latin:popupCharacters="@string/alternates_for_w" /> latin:moreKeys="@string/alternates_for_w" />
<Key <Key
latin:keyLabel="e" latin:keyLabel="e"
latin:popupCharacters="@string/alternates_for_e" /> latin:moreKeys="@string/alternates_for_e" />
<Key <Key
latin:keyLabel="r" latin:keyLabel="r"
latin:popupCharacters="@string/alternates_for_r" /> latin:moreKeys="@string/alternates_for_r" />
<Key <Key
latin:keyLabel="t" latin:keyLabel="t"
latin:popupCharacters="@string/alternates_for_t" /> latin:moreKeys="@string/alternates_for_t" />
<Key <Key
latin:keyLabel="z" latin:keyLabel="z"
latin:popupCharacters="@string/alternates_for_z" /> latin:moreKeys="@string/alternates_for_z" />
<Key <Key
latin:keyLabel="u" latin:keyLabel="u"
latin:popupCharacters="@string/alternates_for_u" /> latin:moreKeys="@string/alternates_for_u" />
<Key <Key
latin:keyLabel="i" latin:keyLabel="i"
latin:popupCharacters="@string/alternates_for_i" /> latin:moreKeys="@string/alternates_for_i" />
<Key <Key
latin:keyLabel="o" latin:keyLabel="o"
latin:popupCharacters="@string/alternates_for_o" /> latin:moreKeys="@string/alternates_for_o" />
<Key <Key
latin:keyLabel="p" latin:keyLabel="p"
latin:popupCharacters="@string/alternates_for_p" /> latin:moreKeys="@string/alternates_for_p" />
<Key <Key
latin:keyStyle="deleteKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyXPos="-9.219%p" latin:keyXPos="-9.219%p"
@ -75,20 +75,20 @@
latin:keyWidth="13.829%p" /> latin:keyWidth="13.829%p" />
<Key <Key
latin:keyLabel="y" latin:keyLabel="y"
latin:popupCharacters="@string/alternates_for_y" /> latin:moreKeys="@string/alternates_for_y" />
<Key <Key
latin:keyLabel="x" /> latin:keyLabel="x" />
<Key <Key
latin:keyLabel="c" latin:keyLabel="c"
latin:popupCharacters="@string/alternates_for_c" /> latin:moreKeys="@string/alternates_for_c" />
<Key <Key
latin:keyLabel="v" latin:keyLabel="v"
latin:popupCharacters="@string/alternates_for_v" /> latin:moreKeys="@string/alternates_for_v" />
<Key <Key
latin:keyLabel="b" /> latin:keyLabel="b" />
<Key <Key
latin:keyLabel="n" latin:keyLabel="n"
latin:popupCharacters="@string/alternates_for_n" /> latin:moreKeys="@string/alternates_for_n" />
<Key <Key
latin:keyLabel="m" /> latin:keyLabel="m" />
<switch> <switch>
@ -105,12 +105,12 @@
latin:keyLabel="," latin:keyLabel=","
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="!" latin:keyHintLabel="!"
latin:popupCharacters="!" /> latin:moreKeys="!" />
<Key <Key
latin:keyLabel="." latin:keyLabel="."
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelOption="hasUppercaseLetter"
latin:keyHintLabel="\?" latin:keyHintLabel="\?"
latin:popupCharacters="\?" /> latin:moreKeys="\?" />
</default> </default>
</switch> </switch>
<Key <Key

View File

@ -39,7 +39,7 @@
latin:keyLabel="к" /> latin:keyLabel="к" />
<Key <Key
latin:keyLabel="е" latin:keyLabel="е"
latin:popupCharacters="@string/alternates_for_cyrillic_e" /> latin:moreKeys="@string/alternates_for_cyrillic_e" />
<Key <Key
latin:keyLabel="н" /> latin:keyLabel="н" />
<Key <Key

View File

@ -32,34 +32,34 @@
latin:keyWidth="7.500%p" /> latin:keyWidth="7.500%p" />
<Key <Key
latin:keyLabel="q" latin:keyLabel="q"
latin:popupCharacters="@string/alternates_for_q" /> latin:moreKeys="@string/alternates_for_q" />
<Key <Key
latin:keyLabel="w" latin:keyLabel="w"
latin:popupCharacters="@string/alternates_for_w" /> latin:moreKeys="@string/alternates_for_w" />
<Key <Key
latin:keyLabel="e" latin:keyLabel="e"
latin:popupCharacters="@string/alternates_for_e" /> latin:moreKeys="@string/alternates_for_e" />
<Key <Key
latin:keyLabel="r" latin:keyLabel="r"
latin:popupCharacters="@string/alternates_for_r" /> latin:moreKeys="@string/alternates_for_r" />
<Key <Key
latin:keyLabel="t" latin:keyLabel="t"
latin:popupCharacters="@string/alternates_for_t" /> latin:moreKeys="@string/alternates_for_t" />
<Key <Key
latin:keyLabel="y" latin:keyLabel="y"
latin:popupCharacters="@string/alternates_for_y" /> latin:moreKeys="@string/alternates_for_y" />
<Key <Key
latin:keyLabel="u" latin:keyLabel="u"
latin:popupCharacters="@string/alternates_for_u" /> latin:moreKeys="@string/alternates_for_u" />
<Key <Key
latin:keyLabel="i" latin:keyLabel="i"
latin:popupCharacters="@string/alternates_for_i" /> latin:moreKeys="@string/alternates_for_i" />
<Key <Key
latin:keyLabel="o" latin:keyLabel="o"
latin:popupCharacters="@string/alternates_for_o" /> latin:moreKeys="@string/alternates_for_o" />
<Key <Key
latin:keyLabel="p" latin:keyLabel="p"
latin:popupCharacters="@string/alternates_for_p" /> latin:moreKeys="@string/alternates_for_p" />
<Key <Key
latin:keyLabel="å" /> latin:keyLabel="å" />
<Key <Key
@ -76,34 +76,34 @@
latin:keyWidth="9.375%p" /> latin:keyWidth="9.375%p" />
<Key <Key
latin:keyLabel="a" latin:keyLabel="a"
latin:popupCharacters="@string/alternates_for_a" /> latin:moreKeys="@string/alternates_for_a" />
<Key <Key
latin:keyLabel="s" latin:keyLabel="s"
latin:popupCharacters="@string/alternates_for_s" /> latin:moreKeys="@string/alternates_for_s" />
<Key <Key
latin:keyLabel="d" latin:keyLabel="d"
latin:popupCharacters="@string/alternates_for_d" /> latin:moreKeys="@string/alternates_for_d" />
<Key <Key
latin:keyLabel="f" /> latin:keyLabel="f" />
<Key <Key
latin:keyLabel="g" latin:keyLabel="g"
latin:popupCharacters="@string/alternates_for_g" /> latin:moreKeys="@string/alternates_for_g" />
<Key <Key
latin:keyLabel="h" /> latin:keyLabel="h" />
<Key <Key
latin:keyLabel="j" /> latin:keyLabel="j" />
<Key <Key
latin:keyLabel="k" latin:keyLabel="k"
latin:popupCharacters="@string/alternates_for_k" /> latin:moreKeys="@string/alternates_for_k" />
<Key <Key
latin:keyLabel="l" latin:keyLabel="l"
latin:popupCharacters="@string/alternates_for_l" /> latin:moreKeys="@string/alternates_for_l" />
<Key <Key
latin:keyLabel="@string/keylabel_for_scandinavia_row2_10" latin:keyLabel="@string/keylabel_for_scandinavia_row2_10"
latin:popupCharacters="@string/alternates_for_scandinavia_row2_10" /> latin:moreKeys="@string/alternates_for_scandinavia_row2_10" />
<Key <Key
latin:keyLabel="@string/keylabel_for_scandinavia_row2_11" latin:keyLabel="@string/keylabel_for_scandinavia_row2_11"
latin:popupCharacters="@string/alternates_for_scandinavia_row2_11" /> latin:moreKeys="@string/alternates_for_scandinavia_row2_11" />
<Key <Key
latin:keyStyle="returnKeyStyle" latin:keyStyle="returnKeyStyle"
latin:keyXPos="-9.375%p" latin:keyXPos="-9.375%p"
@ -117,20 +117,20 @@
latin:keyWidth="12.750%p" /> latin:keyWidth="12.750%p" />
<Key <Key
latin:keyLabel="z" latin:keyLabel="z"
latin:popupCharacters="@string/alternates_for_z" /> latin:moreKeys="@string/alternates_for_z" />
<Key <Key
latin:keyLabel="x" /> latin:keyLabel="x" />
<Key <Key
latin:keyLabel="c" latin:keyLabel="c"
latin:popupCharacters="@string/alternates_for_c" /> latin:moreKeys="@string/alternates_for_c" />
<Key <Key
latin:keyLabel="v" latin:keyLabel="v"
latin:popupCharacters="@string/alternates_for_v" /> latin:moreKeys="@string/alternates_for_v" />
<Key <Key
latin:keyLabel="b" /> latin:keyLabel="b" />
<Key <Key
latin:keyLabel="n" latin:keyLabel="n"
latin:popupCharacters="@string/alternates_for_n" /> latin:moreKeys="@string/alternates_for_n" />
<Key <Key
latin:keyLabel="m" /> latin:keyLabel="m" />
<include <include

View File

@ -34,28 +34,28 @@
latin:keyWidth="10.167%p" /> latin:keyWidth="10.167%p" />
<Key <Key
latin:keyLabel="a" latin:keyLabel="a"
latin:popupCharacters="@string/alternates_for_a" /> latin:moreKeys="@string/alternates_for_a" />
<Key <Key
latin:keyLabel="s" latin:keyLabel="s"
latin:popupCharacters="@string/alternates_for_s" /> latin:moreKeys="@string/alternates_for_s" />
<Key <Key
latin:keyLabel="d" latin:keyLabel="d"
latin:popupCharacters="@string/alternates_for_d" /> latin:moreKeys="@string/alternates_for_d" />
<Key <Key
latin:keyLabel="f" /> latin:keyLabel="f" />
<Key <Key
latin:keyLabel="g" latin:keyLabel="g"
latin:popupCharacters="@string/alternates_for_g" /> latin:moreKeys="@string/alternates_for_g" />
<Key <Key
latin:keyLabel="h" /> latin:keyLabel="h" />
<Key <Key
latin:keyLabel="j" /> latin:keyLabel="j" />
<Key <Key
latin:keyLabel="k" latin:keyLabel="k"
latin:popupCharacters="@string/alternates_for_k" /> latin:moreKeys="@string/alternates_for_k" />
<Key <Key
latin:keyLabel="l" latin:keyLabel="l"
latin:popupCharacters="@string/alternates_for_l" /> latin:moreKeys="@string/alternates_for_l" />
<Key <Key
latin:keyLabel="ñ" /> latin:keyLabel="ñ" />
<Key <Key

View File

@ -34,34 +34,34 @@
latin:keyWidth="7.969%p" /> latin:keyWidth="7.969%p" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_1" latin:keyLabel="@string/keylabel_for_symbols_1"
latin:popupCharacters="@string/alternates_for_symbols_1" /> latin:moreKeys="@string/alternates_for_symbols_1" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_2" latin:keyLabel="@string/keylabel_for_symbols_2"
latin:popupCharacters="@string/alternates_for_symbols_2" /> latin:moreKeys="@string/alternates_for_symbols_2" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_3" latin:keyLabel="@string/keylabel_for_symbols_3"
latin:popupCharacters="@string/alternates_for_symbols_3" /> latin:moreKeys="@string/alternates_for_symbols_3" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_4" latin:keyLabel="@string/keylabel_for_symbols_4"
latin:popupCharacters="@string/alternates_for_symbols_4" /> latin:moreKeys="@string/alternates_for_symbols_4" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_5" latin:keyLabel="@string/keylabel_for_symbols_5"
latin:popupCharacters="@string/alternates_for_symbols_5" /> latin:moreKeys="@string/alternates_for_symbols_5" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_6" latin:keyLabel="@string/keylabel_for_symbols_6"
latin:popupCharacters="@string/alternates_for_symbols_6" /> latin:moreKeys="@string/alternates_for_symbols_6" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_7" latin:keyLabel="@string/keylabel_for_symbols_7"
latin:popupCharacters="@string/alternates_for_symbols_7" /> latin:moreKeys="@string/alternates_for_symbols_7" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_8" latin:keyLabel="@string/keylabel_for_symbols_8"
latin:popupCharacters="@string/alternates_for_symbols_8" /> latin:moreKeys="@string/alternates_for_symbols_8" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_9" latin:keyLabel="@string/keylabel_for_symbols_9"
latin:popupCharacters="@string/alternates_for_symbols_9" /> latin:moreKeys="@string/alternates_for_symbols_9" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_0" latin:keyLabel="@string/keylabel_for_symbols_0"
latin:popupCharacters="@string/alternates_for_symbols_0" /> latin:moreKeys="@string/alternates_for_symbols_0" />
<Key <Key
latin:keyStyle="deleteKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyXPos="-9.219%p" latin:keyXPos="-9.219%p"
@ -80,24 +80,24 @@
latin:keyStyle="currencyKeyStyle" /> latin:keyStyle="currencyKeyStyle" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_percent" latin:keyLabel="@string/keylabel_for_symbols_percent"
latin:popupCharacters="@string/alternates_for_symbols_percent" /> latin:moreKeys="@string/alternates_for_symbols_percent" />
<Key <Key
latin:keyLabel="&amp;" /> latin:keyLabel="&amp;" />
<Key <Key
latin:keyLabel="*" latin:keyLabel="*"
latin:popupCharacters="†,‡,★" /> latin:moreKeys="†,‡,★" />
<Key <Key
latin:keyLabel="-" latin:keyLabel="-"
latin:popupCharacters="_,,—" /> latin:moreKeys="_,,—" />
<Key <Key
latin:keyLabel="+" latin:keyLabel="+"
latin:popupCharacters="±" /> latin:moreKeys="±" />
<Key <Key
latin:keyLabel="(" latin:keyLabel="("
latin:popupCharacters="[,{,&lt;" /> latin:moreKeys="[,{,&lt;" />
<Key <Key
latin:keyLabel=")" latin:keyLabel=")"
latin:popupCharacters="],},&gt;" /> latin:moreKeys="],},&gt;" />
<Key <Key
latin:keyStyle="returnKeyStyle" latin:keyStyle="returnKeyStyle"
latin:keyXPos="-15.704%p" latin:keyXPos="-15.704%p"
@ -111,20 +111,20 @@
latin:keyWidth="13.829%p" /> latin:keyWidth="13.829%p" />
<Key <Key
latin:keyLabel="&lt;" latin:keyLabel="&lt;"
latin:popupCharacters="≤,«," /> latin:moreKeys="≤,«," />
<Key <Key
latin:keyLabel="&gt;" latin:keyLabel="&gt;"
latin:popupCharacters="≥,»," /> latin:moreKeys="≥,»," />
<Key <Key
latin:keyLabel="=" latin:keyLabel="="
latin:popupCharacters="≠,≈" /> latin:moreKeys="≠,≈" />
<switch> <switch>
<case <case
latin:mode="url" latin:mode="url"
> >
<Key <Key
latin:keyLabel="\'" latin:keyLabel="\'"
latin:popupCharacters=",,," /> latin:moreKeys=",,," />
</case> </case>
<default> <default>
<Key <Key
@ -133,18 +133,18 @@
</switch> </switch>
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_semicolon" latin:keyLabel="@string/keylabel_for_symbols_semicolon"
latin:popupCharacters="@string/alternates_for_symbols_semicolon" /> latin:moreKeys="@string/alternates_for_symbols_semicolon" />
<Key <Key
latin:keyLabel="@string/keylabel_for_comma" latin:keyLabel="@string/keylabel_for_comma"
latin:popupCharacters="@string/alternates_for_comma" /> latin:moreKeys="@string/alternates_for_comma" />
<Key <Key
latin:keyLabel="." /> latin:keyLabel="." />
<Key <Key
latin:keyLabel="!" latin:keyLabel="!"
latin:popupCharacters="¡" /> latin:moreKeys="¡" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_question" latin:keyLabel="@string/keylabel_for_symbols_question"
latin:popupCharacters="@string/alternates_for_symbols_question" /> latin:moreKeys="@string/alternates_for_symbols_question" />
<Key <Key
latin:keyStyle="toMoreSymbolKeyStyle" latin:keyStyle="toMoreSymbolKeyStyle"
latin:keyXPos="-13.750%p" latin:keyXPos="-13.750%p"
@ -172,10 +172,10 @@
latin:keyXPos="31.250%p" latin:keyXPos="31.250%p"
latin:keyWidth="37.500%p" /> latin:keyWidth="37.500%p" />
<!-- Note: DroidSans doesn't have double-high-reversed-quotation '\u201f' glyph. --> <!-- Note: DroidSans doesn't have double-high-reversed-quotation '\u201f' glyph. -->
<!-- latin:popupCharacters="“,”,„,‟,«,»,,,," --> <!-- latin:moreKeys="“,”,„,‟,«,»,,,," -->
<Key <Key
latin:keyLabel="&quot;" latin:keyLabel="&quot;"
latin:popupCharacters="“,”,«,»,,,," /> latin:moreKeys="“,”,«,»,,,," />
<Key <Key
latin:keyLabel="_" /> latin:keyLabel="_" />
<switch> <switch>

View File

@ -38,19 +38,19 @@
latin:keyLabel="|" /> latin:keyLabel="|" />
<Key <Key
latin:keyLabel="•" latin:keyLabel="•"
latin:popupCharacters="♪,♥,♠,♦,♣" /> latin:moreKeys="♪,♥,♠,♦,♣" />
<Key <Key
latin:keyLabel="√" /> latin:keyLabel="√" />
<Key <Key
latin:keyLabel="π" latin:keyLabel="π"
latin:popupCharacters="Π" /> latin:moreKeys="Π" />
<Key <Key
latin:keyLabel="÷" /> latin:keyLabel="÷" />
<Key <Key
latin:keyLabel="×" /> latin:keyLabel="×" />
<Key <Key
latin:keyLabel="§" latin:keyLabel="§"
latin:popupCharacters="¶" /> latin:moreKeys="¶" />
<Key <Key
latin:keyLabel="Δ" /> latin:keyLabel="Δ" />
<Key <Key
@ -75,13 +75,13 @@
latin:keyLabel="¥" /> latin:keyLabel="¥" />
<Key <Key
latin:keyLabel="^" latin:keyLabel="^"
latin:popupCharacters="↑,↓,←,→" /> latin:moreKeys="↑,↓,←,→" />
<Key <Key
latin:keyLabel="°" latin:keyLabel="°"
latin:popupCharacters=",″" /> latin:moreKeys=",″" />
<Key <Key
latin:keyLabel="±" latin:keyLabel="±"
latin:popupCharacters="∞" /> latin:moreKeys="∞" />
<Key <Key
latin:keyLabel="{" /> latin:keyLabel="{" />
<Key <Key

View File

@ -62,7 +62,7 @@
<key-style <key-style
latin:styleName="currencyKeyStyle" latin:styleName="currencyKeyStyle"
latin:keyLabel="€" latin:keyLabel="€"
latin:popupCharacters="@string/alternates_for_currency_euro" /> latin:moreKeys="@string/alternates_for_currency_euro" />
</case> </case>
<case <case
latin:languageCode="ca|et|lb|mt|sla" latin:languageCode="ca|et|lb|mt|sla"
@ -70,7 +70,7 @@
<key-style <key-style
latin:styleName="currencyKeyStyle" latin:styleName="currencyKeyStyle"
latin:keyLabel="€" latin:keyLabel="€"
latin:popupCharacters="@string/alternates_for_currency_euro" /> latin:moreKeys="@string/alternates_for_currency_euro" />
</case> </case>
<case <case
latin:countryCode="AD|AT|BE|CY|EE|FI|FR|DE|GR|IE|IT|XK|LU|MT|MO|ME|NL|PT|SM|SK|SI|ES|VA" latin:countryCode="AD|AT|BE|CY|EE|FI|FR|DE|GR|IE|IT|XK|LU|MT|MO|ME|NL|PT|SM|SK|SI|ES|VA"
@ -78,7 +78,7 @@
<key-style <key-style
latin:styleName="currencyKeyStyle" latin:styleName="currencyKeyStyle"
latin:keyLabel="€" latin:keyLabel="€"
latin:popupCharacters="@string/alternates_for_currency_euro" /> latin:moreKeys="@string/alternates_for_currency_euro" />
</case> </case>
<case <case
latin:languageCode="iw" latin:languageCode="iw"
@ -86,7 +86,7 @@
<key-style <key-style
latin:styleName="currencyKeyStyle" latin:styleName="currencyKeyStyle"
latin:keyLabel="₪" latin:keyLabel="₪"
latin:popupCharacters="@string/alternates_for_currency_general" /> latin:moreKeys="@string/alternates_for_currency_general" />
</case> </case>
<!-- United Kingdom --> <!-- United Kingdom -->
<case <case
@ -95,13 +95,13 @@
<key-style <key-style
latin:styleName="currencyKeyStyle" latin:styleName="currencyKeyStyle"
latin:keyLabel="£" latin:keyLabel="£"
latin:popupCharacters="@string/alternates_for_currency_pound" /> latin:moreKeys="@string/alternates_for_currency_pound" />
</case> </case>
<default> <default>
<key-style <key-style
latin:styleName="currencyKeyStyle" latin:styleName="currencyKeyStyle"
latin:keyLabel="$" latin:keyLabel="$"
latin:popupCharacters="@string/alternates_for_currency_dollar" /> latin:moreKeys="@string/alternates_for_currency_dollar" />
</default> </default>
</switch> </switch>
</merge> </merge>

View File

@ -33,7 +33,7 @@
<key-style <key-style
latin:styleName="f1PopupStyle" latin:styleName="f1PopupStyle"
latin:keyLabelOption="hasPopupHint" latin:keyLabelOption="hasPopupHint"
latin:popupCharacters="@string/alternates_for_f1" latin:moreKeys="@string/alternates_for_f1"
latin:parentStyle="functionalKeyStyle" /> latin:parentStyle="functionalKeyStyle" />
</case> </case>
<!-- clobberSettingsKey="false --> <!-- clobberSettingsKey="false -->
@ -43,7 +43,7 @@
<key-style <key-style
latin:styleName="f1PopupStyle" latin:styleName="f1PopupStyle"
latin:keyLabelOption="hasPopupHint" latin:keyLabelOption="hasPopupHint"
latin:popupCharacters="@string/alternates_for_f1_settings" latin:moreKeys="@string/alternates_for_f1_settings"
latin:parentStyle="functionalKeyStyle" /> latin:parentStyle="functionalKeyStyle" />
</case> </case>
<!-- clobberSettingsKey="false" hasSettingsKey="true" --> <!-- clobberSettingsKey="false" hasSettingsKey="true" -->
@ -53,7 +53,7 @@
<key-style <key-style
latin:styleName="f1PopupStyle" latin:styleName="f1PopupStyle"
latin:keyLabelOption="hasPopupHint" latin:keyLabelOption="hasPopupHint"
latin:popupCharacters="@string/alternates_for_f1_navigate" latin:moreKeys="@string/alternates_for_f1_navigate"
latin:parentStyle="functionalKeyStyle" /> latin:parentStyle="functionalKeyStyle" />
</case> </case>
<!-- clobberSettingsKey="false" and hasSettingsKey="true" navigateAction="false" --> <!-- clobberSettingsKey="false" and hasSettingsKey="true" navigateAction="false" -->
@ -61,7 +61,7 @@
<key-style <key-style
latin:styleName="f1PopupStyle" latin:styleName="f1PopupStyle"
latin:keyLabelOption="hasPopupHint" latin:keyLabelOption="hasPopupHint"
latin:popupCharacters="@string/alternates_for_f1" latin:moreKeys="@string/alternates_for_f1"
latin:parentStyle="functionalKeyStyle" /> latin:parentStyle="functionalKeyStyle" />
</default> </default>
</switch> </switch>
@ -90,8 +90,8 @@
latin:keyLabel=":-)" latin:keyLabel=":-)"
latin:keyOutputText=":-) " latin:keyOutputText=":-) "
latin:keyLabelOption="hasPopupHint" latin:keyLabelOption="hasPopupHint"
latin:popupCharacters="@string/alternates_for_smiley" latin:moreKeys="@string/alternates_for_smiley"
latin:maxMiniKeyboardColumn="5" latin:maxMoreKeysColumn="5"
latin:parentStyle="functionalKeyStyle" /> latin:parentStyle="functionalKeyStyle" />
</case> </case>
<case <case
@ -220,7 +220,7 @@
latin:keyLabel="." latin:keyLabel="."
latin:keyHintLabel="@string/keyhintlabel_for_punctuation" latin:keyHintLabel="@string/keyhintlabel_for_punctuation"
latin:keyLabelOption="hasPopupHint" latin:keyLabelOption="hasPopupHint"
latin:popupCharacters="@string/alternates_for_punctuation" latin:moreKeys="@string/alternates_for_punctuation"
latin:maxMiniKeyboardColumn="@integer/mini_keyboard_column_for_punctuation" latin:maxMoreKeysColumn="@integer/mini_keyboard_column_for_punctuation"
latin:parentStyle="functionalKeyStyle" /> latin:parentStyle="functionalKeyStyle" />
</merge> </merge>

View File

@ -27,43 +27,43 @@
<Key <Key
latin:keyLabel="q" latin:keyLabel="q"
latin:keyHintLabel="1" latin:keyHintLabel="1"
latin:popupCharacters="@string/alternates_for_q" /> latin:moreKeys="@string/alternates_for_q" />
<Key <Key
latin:keyLabel="w" latin:keyLabel="w"
latin:keyHintLabel="2" latin:keyHintLabel="2"
latin:popupCharacters="@string/alternates_for_w" /> latin:moreKeys="@string/alternates_for_w" />
<Key <Key
latin:keyLabel="e" latin:keyLabel="e"
latin:keyHintLabel="3" latin:keyHintLabel="3"
latin:popupCharacters="@string/alternates_for_e" /> latin:moreKeys="@string/alternates_for_e" />
<Key <Key
latin:keyLabel="r" latin:keyLabel="r"
latin:keyHintLabel="4" latin:keyHintLabel="4"
latin:popupCharacters="@string/alternates_for_r" /> latin:moreKeys="@string/alternates_for_r" />
<Key <Key
latin:keyLabel="t" latin:keyLabel="t"
latin:keyHintLabel="5" latin:keyHintLabel="5"
latin:popupCharacters="@string/alternates_for_t" /> latin:moreKeys="@string/alternates_for_t" />
<Key <Key
latin:keyLabel="y" latin:keyLabel="y"
latin:keyHintLabel="6" latin:keyHintLabel="6"
latin:popupCharacters="@string/alternates_for_y" /> latin:moreKeys="@string/alternates_for_y" />
<Key <Key
latin:keyLabel="u" latin:keyLabel="u"
latin:keyHintLabel="7" latin:keyHintLabel="7"
latin:popupCharacters="@string/alternates_for_u" /> latin:moreKeys="@string/alternates_for_u" />
<Key <Key
latin:keyLabel="i" latin:keyLabel="i"
latin:keyHintLabel="8" latin:keyHintLabel="8"
latin:popupCharacters="@string/alternates_for_i" /> latin:moreKeys="@string/alternates_for_i" />
<Key <Key
latin:keyLabel="o" latin:keyLabel="o"
latin:keyHintLabel="9" latin:keyHintLabel="9"
latin:popupCharacters="@string/alternates_for_o" /> latin:moreKeys="@string/alternates_for_o" />
<Key <Key
latin:keyLabel="p" latin:keyLabel="p"
latin:keyHintLabel="0" latin:keyHintLabel="0"
latin:popupCharacters="@string/alternates_for_p" latin:moreKeys="@string/alternates_for_p"
latin:keyWidth="fillRight" /> latin:keyWidth="fillRight" />
</Row> </Row>
</merge> </merge>

View File

@ -26,29 +26,29 @@
> >
<Key <Key
latin:keyLabel="a" latin:keyLabel="a"
latin:popupCharacters="@string/alternates_for_a" latin:moreKeys="@string/alternates_for_a"
latin:keyXPos="5%p" /> latin:keyXPos="5%p" />
<Key <Key
latin:keyLabel="s" latin:keyLabel="s"
latin:popupCharacters="@string/alternates_for_s" /> latin:moreKeys="@string/alternates_for_s" />
<Key <Key
latin:keyLabel="d" latin:keyLabel="d"
latin:popupCharacters="@string/alternates_for_d" /> latin:moreKeys="@string/alternates_for_d" />
<Key <Key
latin:keyLabel="f" /> latin:keyLabel="f" />
<Key <Key
latin:keyLabel="g" latin:keyLabel="g"
latin:popupCharacters="@string/alternates_for_g" /> latin:moreKeys="@string/alternates_for_g" />
<Key <Key
latin:keyLabel="h" /> latin:keyLabel="h" />
<Key <Key
latin:keyLabel="j" /> latin:keyLabel="j" />
<Key <Key
latin:keyLabel="k" latin:keyLabel="k"
latin:popupCharacters="@string/alternates_for_k" /> latin:moreKeys="@string/alternates_for_k" />
<Key <Key
latin:keyLabel="l" latin:keyLabel="l"
latin:popupCharacters="@string/alternates_for_l" /> latin:moreKeys="@string/alternates_for_l" />
<!-- Here is 5%p space --> <!-- Here is 5%p space -->
</Row> </Row>
</merge> </merge>

View File

@ -30,20 +30,20 @@
latin:visualInsetsRight="1%p" /> latin:visualInsetsRight="1%p" />
<Key <Key
latin:keyLabel="z" latin:keyLabel="z"
latin:popupCharacters="@string/alternates_for_z" /> latin:moreKeys="@string/alternates_for_z" />
<Key <Key
latin:keyLabel="x" /> latin:keyLabel="x" />
<Key <Key
latin:keyLabel="c" latin:keyLabel="c"
latin:popupCharacters="@string/alternates_for_c" /> latin:moreKeys="@string/alternates_for_c" />
<Key <Key
latin:keyLabel="v" latin:keyLabel="v"
latin:popupCharacters="@string/alternates_for_v" /> latin:moreKeys="@string/alternates_for_v" />
<Key <Key
latin:keyLabel="b" /> latin:keyLabel="b" />
<Key <Key
latin:keyLabel="n" latin:keyLabel="n"
latin:popupCharacters="@string/alternates_for_n" /> latin:moreKeys="@string/alternates_for_n" />
<Key <Key
latin:keyLabel="m" /> latin:keyLabel="m" />
<Key <Key

View File

@ -29,47 +29,47 @@
<Key <Key
latin:keyLabel="ض" latin:keyLabel="ض"
latin:keyHintLabel="1" latin:keyHintLabel="1"
latin:popupCharacters="1,١" /> latin:moreKeys="1,١" />
<Key <Key
latin:keyLabel="ص" latin:keyLabel="ص"
latin:keyHintLabel="2" latin:keyHintLabel="2"
latin:popupCharacters="2,٢" /> latin:moreKeys="2,٢" />
<Key <Key
latin:keyLabel="ق" latin:keyLabel="ق"
latin:keyHintLabel="3" latin:keyHintLabel="3"
latin:popupCharacters="3,٣" /> latin:moreKeys="3,٣" />
<!-- \u06a4: ARABIC LETTER VEH --> <!-- \u06a4: ARABIC LETTER VEH -->
<Key <Key
latin:keyLabel="ف" latin:keyLabel="ف"
latin:keyHintLabel="4" latin:keyHintLabel="4"
latin:popupCharacters="4,٤,\u06a4" /> latin:moreKeys="4,٤,\u06a4" />
<Key <Key
latin:keyLabel="غ" latin:keyLabel="غ"
latin:keyHintLabel="5" latin:keyHintLabel="5"
latin:popupCharacters="5,٥" /> latin:moreKeys="5,٥" />
<Key <Key
latin:keyLabel="ع" latin:keyLabel="ع"
latin:keyHintLabel="6" latin:keyHintLabel="6"
latin:popupCharacters="6,٦" /> latin:moreKeys="6,٦" />
<!-- \ufeeb: ARABIC LETTER HEH INITIAL FORM <!-- \ufeeb: ARABIC LETTER HEH INITIAL FORM
\u0647\u0640: ARABIC LETTER HEH + ARABIC TATWEEL --> \u0647\u0640: ARABIC LETTER HEH + ARABIC TATWEEL -->
<Key <Key
latin:keyLabel="ه" latin:keyLabel="ه"
latin:keyHintLabel="7" latin:keyHintLabel="7"
latin:popupCharacters="7,٧,\ufeeb|\u0647\u0640" /> latin:moreKeys="7,٧,\ufeeb|\u0647\u0640" />
<Key <Key
latin:keyLabel="خ" latin:keyLabel="خ"
latin:keyHintLabel="8" latin:keyHintLabel="8"
latin:popupCharacters="8,٨" /> latin:moreKeys="8,٨" />
<Key <Key
latin:keyLabel="ح" latin:keyLabel="ح"
latin:keyHintLabel="9" latin:keyHintLabel="9"
latin:popupCharacters="9,٩" /> latin:moreKeys="9,٩" />
<!-- \u0686: ARABIC LETTER TCHEH --> <!-- \u0686: ARABIC LETTER TCHEH -->
<Key <Key
latin:keyLabel="ج" latin:keyLabel="ج"
latin:keyHintLabel="0" latin:keyHintLabel="0"
latin:popupCharacters="0,٠,\u0686" latin:moreKeys="0,٠,\u0686"
latin:keyWidth="fillRight" /> latin:keyWidth="fillRight" />
</Row> </Row>
<Row <Row
@ -83,10 +83,10 @@
\u0649: ARABIC LETTER ALEF MAKSURA --> \u0649: ARABIC LETTER ALEF MAKSURA -->
<Key <Key
latin:keyLabel="ي" latin:keyLabel="ي"
latin:popupCharacters="\u0626,\u0649" /> latin:moreKeys="\u0626,\u0649" />
<Key <Key
latin:keyLabel="ب" latin:keyLabel="ب"
latin:popupCharacters="پ" /> latin:moreKeys="پ" />
<!-- \ufefb: ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM <!-- \ufefb: ARABIC LIGATURE LAM WITH ALEF ISOLATED FORM
\u0644: ARABIC LETTER LAM \u0644: ARABIC LETTER LAM
\u0627: ARABIC LETTER ALEF \u0627: ARABIC LETTER ALEF
@ -98,24 +98,24 @@
\u0622: ARABIC LETTER ALEF WITH MADDA ABOVE --> \u0622: ARABIC LETTER ALEF WITH MADDA ABOVE -->
<Key <Key
latin:keyLabel="ل" latin:keyLabel="ل"
latin:popupCharacters="\ufefb|\u0644\u0627,\ufef7|\u0644\u0623,\ufef9|\u0644\u0625,\ufef5|\u0644\u0622" /> latin:moreKeys="\ufefb|\u0644\u0627,\ufef7|\u0644\u0623,\ufef9|\u0644\u0625,\ufef5|\u0644\u0622" />
<!-- \u0621: ARABIC LETTER HAMZA <!-- \u0621: ARABIC LETTER HAMZA
\u0623: ARABIC LETTER ALEF WITH HAMZA ABOVE \u0623: ARABIC LETTER ALEF WITH HAMZA ABOVE
\u0625: ARABIC LETTER ALEF WITH HAMZA BELOW \u0625: ARABIC LETTER ALEF WITH HAMZA BELOW
\u0622: ARABIC LETTER ALEF WITH MADDA ABOVE --> \u0622: ARABIC LETTER ALEF WITH MADDA ABOVE -->
<Key <Key
latin:keyLabel="ا" latin:keyLabel="ا"
latin:popupCharacters="\u0621,\u0623,\u0625,\u0622" /> latin:moreKeys="\u0621,\u0623,\u0625,\u0622" />
<Key <Key
latin:keyLabel="ت" latin:keyLabel="ت"
latin:popupCharacters="ث" /> latin:moreKeys="ث" />
<Key <Key
latin:keyLabel="ن" /> latin:keyLabel="ن" />
<Key <Key
latin:keyLabel="م" /> latin:keyLabel="م" />
<Key <Key
latin:keyLabel="ك" latin:keyLabel="ك"
latin:popupCharacters="گ" latin:moreKeys="گ"
latin:keyWidth="fillRight" /> latin:keyWidth="fillRight" />
</Row> </Row>
<Row <Row
@ -132,14 +132,14 @@
latin:keyLabel="د" /> latin:keyLabel="د" />
<Key <Key
latin:keyLabel="ز" latin:keyLabel="ز"
latin:popupCharacters="ژ" /> latin:moreKeys="ژ" />
<Key <Key
latin:keyLabel="ر" /> latin:keyLabel="ر" />
<Key <Key
latin:keyLabel="ة" /> latin:keyLabel="ة" />
<Key <Key
latin:keyLabel="و" latin:keyLabel="و"
latin:popupCharacters="ؤ" /> latin:moreKeys="ؤ" />
<Key <Key
latin:keyStyle="deleteKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyWidth="fillRight" latin:keyWidth="fillRight"

View File

@ -29,43 +29,43 @@
<Key <Key
latin:keyLabel="a" latin:keyLabel="a"
latin:keyHintLabel="1" latin:keyHintLabel="1"
latin:popupCharacters="@string/alternates_for_a" /> latin:moreKeys="@string/alternates_for_a" />
<Key <Key
latin:keyLabel="z" latin:keyLabel="z"
latin:keyHintLabel="2" latin:keyHintLabel="2"
latin:popupCharacters="@string/alternates_for_z" /> latin:moreKeys="@string/alternates_for_z" />
<Key <Key
latin:keyLabel="e" latin:keyLabel="e"
latin:keyHintLabel="3" latin:keyHintLabel="3"
latin:popupCharacters="@string/alternates_for_e" /> latin:moreKeys="@string/alternates_for_e" />
<Key <Key
latin:keyLabel="r" latin:keyLabel="r"
latin:keyHintLabel="4" latin:keyHintLabel="4"
latin:popupCharacters="@string/alternates_for_r" /> latin:moreKeys="@string/alternates_for_r" />
<Key <Key
latin:keyLabel="t" latin:keyLabel="t"
latin:keyHintLabel="5" latin:keyHintLabel="5"
latin:popupCharacters="@string/alternates_for_t" /> latin:moreKeys="@string/alternates_for_t" />
<Key <Key
latin:keyLabel="y" latin:keyLabel="y"
latin:keyHintLabel="6" latin:keyHintLabel="6"
latin:popupCharacters="@string/alternates_for_y" /> latin:moreKeys="@string/alternates_for_y" />
<Key <Key
latin:keyLabel="u" latin:keyLabel="u"
latin:keyHintLabel="7" latin:keyHintLabel="7"
latin:popupCharacters="@string/alternates_for_u" /> latin:moreKeys="@string/alternates_for_u" />
<Key <Key
latin:keyLabel="i" latin:keyLabel="i"
latin:keyHintLabel="8" latin:keyHintLabel="8"
latin:popupCharacters="@string/alternates_for_i" /> latin:moreKeys="@string/alternates_for_i" />
<Key <Key
latin:keyLabel="o" latin:keyLabel="o"
latin:keyHintLabel="9" latin:keyHintLabel="9"
latin:popupCharacters="@string/alternates_for_o" /> latin:moreKeys="@string/alternates_for_o" />
<Key <Key
latin:keyLabel="p" latin:keyLabel="p"
latin:keyHintLabel="0" latin:keyHintLabel="0"
latin:popupCharacters="@string/alternates_for_p" latin:moreKeys="@string/alternates_for_p"
latin:keyWidth="fillRight" /> latin:keyWidth="fillRight" />
</Row> </Row>
<Row <Row
@ -73,28 +73,28 @@
> >
<Key <Key
latin:keyLabel="q" latin:keyLabel="q"
latin:popupCharacters="@string/alternates_for_q" /> latin:moreKeys="@string/alternates_for_q" />
<Key <Key
latin:keyLabel="s" latin:keyLabel="s"
latin:popupCharacters="@string/alternates_for_s" /> latin:moreKeys="@string/alternates_for_s" />
<Key <Key
latin:keyLabel="d" latin:keyLabel="d"
latin:popupCharacters="@string/alternates_for_d" /> latin:moreKeys="@string/alternates_for_d" />
<Key <Key
latin:keyLabel="f" /> latin:keyLabel="f" />
<Key <Key
latin:keyLabel="g" latin:keyLabel="g"
latin:popupCharacters="@string/alternates_for_g" /> latin:moreKeys="@string/alternates_for_g" />
<Key <Key
latin:keyLabel="h" /> latin:keyLabel="h" />
<Key <Key
latin:keyLabel="j" /> latin:keyLabel="j" />
<Key <Key
latin:keyLabel="k" latin:keyLabel="k"
latin:popupCharacters="@string/alternates_for_k" /> latin:moreKeys="@string/alternates_for_k" />
<Key <Key
latin:keyLabel="l" latin:keyLabel="l"
latin:popupCharacters="@string/alternates_for_l" /> latin:moreKeys="@string/alternates_for_l" />
<Key <Key
latin:keyLabel="m" latin:keyLabel="m"
latin:keyWidth="fillRight" /> latin:keyWidth="fillRight" />
@ -108,24 +108,24 @@
latin:visualInsetsRight="1%p" /> latin:visualInsetsRight="1%p" />
<Key <Key
latin:keyLabel="w" latin:keyLabel="w"
latin:popupCharacters="@string/alternates_for_w" /> latin:moreKeys="@string/alternates_for_w" />
<Key <Key
latin:keyLabel="x" /> latin:keyLabel="x" />
<Key <Key
latin:keyLabel="c" latin:keyLabel="c"
latin:popupCharacters="@string/alternates_for_c" /> latin:moreKeys="@string/alternates_for_c" />
<Key <Key
latin:keyLabel="v" latin:keyLabel="v"
latin:popupCharacters="@string/alternates_for_v" /> latin:moreKeys="@string/alternates_for_v" />
<Key <Key
latin:keyLabel="b" /> latin:keyLabel="b" />
<Key <Key
latin:keyLabel="n" latin:keyLabel="n"
latin:popupCharacters="@string/alternates_for_n" /> latin:moreKeys="@string/alternates_for_n" />
<Key <Key
latin:keyLabel="\'" latin:keyLabel="\'"
latin:popupCharacters=",,," /> latin:moreKeys=",,," />
<Key <Key
latin:keyStyle="deleteKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyWidth="fillRight" latin:keyWidth="fillRight"

View File

@ -57,17 +57,17 @@
latin:keyLabel="ד" /> latin:keyLabel="ד" />
<Key <Key
latin:keyLabel="ג" latin:keyLabel="ג"
latin:popupCharacters="ג׳" /> latin:moreKeys="ג׳" />
<Key <Key
latin:keyLabel="כ" /> latin:keyLabel="כ" />
<Key <Key
latin:keyLabel="ע" /> latin:keyLabel="ע" />
<Key <Key
latin:keyLabel="י" latin:keyLabel="י"
latin:popupCharacters="ײַ" /> latin:moreKeys="ײַ" />
<Key <Key
latin:keyLabel="ח" latin:keyLabel="ח"
latin:popupCharacters="ח׳" /> latin:moreKeys="ח׳" />
<Key <Key
latin:keyLabel="ל" /> latin:keyLabel="ל" />
<Key <Key
@ -81,7 +81,7 @@
> >
<Key <Key
latin:keyLabel="ז" latin:keyLabel="ז"
latin:popupCharacters="ז׳" latin:moreKeys="ז׳"
latin:keyXPos="5%p" /> latin:keyXPos="5%p" />
<Key <Key
latin:keyLabel="ס" /> latin:keyLabel="ס" />
@ -95,13 +95,13 @@
latin:keyLabel="מ" /> latin:keyLabel="מ" />
<Key <Key
latin:keyLabel="צ" latin:keyLabel="צ"
latin:popupCharacters="צ׳" /> latin:moreKeys="צ׳" />
<Key <Key
latin:keyLabel="ת" latin:keyLabel="ת"
latin:popupCharacters="ת׳" /> latin:moreKeys="ת׳" />
<Key <Key
latin:keyLabel="ץ" latin:keyLabel="ץ"
latin:popupCharacters="ץ׳" /> latin:moreKeys="ץ׳" />
<!-- Here is 5%p space --> <!-- Here is 5%p space -->
</Row> </Row>
<include <include

View File

@ -29,43 +29,43 @@
<Key <Key
latin:keyLabel="q" latin:keyLabel="q"
latin:keyHintLabel="1" latin:keyHintLabel="1"
latin:popupCharacters="@string/alternates_for_q" /> latin:moreKeys="@string/alternates_for_q" />
<Key <Key
latin:keyLabel="w" latin:keyLabel="w"
latin:keyHintLabel="2" latin:keyHintLabel="2"
latin:popupCharacters="@string/alternates_for_w" /> latin:moreKeys="@string/alternates_for_w" />
<Key <Key
latin:keyLabel="e" latin:keyLabel="e"
latin:keyHintLabel="3" latin:keyHintLabel="3"
latin:popupCharacters="@string/alternates_for_e" /> latin:moreKeys="@string/alternates_for_e" />
<Key <Key
latin:keyLabel="r" latin:keyLabel="r"
latin:keyHintLabel="4" latin:keyHintLabel="4"
latin:popupCharacters="@string/alternates_for_r" /> latin:moreKeys="@string/alternates_for_r" />
<Key <Key
latin:keyLabel="t" latin:keyLabel="t"
latin:keyHintLabel="5" latin:keyHintLabel="5"
latin:popupCharacters="@string/alternates_for_t" /> latin:moreKeys="@string/alternates_for_t" />
<Key <Key
latin:keyLabel="z" latin:keyLabel="z"
latin:keyHintLabel="6" latin:keyHintLabel="6"
latin:popupCharacters="@string/alternates_for_z" /> latin:moreKeys="@string/alternates_for_z" />
<Key <Key
latin:keyLabel="u" latin:keyLabel="u"
latin:keyHintLabel="7" latin:keyHintLabel="7"
latin:popupCharacters="@string/alternates_for_u" /> latin:moreKeys="@string/alternates_for_u" />
<Key <Key
latin:keyLabel="i" latin:keyLabel="i"
latin:keyHintLabel="8" latin:keyHintLabel="8"
latin:popupCharacters="@string/alternates_for_i" /> latin:moreKeys="@string/alternates_for_i" />
<Key <Key
latin:keyLabel="o" latin:keyLabel="o"
latin:keyHintLabel="9" latin:keyHintLabel="9"
latin:popupCharacters="@string/alternates_for_o" /> latin:moreKeys="@string/alternates_for_o" />
<Key <Key
latin:keyLabel="p" latin:keyLabel="p"
latin:keyHintLabel="0" latin:keyHintLabel="0"
latin:popupCharacters="@string/alternates_for_p" latin:moreKeys="@string/alternates_for_p"
latin:keyWidth="fillRight" /> latin:keyWidth="fillRight" />
</Row> </Row>
<include <include
@ -79,20 +79,20 @@
latin:visualInsetsRight="1%p" /> latin:visualInsetsRight="1%p" />
<Key <Key
latin:keyLabel="y" latin:keyLabel="y"
latin:popupCharacters="@string/alternates_for_y" /> latin:moreKeys="@string/alternates_for_y" />
<Key <Key
latin:keyLabel="x" /> latin:keyLabel="x" />
<Key <Key
latin:keyLabel="c" latin:keyLabel="c"
latin:popupCharacters="@string/alternates_for_c" /> latin:moreKeys="@string/alternates_for_c" />
<Key <Key
latin:keyLabel="v" latin:keyLabel="v"
latin:popupCharacters="@string/alternates_for_v" /> latin:moreKeys="@string/alternates_for_v" />
<Key <Key
latin:keyLabel="b" /> latin:keyLabel="b" />
<Key <Key
latin:keyLabel="n" latin:keyLabel="n"
latin:popupCharacters="@string/alternates_for_n" /> latin:moreKeys="@string/alternates_for_n" />
<Key <Key
latin:keyLabel="m" /> latin:keyLabel="m" />
<Key <Key

View File

@ -29,47 +29,47 @@
<Key <Key
latin:keyLabel="й" latin:keyLabel="й"
latin:keyHintLabel="1" latin:keyHintLabel="1"
latin:popupCharacters="1" latin:moreKeys="1"
latin:keyWidth="8.75%p" /> latin:keyWidth="8.75%p" />
<Key <Key
latin:keyLabel="ц" latin:keyLabel="ц"
latin:keyHintLabel="2" latin:keyHintLabel="2"
latin:popupCharacters="2" /> latin:moreKeys="2" />
<Key <Key
latin:keyLabel="у" latin:keyLabel="у"
latin:keyHintLabel="3" latin:keyHintLabel="3"
latin:popupCharacters="3" /> latin:moreKeys="3" />
<Key <Key
latin:keyLabel="к" latin:keyLabel="к"
latin:keyHintLabel="4" latin:keyHintLabel="4"
latin:popupCharacters="4" /> latin:moreKeys="4" />
<Key <Key
latin:keyLabel="е" latin:keyLabel="е"
latin:keyHintLabel="5" latin:keyHintLabel="5"
latin:popupCharacters="@string/alternates_for_cyrillic_e" /> latin:moreKeys="@string/alternates_for_cyrillic_e" />
<Key <Key
latin:keyLabel="н" latin:keyLabel="н"
latin:keyHintLabel="6" latin:keyHintLabel="6"
latin:popupCharacters="6" /> latin:moreKeys="6" />
<Key <Key
latin:keyLabel="г" latin:keyLabel="г"
latin:keyHintLabel="7" latin:keyHintLabel="7"
latin:popupCharacters="7" /> latin:moreKeys="7" />
<Key <Key
latin:keyLabel="ш" latin:keyLabel="ш"
latin:keyHintLabel="8" latin:keyHintLabel="8"
latin:popupCharacters="8" /> latin:moreKeys="8" />
<Key <Key
latin:keyLabel="щ" latin:keyLabel="щ"
latin:keyHintLabel="9" latin:keyHintLabel="9"
latin:popupCharacters="9" /> latin:moreKeys="9" />
<Key <Key
latin:keyLabel="з" latin:keyLabel="з"
latin:keyHintLabel="0" latin:keyHintLabel="0"
latin:popupCharacters="0" /> latin:moreKeys="0" />
<Key <Key
latin:keyLabel="х" latin:keyLabel="х"
latin:popupCharacters="@string/alternates_for_cyrillic_ha" latin:moreKeys="@string/alternates_for_cyrillic_ha"
latin:keyWidth="fillRight" /> latin:keyWidth="fillRight" />
</Row> </Row>
<Row <Row
@ -120,7 +120,7 @@
latin:keyLabel="т" /> latin:keyLabel="т" />
<Key <Key
latin:keyLabel="ь" latin:keyLabel="ь"
latin:popupCharacters="@string/alternates_for_cyrillic_soft_sign" /> latin:moreKeys="@string/alternates_for_cyrillic_soft_sign" />
<Key <Key
latin:keyLabel="б" /> latin:keyLabel="б" />
<Key <Key

View File

@ -29,44 +29,44 @@
<Key <Key
latin:keyLabel="q" latin:keyLabel="q"
latin:keyHintLabel="1" latin:keyHintLabel="1"
latin:popupCharacters="@string/alternates_for_q" latin:moreKeys="@string/alternates_for_q"
latin:keyWidth="8.75%p" /> latin:keyWidth="8.75%p" />
<Key <Key
latin:keyLabel="w" latin:keyLabel="w"
latin:keyHintLabel="2" latin:keyHintLabel="2"
latin:popupCharacters="@string/alternates_for_w" /> latin:moreKeys="@string/alternates_for_w" />
<Key <Key
latin:keyLabel="e" latin:keyLabel="e"
latin:keyHintLabel="3" latin:keyHintLabel="3"
latin:popupCharacters="@string/alternates_for_e" /> latin:moreKeys="@string/alternates_for_e" />
<Key <Key
latin:keyLabel="r" latin:keyLabel="r"
latin:keyHintLabel="4" latin:keyHintLabel="4"
latin:popupCharacters="@string/alternates_for_r" /> latin:moreKeys="@string/alternates_for_r" />
<Key <Key
latin:keyLabel="t" latin:keyLabel="t"
latin:keyHintLabel="5" latin:keyHintLabel="5"
latin:popupCharacters="@string/alternates_for_t" /> latin:moreKeys="@string/alternates_for_t" />
<Key <Key
latin:keyLabel="y" latin:keyLabel="y"
latin:keyHintLabel="6" latin:keyHintLabel="6"
latin:popupCharacters="@string/alternates_for_y" /> latin:moreKeys="@string/alternates_for_y" />
<Key <Key
latin:keyLabel="u" latin:keyLabel="u"
latin:keyHintLabel="7" latin:keyHintLabel="7"
latin:popupCharacters="@string/alternates_for_u" /> latin:moreKeys="@string/alternates_for_u" />
<Key <Key
latin:keyLabel="i" latin:keyLabel="i"
latin:keyHintLabel="8" latin:keyHintLabel="8"
latin:popupCharacters="@string/alternates_for_i" /> latin:moreKeys="@string/alternates_for_i" />
<Key <Key
latin:keyLabel="o" latin:keyLabel="o"
latin:keyHintLabel="9" latin:keyHintLabel="9"
latin:popupCharacters="@string/alternates_for_o" /> latin:moreKeys="@string/alternates_for_o" />
<Key <Key
latin:keyLabel="p" latin:keyLabel="p"
latin:keyHintLabel="0" latin:keyHintLabel="0"
latin:popupCharacters="@string/alternates_for_p" /> latin:moreKeys="@string/alternates_for_p" />
<Key <Key
latin:keyLabel="å" latin:keyLabel="å"
latin:keyWidth="fillRight" /> latin:keyWidth="fillRight" />
@ -76,35 +76,35 @@
> >
<Key <Key
latin:keyLabel="a" latin:keyLabel="a"
latin:popupCharacters="@string/alternates_for_a" latin:moreKeys="@string/alternates_for_a"
latin:keyWidth="8.75%p" /> latin:keyWidth="8.75%p" />
<Key <Key
latin:keyLabel="s" latin:keyLabel="s"
latin:popupCharacters="@string/alternates_for_s" /> latin:moreKeys="@string/alternates_for_s" />
<Key <Key
latin:keyLabel="d" latin:keyLabel="d"
latin:popupCharacters="@string/alternates_for_d" /> latin:moreKeys="@string/alternates_for_d" />
<Key <Key
latin:keyLabel="f" /> latin:keyLabel="f" />
<Key <Key
latin:keyLabel="g" latin:keyLabel="g"
latin:popupCharacters="@string/alternates_for_g" /> latin:moreKeys="@string/alternates_for_g" />
<Key <Key
latin:keyLabel="h" /> latin:keyLabel="h" />
<Key <Key
latin:keyLabel="j" /> latin:keyLabel="j" />
<Key <Key
latin:keyLabel="k" latin:keyLabel="k"
latin:popupCharacters="@string/alternates_for_k" /> latin:moreKeys="@string/alternates_for_k" />
<Key <Key
latin:keyLabel="l" latin:keyLabel="l"
latin:popupCharacters="@string/alternates_for_l" /> latin:moreKeys="@string/alternates_for_l" />
<Key <Key
latin:keyLabel="@string/keylabel_for_scandinavia_row2_10" latin:keyLabel="@string/keylabel_for_scandinavia_row2_10"
latin:popupCharacters="@string/alternates_for_scandinavia_row2_10" /> latin:moreKeys="@string/alternates_for_scandinavia_row2_10" />
<Key <Key
latin:keyLabel="@string/keylabel_for_scandinavia_row2_11" latin:keyLabel="@string/keylabel_for_scandinavia_row2_11"
latin:popupCharacters="@string/alternates_for_scandinavia_row2_11" latin:moreKeys="@string/alternates_for_scandinavia_row2_11"
latin:keyWidth="fillRight" /> latin:keyWidth="fillRight" />
</Row> </Row>
<include <include

View File

@ -29,43 +29,43 @@
<Key <Key
latin:keyLabel="љ" latin:keyLabel="љ"
latin:keyHintLabel="1" latin:keyHintLabel="1"
latin:popupCharacters="1" /> latin:moreKeys="1" />
<Key <Key
latin:keyLabel="њ" latin:keyLabel="њ"
latin:keyHintLabel="2" latin:keyHintLabel="2"
latin:popupCharacters="2" /> latin:moreKeys="2" />
<Key <Key
latin:keyLabel="е" latin:keyLabel="е"
latin:keyHintLabel="3" latin:keyHintLabel="3"
latin:popupCharacters="3" /> latin:moreKeys="3" />
<Key <Key
latin:keyLabel="р" latin:keyLabel="р"
latin:keyHintLabel="4" latin:keyHintLabel="4"
latin:popupCharacters="4" /> latin:moreKeys="4" />
<Key <Key
latin:keyLabel="т" latin:keyLabel="т"
latin:keyHintLabel="5" latin:keyHintLabel="5"
latin:popupCharacters="5" /> latin:moreKeys="5" />
<Key <Key
latin:keyLabel="з" latin:keyLabel="з"
latin:keyHintLabel="6" latin:keyHintLabel="6"
latin:popupCharacters="6" /> latin:moreKeys="6" />
<Key <Key
latin:keyLabel="у" latin:keyLabel="у"
latin:keyHintLabel="7" latin:keyHintLabel="7"
latin:popupCharacters="7" /> latin:moreKeys="7" />
<Key <Key
latin:keyLabel="и" latin:keyLabel="и"
latin:keyHintLabel="8" latin:keyHintLabel="8"
latin:popupCharacters="8" /> latin:moreKeys="8" />
<Key <Key
latin:keyLabel="о" latin:keyLabel="о"
latin:keyHintLabel="9" latin:keyHintLabel="9"
latin:popupCharacters="9" /> latin:moreKeys="9" />
<Key <Key
latin:keyLabel="п" latin:keyLabel="п"
latin:keyHintLabel="0" latin:keyHintLabel="0"
latin:popupCharacters="0" /> latin:moreKeys="0" />
<Key <Key
latin:keyLabel="ш" latin:keyLabel="ш"
latin:keyWidth="fillRight" /> latin:keyWidth="fillRight" />

View File

@ -30,28 +30,28 @@
> >
<Key <Key
latin:keyLabel="a" latin:keyLabel="a"
latin:popupCharacters="@string/alternates_for_a" /> latin:moreKeys="@string/alternates_for_a" />
<Key <Key
latin:keyLabel="s" latin:keyLabel="s"
latin:popupCharacters="@string/alternates_for_s" /> latin:moreKeys="@string/alternates_for_s" />
<Key <Key
latin:keyLabel="d" latin:keyLabel="d"
latin:popupCharacters="@string/alternates_for_d" /> latin:moreKeys="@string/alternates_for_d" />
<Key <Key
latin:keyLabel="f" /> latin:keyLabel="f" />
<Key <Key
latin:keyLabel="g" latin:keyLabel="g"
latin:popupCharacters="@string/alternates_for_g" /> latin:moreKeys="@string/alternates_for_g" />
<Key <Key
latin:keyLabel="h" /> latin:keyLabel="h" />
<Key <Key
latin:keyLabel="j" /> latin:keyLabel="j" />
<Key <Key
latin:keyLabel="k" latin:keyLabel="k"
latin:popupCharacters="@string/alternates_for_k" /> latin:moreKeys="@string/alternates_for_k" />
<Key <Key
latin:keyLabel="l" latin:keyLabel="l"
latin:popupCharacters="@string/alternates_for_l" /> latin:moreKeys="@string/alternates_for_l" />
<Key <Key
latin:keyLabel="ñ" /> latin:keyLabel="ñ" />
</Row> </Row>

View File

@ -30,34 +30,34 @@
> >
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_1" latin:keyLabel="@string/keylabel_for_symbols_1"
latin:popupCharacters="@string/alternates_for_symbols_1" /> latin:moreKeys="@string/alternates_for_symbols_1" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_2" latin:keyLabel="@string/keylabel_for_symbols_2"
latin:popupCharacters="@string/alternates_for_symbols_2" /> latin:moreKeys="@string/alternates_for_symbols_2" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_3" latin:keyLabel="@string/keylabel_for_symbols_3"
latin:popupCharacters="@string/alternates_for_symbols_3" /> latin:moreKeys="@string/alternates_for_symbols_3" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_4" latin:keyLabel="@string/keylabel_for_symbols_4"
latin:popupCharacters="@string/alternates_for_symbols_4" /> latin:moreKeys="@string/alternates_for_symbols_4" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_5" latin:keyLabel="@string/keylabel_for_symbols_5"
latin:popupCharacters="@string/alternates_for_symbols_5" /> latin:moreKeys="@string/alternates_for_symbols_5" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_6" latin:keyLabel="@string/keylabel_for_symbols_6"
latin:popupCharacters="@string/alternates_for_symbols_6" /> latin:moreKeys="@string/alternates_for_symbols_6" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_7" latin:keyLabel="@string/keylabel_for_symbols_7"
latin:popupCharacters="@string/alternates_for_symbols_7" /> latin:moreKeys="@string/alternates_for_symbols_7" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_8" latin:keyLabel="@string/keylabel_for_symbols_8"
latin:popupCharacters="@string/alternates_for_symbols_8" /> latin:moreKeys="@string/alternates_for_symbols_8" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_9" latin:keyLabel="@string/keylabel_for_symbols_9"
latin:popupCharacters="@string/alternates_for_symbols_9" /> latin:moreKeys="@string/alternates_for_symbols_9" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_0" latin:keyLabel="@string/keylabel_for_symbols_0"
latin:popupCharacters="@string/alternates_for_symbols_0" latin:moreKeys="@string/alternates_for_symbols_0"
latin:keyWidth="fillRight" /> latin:keyWidth="fillRight" />
</Row> </Row>
<Row <Row
@ -71,24 +71,24 @@
latin:keyStyle="currencyKeyStyle" /> latin:keyStyle="currencyKeyStyle" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_percent" latin:keyLabel="@string/keylabel_for_symbols_percent"
latin:popupCharacters="@string/alternates_for_symbols_percent" /> latin:moreKeys="@string/alternates_for_symbols_percent" />
<Key <Key
latin:keyLabel="&amp;" /> latin:keyLabel="&amp;" />
<Key <Key
latin:keyLabel="*" latin:keyLabel="*"
latin:popupCharacters="†,‡,★" /> latin:moreKeys="†,‡,★" />
<Key <Key
latin:keyLabel="-" latin:keyLabel="-"
latin:popupCharacters="_,,—" /> latin:moreKeys="_,,—" />
<Key <Key
latin:keyLabel="+" latin:keyLabel="+"
latin:popupCharacters="±" /> latin:moreKeys="±" />
<Key <Key
latin:keyLabel="(" latin:keyLabel="("
latin:popupCharacters="[,{,&lt;" /> latin:moreKeys="[,{,&lt;" />
<Key <Key
latin:keyLabel=")" latin:keyLabel=")"
latin:popupCharacters="],},&gt;" latin:moreKeys="],},&gt;"
latin:keyWidth="fillRight" /> latin:keyWidth="fillRight" />
</Row> </Row>
<Row <Row
@ -100,26 +100,26 @@
latin:visualInsetsRight="1%p" /> latin:visualInsetsRight="1%p" />
<Key <Key
latin:keyLabel="!" latin:keyLabel="!"
latin:popupCharacters="¡" /> latin:moreKeys="¡" />
<!-- Note: DroidSans doesn't have double-high-reversed-quotation '\u201f' glyph. --> <!-- Note: DroidSans doesn't have double-high-reversed-quotation '\u201f' glyph. -->
<!-- latin:popupCharacters="“,”,„,‟,«,»" --> <!-- latin:moreKeys="“,”,„,‟,«,»" -->
<Key <Key
latin:keyLabel="&quot;" latin:keyLabel="&quot;"
latin:popupCharacters="“,”,«,»" latin:moreKeys="“,”,«,»"
latin:maxMiniKeyboardColumn="6" /> latin:maxMoreKeysColumn="6" />
<Key <Key
latin:keyLabel="\'" latin:keyLabel="\'"
latin:popupCharacters=",,," /> latin:moreKeys=",,," />
<Key <Key
latin:keyLabel=":" /> latin:keyLabel=":" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_semicolon" latin:keyLabel="@string/keylabel_for_symbols_semicolon"
latin:popupCharacters="@string/alternates_for_symbols_semicolon" /> latin:moreKeys="@string/alternates_for_symbols_semicolon" />
<Key <Key
latin:keyLabel="/" /> latin:keyLabel="/" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_question" latin:keyLabel="@string/keylabel_for_symbols_question"
latin:popupCharacters="@string/alternates_for_symbols_question" /> latin:moreKeys="@string/alternates_for_symbols_question" />
<Key <Key
latin:keyStyle="deleteKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyWidth="fillRight" latin:keyWidth="fillRight"

View File

@ -34,12 +34,12 @@
latin:keyLabel="|" /> latin:keyLabel="|" />
<Key <Key
latin:keyLabel="•" latin:keyLabel="•"
latin:popupCharacters="♪,♥,♠,♦,♣" /> latin:moreKeys="♪,♥,♠,♦,♣" />
<Key <Key
latin:keyLabel="√" /> latin:keyLabel="√" />
<Key <Key
latin:keyLabel="π" latin:keyLabel="π"
latin:popupCharacters="Π" /> latin:moreKeys="Π" />
<Key <Key
latin:keyLabel="÷" /> latin:keyLabel="÷" />
<Key <Key
@ -63,15 +63,15 @@
latin:keyLabel="€" /> latin:keyLabel="€" />
<Key <Key
latin:keyLabel="°" latin:keyLabel="°"
latin:popupCharacters=",″" /> latin:moreKeys=",″" />
<Key <Key
latin:keyLabel="^" latin:keyLabel="^"
latin:popupCharacters="↑,↓,←,→" /> latin:moreKeys="↑,↓,←,→" />
<Key <Key
latin:keyLabel="_" /> latin:keyLabel="_" />
<Key <Key
latin:keyLabel="=" latin:keyLabel="="
latin:popupCharacters="≠,≈,∞" /> latin:moreKeys="≠,≈,∞" />
<Key <Key
latin:keyLabel="[" /> latin:keyLabel="[" />
<Key <Key
@ -93,15 +93,15 @@
latin:keyLabel="©" /> latin:keyLabel="©" />
<Key <Key
latin:keyLabel="¶" latin:keyLabel="¶"
latin:popupCharacters="§" /> latin:moreKeys="§" />
<Key <Key
latin:keyLabel="\\" /> latin:keyLabel="\\" />
<Key <Key
latin:keyLabel="&lt;" latin:keyLabel="&lt;"
latin:popupCharacters="≤,«," /> latin:moreKeys="≤,«," />
<Key <Key
latin:keyLabel="&gt;" latin:keyLabel="&gt;"
latin:popupCharacters="≥,»," /> latin:moreKeys="≥,»," />
<Key <Key
latin:keyStyle="deleteKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyWidth="fillRight" latin:keyWidth="fillRight"

View File

@ -34,7 +34,7 @@
latin:keyWidth="15%p" /> latin:keyWidth="15%p" />
<Key <Key
latin:keyLabel="„" latin:keyLabel="„"
latin:popupCharacters="“,”,„,‟,«,»,,,," latin:moreKeys="“,”,„,‟,«,»,,,,"
latin:keyStyle="functionalKeyStyle" /> latin:keyStyle="functionalKeyStyle" />
<Key <Key
latin:keyStyle="spaceKeyStyle" latin:keyStyle="spaceKeyStyle"
@ -55,7 +55,7 @@
latin:keyboardLayout="@xml/kbd_settings_or_tab" /> latin:keyboardLayout="@xml/kbd_settings_or_tab" />
<Key <Key
latin:keyLabel="„" latin:keyLabel="„"
latin:popupCharacters="“,”,„,‟,«,»,,,," latin:moreKeys="“,”,„,‟,«,»,,,,"
latin:keyWidth="9.2%p" latin:keyWidth="9.2%p"
latin:keyStyle="functionalKeyStyle" /> latin:keyStyle="functionalKeyStyle" />
<Key <Key

View File

@ -30,7 +30,7 @@ import com.android.inputmethod.keyboard.internal.KeyboardBuilder;
import com.android.inputmethod.keyboard.internal.KeyboardBuilder.ParseException; import com.android.inputmethod.keyboard.internal.KeyboardBuilder.ParseException;
import com.android.inputmethod.keyboard.internal.KeyboardIconsSet; import com.android.inputmethod.keyboard.internal.KeyboardIconsSet;
import com.android.inputmethod.keyboard.internal.KeyboardParams; import com.android.inputmethod.keyboard.internal.KeyboardParams;
import com.android.inputmethod.keyboard.internal.PopupCharactersParser; import com.android.inputmethod.keyboard.internal.MoreKeySpecParser;
import com.android.inputmethod.keyboard.internal.Row; import com.android.inputmethod.keyboard.internal.Row;
import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.R;
@ -90,10 +90,10 @@ public class Key {
public final int mY; public final int mY;
/** Text to output when pressed. This can be multiple characters, like ".com" */ /** Text to output when pressed. This can be multiple characters, like ".com" */
public final CharSequence mOutputText; public final CharSequence mOutputText;
/** Popup characters */ /** More keys */
public final CharSequence[] mPopupCharacters; public final CharSequence[] mMoreKeys;
/** Popup keyboard maximum column number */ /** More keys maximum column number */
public final int mMaxMiniKeyboardColumn; public final int mMaxMoreKeysColumn;
/** /**
* Flags that specify the anchoring to edges of the keyboard for detecting touch events * Flags that specify the anchoring to edges of the keyboard for detecting touch events
@ -192,22 +192,22 @@ public class Key {
} }
} }
private static int getCode(Resources res, KeyboardParams params, String popupSpec) { private static int getCode(Resources res, KeyboardParams params, String moreKeySpec) {
return getRtlParenthesisCode( return getRtlParenthesisCode(
PopupCharactersParser.getCode(res, popupSpec), params.mIsRtlKeyboard); MoreKeySpecParser.getCode(res, moreKeySpec), params.mIsRtlKeyboard);
} }
private static Drawable getIcon(KeyboardParams params, String popupSpec) { private static Drawable getIcon(KeyboardParams params, String moreKeySpec) {
return params.mIconsSet.getIcon(PopupCharactersParser.getIconId(popupSpec)); return params.mIconsSet.getIcon(MoreKeySpecParser.getIconId(moreKeySpec));
} }
/** /**
* This constructor is being used only for key in popup mini keyboard. * This constructor is being used only for key in more keys keyboard.
*/ */
public Key(Resources res, KeyboardParams params, String popupSpec, public Key(Resources res, KeyboardParams params, String moreKeySpec,
int x, int y, int width, int height, int edgeFlags) { int x, int y, int width, int height, int edgeFlags) {
this(params, PopupCharactersParser.getLabel(popupSpec), null, getIcon(params, popupSpec), this(params, MoreKeySpecParser.getLabel(moreKeySpec), null, getIcon(params, moreKeySpec),
getCode(res, params, popupSpec), PopupCharactersParser.getOutputText(popupSpec), getCode(res, params, moreKeySpec), MoreKeySpecParser.getOutputText(moreKeySpec),
x, y, width, height, edgeFlags); x, y, width, height, edgeFlags);
} }
@ -227,8 +227,8 @@ public class Key {
mFunctional = false; mFunctional = false;
mSticky = false; mSticky = false;
mRepeatable = false; mRepeatable = false;
mPopupCharacters = null; mMoreKeys = null;
mMaxMiniKeyboardColumn = 0; mMaxMoreKeysColumn = 0;
mLabel = label; mLabel = label;
mOutputText = outputText; mOutputText = outputText;
mCode = code; mCode = code;
@ -312,19 +312,19 @@ public class Key {
mY = y; mY = y;
mWidth = keyWidth - mHorizontalGap; mWidth = keyWidth - mHorizontalGap;
final CharSequence[] popupCharacters = style.getTextArray( final CharSequence[] moreKeys = style.getTextArray(
keyAttr, R.styleable.Keyboard_Key_popupCharacters); keyAttr, R.styleable.Keyboard_Key_moreKeys);
// In Arabic symbol layouts, we'd like to keep digits in popup characters regardless of // In Arabic symbol layouts, we'd like to keep digits in more keys regardless of
// config_digit_popup_characters_enabled. // config_digit_more_keys_enabled.
if (params.mId.isAlphabetKeyboard() && !res.getBoolean( if (params.mId.isAlphabetKeyboard() && !res.getBoolean(
R.bool.config_digit_popup_characters_enabled)) { R.bool.config_digit_more_keys_enabled)) {
mPopupCharacters = PopupCharactersParser.filterOut( mMoreKeys = MoreKeySpecParser.filterOut(
res, popupCharacters, PopupCharactersParser.DIGIT_FILTER); res, moreKeys, MoreKeySpecParser.DIGIT_FILTER);
} else { } else {
mPopupCharacters = popupCharacters; mMoreKeys = moreKeys;
} }
mMaxMiniKeyboardColumn = style.getInt(keyboardAttr, mMaxMoreKeysColumn = style.getInt(keyboardAttr,
R.styleable.Keyboard_Key_maxMiniKeyboardColumn, R.styleable.Keyboard_Key_maxMoreKeysColumn,
params.mMaxMiniKeyboardColumn); params.mMaxMiniKeyboardColumn);
mRepeatable = style.getBoolean(keyAttr, R.styleable.Keyboard_Key_isRepeatable, false); mRepeatable = style.getBoolean(keyAttr, R.styleable.Keyboard_Key_isRepeatable, false);

View File

@ -101,8 +101,8 @@ public class Keyboard {
public final int mMostCommonKeyWidth; public final int mMostCommonKeyWidth;
/** Popup keyboard template */ /** More keys keyboard template */
public final int mPopupTemplateId; public final int mMoreKeysTemplate;
/** Maximum column for mini keyboard */ /** Maximum column for mini keyboard */
public final int mMaxMiniKeyboardColumn; public final int mMaxMiniKeyboardColumn;
@ -130,7 +130,7 @@ public class Keyboard {
mWidth = params.mWidth; mWidth = params.mWidth;
mMostCommonKeyWidth = params.mMostCommonKeyWidth; mMostCommonKeyWidth = params.mMostCommonKeyWidth;
mIsRtlKeyboard = params.mIsRtlKeyboard; mIsRtlKeyboard = params.mIsRtlKeyboard;
mPopupTemplateId = params.mPopupTemplateId; mMoreKeysTemplate = params.mMoreKeysTemplate;
mMaxMiniKeyboardColumn = params.mMaxMiniKeyboardColumn; mMaxMiniKeyboardColumn = params.mMaxMiniKeyboardColumn;
mDefaultRowHeight = params.mDefaultRowHeight; mDefaultRowHeight = params.mDefaultRowHeight;

View File

@ -79,7 +79,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
// XML attributes // XML attributes
protected final float mVerticalCorrection; protected final float mVerticalCorrection;
protected final int mPopupLayout; protected final int mMoreKeysLayout;
private final float mBackgroundDimAmount; private final float mBackgroundDimAmount;
// HORIZONTAL ELLIPSIS "...", character for popup hint. // HORIZONTAL ELLIPSIS "...", character for popup hint.
@ -343,7 +343,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
} }
mVerticalCorrection = a.getDimensionPixelOffset( mVerticalCorrection = a.getDimensionPixelOffset(
R.styleable.KeyboardView_verticalCorrection, 0); R.styleable.KeyboardView_verticalCorrection, 0);
mPopupLayout = a.getResourceId(R.styleable.KeyboardView_popupLayout, 0); mMoreKeysLayout = a.getResourceId(R.styleable.KeyboardView_moreKeysLayout, 0);
mBackgroundDimAmount = a.getFloat(R.styleable.KeyboardView_backgroundDimAmount, 0.5f); mBackgroundDimAmount = a.getFloat(R.styleable.KeyboardView_backgroundDimAmount, 0.5f);
a.recycle(); a.recycle();
@ -679,7 +679,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
} }
// Draw popup hint "..." at the bottom right corner of the key. // Draw popup hint "..." at the bottom right corner of the key.
if ((key.hasPopupHint() && key.mPopupCharacters != null && key.mPopupCharacters.length > 0) if ((key.hasPopupHint() && key.mMoreKeys != null && key.mMoreKeys.length > 0)
|| key.needsSpecialPopupHint()) { || key.needsSpecialPopupHint()) {
paint.setTextSize(params.mKeyHintLetterSize); paint.setTextSize(params.mKeyHintLetterSize);
paint.setColor(params.mKeyHintLabelColor); paint.setColor(params.mKeyHintLabelColor);
@ -880,7 +880,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
// Set the preview background state // Set the preview background state
previewText.getBackground().setState( previewText.getBackground().setState(
key.mPopupCharacters != null ? LONG_PRESSABLE_STATE_SET : EMPTY_STATE_SET); key.mMoreKeys != null ? LONG_PRESSABLE_STATE_SET : EMPTY_STATE_SET);
previewText.setTextColor(params.mPreviewTextColor); previewText.setTextColor(params.mPreviewTextColor);
FrameLayoutCompatUtils.placeViewAt( FrameLayoutCompatUtils.placeViewAt(
previewText, previewX, previewY, previewWidth, previewHeight); previewText, previewX, previewY, previewWidth, previewHeight);
@ -928,7 +928,7 @@ public class KeyboardView extends View implements PointerTracker.DrawingProxy {
} }
@Override @Override
public boolean dismissPopupPanel() { public boolean dismissMoreKeysPanel() {
return false; return false;
} }

View File

@ -64,11 +64,11 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
private final int mKeyRepeatInterval; private final int mKeyRepeatInterval;
// Mini keyboard // Mini keyboard
private PopupWindow mPopupWindow; private PopupWindow mMoreKeysWindow;
private PopupPanel mPopupPanel; private MoreKeysPanel mMoreKeysPanel;
private int mPopupPanelPointerTrackerId; private int mMoreKeysPanelPointerTrackerId;
private final WeakHashMap<Key, PopupPanel> mPopupPanelCache = private final WeakHashMap<Key, MoreKeysPanel> mMoreKeysPanelCache =
new WeakHashMap<Key, PopupPanel>(); new WeakHashMap<Key, MoreKeysPanel>();
/** Listener for {@link KeyboardActionListener}. */ /** Listener for {@link KeyboardActionListener}. */
private KeyboardActionListener mKeyboardActionListener; private KeyboardActionListener mKeyboardActionListener;
@ -297,7 +297,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
mKeyDetector.setProximityThreshold(keyboard.mMostCommonKeyWidth); mKeyDetector.setProximityThreshold(keyboard.mMostCommonKeyWidth);
PointerTracker.setKeyDetector(mKeyDetector); PointerTracker.setKeyDetector(mKeyDetector);
mTouchScreenRegulator.setKeyboard(keyboard); mTouchScreenRegulator.setKeyboard(keyboard);
mPopupPanelCache.clear(); mMoreKeysPanelCache.clear();
} }
/** /**
@ -333,12 +333,12 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
private boolean openMiniKeyboardIfRequired(int keyIndex, PointerTracker tracker) { private boolean openMiniKeyboardIfRequired(int keyIndex, PointerTracker tracker) {
// Check if we have a popup layout specified first. // Check if we have a popup layout specified first.
if (mPopupLayout == 0) { if (mMoreKeysLayout == 0) {
return false; return false;
} }
// Check if we are already displaying popup panel. // Check if we are already displaying popup panel.
if (mPopupPanel != null) if (mMoreKeysPanel != null)
return false; return false;
final Key parentKey = tracker.getKey(keyIndex); final Key parentKey = tracker.getKey(keyIndex);
if (parentKey == null) if (parentKey == null)
@ -353,12 +353,12 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
mKeyboardActionListener.onCodeInput(Keyboard.CODE_CAPSLOCK, null, 0, 0); mKeyboardActionListener.onCodeInput(Keyboard.CODE_CAPSLOCK, null, 0, 0);
} }
// This default implementation returns a popup mini keyboard panel. // This default implementation returns a more keys panel.
protected PopupPanel onCreatePopupPanel(Key parentKey) { protected MoreKeysPanel onCreateMoreKeysPanel(Key parentKey) {
if (parentKey.mPopupCharacters == null) if (parentKey.mMoreKeys == null)
return null; return null;
final View container = LayoutInflater.from(getContext()).inflate(mPopupLayout, null); final View container = LayoutInflater.from(getContext()).inflate(mMoreKeysLayout, null);
if (container == null) if (container == null)
throw new NullPointerException(); throw new NullPointerException();
@ -366,7 +366,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
(MiniKeyboardView)container.findViewById(R.id.mini_keyboard_view); (MiniKeyboardView)container.findViewById(R.id.mini_keyboard_view);
final Keyboard parentKeyboard = getKeyboard(); final Keyboard parentKeyboard = getKeyboard();
final Keyboard miniKeyboard = new MiniKeyboard.Builder( final Keyboard miniKeyboard = new MiniKeyboard.Builder(
this, parentKeyboard.mPopupTemplateId, parentKey, parentKeyboard).build(); this, parentKeyboard.mMoreKeysTemplate, parentKey, parentKeyboard).build();
miniKeyboardView.setKeyboard(miniKeyboard); miniKeyboardView.setKeyboard(miniKeyboard);
container.measure(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); container.measure(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
@ -375,7 +375,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
@Override @Override
protected boolean needsToDimKeyboard() { protected boolean needsToDimKeyboard() {
return mPopupPanel != null; return mMoreKeysPanel != null;
} }
public void setSpacebarTextFadeFactor(float fadeFactor, LatinKeyboard oldKeyboard) { public void setSpacebarTextFadeFactor(float fadeFactor, LatinKeyboard oldKeyboard) {
@ -417,10 +417,10 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
tracker.onLongPressed(); tracker.onLongPressed();
return true; return true;
} else { } else {
return openPopupPanel(parentKey, tracker); return openMoreKeysPanel(parentKey, tracker);
} }
} else { } else {
return openPopupPanel(parentKey, tracker); return openMoreKeysPanel(parentKey, tracker);
} }
} }
@ -431,34 +431,35 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
return true; return true;
} }
private boolean openPopupPanel(Key parentKey, PointerTracker tracker) { private boolean openMoreKeysPanel(Key parentKey, PointerTracker tracker) {
PopupPanel popupPanel = mPopupPanelCache.get(parentKey); MoreKeysPanel moreKeysPanel = mMoreKeysPanelCache.get(parentKey);
if (popupPanel == null) { if (moreKeysPanel == null) {
popupPanel = onCreatePopupPanel(parentKey); moreKeysPanel = onCreateMoreKeysPanel(parentKey);
if (popupPanel == null) if (moreKeysPanel == null)
return false; return false;
mPopupPanelCache.put(parentKey, popupPanel); mMoreKeysPanelCache.put(parentKey, moreKeysPanel);
} }
if (mPopupWindow == null) { if (mMoreKeysWindow == null) {
mPopupWindow = new PopupWindow(getContext()); mMoreKeysWindow = new PopupWindow(getContext());
mPopupWindow.setBackgroundDrawable(null); mMoreKeysWindow.setBackgroundDrawable(null);
mPopupWindow.setAnimationStyle(R.style.MiniKeyboardAnimation); mMoreKeysWindow.setAnimationStyle(R.style.MiniKeyboardAnimation);
// Allow popup window to be drawn off the screen. // Allow popup window to be drawn off the screen.
mPopupWindow.setClippingEnabled(false); mMoreKeysWindow.setClippingEnabled(false);
} }
mPopupPanel = popupPanel; mMoreKeysPanel = moreKeysPanel;
mPopupPanelPointerTrackerId = tracker.mPointerId; mMoreKeysPanelPointerTrackerId = tracker.mPointerId;
final Keyboard keyboard = getKeyboard(); final Keyboard keyboard = getKeyboard();
popupPanel.setShifted(keyboard.isShiftedOrShiftLocked()); moreKeysPanel.setShifted(keyboard.isShiftedOrShiftLocked());
final int pointX = (mConfigShowMiniKeyboardAtTouchedPoint) ? tracker.getLastX() final int pointX = (mConfigShowMiniKeyboardAtTouchedPoint) ? tracker.getLastX()
: parentKey.mX + parentKey.mWidth / 2; : parentKey.mX + parentKey.mWidth / 2;
final int pointY = parentKey.mY - keyboard.mVerticalGap; final int pointY = parentKey.mY - keyboard.mVerticalGap;
popupPanel.showPopupPanel( moreKeysPanel.showMoreKeysPanel(
this, this, pointX, pointY, mPopupWindow, getKeyboardActionListener()); this, this, pointX, pointY, mMoreKeysWindow, getKeyboardActionListener());
final int translatedX = popupPanel.translateX(tracker.getLastX()); final int translatedX = moreKeysPanel.translateX(tracker.getLastX());
final int translatedY = popupPanel.translateY(tracker.getLastY()); final int translatedY = moreKeysPanel.translateY(tracker.getLastY());
tracker.onShowPopupPanel(translatedX, translatedY, SystemClock.uptimeMillis(), popupPanel); tracker.onShowMoreKeysPanel(
translatedX, translatedY, SystemClock.uptimeMillis(), moreKeysPanel);
invalidateAllKeys(); invalidateAllKeys();
return true; return true;
@ -469,7 +470,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
} }
public boolean isInSlidingKeyInput() { public boolean isInSlidingKeyInput() {
if (mPopupPanel != null) { if (mMoreKeysPanel != null) {
return true; return true;
} else { } else {
return PointerTracker.isAnyInSlidingKeyInput(); return PointerTracker.isAnyInSlidingKeyInput();
@ -504,7 +505,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
} }
// Gesture detector must be enabled only when mini-keyboard is not on the screen. // Gesture detector must be enabled only when mini-keyboard is not on the screen.
if (mPopupPanel == null && mGestureDetector != null if (mMoreKeysPanel == null && mGestureDetector != null
&& mGestureDetector.onTouchEvent(me)) { && mGestureDetector.onTouchEvent(me)) {
PointerTracker.dismissAllKeyPreviews(); PointerTracker.dismissAllKeyPreviews();
mKeyTimerHandler.cancelKeyTimers(); mKeyTimerHandler.cancelKeyTimers();
@ -515,9 +516,9 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
final int index = me.getActionIndex(); final int index = me.getActionIndex();
final int id = me.getPointerId(index); final int id = me.getPointerId(index);
final int x, y; final int x, y;
if (mPopupPanel != null && id == mPopupPanelPointerTrackerId) { if (mMoreKeysPanel != null && id == mMoreKeysPanelPointerTrackerId) {
x = mPopupPanel.translateX((int)me.getX(index)); x = mMoreKeysPanel.translateX((int)me.getX(index));
y = mPopupPanel.translateY((int)me.getY(index)); y = mMoreKeysPanel.translateY((int)me.getY(index));
} else { } else {
x = (int)me.getX(index); x = (int)me.getX(index);
y = (int)me.getY(index); y = (int)me.getY(index);
@ -569,9 +570,10 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
for (int i = 0; i < pointerCount; i++) { for (int i = 0; i < pointerCount; i++) {
final PointerTracker tracker = getPointerTracker(me.getPointerId(i)); final PointerTracker tracker = getPointerTracker(me.getPointerId(i));
final int px, py; final int px, py;
if (mPopupPanel != null && tracker.mPointerId == mPopupPanelPointerTrackerId) { if (mMoreKeysPanel != null
px = mPopupPanel.translateX((int)me.getX(i)); && tracker.mPointerId == mMoreKeysPanelPointerTrackerId) {
py = mPopupPanel.translateY((int)me.getY(i)); px = mMoreKeysPanel.translateX((int)me.getX(i));
py = mMoreKeysPanel.translateY((int)me.getY(i));
} else { } else {
px = (int)me.getX(i); px = (int)me.getX(i);
py = (int)me.getY(i); py = (int)me.getY(i);
@ -608,16 +610,16 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
@Override @Override
public void closing() { public void closing() {
super.closing(); super.closing();
dismissPopupPanel(); dismissMoreKeysPanel();
mPopupPanelCache.clear(); mMoreKeysPanelCache.clear();
} }
@Override @Override
public boolean dismissPopupPanel() { public boolean dismissMoreKeysPanel() {
if (mPopupWindow != null && mPopupWindow.isShowing()) { if (mMoreKeysWindow != null && mMoreKeysWindow.isShowing()) {
mPopupWindow.dismiss(); mMoreKeysWindow.dismiss();
mPopupPanel = null; mMoreKeysPanel = null;
mPopupPanelPointerTrackerId = -1; mMoreKeysPanelPointerTrackerId = -1;
invalidateAllKeys(); invalidateAllKeys();
return true; return true;
} }
@ -625,7 +627,7 @@ public class LatinKeyboardView extends KeyboardView implements PointerTracker.Ke
} }
public boolean handleBack() { public boolean handleBack() {
return dismissPopupPanel(); return dismissMoreKeysPanel();
} }
@Override @Override

View File

@ -20,7 +20,7 @@ import android.graphics.Paint;
import com.android.inputmethod.keyboard.internal.KeyboardBuilder; import com.android.inputmethod.keyboard.internal.KeyboardBuilder;
import com.android.inputmethod.keyboard.internal.KeyboardParams; import com.android.inputmethod.keyboard.internal.KeyboardParams;
import com.android.inputmethod.keyboard.internal.PopupCharactersParser; import com.android.inputmethod.keyboard.internal.MoreKeySpecParser;
import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.R;
public class MiniKeyboard extends Keyboard { public class MiniKeyboard extends Keyboard {
@ -36,7 +36,7 @@ public class MiniKeyboard extends Keyboard {
} }
public static class Builder extends KeyboardBuilder<Builder.MiniKeyboardParams> { public static class Builder extends KeyboardBuilder<Builder.MiniKeyboardParams> {
private final CharSequence[] mPopupCharacters; private final CharSequence[] mMoreKeys;
public static class MiniKeyboardParams extends KeyboardParams { public static class MiniKeyboardParams extends KeyboardParams {
/* package */int mTopRowAdjustment; /* package */int mTopRowAdjustment;
@ -224,22 +224,22 @@ public class MiniKeyboard extends Keyboard {
// mParams.mVerticalGap = parentKeyboard.mVerticalGap; // mParams.mVerticalGap = parentKeyboard.mVerticalGap;
mParams.mIsRtlKeyboard = parentKeyboard.mIsRtlKeyboard; mParams.mIsRtlKeyboard = parentKeyboard.mIsRtlKeyboard;
mPopupCharacters = parentKey.mPopupCharacters; mMoreKeys = parentKey.mMoreKeys;
final int keyWidth = getMaxKeyWidth(view, mPopupCharacters, mParams.mDefaultKeyWidth); final int keyWidth = getMaxKeyWidth(view, mMoreKeys, mParams.mDefaultKeyWidth);
mParams.setParameters(mPopupCharacters.length, parentKey.mMaxMiniKeyboardColumn, mParams.setParameters(mMoreKeys.length, parentKey.mMaxMoreKeysColumn,
keyWidth, parentKeyboard.mDefaultRowHeight, parentKey.mX keyWidth, parentKeyboard.mDefaultRowHeight, parentKey.mX
+ (mParams.mDefaultKeyWidth - keyWidth) / 2, view.getMeasuredWidth()); + (mParams.mDefaultKeyWidth - keyWidth) / 2, view.getMeasuredWidth());
} }
private static int getMaxKeyWidth(KeyboardView view, CharSequence[] popupCharacters, private static int getMaxKeyWidth(KeyboardView view, CharSequence[] moreKeys,
int minKeyWidth) { int minKeyWidth) {
final int padding = (int) view.getContext().getResources() final int padding = (int) view.getContext().getResources()
.getDimension(R.dimen.mini_keyboard_key_horizontal_padding); .getDimension(R.dimen.mini_keyboard_key_horizontal_padding);
Paint paint = null; Paint paint = null;
int maxWidth = minKeyWidth; int maxWidth = minKeyWidth;
for (CharSequence popupSpec : popupCharacters) { for (CharSequence moreKeySpec : moreKeys) {
final CharSequence label = PopupCharactersParser.getLabel(popupSpec.toString()); final CharSequence label = MoreKeySpecParser.getLabel(moreKeySpec.toString());
// If the label is single letter, minKeyWidth is enough to hold // If the label is single letter, minKeyWidth is enough to hold
// the label. // the label.
if (label != null && label.length() > 1) { if (label != null && label.length() > 1) {
@ -259,10 +259,10 @@ public class MiniKeyboard extends Keyboard {
@Override @Override
public MiniKeyboard build() { public MiniKeyboard build() {
final MiniKeyboardParams params = mParams; final MiniKeyboardParams params = mParams;
for (int n = 0; n < mPopupCharacters.length; n++) { for (int n = 0; n < mMoreKeys.length; n++) {
final String popupSpec = mPopupCharacters[n].toString(); final String moreKeySpec = mMoreKeys[n].toString();
final int row = n / params.mNumColumns; final int row = n / params.mNumColumns;
final Key key = new Key(mResources, params, popupSpec, params.getX(n, row), final Key key = new Key(mResources, params, moreKeySpec, params.getX(n, row),
params.getY(row), params.mDefaultKeyWidth, params.mDefaultRowHeight, params.getY(row), params.mDefaultKeyWidth, params.mDefaultRowHeight,
params.getRowFlags(row)); params.getRowFlags(row));
params.onAddKey(key); params.onAddKey(key);

View File

@ -34,7 +34,7 @@ import java.util.List;
* A view that renders a virtual {@link MiniKeyboard}. It handles rendering of keys and detecting * A view that renders a virtual {@link MiniKeyboard}. It handles rendering of keys and detecting
* key presses and touch movements. * key presses and touch movements.
*/ */
public class MiniKeyboardView extends KeyboardView implements PopupPanel { public class MiniKeyboardView extends KeyboardView implements MoreKeysPanel {
private final int[] mCoordinates = new int[2]; private final int[] mCoordinates = new int[2];
private final KeyDetector mKeyDetector; private final KeyDetector mKeyDetector;
@ -204,7 +204,7 @@ public class MiniKeyboardView extends KeyboardView implements PopupPanel {
} }
@Override @Override
public void showPopupPanel(View parentView, Controller controller, int pointX, int pointY, public void showMoreKeysPanel(View parentView, Controller controller, int pointX, int pointY,
PopupWindow window, KeyboardActionListener listener) { PopupWindow window, KeyboardActionListener listener) {
mController = controller; mController = controller;
mListener = listener; mListener = listener;
@ -240,8 +240,8 @@ public class MiniKeyboardView extends KeyboardView implements PopupPanel {
} }
@Override @Override
public boolean dismissPopupPanel() { public boolean dismissMoreKeysPanel() {
return mController.dismissPopupPanel(); return mController.dismissMoreKeysPanel();
} }
@Override @Override

View File

@ -19,36 +19,41 @@ package com.android.inputmethod.keyboard;
import android.view.View; import android.view.View;
import android.widget.PopupWindow; import android.widget.PopupWindow;
public interface PopupPanel extends PointerTracker.KeyEventHandler { public interface MoreKeysPanel extends PointerTracker.KeyEventHandler {
public interface Controller { public interface Controller {
public boolean dismissPopupPanel(); public boolean dismissMoreKeysPanel();
} }
public void setShifted(boolean shifted); public void setShifted(boolean shifted);
/** /**
* Show popup panel. * Show more keys panel.
* @param parentView the parent view of this popup panel *
* @param controller the controller that can dismiss this popup panel * @param parentView the parent view of this more keys panel
* @param pointX x coordinate of this popup panel * @param controller the controller that can dismiss this more keys panel
* @param pointY y coordinate of this popup panel * @param pointX x coordinate of this more keys panel
* @param window PopupWindow to be used to show this popup panel * @param pointY y coordinate of this more keys panel
* @param listener the listener that will receive keyboard action from this popup panel. * @param window PopupWindow to be used to show this more keys panel
* @param listener the listener that will receive keyboard action from this more keys panel.
*/ */
public void showPopupPanel(View parentView, Controller controller, int pointX, int pointY, public void showMoreKeysPanel(View parentView, Controller controller, int pointX, int pointY,
PopupWindow window, KeyboardActionListener listener); PopupWindow window, KeyboardActionListener listener);
/** /**
* Translate X-coordinate of touch event to the local X-coordinate of this PopupPanel. * Translate X-coordinate of touch event to the local X-coordinate of this
* {@link MoreKeysPanel}.
*
* @param x the global X-coordinate * @param x the global X-coordinate
* @return the local X-coordinate to this PopupPanel * @return the local X-coordinate to this {@link MoreKeysPanel}
*/ */
public int translateX(int x); public int translateX(int x);
/** /**
* Translate Y-coordinate of touch event to the local Y-coordinate of this PopupPanel. * Translate Y-coordinate of touch event to the local Y-coordinate of this
* {@link MoreKeysPanel}.
*
* @param y the global Y-coordinate * @param y the global Y-coordinate
* @return the local Y-coordinate to this PopupPanel * @return the local Y-coordinate to this {@link MoreKeysPanel}
*/ */
public int translateY(int y); public int translateY(int y);
} }

View File

@ -63,7 +63,7 @@ public class PointerTracker {
public TimerProxy getTimerProxy(); public TimerProxy getTimerProxy();
} }
public interface DrawingProxy extends PopupPanel.Controller { public interface DrawingProxy extends MoreKeysPanel.Controller {
public void invalidateKey(Key key); public void invalidateKey(Key key);
public TextView inflateKeyPreviewText(); public TextView inflateKeyPreviewText();
public void showKeyPreview(int keyIndex, PointerTracker tracker); public void showKeyPreview(int keyIndex, PointerTracker tracker);
@ -123,8 +123,8 @@ public class PointerTracker {
// true if event is already translated to a key action. // true if event is already translated to a key action.
private boolean mKeyAlreadyProcessed; private boolean mKeyAlreadyProcessed;
// true if this pointer has been long-pressed and is showing a popup panel. // true if this pointer has been long-pressed and is showing a more keys panel.
private boolean mIsShowingPopupPanel; private boolean mIsShowingMoreKeysPanel;
// true if this pointer is repeatable key // true if this pointer is repeatable key
private boolean mIsRepeatableKey; private boolean mIsRepeatableKey;
@ -572,9 +572,9 @@ public class PointerTracker {
} }
final int keyIndex = onUpKey(keyX, keyY, eventTime); final int keyIndex = onUpKey(keyX, keyY, eventTime);
setReleasedKeyGraphics(keyIndex); setReleasedKeyGraphics(keyIndex);
if (mIsShowingPopupPanel) { if (mIsShowingMoreKeysPanel) {
mDrawingProxy.dismissPopupPanel(); mDrawingProxy.dismissMoreKeysPanel();
mIsShowingPopupPanel = false; mIsShowingMoreKeysPanel = false;
} }
if (mKeyAlreadyProcessed) if (mKeyAlreadyProcessed)
return; return;
@ -583,10 +583,10 @@ public class PointerTracker {
} }
} }
public void onShowPopupPanel(int x, int y, long eventTime, KeyEventHandler handler) { public void onShowMoreKeysPanel(int x, int y, long eventTime, KeyEventHandler handler) {
onLongPressed(); onLongPressed();
onDownEvent(x, y, eventTime, handler); onDownEvent(x, y, eventTime, handler);
mIsShowingPopupPanel = true; mIsShowingMoreKeysPanel = true;
} }
public void onLongPressed() { public void onLongPressed() {
@ -615,9 +615,9 @@ public class PointerTracker {
mDrawingProxy.cancelShowKeyPreview(this); mDrawingProxy.cancelShowKeyPreview(this);
setReleasedKeyGraphics(mKeyIndex); setReleasedKeyGraphics(mKeyIndex);
mIsInSlidingKeyInput = false; mIsInSlidingKeyInput = false;
if (mIsShowingPopupPanel) { if (mIsShowingMoreKeysPanel) {
mDrawingProxy.dismissPopupPanel(); mDrawingProxy.dismissMoreKeysPanel();
mIsShowingPopupPanel = false; mIsShowingMoreKeysPanel = false;
} }
} }

View File

@ -166,12 +166,12 @@ public class KeyStyles {
readText(keyAttr, R.styleable.Keyboard_Key_keyLabel); readText(keyAttr, R.styleable.Keyboard_Key_keyLabel);
readText(keyAttr, R.styleable.Keyboard_Key_keyOutputText); readText(keyAttr, R.styleable.Keyboard_Key_keyOutputText);
readText(keyAttr, R.styleable.Keyboard_Key_keyHintLabel); readText(keyAttr, R.styleable.Keyboard_Key_keyHintLabel);
readTextArray(keyAttr, R.styleable.Keyboard_Key_popupCharacters); readTextArray(keyAttr, R.styleable.Keyboard_Key_moreKeys);
readFlag(keyAttr, R.styleable.Keyboard_Key_keyLabelOption); readFlag(keyAttr, R.styleable.Keyboard_Key_keyLabelOption);
readInt(keyAttr, R.styleable.Keyboard_Key_keyIcon); readInt(keyAttr, R.styleable.Keyboard_Key_keyIcon);
readInt(keyAttr, R.styleable.Keyboard_Key_keyIconPreview); readInt(keyAttr, R.styleable.Keyboard_Key_keyIconPreview);
readInt(keyAttr, R.styleable.Keyboard_Key_keyIconShifted); readInt(keyAttr, R.styleable.Keyboard_Key_keyIconShifted);
readInt(keyAttr, R.styleable.Keyboard_Key_maxMiniKeyboardColumn); readInt(keyAttr, R.styleable.Keyboard_Key_maxMoreKeysColumn);
readBoolean(keyAttr, R.styleable.Keyboard_Key_isFunctional); readBoolean(keyAttr, R.styleable.Keyboard_Key_isFunctional);
readBoolean(keyAttr, R.styleable.Keyboard_Key_isSticky); readBoolean(keyAttr, R.styleable.Keyboard_Key_isSticky);
readBoolean(keyAttr, R.styleable.Keyboard_Key_isRepeatable); readBoolean(keyAttr, R.styleable.Keyboard_Key_isRepeatable);

View File

@ -255,10 +255,10 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
mParams.mIsRtlKeyboard = keyboardAttr.getBoolean( mParams.mIsRtlKeyboard = keyboardAttr.getBoolean(
R.styleable.Keyboard_isRtlKeyboard, false); R.styleable.Keyboard_isRtlKeyboard, false);
mParams.mPopupTemplateId = keyboardAttr.getResourceId( mParams.mMoreKeysTemplate = keyboardAttr.getResourceId(
R.styleable.Keyboard_popupTemplate, 0); R.styleable.Keyboard_moreKeysTemplate, 0);
mParams.mMaxMiniKeyboardColumn = keyAttr.getInt( mParams.mMaxMiniKeyboardColumn = keyAttr.getInt(
R.styleable.Keyboard_Key_maxMiniKeyboardColumn, 5); R.styleable.Keyboard_Key_maxMoreKeysColumn, 5);
mParams.mIconsSet.loadIcons(keyboardAttr); mParams.mIconsSet.loadIcons(keyboardAttr);
} finally { } finally {
@ -365,9 +365,9 @@ public class KeyboardBuilder<KP extends KeyboardParams> {
checkEndTag(TAG_KEY, parser); checkEndTag(TAG_KEY, parser);
} else { } else {
Key key = new Key(mResources, mParams, row, mCurrentX, mCurrentY, parser, mKeyStyles); Key key = new Key(mResources, mParams, row, mCurrentX, mCurrentY, parser, mKeyStyles);
if (DEBUG) Log.d(TAG, String.format("<%s%s keyLabel=%s code=%d popupCharacters=%s />", if (DEBUG) Log.d(TAG, String.format("<%s%s keyLabel=%s code=%d moreKeys=%s />",
TAG_KEY, (key.isEnabled() ? "" : " disabled"), key.mLabel, key.mCode, TAG_KEY, (key.isEnabled() ? "" : " disabled"), key.mLabel, key.mCode,
Arrays.toString(key.mPopupCharacters))); Arrays.toString(key.mMoreKeys)));
checkEndTag(TAG_KEY, parser); checkEndTag(TAG_KEY, parser);
mParams.onAddKey(key); mParams.onAddKey(key);
endKey(key); endKey(key);

View File

@ -49,7 +49,7 @@ public class KeyboardParams {
public int mVerticalGap; public int mVerticalGap;
public boolean mIsRtlKeyboard; public boolean mIsRtlKeyboard;
public int mPopupTemplateId; public int mMoreKeysTemplate;
public int mMaxMiniKeyboardColumn; public int mMaxMiniKeyboardColumn;
public int GRID_WIDTH; public int GRID_WIDTH;

View File

@ -26,9 +26,9 @@ import com.android.inputmethod.latin.R;
import java.util.ArrayList; import java.util.ArrayList;
/** /**
* String parser of popupCharacters attribute of Key. * String parser of moreKeys attribute of Key.
* The string is comma separated texts each of which represents one popup key. * The string is comma separated texts each of which represents one "more key".
* Each popup key text is one of the following: * Each "more key" specification is one of the following:
* - A single letter (Letter) * - A single letter (Letter)
* - Label optionally followed by keyOutputText or code (keyLabel|keyOutputText). * - Label optionally followed by keyOutputText or code (keyLabel|keyOutputText).
* - Icon followed by keyOutputText or code (@icon/icon_number|@integer/key_code) * - Icon followed by keyOutputText or code (@icon/icon_number|@integer/key_code)
@ -37,8 +37,8 @@ import java.util.ArrayList;
* Note that the character '@' and '\' are also parsed by XML parser and CSV parser as well. * Note that the character '@' and '\' are also parsed by XML parser and CSV parser as well.
* See {@link KeyboardIconsSet} about icon_number. * See {@link KeyboardIconsSet} about icon_number.
*/ */
public class PopupCharactersParser { public class MoreKeySpecParser {
private static final String TAG = PopupCharactersParser.class.getSimpleName(); private static final String TAG = MoreKeySpecParser.class.getSimpleName();
private static final char ESCAPE = '\\'; private static final char ESCAPE = '\\';
private static final String LABEL_END = "|"; private static final String LABEL_END = "|";
@ -46,24 +46,24 @@ public class PopupCharactersParser {
private static final String PREFIX_ICON = PREFIX_AT + "icon/"; private static final String PREFIX_ICON = PREFIX_AT + "icon/";
private static final String PREFIX_CODE = PREFIX_AT + "integer/"; private static final String PREFIX_CODE = PREFIX_AT + "integer/";
private PopupCharactersParser() { private MoreKeySpecParser() {
// Intentional empty constructor for utility class. // Intentional empty constructor for utility class.
} }
private static boolean hasIcon(String popupSpec) { private static boolean hasIcon(String moreKeySpec) {
if (popupSpec.startsWith(PREFIX_ICON)) { if (moreKeySpec.startsWith(PREFIX_ICON)) {
final int end = indexOfLabelEnd(popupSpec, 0); final int end = indexOfLabelEnd(moreKeySpec, 0);
if (end > 0) if (end > 0)
return true; return true;
throw new PopupCharactersParserError("outputText or code not specified: " + popupSpec); throw new MoreKeySpecParserError("outputText or code not specified: " + moreKeySpec);
} }
return false; return false;
} }
private static boolean hasCode(String popupSpec) { private static boolean hasCode(String moreKeySpec) {
final int end = indexOfLabelEnd(popupSpec, 0); final int end = indexOfLabelEnd(moreKeySpec, 0);
if (end > 0 && end + 1 < popupSpec.length() if (end > 0 && end + 1 < moreKeySpec.length()
&& popupSpec.substring(end + 1).startsWith(PREFIX_CODE)) { && moreKeySpec.substring(end + 1).startsWith(PREFIX_CODE)) {
return true; return true;
} }
return false; return false;
@ -85,81 +85,81 @@ public class PopupCharactersParser {
return sb.toString(); return sb.toString();
} }
private static int indexOfLabelEnd(String popupSpec, int start) { private static int indexOfLabelEnd(String moreKeySpec, int start) {
if (popupSpec.indexOf(ESCAPE, start) < 0) { if (moreKeySpec.indexOf(ESCAPE, start) < 0) {
final int end = popupSpec.indexOf(LABEL_END, start); final int end = moreKeySpec.indexOf(LABEL_END, start);
if (end == 0) if (end == 0)
throw new PopupCharactersParserError(LABEL_END + " at " + start + ": " + popupSpec); throw new MoreKeySpecParserError(LABEL_END + " at " + start + ": " + moreKeySpec);
return end; return end;
} }
final int length = popupSpec.length(); final int length = moreKeySpec.length();
for (int pos = start; pos < length; pos++) { for (int pos = start; pos < length; pos++) {
final char c = popupSpec.charAt(pos); final char c = moreKeySpec.charAt(pos);
if (c == ESCAPE && pos + 1 < length) { if (c == ESCAPE && pos + 1 < length) {
pos++; pos++;
} else if (popupSpec.startsWith(LABEL_END, pos)) { } else if (moreKeySpec.startsWith(LABEL_END, pos)) {
return pos; return pos;
} }
} }
return -1; return -1;
} }
public static String getLabel(String popupSpec) { public static String getLabel(String moreKeySpec) {
if (hasIcon(popupSpec)) if (hasIcon(moreKeySpec))
return null; return null;
final int end = indexOfLabelEnd(popupSpec, 0); final int end = indexOfLabelEnd(moreKeySpec, 0);
final String label = (end > 0) ? parseEscape(popupSpec.substring(0, end)) final String label = (end > 0) ? parseEscape(moreKeySpec.substring(0, end))
: parseEscape(popupSpec); : parseEscape(moreKeySpec);
if (TextUtils.isEmpty(label)) if (TextUtils.isEmpty(label))
throw new PopupCharactersParserError("Empty label: " + popupSpec); throw new MoreKeySpecParserError("Empty label: " + moreKeySpec);
return label; return label;
} }
public static String getOutputText(String popupSpec) { public static String getOutputText(String moreKeySpec) {
if (hasCode(popupSpec)) if (hasCode(moreKeySpec))
return null; return null;
final int end = indexOfLabelEnd(popupSpec, 0); final int end = indexOfLabelEnd(moreKeySpec, 0);
if (end > 0) { if (end > 0) {
if (indexOfLabelEnd(popupSpec, end + 1) >= 0) if (indexOfLabelEnd(moreKeySpec, end + 1) >= 0)
throw new PopupCharactersParserError("Multiple " + LABEL_END + ": " throw new MoreKeySpecParserError("Multiple " + LABEL_END + ": "
+ popupSpec); + moreKeySpec);
final String outputText = parseEscape(popupSpec.substring(end + LABEL_END.length())); final String outputText = parseEscape(moreKeySpec.substring(end + LABEL_END.length()));
if (!TextUtils.isEmpty(outputText)) if (!TextUtils.isEmpty(outputText))
return outputText; return outputText;
throw new PopupCharactersParserError("Empty outputText: " + popupSpec); throw new MoreKeySpecParserError("Empty outputText: " + moreKeySpec);
} }
final String label = getLabel(popupSpec); final String label = getLabel(moreKeySpec);
if (label == null) if (label == null)
throw new PopupCharactersParserError("Empty label: " + popupSpec); throw new MoreKeySpecParserError("Empty label: " + moreKeySpec);
// Code is automatically generated for one letter label. See {@link getCode()}. // Code is automatically generated for one letter label. See {@link getCode()}.
if (label.length() == 1) if (label.length() == 1)
return null; return null;
return label; return label;
} }
public static int getCode(Resources res, String popupSpec) { public static int getCode(Resources res, String moreKeySpec) {
if (hasCode(popupSpec)) { if (hasCode(moreKeySpec)) {
final int end = indexOfLabelEnd(popupSpec, 0); final int end = indexOfLabelEnd(moreKeySpec, 0);
if (indexOfLabelEnd(popupSpec, end + 1) >= 0) if (indexOfLabelEnd(moreKeySpec, end + 1) >= 0)
throw new PopupCharactersParserError("Multiple " + LABEL_END + ": " + popupSpec); throw new MoreKeySpecParserError("Multiple " + LABEL_END + ": " + moreKeySpec);
final int resId = getResourceId(res, final int resId = getResourceId(res,
popupSpec.substring(end + LABEL_END.length() + PREFIX_AT.length())); moreKeySpec.substring(end + LABEL_END.length() + PREFIX_AT.length()));
final int code = res.getInteger(resId); final int code = res.getInteger(resId);
return code; return code;
} }
if (indexOfLabelEnd(popupSpec, 0) > 0) if (indexOfLabelEnd(moreKeySpec, 0) > 0)
return Keyboard.CODE_DUMMY; return Keyboard.CODE_DUMMY;
final String label = getLabel(popupSpec); final String label = getLabel(moreKeySpec);
// Code is automatically generated for one letter label. // Code is automatically generated for one letter label.
if (label != null && label.length() == 1) if (label != null && label.length() == 1)
return label.charAt(0); return label.charAt(0);
return Keyboard.CODE_DUMMY; return Keyboard.CODE_DUMMY;
} }
public static int getIconId(String popupSpec) { public static int getIconId(String moreKeySpec) {
if (hasIcon(popupSpec)) { if (hasIcon(moreKeySpec)) {
int end = popupSpec.indexOf(LABEL_END, PREFIX_ICON.length() + 1); int end = moreKeySpec.indexOf(LABEL_END, PREFIX_ICON.length() + 1);
final String iconId = popupSpec.substring(PREFIX_ICON.length(), end); final String iconId = moreKeySpec.substring(PREFIX_ICON.length(), end);
try { try {
return Integer.valueOf(iconId); return Integer.valueOf(iconId);
} catch (NumberFormatException e) { } catch (NumberFormatException e) {
@ -174,13 +174,13 @@ public class PopupCharactersParser {
String packageName = res.getResourcePackageName(R.string.english_ime_name); String packageName = res.getResourcePackageName(R.string.english_ime_name);
int resId = res.getIdentifier(name, null, packageName); int resId = res.getIdentifier(name, null, packageName);
if (resId == 0) if (resId == 0)
throw new PopupCharactersParserError("Unknown resource: " + name); throw new MoreKeySpecParserError("Unknown resource: " + name);
return resId; return resId;
} }
@SuppressWarnings("serial") @SuppressWarnings("serial")
public static class PopupCharactersParserError extends RuntimeException { public static class MoreKeySpecParserError extends RuntimeException {
public PopupCharactersParserError(String message) { public MoreKeySpecParserError(String message) {
super(message); super(message);
} }
} }
@ -196,31 +196,31 @@ public class PopupCharactersParser {
} }
}; };
public static CharSequence[] filterOut(Resources res, CharSequence[] popupCharacters, public static CharSequence[] filterOut(Resources res, CharSequence[] moreKeys,
CodeFilter filter) { CodeFilter filter) {
if (popupCharacters == null || popupCharacters.length < 1) { if (moreKeys == null || moreKeys.length < 1) {
return null; return null;
} }
if (popupCharacters.length == 1 if (moreKeys.length == 1
&& filter.shouldFilterOut(getCode(res, popupCharacters[0].toString()))) { && filter.shouldFilterOut(getCode(res, moreKeys[0].toString()))) {
return null; return null;
} }
ArrayList<CharSequence> filtered = null; ArrayList<CharSequence> filtered = null;
for (int i = 0; i < popupCharacters.length; i++) { for (int i = 0; i < moreKeys.length; i++) {
final CharSequence popupSpec = popupCharacters[i]; final CharSequence moreKeySpec = moreKeys[i];
if (filter.shouldFilterOut(getCode(res, popupSpec.toString()))) { if (filter.shouldFilterOut(getCode(res, moreKeySpec.toString()))) {
if (filtered == null) { if (filtered == null) {
filtered = new ArrayList<CharSequence>(); filtered = new ArrayList<CharSequence>();
for (int j = 0; j < i; j++) { for (int j = 0; j < i; j++) {
filtered.add(popupCharacters[j]); filtered.add(moreKeys[j]);
} }
} }
} else if (filtered != null) { } else if (filtered != null) {
filtered.add(popupSpec); filtered.add(moreKeySpec);
} }
} }
if (filtered == null) { if (filtered == null) {
return popupCharacters; return moreKeys;
} }
if (filtered.size() == 0) { if (filtered.size() == 0) {
return null; return null;

View File

@ -22,7 +22,7 @@ import android.test.AndroidTestCase;
import com.android.inputmethod.keyboard.Keyboard; import com.android.inputmethod.keyboard.Keyboard;
import com.android.inputmethod.latin.R; import com.android.inputmethod.latin.R;
public class PopupCharactersParserTests extends AndroidTestCase { public class MoreKeySpecParserTests extends AndroidTestCase {
private Resources mRes; private Resources mRes;
private static final int ICON_SETTINGS_KEY = 5; private static final int ICON_SETTINGS_KEY = 5;
@ -45,28 +45,28 @@ public class PopupCharactersParserTests extends AndroidTestCase {
mCodeSettings = res.getInteger(codeId); mCodeSettings = res.getInteger(codeId);
} }
private void assertParser(String message, String popupSpec, String expectedLabel, private void assertParser(String message, String moreKeySpec, String expectedLabel,
String expectedOutputText, int expectedIcon, int expectedCode) { String expectedOutputText, int expectedIcon, int expectedCode) {
String actualLabel = PopupCharactersParser.getLabel(popupSpec); String actualLabel = MoreKeySpecParser.getLabel(moreKeySpec);
assertEquals(message + ": label:", expectedLabel, actualLabel); assertEquals(message + ": label:", expectedLabel, actualLabel);
String actualOutputText = PopupCharactersParser.getOutputText(popupSpec); String actualOutputText = MoreKeySpecParser.getOutputText(moreKeySpec);
assertEquals(message + ": ouptputText:", expectedOutputText, actualOutputText); assertEquals(message + ": ouptputText:", expectedOutputText, actualOutputText);
int actualIcon = PopupCharactersParser.getIconId(popupSpec); int actualIcon = MoreKeySpecParser.getIconId(moreKeySpec);
assertEquals(message + ": icon:", expectedIcon, actualIcon); assertEquals(message + ": icon:", expectedIcon, actualIcon);
int actualCode = PopupCharactersParser.getCode(mRes, popupSpec); int actualCode = MoreKeySpecParser.getCode(mRes, moreKeySpec);
assertEquals(message + ": codes value:", expectedCode, actualCode); assertEquals(message + ": codes value:", expectedCode, actualCode);
} }
private void assertParserError(String message, String popupSpec, String expectedLabel, private void assertParserError(String message, String moreKeySpec, String expectedLabel,
String expectedOutputText, int expectedIcon, int expectedCode) { String expectedOutputText, int expectedIcon, int expectedCode) {
try { try {
assertParser(message, popupSpec, expectedLabel, expectedOutputText, expectedIcon, assertParser(message, moreKeySpec, expectedLabel, expectedOutputText, expectedIcon,
expectedCode); expectedCode);
fail(message); fail(message);
} catch (PopupCharactersParser.PopupCharactersParserError pcpe) { } catch (MoreKeySpecParser.MoreKeySpecParserError pcpe) {
// success. // success.
} }
} }