Merge "Rename PopupCharactersParser to MoreKeySpecParser"
commit
dcb1c7b802
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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. -->
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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="&" />
|
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="("
|
||||||
latin:popupCharacters="[,{,<" />
|
latin:moreKeys="[,{,<" />
|
||||||
<Key
|
<Key
|
||||||
latin:keyLabel=")"
|
latin:keyLabel=")"
|
||||||
latin:popupCharacters="],},>" />
|
latin:moreKeys="],},>" />
|
||||||
<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="<"
|
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="≠,≈" />
|
||||||
<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="""
|
latin:keyLabel="""
|
||||||
latin:popupCharacters="“,”,«,»,‘,’,‚,‛" />
|
latin:moreKeys="“,”,«,»,‘,’,‚,‛" />
|
||||||
<Key
|
<Key
|
||||||
latin:keyLabel="_" />
|
latin:keyLabel="_" />
|
||||||
<Spacer
|
<Spacer
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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="&" />
|
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="("
|
||||||
latin:popupCharacters="[,{,<" />
|
latin:moreKeys="[,{,<" />
|
||||||
<Key
|
<Key
|
||||||
latin:keyLabel=")"
|
latin:keyLabel=")"
|
||||||
latin:popupCharacters="],},>" />
|
latin:moreKeys="],},>" />
|
||||||
<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="<"
|
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="≠,≈" />
|
||||||
<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="""
|
latin:keyLabel="""
|
||||||
latin:popupCharacters="“,”,«,»,‘,’,‚,‛" />
|
latin:moreKeys="“,”,«,»,‘,’,‚,‛" />
|
||||||
<Key
|
<Key
|
||||||
latin:keyLabel="_" />
|
latin:keyLabel="_" />
|
||||||
<switch>
|
<switch>
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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"
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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" />
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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="&" />
|
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="("
|
||||||
latin:popupCharacters="[,{,<" />
|
latin:moreKeys="[,{,<" />
|
||||||
<Key
|
<Key
|
||||||
latin:keyLabel=")"
|
latin:keyLabel=")"
|
||||||
latin:popupCharacters="],},>"
|
latin:moreKeys="],},>"
|
||||||
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="""
|
latin:keyLabel="""
|
||||||
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"
|
||||||
|
|
|
@ -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="<"
|
latin:keyLabel="<"
|
||||||
latin:popupCharacters="≤,«,‹" />
|
latin:moreKeys="≤,«,‹" />
|
||||||
<Key
|
<Key
|
||||||
latin:keyLabel=">"
|
latin:keyLabel=">"
|
||||||
latin:popupCharacters="≥,»,›" />
|
latin:moreKeys="≥,»,›" />
|
||||||
<Key
|
<Key
|
||||||
latin:keyStyle="deleteKeyStyle"
|
latin:keyStyle="deleteKeyStyle"
|
||||||
latin:keyWidth="fillRight"
|
latin:keyWidth="fillRight"
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -33,7 +33,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;
|
||||||
|
@ -196,7 +196,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;
|
||||||
|
@ -232,8 +232,8 @@ public class MiniKeyboardView extends KeyboardView implements PopupPanel {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean dismissPopupPanel() {
|
public boolean dismissMoreKeysPanel() {
|
||||||
return mController.dismissPopupPanel();
|
return mController.dismissMoreKeysPanel();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
|
@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
|
@ -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.
|
||||||
}
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue