am f5443e4e: Replace large device keyboard with phone style keyboard (DO NOT MERGE)

* commit 'f5443e4ef50a2fbb9a0f2637b7e867a8b8367957':
  Replace large device keyboard with phone style keyboard (DO NOT MERGE)
main
Tadashi G. Takaoka 2011-05-19 21:57:03 -07:00 committed by Android Git Automerger
commit 742ac681a5
77 changed files with 2191 additions and 1569 deletions

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@ -19,9 +19,9 @@
-->
<resources>
<bool name="config_enable_show_settings_key_option">false</bool>
<bool name="config_enable_show_settings_key_option">true</bool>
<bool name="config_enable_show_subtype_settings">false</bool>
<bool name="config_enable_show_voice_key_option">false</bool>
<bool name="config_enable_show_voice_key_option">true</bool>
<bool name="config_enable_show_popup_on_keypress_option">false</bool>
<bool name="config_enable_show_recorrection_option">false</bool>
<bool name="config_enable_quick_fixes_option">false</bool>
@ -29,7 +29,7 @@
<bool name="config_candidate_highlight_font_color_enabled">false</bool>
<bool name="config_swipe_down_dismiss_keyboard_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_popup_characters_enabled">true</bool>
<!-- Whether or not Popup on key press is enabled by default -->
<bool name="config_default_popup_preview">false</bool>
<bool name="config_default_sound_enabled">true</bool>

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@ -19,5 +19,5 @@
-->
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Default value of the visibility of the suggestion strip -->
<string name="prefs_suggestion_visibility_default_value" translatable="false">2</string>
<string name="prefs_suggestion_visibility_default_value" translatable="false">1</string>
</resources>

View File

@ -47,12 +47,9 @@
<string name="alternates_for_currency_dollar">¢,£,€,¥,₱</string>
<string name="alternates_for_currency_euro">¢,£,$,¥,₱</string>
<string name="alternates_for_currency_pound">¢,$,€,¥,₱</string>
<string name="alternates_for_mic">"\@drawable/sym_keyboard_settings|\@integer/key_settings,\@drawable/sym_keyboard_mic|\@integer/key_voice"</string>
<string name="alternates_for_smiley">":-)|:-) ,:-(|:-( ,;-)|;-) ,:-P|:-P ,=-O|=-O ,:-*|:-* ,:O|:O ,B-)|B-) ,:-$|:-$ ,:-!|:-! ,:-[|:-[ ,O:-)|O:-) ,:-\\\\\\\\|:-\\\\\\\\ ,:\'(|:\'( ,:-D|:-D "</string>
<string name="alternates_for_settings_slash">"\@drawable/sym_keyboard_settings|\@integer/key_settings,/"</string>
<string name="alternates_for_settings_at">"\@drawable/sym_keyboard_settings|\@integer/key_settings,\@"</string>
<string name="alternates_for_settings_comma">"\@drawable/sym_keyboard_settings|\@integer/key_settings,\\,"</string>
<string name="alternates_for_punctuation">":,/,&amp;,(,),-,+,;,\@,\',\",\?,!,\\,"</string>
<string name="alternates_for_punctuation">"\\,,\?,!,:,-,\',\",(,),/,;,+,&amp;,\@"</string>
<string name="alternates_for_web_tab_punctuation">".,\\,,\?,!,:,-,\',\",(,),/,;,+,&amp;,\@"</string>
<string name="keylabel_for_popular_domain">".com"</string>
<!-- popular web domains for the locale - most popular, displayed on the keyboard -->
<string name="alternates_for_popular_domain">".net,.org,.gov,.edu"</string>

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@ -19,7 +19,7 @@
-->
<Keyboard xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
latin:keyWidth="3.5%p"
latin:keyWidth="5%p"
latin:horizontalGap="0px"
latin:verticalGap="0px"
latin:rowHeight="@dimen/popup_key_height"

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@ -24,59 +24,59 @@
<include
latin:keyboardLayout="@xml/kbd_key_styles" />
<Row
latin:keyWidth="8.272%p"
latin:keyWidth="10%p"
latin:rowEdgeFlags="top"
>
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
latin:keyWidth="7.949%p"
latin:keyLabel="a"
latin:keyHintIcon="@drawable/keyboard_hint_1"
latin:popupCharacters="@string/alternates_for_a"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="a"
latin:popupCharacters="@string/alternates_for_a" />
<Key
latin:keyLabel="z"
latin:keyHintIcon="@drawable/keyboard_hint_2"
latin:popupCharacters="@string/alternates_for_z" />
<Key
latin:keyLabel="e"
latin:keyHintIcon="@drawable/keyboard_hint_3"
latin:popupCharacters="@string/alternates_for_e" />
<Key
latin:keyLabel="r"
latin:keyHintIcon="@drawable/keyboard_hint_4"
latin:popupCharacters="@string/alternates_for_r" />
<Key
latin:keyLabel="t"
latin:keyHintIcon="@drawable/keyboard_hint_5"
latin:popupCharacters="@string/alternates_for_t" />
<Key
latin:keyLabel="y"
latin:keyHintIcon="@drawable/keyboard_hint_6"
latin:popupCharacters="@string/alternates_for_y" />
<Key
latin:keyLabel="u"
latin:keyHintIcon="@drawable/keyboard_hint_7"
latin:popupCharacters="@string/alternates_for_u" />
<Key
latin:keyLabel="i"
latin:keyHintIcon="@drawable/keyboard_hint_8"
latin:popupCharacters="@string/alternates_for_i" />
<Key
latin:keyLabel="o"
latin:keyHintIcon="@drawable/keyboard_hint_9"
latin:popupCharacters="@string/alternates_for_o" />
<Key
latin:keyLabel="p"
latin:popupCharacters="@string/alternates_for_p" />
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.331%p"
latin:keyHintIcon="@drawable/keyboard_hint_0"
latin:popupCharacters="@string/alternates_for_p"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="8.157%p"
latin:keyWidth="10%p"
>
<Key
latin:keyStyle="toSymbolKeyStyle"
latin:keyLabelOption="alignLeft"
latin:keyWidth="10.167%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="q"
latin:popupCharacters="@string/alternates_for_q" />
latin:popupCharacters="@string/alternates_for_q"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="s"
latin:popupCharacters="@string/alternates_for_s" />
@ -101,17 +101,13 @@
<Key
latin:keyLabel="m"
latin:keyEdgeFlags="right" />
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="8.593%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="8.042%p"
latin:keyWidth="10%p"
>
<Key
latin:keyStyle="shiftKeyStyle"
latin:keyWidth="15.192%p"
latin:keyWidth="15%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="w"
@ -120,6 +116,7 @@
latin:keyLabel="x" />
<Key
latin:keyLabel="c"
latin:popupCharacters="@string/alternates_for_c" />
<Key
latin:keyLabel="v"
@ -130,38 +127,10 @@
latin:keyLabel="n"
latin:popupCharacters="@string/alternates_for_n" />
<Key
latin:keyLabel="\'"
latin:manualTemporaryUpperCaseCode="58"
latin:keyHintIcon="@drawable/key_hint_colon_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_colon_large_holo"
latin:popupCharacters=":" />
<switch>
<case
latin:mode="email"
>
<Key
latin:keyLabel="," />
<Key
latin:keyLabel="." />
</case>
<default>
<Key
latin:keyLabel=","
latin:manualTemporaryUpperCaseCode="33"
latin:keyHintIcon="@drawable/key_hint_exclamation_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_exclamation_large_holo"
latin:popupCharacters="!" />
<Key
latin:keyLabel="."
latin:manualTemporaryUpperCaseCode="63"
latin:keyHintIcon="@drawable/key_hint_question_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_question_large_holo"
latin:popupCharacters="\?" />
</default>
</switch>
latin:keyLabel="\'" />
<Key
latin:keyStyle="shiftKeyStyle"
latin:keyWidth="12.530%p"
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="15%p"
latin:keyEdgeFlags="right" />
</Row>
<include

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@ -21,14 +21,45 @@
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<!-- Functional key styles -->
<!-- Base key style for the functional key -->
<switch>
<case
<case
latin:colorScheme="white"
>
<key-style
latin:styleName="functionalKeyStyle"
latin:isModifier="true" />
</case>
<case
latin:colorScheme="black"
>
<key-style
latin:styleName="functionalKeyStyle" />
</case>
</switch>
<!-- Base key style for the key which may have settings key as popup key -->
<switch>
<case
latin:hasSettingsKey="true"
>
<key-style
latin:styleName="settingsPopupStyle"
latin:parentStyle="functionalKeyStyle" />
</case>
<!-- latin:hasSettingsKey="false" -->
<default>
<key-style
latin:styleName="settingsPopupStyle"
latin:keyHintIcon="@drawable/hint_popup"
latin:popupCharacters="\@drawable/sym_keyboard_settings|\@integer/key_settings"
latin:parentStyle="functionalKeyStyle" />
</default>
</switch>
<!-- Functional key styles -->
<switch>
<case
latin:colorScheme="white"
>
<key-style
latin:styleName="shiftKeyStyle"
latin:code="@integer/key_shift"
@ -44,45 +75,64 @@
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:parentStyle="functionalKeyStyle"
latin:isRepeatable="true" />
<key-style
latin:styleName="returnKeyStyle"
latin:code="@integer/key_return"
latin:keyIcon="@drawable/sym_keyboard_return_holo"
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="spaceKeyStyle"
latin:code="@integer/key_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
<key-style
latin:styleName="nonSpecialBackgroundSpaceKeyStyle"
latin:code="@integer/key_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
<key-style
latin:styleName="smileyKeyStyle"
latin:keyLabel=":-)"
latin:keyOutputText=":-) "
latin:keyHintIcon="@drawable/hint_popup_holo"
latin:popupCharacters="@string/alternates_for_smiley"
latin:maxPopupKeyboardColumn="5" />
<switch>
<!-- When this qwerty keyboard has no voice key but voice key is enabled, then
symbol keyboard will have mic key. That means we should use "?123mic" key
here. -->
<case
latin:voiceKeyEnabled="true"
latin:hasVoiceKey="false"
>
<key-style
latin:styleName="toSymbolKeyStyle"
latin:code="@integer/key_switch_alpha_symbol"
latin:keyIcon="@drawable/sym_keyboard_123_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_123_mic"
latin:parentStyle="functionalKeyStyle" />
</case>
<default>
<key-style
latin:styleName="toSymbolKeyStyle"
latin:code="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_symbol_key"
latin:parentStyle="functionalKeyStyle" />
</default>
</switch>
<key-style
latin:styleName="settingsKeyStyle"
latin:code="@integer/key_settings"
latin:keyIcon="@drawable/sym_keyboard_settings_holo"
latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="spaceKeyStyle"
latin:code="@integer/key_space"
latin:keyIcon="@drawable/sym_keyboard_space_holo"
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="tabKeyStyle"
latin:code="@integer/key_tab"
latin:keyIcon="@drawable/sym_keyboard_tab"
latin:iconPreview="@drawable/sym_keyboard_feedback_tab"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="micKeyStyle"
latin:code="@integer/key_voice"
latin:keyIcon="@drawable/sym_keyboard_voice_holo"
latin:keyIcon="@drawable/sym_keyboard_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
latin:parentStyle="functionalKeyStyle" />
latin:parentStyle="settingsPopupStyle" />
<!-- Note: This key style is not for functional tab key. This is used for the tab key
which is laid out as normal letter key. -->
<key-style
latin:styleName="nonSpecialBackgroundTabKeyStyle"
latin:code="@integer/key_tab"
latin:keyIcon="@drawable/sym_keyboard_tab"
latin:iconPreview="@drawable/sym_keyboard_feedback_tab" />
</case>
<case
latin:colorScheme="black"
>
<key-style
latin:styleName="functionalKeyStyle" />
<key-style
latin:styleName="shiftKeyStyle"
latin:code="@integer/key_shift"
@ -98,73 +148,170 @@
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:parentStyle="functionalKeyStyle"
latin:isRepeatable="true" />
<key-style
latin:styleName="returnKeyStyle"
latin:code="@integer/key_return"
latin:keyIcon="@drawable/sym_bkeyboard_return"
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="spaceKeyStyle"
latin:code="@integer/key_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
<key-style
latin:styleName="nonSpecialBackgroundSpaceKeyStyle"
latin:code="@integer/key_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
<key-style
latin:styleName="smileyKeyStyle"
latin:keyLabel=":-)"
latin:keyOutputText=":-) "
latin:keyHintIcon="@drawable/hint_popup_holo"
latin:popupCharacters="@string/alternates_for_smiley"
latin:maxPopupKeyboardColumn="5" />
<switch>
<!-- When this qwerty keyboard has no voice key but voice key is enabled, then
symbol keyboard will have mic key. That means we should use "?123mic" key
here. -->
<case
latin:voiceKeyEnabled="true"
latin:hasVoiceKey="false"
>
<key-style
latin:styleName="toSymbolKeyStyle"
latin:code="@integer/key_switch_alpha_symbol"
latin:keyIcon="@drawable/sym_bkeyboard_123_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_123_mic"
latin:parentStyle="functionalKeyStyle" />
</case>
<default>
<key-style
latin:styleName="toSymbolKeyStyle"
latin:code="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_symbol_key"
latin:parentStyle="functionalKeyStyle" />
</default>
</switch>
<key-style
latin:styleName="settingsKeyStyle"
latin:code="@integer/key_settings"
latin:keyIcon="@drawable/sym_bkeyboard_settings"
latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="spaceKeyStyle"
latin:code="@integer/key_space"
latin:keyIcon="@drawable/sym_bkeyboard_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="tabKeyStyle"
latin:code="@integer/key_tab"
latin:keyIcon="@drawable/sym_bkeyboard_tab"
latin:iconPreview="@drawable/sym_keyboard_feedback_tab"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="micKeyStyle"
latin:code="@integer/key_voice"
latin:keyIcon="@drawable/sym_bkeyboard_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
latin:parentStyle="functionalKeyStyle" />
latin:parentStyle="settingsPopupStyle" />
<!-- Note: This key style is not for functional tab key. This is used for the tab key
which is laid out as normal letter key. -->
<key-style
latin:styleName="nonSpecialBackgroundTabKeyStyle"
latin:code="@integer/key_tab"
latin:keyIcon="@drawable/sym_bkeyboard_tab"
latin:iconPreview="@drawable/sym_keyboard_feedback_tab" />
</case>
</switch>
<key-style
latin:styleName="tabKeyStyle"
latin:code="@integer/key_tab"
latin:keyLabel="@string/label_tab_key"
latin:keyLabelOption="fontNormal"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="toSymbolKeyStyle"
latin:code="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_symbol_key"
latin:keyLabelOption="fontNormal"
latin:parentStyle="functionalKeyStyle" />
<!-- Return key style -->
<switch>
<case
latin:imeAction="actionGo"
>
<key-style
latin:styleName="returnKeyStyle"
latin:code="@integer/key_return"
latin:keyLabel="@string/label_go_key"
latin:parentStyle="functionalKeyStyle" />
</case>
<case
latin:imeAction="actionNext"
>
<key-style
latin:styleName="returnKeyStyle"
latin:code="@integer/key_return"
latin:keyLabel="@string/label_next_key"
latin:parentStyle="functionalKeyStyle" />
</case>
<case
latin:imeAction="actionDone"
>
<key-style
latin:styleName="returnKeyStyle"
latin:code="@integer/key_return"
latin:keyLabel="@string/label_done_key"
latin:parentStyle="functionalKeyStyle" />
</case>
<case
latin:imeAction="actionSend"
>
<key-style
latin:styleName="returnKeyStyle"
latin:code="@integer/key_return"
latin:keyLabel="@string/label_send_key"
latin:parentStyle="functionalKeyStyle" />
</case>
<case
latin:imeAction="actionSearch"
>
<switch>
<case
latin:colorScheme="white"
>
<key-style
latin:styleName="returnKeyStyle"
latin:code="@integer/key_return"
latin:keyIcon="@drawable/sym_keyboard_search"
latin:iconPreview="@drawable/sym_keyboard_feedback_search"
latin:parentStyle="functionalKeyStyle" />
</case>
<case
latin:colorScheme="black"
>
<key-style
latin:styleName="returnKeyStyle"
latin:code="@integer/key_return"
latin:keyIcon="@drawable/sym_bkeyboard_search"
latin:iconPreview="@drawable/sym_keyboard_feedback_search"
latin:parentStyle="functionalKeyStyle" />
</case>
</switch>
</case>
<default>
<switch>
<case
latin:colorScheme="white"
>
<key-style
latin:styleName="returnKeyStyle"
latin:code="@integer/key_return"
latin:keyIcon="@drawable/sym_keyboard_return"
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
latin:parentStyle="functionalKeyStyle" />
</case>
<case
latin:colorScheme="black"
>
<key-style
latin:styleName="returnKeyStyle"
latin:code="@integer/key_return"
latin:keyIcon="@drawable/sym_bkeyboard_return"
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
latin:parentStyle="functionalKeyStyle" />
</case>
</switch>
</default>
</switch>
<key-style
latin:styleName="toAlphaKeyStyle"
latin:code="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_alpha_key"
latin:keyLabelOption="fontNormal"
latin:parentStyle="functionalKeyStyle" />
<key-style
latin:styleName="moreKeyStyle"
latin:styleName="altKeyStyle"
latin:code="@integer/key_shift"
latin:keyLabel="@string/label_more_key"
latin:keyLabelOption="fontNormal"
latin:keyLabel="@string/label_alt_key"
latin:parentStyle="functionalKeyStyle"
latin:isSticky="true" />
<key-style
latin:styleName="comKeyStyle"
latin:keyLabel="@string/keylabel_for_popular_domain"
latin:keyLabelOption="fontNormal"
latin:keyOutputText="@string/keylabel_for_popular_domain"
latin:styleName="smileyKeyStyle"
latin:keyLabel=":-)"
latin:keyOutputText=":-) "
latin:keyHintIcon="@drawable/hint_popup_holo"
latin:popupCharacters="@string/alternates_for_popular_domain" />
latin:popupCharacters="@string/alternates_for_smiley"
latin:maxPopupKeyboardColumn="5"
latin:parentStyle="functionalKeyStyle" />
<switch>
<case
latin:passwordInput="true"
@ -172,12 +319,20 @@
<key-style
latin:styleName="nonPasswordSymbolKeyStyle"
latin:enabled="false" />
<key-style
latin:styleName="nonPasswordFunctionalKeyStyle"
latin:enabled="false"
latin:parentStyle="functionalKeyStyle" />
</case>
<!-- latin:passwordInput="false" -->
<default>
<key-style
latin:styleName="nonPasswordSymbolKeyStyle"
latin:enabled="true" />
<key-style
latin:styleName="nonPasswordFunctionalKeyStyle"
latin:enabled="true"
latin:parentStyle="functionalKeyStyle" />
</default>
</switch>
</merge>

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@ -23,7 +23,7 @@
latin:keyboardHeight="@dimen/keyboardHeight"
latin:maxKeyboardHeight="50%p"
latin:rowHeight="25%p"
latin:keyWidth="11.949%p"
latin:keyWidth="26.67%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:popupKeyboardTemplate="@xml/kbd_popup_template"
@ -33,197 +33,62 @@
latin:keyboardLayout="@xml/kbd_key_styles" />
<include
latin:keyboardLayout="@xml/kbd_numkey_styles" />
<switch>
<case
latin:passwordInput="true"
>
<!-- This row is intentionally not marked as a top row -->
<Row>
<Spacer
latin:horizontalGap="32.076%p" />
<Key
latin:keyStyle="num1KeyStyle" />
<Key
latin:keyStyle="num2KeyStyle" />
<Key
latin:keyStyle="num3KeyStyle" />
<Spacer
latin:horizontalGap="22.272%p" />
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.804%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Spacer
latin:horizontalGap="32.076%p" />
<Key
latin:keyStyle="num4KeyStyle" />
<Key
latin:keyStyle="num5KeyStyle" />
<Key
latin:keyStyle="num6KeyStyle" />
<Spacer
latin:horizontalGap="17.371%p" />
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="14.706%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Spacer
latin:horizontalGap="32.076%p" />
<Key
latin:keyStyle="num7KeyStyle" />
<Key
latin:keyStyle="num8KeyStyle" />
<Key
latin:keyStyle="num9KeyStyle" />
<!-- There is an empty area below the "Enter" key and right of the "9" key. To
ignore the touch event on the area, "9" is intentionally not marked as a right
edge key. -->
</Row>
<!-- This row is intentionally not marked as a bottom row -->
<Row>
<Spacer
latin:horizontalGap="44.026%p" />
<Key
latin:keyStyle="num0KeyStyle" />
<!-- There is an empty area below the "Enter" key and right of the "#" key. To
ignore the touch event on the area, "#" is intentionally not marked as a right
edge key. -->
</Row>
</case>
<!-- latin:passwordInput="false" -->
<default>
<!-- This row is intentionally not marked as a top row -->
<Row>
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
latin:keyEdgeFlags="left" />
<Spacer
latin:horizontalGap="4.458%p" />
<Key
latin:keyLabel="-"
latin:keyWidth="8.042%p" />
<Key
latin:keyLabel="+"
latin:keyWidth="8.042%p" />
<Key
latin:keyLabel="."
latin:keyWidth="8.042%p" />
<Spacer
latin:horizontalGap="4.458%p" />
<Key
latin:keyLabel="1" />
<Key
latin:keyLabel="2" />
<Key
latin:keyLabel="3" />
<Spacer
latin:horizontalGap="9.360%p" />
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.804%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Spacer
latin:horizontalGap="16.406%p" />
<Key
latin:keyLabel="*"
latin:keyWidth="8.042%p" />
<Key
latin:keyLabel="/"
latin:keyWidth="8.042%p" />
<Key
latin:keyLabel=","
latin:keyWidth="8.042%p" />
<Spacer
latin:horizontalGap="4.458%p" />
<Key
latin:keyLabel="4" />
<Key
latin:keyLabel="5" />
<Key
latin:keyLabel="6" />
<Spacer
latin:horizontalGap="4.458%p" />
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="14.706%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<!-- There is an empty area below the "More" key and left of the "(" key. To
ignore the touch event on the area, "(" is intentionally not marked as a left
edge key. -->
<Spacer
latin:horizontalGap="16.406%p" />
<Key
latin:keyLabel="("
latin:keyWidth="8.042%p" />
<Key
latin:keyLabel=")"
latin:keyWidth="8.042%p" />
<Key
latin:keyLabel="="
latin:keyWidth="8.042%p" />
<Spacer
latin:horizontalGap="4.458%p" />
<Key
latin:keyLabel="7" />
<Key
latin:keyLabel="8" />
<Key
latin:keyLabel="9" />
<!-- There is an empty area below the "Enter" key and right of the "9" key. To
ignore the touch event on the area, "9" is intentionally not marked as a right
edge key. -->
</Row>
<!-- This row is intentionally not marked as a bottom row -->
<Row>
<!-- There is an empty area below the "More" key and left of the "space" key. To
ignore the touch event on the area, "space" is intentionally not marked as a
left edge key. -->
<Spacer
latin:horizontalGap="8.362%p" />
<switch>
<case latin:hasSettingsKey="true">
<Key
latin:keyStyle="settingsKeyStyle"
latin:keyWidth="8.042%p" />
</case>
<default>
<Spacer
latin:horizontalGap="8.042%p" />
</default>
</switch>
<Key
latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle"
latin:keyWidth="24.127%p" />
<Spacer
latin:horizontalGap="4.458%p" />
<Key
latin:keyLabel="*" />
<Key
latin:keyLabel="0" />
<Key
latin:keyLabel="#" />
<switch>
<case
latin:voiceKeyEnabled="true"
>
<Key
latin:keyStyle="micKeyStyle"
latin:keyWidth="8.042%p" />
</case>
</switch>
<!-- There is an empty area below the "Enter" key and right of the "#" key. To
ignore the touch event on the area, "#" is intentionally not marked as a right
edge key. -->
</Row>
</default>
</switch>
<Row
latin:rowEdgeFlags="top"
>
<Key
latin:keyLabel="1"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="2" />
<Key
latin:keyLabel="3" />
<Key
latin:keyLabel="-"
latin:keyStyle="functionalKeyStyle"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:keyLabel="4"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="5" />
<Key
latin:keyLabel="6" />
<Key
latin:keyLabel=","
latin:keyStyle="functionalKeyStyle"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:keyLabel="7"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="8" />
<Key
latin:keyLabel="9" />
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:rowEdgeFlags="bottom"
>
<Key
latin:keyStyle="numSpaceKeyStyle"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="0" />
<Key
latin:keyLabel="." />
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</Row>
</Keyboard>

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@ -81,7 +81,8 @@
<key-style
latin:styleName="numSpaceKeyStyle"
latin:code="@integer/key_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
latin:keyIcon="@drawable/sym_keyboard_space" />
</case>
<case
latin:colorScheme="black"
@ -142,7 +143,8 @@
<key-style
latin:styleName="numSpaceKeyStyle"
latin:code="@integer/key_space"
latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
latin:keyIcon="@drawable/sym_keyboard_space" />
</case>
</switch>
</merge>

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@ -23,7 +23,7 @@
latin:keyboardHeight="@dimen/keyboardHeight"
latin:maxKeyboardHeight="50%p"
latin:rowHeight="25%p"
latin:keyWidth="11.949%p"
latin:keyWidth="26.67%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:popupKeyboardTemplate="@xml/kbd_popup_template"
@ -33,134 +33,62 @@
latin:keyboardLayout="@xml/kbd_key_styles" />
<include
latin:keyboardLayout="@xml/kbd_numkey_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row>
<Row
latin:rowEdgeFlags="top"
>
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
latin:keyStyle="num1KeyStyle"
latin:keyEdgeFlags="left" />
<!-- To match one character label size with "Tab", I placed spaces around the char '-'
and '+'. -->
<Spacer
latin:horizontalGap="8.470%p" />
<Key
latin:code="45"
latin:keyLabel=" - "
latin:keyWidth="8.042%p" />
<Key
latin:code="43"
latin:keyLabel=" + "
latin:keyWidth="8.042%p" />
<Spacer
latin:horizontalGap="8.479%p" />
<Key
latin:keyStyle="num1KeyStyle" />
<Key
latin:keyStyle="num2KeyStyle" />
<Key
latin:keyStyle="num3KeyStyle" />
<Spacer
latin:horizontalGap="9.360%p" />
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.804%p"
latin:keyLabel="-"
latin:keyStyle="functionalKeyStyle"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:keyStyle="moreKeyStyle"
latin:keyStyle="num4KeyStyle"
latin:keyEdgeFlags="left" />
<!-- To match one character label size with "More", I placed spaces around the char ','
and '.'. -->
<Spacer
latin:horizontalGap="8.470%p" />
<Key
latin:code="44"
latin:keyLabel=" , "
latin:keyWidth="8.042%p" />
<Key
latin:code="46"
latin:keyLabel=" . "
latin:keyWidth="8.042%p" />
<Spacer
latin:horizontalGap="8.479%p" />
<Key
latin:keyStyle="num4KeyStyle" />
<Key
latin:keyStyle="num5KeyStyle" />
<Key
latin:keyStyle="num6KeyStyle" />
<Spacer
latin:horizontalGap="4.458%p" />
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="14.706%p"
latin:keyLabel="."
latin:keyStyle="functionalKeyStyle"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<!-- To match one character label size with "More", I placed spaces around the char '('
and ')'. -->
<!-- There is an empty area bellow the "More" key and left of the "(" key. To ignore
the touch event on the area, "(" is intentionally not marked as a left edge key. -->
<Spacer
latin:horizontalGap="20.427%p" />
<Key
latin:code="40"
latin:keyLabel=" ( "
latin:keyWidth="8.042%p" />
<Key
latin:code="41"
latin:keyLabel=" ) "
latin:keyWidth="8.042%p" />
<Spacer
latin:horizontalGap="8.479%p" />
<Key
latin:keyStyle="num7KeyStyle" />
latin:keyStyle="num7KeyStyle"
latin:keyEdgeFlags="left" />
<Key
latin:keyStyle="num8KeyStyle" />
<Key
latin:keyStyle="num9KeyStyle" />
<!-- There is an empty area bellow the "Enter" key and right of the "9" key. To ignore
the touch event on the area, "9" is intentionally not marked as a right edge key. -->
</Row>
<!-- This row is intentionally not marked as a bottom row -->
<Row>
<!-- There is an empty area bellow the "More" key and left of the "space" key. To ignore
the touch event on the area, "space" is intentionally not marked as a left edge key. -->
<Spacer
latin:horizontalGap="12.340%p" />
<switch>
<case latin:hasSettingsKey="true">
<Key
latin:keyStyle="settingsKeyStyle"
latin:keyWidth="8.042%p" />
</case>
<default>
<Spacer
latin:horizontalGap="8.042%p" />
</default>
</switch>
<Key
latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle"
latin:keyWidth="16.084%p" />
<Spacer
latin:horizontalGap="8.479%p" />
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:rowEdgeFlags="bottom"
>
<Key
latin:keyStyle="numStarKeyStyle" />
latin:keyStyle="numAltKeyStyle"
latin:keyEdgeFlags="left" />
<Key
latin:keyStyle="num0KeyStyle" />
<Key
latin:keyStyle="numPoundKeyStyle" />
<switch>
<case
latin:voiceKeyEnabled="true"
>
<Key
latin:keyStyle="micKeyStyle"
latin:keyWidth="8.042%p" />
</case>
</switch>
<!-- There is an empty area bellow the "Enter" key and right of the "#" key. To ignore
the touch event on the area, "#" is intentionally not marked as a right edge key. -->
latin:keyStyle="numSpaceKeyStyle" />
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</Row>
</Keyboard>

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@ -23,7 +23,7 @@
latin:keyboardHeight="@dimen/keyboardHeight"
latin:maxKeyboardHeight="50%p"
latin:rowHeight="25%p"
latin:keyWidth="11.949%p"
latin:keyWidth="26.67%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:popupKeyboardTemplate="@xml/kbd_popup_template"
@ -33,146 +33,68 @@
latin:keyboardLayout="@xml/kbd_key_styles" />
<include
latin:keyboardLayout="@xml/kbd_numkey_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row>
<Row
latin:rowEdgeFlags="top"
>
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
latin:keyLabel="("
latin:keyEdgeFlags="left" />
<Spacer
latin:horizontalGap="4.458%p" />
<Key
latin:code="45"
latin:keyLabel=" - "
latin:keyWidth="8.042%p" />
latin:keyLabel="/" />
<Key
latin:code="43"
latin:keyLabel=" + "
latin:keyWidth="8.042%p" />
latin:keyLabel=")" />
<Key
latin:code="44"
latin:keyLabel="@string/label_pause_key"
latin:keyWidth="8.042%p" />
<!-- To match one character label size with "Tab" and "Pause, I placed spaces around the
char '-' and '+'. -->
<Spacer
latin:horizontalGap="4.458%p" />
<Key
latin:keyStyle="num1KeyStyle" />
<Key
latin:keyStyle="num2KeyStyle" />
<Key
latin:keyStyle="num3KeyStyle" />
<Spacer
latin:horizontalGap="9.360%p" />
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.804%p"
latin:keyLabel="-"
latin:keyStyle="functionalKeyStyle"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:keyStyle="moreKeyStyle"
latin:keyLabel="N"
latin:keyEdgeFlags="left" />
<Spacer
latin:horizontalGap="4.458%p" />
<!-- Pause is a comma. Check PhoneNumberUtils.java to see if this
has changed. -->
<Key
latin:code="44"
latin:keyLabel=" , "
latin:keyWidth="8.042%p" />
latin:keyLabel="Pause" />
<Key
latin:code="46"
latin:keyLabel=" . "
latin:keyWidth="8.042%p" />
latin:keyLabel="," />
<Key
latin:keyLabel="."
latin:keyStyle="functionalKeyStyle"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<Key
latin:keyStyle="numStarKeyStyle"
latin:keyEdgeFlags="left" />
<!-- Wait is a semicolon. -->
<Key
latin:code="59"
latin:keyLabel="@string/label_wait_key"
latin:keyWidth="8.042%p" />
<!-- To match one character label size with "More" and "Wait", I placed spaces around the
char ',' and '.'. -->
<Spacer
latin:horizontalGap="4.458%p" />
<Key
latin:keyStyle="num4KeyStyle" />
<Key
latin:keyStyle="num5KeyStyle" />
<Key
latin:keyStyle="num6KeyStyle" />
<Spacer
latin:horizontalGap="4.458%p" />
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="14.706%p"
latin:keyEdgeFlags="right" />
</Row>
<Row>
<!-- To match one character label size with "More" and etc., I placed spaces around the
char 'N', '(' and ')'. -->
<!-- There is an empty area bellow the "More" key and left of the "(" key. To ignore
the touch event on the area, "(" is intentionally not marked as a left edge key. -->
<Spacer
latin:horizontalGap="16.406%p" />
<Key
latin:code="40"
latin:keyLabel=" ( "
latin:keyWidth="8.042%p" />
<Key
latin:code="41"
latin:keyLabel=" ) "
latin:keyWidth="8.042%p" />
<Key
latin:code="78"
latin:keyLabel=" N "
latin:keyWidth="8.042%p" />
<Spacer
latin:horizontalGap="4.458%p" />
<Key
latin:keyStyle="num7KeyStyle" />
<Key
latin:keyStyle="num8KeyStyle" />
<Key
latin:keyStyle="num9KeyStyle" />
<!-- There is an empty area bellow the "Enter" key and right of the "9" key. To ignore
the touch event on the area, "9" is intentionally not marked as a right edge key. -->
</Row>
<!-- This row is intentionally not marked as a bottom row -->
<Row>
<!-- There is an empty area bellow the "More" key and left of the "space" key. To ignore
the touch event on the area, "space" is intentionally not marked as a left edge key. -->
<Spacer
latin:horizontalGap="8.362%p" />
<switch>
<case latin:hasSettingsKey="true">
<Key
latin:keyStyle="settingsKeyStyle"
latin:keyWidth="8.042%p" />
</case>
<default>
<Spacer
latin:horizontalGap="8.042%p" />
</default>
</switch>
<Key
latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle"
latin:keyWidth="24.127%p" />
<Spacer
latin:horizontalGap="4.458%p" />
<Key
latin:keyStyle="numStarKeyStyle" />
<Key
latin:keyStyle="num0KeyStyle" />
latin:keyLabel="Wait" />
<Key
latin:keyStyle="numPoundKeyStyle" />
<switch>
<case
latin:voiceKeyEnabled="true"
>
<Key
latin:keyStyle="micKeyStyle"
latin:keyWidth="8.042%p" />
</case>
</switch>
<!-- There is an empty area bellow the "Enter" key and right of the "#" key. To ignore
the touch event on the area, "#" is intentionally not marked as a right edge key. -->
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:rowEdgeFlags="bottom"
>
<Key
latin:code="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_numeric_key"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="+" />
<Key
latin:keyStyle="numSpaceKeyStyle" />
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</Row>
</Keyboard>

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2008, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@ -19,8 +19,8 @@
-->
<Keyboard xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
latin:keyWidth="5.0%p"
latin:horizontalGap="0px"
latin:keyWidth="8%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="0px"
latin:rowHeight="@dimen/popup_key_height"
>

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@ -23,6 +23,7 @@
latin:keyboardHeight="@dimen/keyboardHeight"
latin:maxKeyboardHeight="50%p"
latin:rowHeight="25%p"
latin:keyWidth="10%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:popupKeyboardTemplate="@xml/kbd_popup_template"

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@ -21,48 +21,51 @@
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<!-- This row is intentionally not marked as a top row -->
<Row
latin:keyWidth="8.272%p"
latin:keyWidth="10%p"
latin:rowEdgeFlags="top"
>
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
latin:keyWidth="7.949%p"
latin:keyLabel="q"
latin:keyHintIcon="@drawable/keyboard_hint_1"
latin:popupCharacters="@string/alternates_for_q"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="q"
latin:popupCharacters="@string/alternates_for_q" />
<Key
latin:keyLabel="w"
latin:keyHintIcon="@drawable/keyboard_hint_2"
latin:popupCharacters="@string/alternates_for_w" />
<Key
latin:keyLabel="e"
latin:keyHintIcon="@drawable/keyboard_hint_3"
latin:popupCharacters="@string/alternates_for_e" />
<Key
latin:keyLabel="r"
latin:keyHintIcon="@drawable/keyboard_hint_4"
latin:popupCharacters="@string/alternates_for_r" />
<Key
latin:keyLabel="t"
latin:keyHintIcon="@drawable/keyboard_hint_5"
latin:popupCharacters="@string/alternates_for_t" />
<Key
latin:keyLabel="y"
latin:keyHintIcon="@drawable/keyboard_hint_6"
latin:popupCharacters="@string/alternates_for_y" />
<Key
latin:keyLabel="u"
latin:keyHintIcon="@drawable/keyboard_hint_7"
latin:popupCharacters="@string/alternates_for_u" />
<Key
latin:keyLabel="i"
latin:keyHintIcon="@drawable/keyboard_hint_8"
latin:popupCharacters="@string/alternates_for_i" />
<Key
latin:keyLabel="o"
latin:keyHintIcon="@drawable/keyboard_hint_9"
latin:popupCharacters="@string/alternates_for_o" />
<Key
latin:keyLabel="p"
latin:popupCharacters="@string/alternates_for_p" />
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.331%p"
latin:keyHintIcon="@drawable/keyboard_hint_0"
latin:popupCharacters="@string/alternates_for_p"
latin:keyEdgeFlags="right" />
</Row>
</merge>

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@ -22,16 +22,14 @@
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<Row
latin:keyWidth="8.157%p"
latin:keyWidth="10%p"
>
<Key
latin:keyStyle="toSymbolKeyStyle"
latin:keyLabelOption="alignLeft"
latin:keyWidth="11.167%p"
latin:keyEdgeFlags="left" />
<Spacer
latin:horizontalGap="5%p" />
<Key
latin:keyLabel="a"
latin:popupCharacters="@string/alternates_for_a" />
latin:popupCharacters="@string/alternates_for_a"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="s"
latin:popupCharacters="@string/alternates_for_s" />
@ -52,10 +50,7 @@
latin:popupCharacters="@string/alternates_for_k" />
<Key
latin:keyLabel="l"
latin:popupCharacters="@string/alternates_for_l" />
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="15.750%p"
latin:popupCharacters="@string/alternates_for_l"
latin:keyEdgeFlags="right" />
</Row>
</merge>

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@ -22,11 +22,11 @@
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<Row
latin:keyWidth="8.042%p"
latin:keyWidth="10%p"
>
<Key
latin:keyStyle="shiftKeyStyle"
latin:keyWidth="15.192%p"
latin:keyWidth="15%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="z"
@ -46,33 +46,9 @@
latin:popupCharacters="@string/alternates_for_n" />
<Key
latin:keyLabel="m" />
<switch>
<case
latin:mode="email"
>
<Key
latin:keyLabel="," />
<Key
latin:keyLabel="." />
</case>
<default>
<Key
latin:keyLabel=","
latin:manualTemporaryUpperCaseCode="33"
latin:keyHintIcon="@drawable/key_hint_exclamation_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_exclamation_large_holo"
latin:popupCharacters="!" />
<Key
latin:keyLabel="."
latin:manualTemporaryUpperCaseCode="63"
latin:keyHintIcon="@drawable/key_hint_question_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_question_large_holo"
latin:popupCharacters="\?" />
</default>
</switch>
<Key
latin:keyStyle="shiftKeyStyle"
latin:keyWidth="12.530%p"
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="15%p"
latin:keyEdgeFlags="right" />
</Row>
</merge>

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@ -21,237 +21,116 @@
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<!-- This row is intentionally not marked as a bottom row -->
<Row
latin:keyWidth="8.042%p"
latin:keyWidth="10%p"
latin:rowEdgeFlags="bottom"
>
<Spacer
latin:horizontalGap="8.362%p" />
<switch>
<case latin:hasSettingsKey="true">
<case
latin:hasSettingsKey="false"
>
<Key
latin:keyStyle="toSymbolKeyStyle"
latin:keyWidth="20%p"
latin:keyEdgeFlags="left" />
<include
latin:keyboardLayout="@xml/kbd_qwerty_f1" />
<Key
latin:keyStyle="spaceKeyStyle"
latin:keyWidth="40%p" />
<switch>
<case
latin:mode="web"
>
<Key
latin:keyHintIcon="@drawable/hint_popup"
latin:popupCharacters="@string/alternates_for_web_tab_punctuation"
latin:maxPopupKeyboardColumn="8"
latin:keyStyle="tabKeyStyle" />
</case>
<default>
<Key
latin:keyLabel="."
latin:keyHintIcon="@drawable/hint_popup"
latin:popupCharacters="@string/alternates_for_punctuation"
latin:maxPopupKeyboardColumn="7"
latin:keyStyle="functionalKeyStyle" />
</default>
</switch>
<switch>
<case
latin:mode="im"
>
<Key
latin:keyStyle="smileyKeyStyle"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</case>
<default>
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" />
</default>
</switch>
</case>
<case
latin:hasSettingsKey="true"
>
<Key
latin:keyStyle="toSymbolKeyStyle"
latin:keyWidth="15%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyStyle="settingsKeyStyle" />
</case>
<default>
<Spacer
latin:horizontalGap="8.042%p" />
</default>
</switch>
<switch>
<case
latin:languageCode="ru"
>
<include
latin:keyboardLayout="@xml/kbd_qwerty_f1" />
<switch>
<!-- TODO: implement logical OR for <case> attribute -->
<case
latin:mode="email"
latin:mode="web"
>
<Key
latin:keyStyle="comKeyStyle" />
</case>
<case
latin:mode="url"
>
latin:keyStyle="spaceKeyStyle"
latin:keyWidth="30%p" />
<Key
latin:keyStyle="comKeyStyle" />
</case>
<case
latin:imeAction="actionSearch"
>
<Key
latin:keyLabel=":"
latin:manualTemporaryUpperCaseCode="43"
latin:keyHintIcon="@drawable/key_hint_plus_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_plus_large_holo"
latin:popupCharacters="+" />
latin:keyStyle="tabKeyStyle" />
</case>
<default>
<Key
latin:keyStyle="smileyKeyStyle" />
latin:keyStyle="spaceKeyStyle"
latin:keyWidth="30%p" />
</default>
</switch>
<switch>
<case
latin:mode="email"
>
<Key
latin:keyLabel="\@" />
</case>
<case
latin:mode="url"
>
<Key
latin:keyLabel="-"
latin:manualTemporaryUpperCaseCode="95"
latin:keyHintIcon="@drawable/key_hint_underline_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_underline_large_holo"
latin:popupCharacters="_" />
</case>
<default>
<Key
latin:keyLabel="/"
latin:manualTemporaryUpperCaseCode="64"
latin:keyHintIcon="@drawable/key_hint_at_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_at_large_holo"
latin:popupCharacters="\@" />
</default>
</switch>
</case>
<!-- not languageCode="ru" -->
<default>
<switch>
<case
latin:mode="url"
>
<Key
latin:keyStyle="comKeyStyle"
latin:keyWidth="16.084%p" />
</case>
<default>
<switch>
<case
latin:mode="email"
>
<Key
latin:keyStyle="comKeyStyle" />
</case>
<case
latin:imeAction="actionSearch"
>
<Key
latin:keyLabel=":"
latin:manualTemporaryUpperCaseCode="43"
latin:keyHintIcon="@drawable/key_hint_plus_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_plus_large_holo"
latin:popupCharacters="+" />
</case>
<default>
<Key
latin:keyStyle="smileyKeyStyle" />
</default>
</switch>
<switch>
<case
latin:mode="email"
>
<Key
latin:keyLabel="\@" />
</case>
<default>
<Key
latin:keyLabel="/"
latin:manualTemporaryUpperCaseCode="64"
latin:keyHintIcon="@drawable/key_hint_at_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_at_large_holo"
latin:popupCharacters="\@" />
</default>
</switch>
</default>
</switch>
</default>
</switch>
<Key
latin:keyStyle="spaceKeyStyle"
latin:keyWidth="37.454%p" />
<switch>
<case
latin:languageCode="ru"
>
<switch>
<case
latin:mode="email"
>
<Key
latin:keyLabel="-" />
</case>
<case
latin:mode="url"
>
<Key
latin:keyLabel="/"
latin:manualTemporaryUpperCaseCode="58"
latin:keyHintIcon="@drawable/key_hint_colon_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_colon_large_holo"
latin:popupCharacters=":" />
</case>
<default>
<Key
latin:keyLabel="\?"
latin:manualTemporaryUpperCaseCode="95"
latin:keyHintIcon="@drawable/key_hint_underline_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_underline_large_holo"
latin:popupCharacters="_" />
</default>
</switch>
<switch>
<case
latin:mode="email"
>
<Key
latin:keyLabel="_" />
</case>
<default>
<Key
latin:keyLabel="!"
latin:manualTemporaryUpperCaseCode="39"
latin:keyHintIcon="@drawable/key_hint_quote_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_quote_large_holo"
latin:popupCharacters="\'" />
</default>
</switch>
</case>
<!-- not languageCode="ru" -->
<default>
<switch>
<case
latin:mode="email"
>
<Key
latin:keyLabel="-" />
</case>
<case
latin:mode="url"
>
<Key
latin:keyLabel="/"
latin:manualTemporaryUpperCaseCode="58"
latin:keyHintIcon="@drawable/key_hint_colon_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_colon_large_holo"
latin:popupCharacters=":" />
</case>
<default>
<Key
latin:keyLabel="\'"
latin:manualTemporaryUpperCaseCode="34"
latin:keyHintIcon="@drawable/key_hint_quote_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_quote_large_holo"
latin:popupCharacters="&quot;" />
</default>
</switch>
<switch>
<case
latin:mode="email"
>
<Key
latin:keyLabel="_" />
</case>
<default>
<Key
latin:keyLabel="-"
latin:manualTemporaryUpperCaseCode="95"
latin:keyHintIcon="@drawable/key_hint_underline_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_underline_large_holo"
latin:popupCharacters="_" />
</default>
</switch>
</default>
</switch>
<switch>
<case
latin:voiceKeyEnabled="true"
>
<Key
latin:keyStyle="micKeyStyle" />
latin:keyLabel="."
latin:keyHintIcon="@drawable/hint_popup"
latin:popupCharacters="@string/alternates_for_punctuation"
latin:maxPopupKeyboardColumn="7"
latin:keyStyle="functionalKeyStyle" />
<switch>
<case
latin:mode="im"
>
<Key
latin:keyStyle="smileyKeyStyle"
latin:keyWidth="25%p"
latin:keyEdgeFlags="right" />
</case>
<case
latin:mode="web"
>
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="15%p"
latin:keyEdgeFlags="right" />
</case>
<default>
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="25%p"
latin:keyEdgeFlags="right" />
</default>
</switch>
</case>
</switch>
</Row>

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@ -24,61 +24,64 @@
<include
latin:keyboardLayout="@xml/kbd_key_styles" />
<Row
latin:keyWidth="7.520%p"
latin:keyWidth="9.09%p"
latin:rowEdgeFlags="top"
>
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
latin:keyWidth="7.949%p"
latin:keyLabel="q"
latin:keyHintIcon="@drawable/keyboard_hint_1"
latin:popupCharacters="@string/alternates_for_q"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="q"
latin:popupCharacters="@string/alternates_for_q" />
<Key
latin:keyLabel="w"
latin:keyHintIcon="@drawable/keyboard_hint_2"
latin:popupCharacters="@string/alternates_for_w" />
<Key
latin:keyLabel="e"
latin:keyHintIcon="@drawable/keyboard_hint_3"
latin:popupCharacters="@string/alternates_for_e" />
<Key
latin:keyLabel="r"
latin:keyHintIcon="@drawable/keyboard_hint_4"
latin:popupCharacters="@string/alternates_for_r" />
<Key
latin:keyLabel="t"
latin:keyHintIcon="@drawable/keyboard_hint_5"
latin:popupCharacters="@string/alternates_for_t" />
<Key
latin:keyLabel="y"
latin:keyHintIcon="@drawable/keyboard_hint_6"
latin:popupCharacters="@string/alternates_for_y" />
<Key
latin:keyLabel="u"
latin:keyHintIcon="@drawable/keyboard_hint_7"
latin:popupCharacters="@string/alternates_for_u" />
<Key
latin:keyLabel="i"
latin:keyHintIcon="@drawable/keyboard_hint_8"
latin:popupCharacters="@string/alternates_for_i" />
<Key
latin:keyLabel="o"
latin:keyHintIcon="@drawable/keyboard_hint_9"
latin:popupCharacters="@string/alternates_for_o" />
<Key
latin:keyLabel="p"
latin:keyHintIcon="@drawable/keyboard_hint_0"
latin:popupCharacters="@string/alternates_for_p" />
<Key
latin:keyLabel="å" />
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.331%p"
latin:keyLabel="å"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="7.520%p"
latin:keyWidth="9.09%p"
>
<Key
latin:keyStyle="toSymbolKeyStyle"
latin:keyLabelOption="alignLeft"
latin:keyWidth="7.949%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="a"
latin:popupCharacters="@string/alternates_for_a" />
latin:popupCharacters="@string/alternates_for_a"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="s"
latin:popupCharacters="@string/alternates_for_s" />
@ -105,10 +108,8 @@
latin:popupCharacters="@string/alternates_for_scandinavia_row2_10" />
<Key
latin:keyLabel="@string/keylabel_for_scandinavia_row2_11"
latin:popupCharacters="@string/alternates_for_scandinavia_row2_11" />
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="9.331%p"
latin:popupCharacters="@string/alternates_for_scandinavia_row2_11"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="right" />
</Row>
<include

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@ -24,56 +24,60 @@
<include
latin:keyboardLayout="@xml/kbd_key_styles" />
<Row
latin:keyWidth="8.272%p"
latin:keyWidth="10%p"
latin:rowEdgeFlags="top"
>
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
latin:keyWidth="7.949%p"
latin:keyLabel="q"
latin:keyHintIcon="@drawable/keyboard_hint_1"
latin:popupCharacters="@string/alternates_for_q"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="q"
latin:popupCharacters="@string/alternates_for_q" />
<Key
latin:keyLabel="w"
latin:keyHintIcon="@drawable/keyboard_hint_2"
latin:popupCharacters="@string/alternates_for_w" />
<Key
latin:keyLabel="e"
latin:keyHintIcon="@drawable/keyboard_hint_3"
latin:popupCharacters="@string/alternates_for_e" />
<Key
latin:keyLabel="r"
latin:keyHintIcon="@drawable/keyboard_hint_4"
latin:popupCharacters="@string/alternates_for_r" />
<Key
latin:keyLabel="t"
latin:keyHintIcon="@drawable/keyboard_hint_5"
latin:popupCharacters="@string/alternates_for_t" />
<Key
latin:keyLabel="z"
latin:keyHintIcon="@drawable/keyboard_hint_6"
latin:popupCharacters="@string/alternates_for_z" />
<Key
latin:keyLabel="u"
latin:keyHintIcon="@drawable/keyboard_hint_7"
latin:popupCharacters="@string/alternates_for_u" />
<Key
latin:keyLabel="i"
latin:keyHintIcon="@drawable/keyboard_hint_8"
latin:popupCharacters="@string/alternates_for_i" />
<Key
latin:keyLabel="o"
latin:keyHintIcon="@drawable/keyboard_hint_9"
latin:popupCharacters="@string/alternates_for_o" />
<Key
latin:keyLabel="p"
latin:popupCharacters="@string/alternates_for_p" />
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.331%p"
latin:keyHintIcon="@drawable/keyboard_hint_0"
latin:popupCharacters="@string/alternates_for_p"
latin:keyEdgeFlags="right" />
</Row>
<include
latin:keyboardLayout="@xml/kbd_qwerty_row2" />
<Row
latin:keyWidth="8.042%p"
latin:keyWidth="10%p"
>
<Key
latin:keyStyle="shiftKeyStyle"
latin:keyWidth="15.192%p"
latin:keyWidth="15%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="y"
@ -93,33 +97,9 @@
latin:popupCharacters="@string/alternates_for_n" />
<Key
latin:keyLabel="m" />
<switch>
<case
latin:mode="email"
>
<Key
latin:keyLabel="," />
<Key
latin:keyLabel="." />
</case>
<default>
<Key
latin:keyLabel=","
latin:manualTemporaryUpperCaseCode="33"
latin:keyHintIcon="@drawable/key_hint_exclamation_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_exclamation_large_holo"
latin:popupCharacters="!" />
<Key
latin:keyLabel="."
latin:manualTemporaryUpperCaseCode="63"
latin:keyHintIcon="@drawable/key_hint_question_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_question_large_holo"
latin:popupCharacters="\?" />
</default>
</switch>
<Key
latin:keyStyle="shiftKeyStyle"
latin:keyWidth="12.530%p"
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="15%p"
latin:keyEdgeFlags="right" />
</Row>
<include

View File

@ -23,62 +23,64 @@
>
<include
latin:keyboardLayout="@xml/kbd_key_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row
latin:keyWidth="7.520%p"
latin:keyWidth="9.091%p"
latin:rowEdgeFlags="top"
>
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
latin:keyWidth="7.949%p"
latin:keyLabel="й"
latin:keyHintIcon="@drawable/keyboard_hint_1"
latin:popupCharacters="1"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="й"
latin:popupCharacters="1" />
<Key
latin:keyLabel="ц"
latin:keyHintIcon="@drawable/keyboard_hint_2"
latin:popupCharacters="2" />
<Key
latin:keyLabel="у"
latin:keyHintIcon="@drawable/keyboard_hint_3"
latin:popupCharacters="3" />
<Key
latin:keyLabel="к"
latin:keyHintIcon="@drawable/keyboard_hint_4"
latin:popupCharacters="4" />
<Key
latin:keyLabel="е"
latin:keyHintIcon="@drawable/keyboard_hint_5"
latin:popupCharacters="@string/alternates_for_cyrillic_e" />
<Key
latin:keyLabel="н"
latin:keyHintIcon="@drawable/keyboard_hint_6"
latin:popupCharacters="6" />
<Key
latin:keyLabel="г"
latin:keyHintIcon="@drawable/keyboard_hint_7"
latin:popupCharacters="7" />
<Key
latin:keyLabel="ш"
latin:keyHintIcon="@drawable/keyboard_hint_8"
latin:popupCharacters="8" />
<Key
latin:keyLabel="щ"
latin:keyHintIcon="@drawable/keyboard_hint_9"
latin:popupCharacters="9" />
<Key
latin:keyLabel="з"
latin:keyHintIcon="@drawable/keyboard_hint_0"
latin:popupCharacters="0" />
<Key
latin:keyLabel="х" />
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.331%p"
latin:keyLabel="х"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="7.520%p"
latin:keyWidth="9.091%p"
>
<Key
latin:keyStyle="toSymbolKeyStyle"
latin:keyLabelOption="alignLeft"
latin:keyWidth="7.949%p"
latin:keyLabel="ф"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="ф" />
<Key
latin:keyLabel="ы" />
<Key
@ -98,18 +100,16 @@
<Key
latin:keyLabel="ж" />
<Key
latin:keyLabel="э" />
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="9.331%p"
latin:keyLabel="э"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="7.520%p"
latin:keyWidth="8.5%p"
>
<Key
latin:keyStyle="shiftKeyStyle"
latin:keyWidth="12.400%p"
latin:keyWidth="11.75%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="я" />
@ -131,14 +131,8 @@
<Key
latin:keyLabel="ю" />
<Key
latin:keyLabel="."
latin:manualTemporaryUpperCaseCode="44"
latin:keyHintIcon="@drawable/key_hint_comma_holo"
latin:manualTemporaryUpperCaseHintIcon="@drawable/key_hint_comma_large_holo"
latin:popupCharacters="," />
<Key
latin:keyStyle="shiftKeyStyle"
latin:keyWidth="12.400%p"
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="11.75%p"
latin:keyEdgeFlags="right" />
</Row>
<include

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@ -23,6 +23,7 @@
latin:keyboardHeight="@dimen/keyboardHeight"
latin:maxKeyboardHeight="50%p"
latin:rowHeight="25%p"
latin:keyWidth="10%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:popupKeyboardTemplate="@xml/kbd_popup_template"
@ -32,18 +33,13 @@
latin:keyboardLayout="@xml/kbd_key_styles" />
<include
latin:keyboardLayout="@xml/kbd_currency_key_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row
latin:keyWidth="8.272%p"
latin:rowEdgeFlags="top"
>
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
latin:keyWidth="7.949%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="1"
latin:popupCharacters="¹,½,⅓,¼,⅛" />
latin:popupCharacters="¹,½,⅓,¼,⅛"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="2"
latin:popupCharacters="²,⅔" />
@ -67,22 +63,15 @@
latin:keyLabel="9" />
<Key
latin:keyLabel="0"
latin:popupCharacters="ⁿ,∅" />
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.331%p"
latin:popupCharacters="ⁿ,∅"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="8.157%p"
>
<Row>
<Key
latin:keyStyle="toAlphaKeyStyle"
latin:keyLabelOption="alignLeft"
latin:keyWidth="11.167%p"
latin:keyLabel="\@"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="#" />
latin:keyLabel="\#" />
<Key
latin:keyStyle="currencyKeyStyle" />
<Key
@ -104,127 +93,39 @@
latin:popupCharacters="[,{,&lt;" />
<Key
latin:keyLabel=")"
latin:popupCharacters="],},&gt;" />
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="15.750%p"
latin:popupCharacters="],},&gt;"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="8.042%p"
>
<Row>
<Key
latin:keyStyle="moreKeyStyle"
latin:keyWidth="15.192%p"
latin:keyStyle="altKeyStyle"
latin:keyWidth="15%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="&lt;"
latin:popupCharacters="≤,«," />
latin:keyLabel="!"
latin:popupCharacters="¡" />
<!-- Note: DroidSans doesn't have double-high-reversed-quotation '\u201f' glyph. -->
<!-- latin:popupCharacters="“,”,„,‟,«,»" -->
<Key
latin:keyLabel="&gt;"
latin:popupCharacters="≥,»," />
latin:keyLabel="&quot;"
latin:popupCharacters="“,”,«,»"
latin:maxPopupKeyboardColumn="6" />
<Key
latin:keyLabel="="
latin:popupCharacters="≠,≈" />
<switch>
<case
latin:languageCode="ru"
>
<Key
latin:keyLabel=":" />
</case>
<case
latin:mode="url"
>
<Key
latin:keyLabel="\'" />
</case>
<default>
<Key
latin:keyLabel=":" />
</default>
</switch>
latin:keyLabel="\'"
latin:popupCharacters=",,," />
<Key
latin:keyLabel=":" />
<Key
latin:keyLabel=";" />
<switch>
<case
latin:languageCode="ru"
>
<Key
latin:keyLabel="\'" />
<Key
latin:keyLabel="&quot;"
latin:popupCharacters="“,”,«,»,˝" />
<Key
latin:keyLabel="." />
<Key
latin:keyLabel="," />
</case>
<default>
<Key
latin:keyLabel="," />
<Key
latin:keyLabel="." />
<Key
latin:keyLabel="!"
latin:popupCharacters="¡" />
<Key
latin:keyLabel="\?"
latin:popupCharacters="¿" />
</default>
</switch>
<Key
latin:keyStyle="moreKeyStyle"
latin:keyWidth="12.530%p"
latin:keyEdgeFlags="right" />
</Row>
<!-- This row is intentionally not marked as a bottom row -->
<Row
latin:keyWidth="8.042%p"
>
<Spacer
latin:horizontalGap="8.362%p" />
<switch>
<case latin:hasSettingsKey="true">
<Key
latin:keyStyle="settingsKeyStyle" />
</case>
<default>
<Spacer
latin:horizontalGap="8.042%p" />
</default>
</switch>
<Key
latin:keyLabel="/" />
<Key
latin:keyLabel="\@" />
latin:keyLabel="\?"
latin:popupCharacters="¿" />
<Key
latin:keyStyle="spaceKeyStyle"
latin:keyWidth="37.454%p" />
<switch>
<case
latin:languageCode="ru"
>
<Key
latin:keyLabel="_" />
<Key
latin:keyLabel="-" />
</case>
<default>
<Key
latin:keyLabel="&quot;"
latin:popupCharacters="“,”,«,»,˝" />
<Key
latin:keyLabel="_" />
</default>
</switch>
<switch>
<case
latin:voiceKeyEnabled="true"
>
<Key
latin:keyStyle="micKeyStyle" />
</case>
</switch>
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="15%p"
latin:keyEdgeFlags="right" />
</Row>
<include latin:keyboardLayout="@xml/kbd_symbols_row4" />
</Keyboard>

View File

@ -2,7 +2,7 @@
<!--
/*
**
** Copyright 2010, The Android Open Source Project
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
@ -23,6 +23,7 @@
latin:keyboardHeight="@dimen/keyboardHeight"
latin:maxKeyboardHeight="50%p"
latin:rowHeight="25%p"
latin:keyWidth="10%p"
latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap"
latin:popupKeyboardTemplate="@xml/kbd_popup_template"
@ -30,17 +31,12 @@
>
<include
latin:keyboardLayout="@xml/kbd_key_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row
latin:keyWidth="8.272%p"
latin:rowEdgeFlags="top"
>
<Key
latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft"
latin:keyWidth="7.949%p"
latin:keyLabel="~"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="~" />
<Key
latin:keyLabel="`" />
<Key
@ -63,24 +59,14 @@
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="×" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="§"
latin:popupCharacters="¶" />
latin:keyLabel="{" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="Δ" />
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.331%p"
latin:keyLabel="}"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="8.157%p"
>
<Row>
<Key
latin:keyStyle="toAlphaKeyStyle"
latin:keyLabelOption="alignLeft"
latin:keyWidth="11.167%p"
latin:keyStyle="nonSpecialBackgroundTabKeyStyle"
latin:keyEdgeFlags="left" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
@ -93,88 +79,52 @@
latin:keyLabel="€" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="¥" />
latin:keyLabel="°"
latin:popupCharacters=",″" />
<Key
latin:keyLabel="^"
latin:popupCharacters="↑,↓,←,→" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="°" />
latin:keyLabel="_" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="±"
latin:popupCharacters="∞" />
latin:keyLabel="="
latin:popupCharacters="≠,≈,∞" />
<Key
latin:keyLabel="{" />
latin:keyLabel="[" />
<Key
latin:keyLabel="}" />
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="15.750%p"
latin:keyLabel="]"
latin:keyEdgeFlags="right" />
</Row>
<Row
latin:keyWidth="8.042%p"
>
<Row>
<Key
latin:keyStyle="moreKeyStyle"
latin:keyWidth="15.192%p"
latin:keyStyle="shiftKeyStyle"
latin:keyWidth="15%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="\\" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="©" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="®" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="™" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="℅" />
<Key
latin:keyLabel="[" />
<Key
latin:keyLabel="]" />
latin:keyLabel="®" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="¡" />
latin:keyLabel="©" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="¿" />
latin:keyLabel="¶"
latin:popupCharacters="§" />
<Key
latin:keyStyle="moreKeyStyle"
latin:keyWidth="12.530%p"
latin:keyLabel="\\" />
<Key
latin:keyLabel="&lt;"
latin:popupCharacters="≤,«," />
<Key
latin:keyLabel="&gt;"
latin:popupCharacters="≥,»," />
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="15%p"
latin:keyEdgeFlags="right" />
</Row>
<!-- This row is intentionally not marked as a bottom row -->
<Row
latin:keyWidth="8.042%p"
>
<Spacer
latin:horizontalGap="24.446%p" />
<switch>
<case latin:hasSettingsKey="true">
<Key
latin:keyStyle="settingsKeyStyle" />
</case>
<default>
<Spacer
latin:horizontalGap="8.042%p" />
</default>
</switch>
<Key
latin:keyStyle="spaceKeyStyle"
latin:keyWidth="37.454%p" />
<switch>
<case
latin:voiceKeyEnabled="true"
>
<Key
latin:keyStyle="micKeyStyle" />
</case>
</switch>
</Row>
<include latin:keyboardLayout="@xml/kbd_symbols_shift_row4" />
</Keyboard>

View File

@ -137,7 +137,8 @@
latin:mode="url"
>
<Key
latin:keyLabel="\'" />
latin:keyLabel="\'"
latin:popupCharacters=",,," />
</case>
<default>
<Key
@ -151,10 +152,13 @@
latin:languageCode="ru"
>
<Key
latin:keyLabel="\'" />
latin:keyLabel="\'"
latin:popupCharacters=",,," />
<!-- Note: DroidSans doesn't have double-high-reversed-quotation '\u201f' glyph. -->
<!-- latin:popupCharacters="“,”,„,‟,«,»" -->
<Key
latin:keyLabel="&quot;"
latin:popupCharacters="“,”,«,»,˝" />
latin:popupCharacters="“,”,«,»" />
<Key
latin:keyLabel="." />
<Key
@ -210,10 +214,12 @@
<Key
latin:keyLabel="-" />
</case>
<default>
<default>
<!-- Note: DroidSans doesn't have double-high-reversed-quotation '\u201f' glyph. -->
<!-- latin:popupCharacters="“,”,„,‟,«,»,,,," -->
<Key
latin:keyLabel="&quot;"
latin:popupCharacters="“,”,«,»,˝" />
latin:popupCharacters="“,”,«,»,,,," />
<Key
latin:keyLabel="_" />
</default>

View File

@ -99,7 +99,8 @@
latin:popupCharacters="↑,↓,←,→" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="°" />
latin:keyLabel="°"
latin:popupCharacters=",″" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="±"

View File

@ -21,14 +21,45 @@
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<!-- Functional key styles -->
<!-- Base key style for the functional key -->
<switch>
<case
<case
latin:colorScheme="white"
>
<key-style
latin:styleName="functionalKeyStyle"
latin:isModifier="true" />
</case>
<case
latin:colorScheme="black"
>
<key-style
latin:styleName="functionalKeyStyle" />
</case>
</switch>
<!-- Base key style for the key which may have settings key as popup key -->
<switch>
<case
latin:hasSettingsKey="true"
>
<key-style
latin:styleName="settingsPopupStyle"
latin:parentStyle="functionalKeyStyle" />
</case>
<!-- latin:hasSettingsKey="false" -->
<default>
<key-style
latin:styleName="settingsPopupStyle"
latin:keyHintIcon="@drawable/hint_popup"
latin:popupCharacters="\@drawable/sym_keyboard_settings|\@integer/key_settings"
latin:parentStyle="functionalKeyStyle" />
</default>
</switch>
<!-- Functional key styles -->
<switch>
<case
latin:colorScheme="white"
>
<key-style
latin:styleName="shiftKeyStyle"
latin:code="@integer/key_shift"
@ -90,9 +121,7 @@
latin:code="@integer/key_voice"
latin:keyIcon="@drawable/sym_keyboard_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
latin:keyHintIcon="@drawable/hint_popup"
latin:popupCharacters="@string/alternates_for_mic"
latin:parentStyle="functionalKeyStyle" />
latin:parentStyle="settingsPopupStyle" />
<!-- Note: This key style is not for functional tab key. This is used for the tab key
which is laid out as normal letter key. -->
<key-style
@ -104,8 +133,6 @@
<case
latin:colorScheme="black"
>
<key-style
latin:styleName="functionalKeyStyle" />
<key-style
latin:styleName="shiftKeyStyle"
latin:code="@integer/key_shift"
@ -167,9 +194,7 @@
latin:code="@integer/key_voice"
latin:keyIcon="@drawable/sym_bkeyboard_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
latin:keyHintIcon="@drawable/hint_popup"
latin:popupCharacters="@string/alternates_for_mic"
latin:parentStyle="functionalKeyStyle" />
latin:parentStyle="settingsPopupStyle" />
<!-- Note: This key style is not for functional tab key. This is used for the tab key
which is laid out as normal letter key. -->
<key-style
@ -287,4 +312,27 @@
latin:popupCharacters="@string/alternates_for_smiley"
latin:maxPopupKeyboardColumn="5"
latin:parentStyle="functionalKeyStyle" />
<switch>
<case
latin:passwordInput="true"
>
<key-style
latin:styleName="nonPasswordSymbolKeyStyle"
latin:enabled="false" />
<key-style
latin:styleName="nonPasswordFunctionalKeyStyle"
latin:enabled="false"
latin:parentStyle="functionalKeyStyle" />
</case>
<!-- latin:passwordInput="false" -->
<default>
<key-style
latin:styleName="nonPasswordSymbolKeyStyle"
latin:enabled="true" />
<key-style
latin:styleName="nonPasswordFunctionalKeyStyle"
latin:enabled="true"
latin:parentStyle="functionalKeyStyle" />
</default>
</switch>
</merge>

View File

@ -1,27 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<Keyboard xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
latin:keyWidth="9.45%p"
latin:horizontalGap="0px"
latin:verticalGap="0px"
latin:rowHeight="@dimen/popup_key_height"
>
</Keyboard>

View File

@ -1,84 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2010, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
*/
-->
<merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
>
<switch>
<case
latin:hasSettingsKey="false"
>
<switch>
<!-- When this qwerty keyboard has no voice key but voice key is enabled, then
symbol keyboard will have mic key. That means we should use "?123mic" key here.
-->
<case
latin:voiceKeyEnabled="true"
latin:hasVoiceKey="false"
>
<Key
latin:code="@integer/key_switch_alpha_symbol"
latin:keyIcon="@drawable/sym_bkeyboard_123_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_123_mic"
latin:keyWidth="20%p"
latin:isModifier="true"
latin:keyEdgeFlags="left" />
</case>
<default>
<Key
latin:code="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_symbol_key"
latin:keyWidth="20%p"
latin:isModifier="true"
latin:keyEdgeFlags="left" />
</default>
</switch>
</case>
<case
latin:hasSettingsKey="true"
>
<switch>
<!-- When this qwerty keyboard has no voice key but voice key is enabled, then
symbol keyboard will have mic key. That means we should use "?123mic" key here.
-->
<case
latin:voiceKeyEnabled="true"
latin:hasVoiceKey="false"
>
<Key
latin:code="@integer/key_switch_alpha_symbol"
latin:keyIcon="@drawable/sym_bkeyboard_123_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_123_mic"
latin:keyWidth="15%p"
latin:isModifier="true"
latin:keyEdgeFlags="left" />
</case>
<default>
<Key
latin:code="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_symbol_key"
latin:keyWidth="15%p"
latin:isModifier="true"
latin:keyEdgeFlags="left" />
</default>
</switch>
</case>
</switch>
</merge>

View File

@ -27,18 +27,14 @@
>
<Key
latin:keyLabel="/"
latin:keyHintIcon="@drawable/hint_popup"
latin:popupCharacters="@string/alternates_for_settings_slash"
latin:isModifier="true" />
latin:keyStyle="settingsPopupStyle" />
</case>
<case
latin:mode="email"
>
<Key
latin:keyLabel="\@"
latin:keyHintIcon="@drawable/hint_popup"
latin:popupCharacters="@string/alternates_for_settings_at"
latin:isModifier="true" />
latin:keyStyle="settingsPopupStyle" />
</case>
<default>
<switch>
@ -48,15 +44,19 @@
<Key
latin:keyStyle="micKeyStyle" />
</case>
<!-- latin:hasVoiceKey="false" -->
<case
latin:hasVoiceKey="false"
latin:mode="web"
>
<Key
latin:keyLabel=","
latin:keyHintIcon="@drawable/hint_popup"
latin:popupCharacters="@string/alternates_for_settings_comma"
latin:isModifier="true" />
latin:keyLabel="."
latin:keyStyle="settingsPopupStyle" />
</case>
<default>
<Key
latin:keyLabel=","
latin:keyStyle="settingsPopupStyle" />
</default>
</switch>
</default>
</switch>

View File

@ -104,12 +104,15 @@
<Key
latin:keyLabel="!"
latin:popupCharacters="¡" />
<!-- Note: DroidSans doesn't have double-high-reversed-quotation '\u201f' glyph. -->
<!-- latin:popupCharacters="“,”,„,‟,«,»" -->
<Key
latin:keyLabel="&quot;"
latin:popupCharacters="“,”,«,»,˝" />
latin:popupCharacters="“,”,«,»"
latin:maxPopupKeyboardColumn="6" />
<Key
latin:keyLabel="\'"
latin:popupCharacters="," />
latin:popupCharacters=",,," />
<Key
latin:keyLabel=":" />
<Key

View File

@ -28,14 +28,11 @@
<Key
latin:keyStyle="micKeyStyle" />
</case>
<case
latin:hasVoiceKey="false"
>
<!-- latin:hasVoiceKey="false" -->
<default>
<Key
latin:keyLabel=","
latin:keyHintIcon="@drawable/hint_popup"
latin:popupCharacters="@string/alternates_for_settings_comma"
latin:keyStyle="functionalKeyStyle" />
</case>
latin:keyStyle="settingsPopupStyle" />
</default>
</switch>
</merge>

View File

@ -42,16 +42,21 @@
<Key
latin:keyLabel="|" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="•"
latin:popupCharacters="♪,♥,♠,♦,♣" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="√" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="π"
latin:popupCharacters="Π" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="÷" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="×" />
<Key
latin:keyLabel="{" />
@ -64,13 +69,18 @@
latin:keyStyle="nonSpecialBackgroundTabKeyStyle"
latin:keyEdgeFlags="left" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="£" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="¢" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="€" />
<Key
latin:keyLabel="°" />
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="°"
latin:popupCharacters=",″" />
<Key
latin:keyLabel="^"
latin:popupCharacters="↑,↓,←,→" />
@ -91,12 +101,16 @@
latin:keyWidth="15%p"
latin:keyEdgeFlags="left" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="™" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="®" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="©" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="¶"
latin:popupCharacters="§" />
<Key

View File

@ -34,13 +34,13 @@
latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="„"
latin:keyStyle="functionalKeyStyle" />
latin:keyStyle="nonPasswordFunctionalKeyStyle" />
<Key
latin:keyStyle="spaceKeyStyle"
latin:keyWidth="40%p" />
<Key
latin:keyLabel="…"
latin:keyStyle="functionalKeyStyle" />
latin:keyStyle="nonPasswordFunctionalKeyStyle" />
<switch>
<case
latin:mode="im"
@ -69,13 +69,13 @@
latin:keyStyle="settingsKeyStyle" />
<Key
latin:keyLabel="„"
latin:keyStyle="functionalKeyStyle" />
latin:keyStyle="nonPasswordFunctionalKeyStyle" />
<Key
latin:keyStyle="spaceKeyStyle"
latin:keyWidth="30%p" />
<Key
latin:keyLabel="…"
latin:keyStyle="functionalKeyStyle" />
latin:keyStyle="nonPasswordFunctionalKeyStyle" />
<switch>
<case
latin:mode="im"

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
@ -140,9 +140,9 @@ public class Key {
* This constructor is being used only for key in mini popup keyboard.
*/
public Key(Resources res, Keyboard keyboard, CharSequence popupCharacter, int x, int y,
int width, int edgeFlags) {
int width, int height, int edgeFlags) {
mKeyboard = keyboard;
mHeight = keyboard.getRowHeight() - keyboard.getVerticalGap();
mHeight = height - keyboard.getVerticalGap();
mGap = keyboard.getHorizontalGap();
mWidth = width - mGap;
mEdgeFlags = edgeFlags;

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -37,7 +37,6 @@ import android.graphics.drawable.Drawable;
import android.os.Handler;
import android.os.Message;
import android.os.SystemClock;
import android.provider.Settings;
import android.util.AttributeSet;
import android.util.Log;
import android.util.TypedValue;
@ -1108,7 +1107,7 @@ public class KeyboardView extends View implements PointerTracker.UIProxy {
miniKeyboardView.mGestureDetector = null;
final Keyboard keyboard = new MiniKeyboardBuilder(this, mKeyboard.getPopupKeyboardResId(),
popupKey).build();
popupKey, mKeyboard).build();
miniKeyboardView.setKeyboard(keyboard);
miniKeyboardView.mMiniKeyboardParent = this;

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2011 Google Inc.
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of
@ -34,7 +34,7 @@ public class MiniKeyboardBuilder {
/* package */ static class MiniKeyboardLayoutParams {
public final int mKeyWidth;
public final int mRowHeight;
/* package */ final boolean mTopRowNeedsCentering;
/* package */ final int mTopRowAdjustment;
public final int mNumRows;
public final int mNumColumns;
public final int mLeftKeys;
@ -55,29 +55,52 @@ public class MiniKeyboardBuilder {
if (parentKeyboardWidth / keyWidth < maxColumns)
throw new IllegalArgumentException("Keyboard is too small to hold mini keyboard: "
+ parentKeyboardWidth + " " + keyWidth + " " + maxColumns);
final int numRows = (numKeys + maxColumns - 1) / maxColumns;
mKeyWidth = keyWidth;
mRowHeight = rowHeight;
mNumRows = numRows;
final int numColumns = Math.min(numKeys, maxColumns);
final int topRowKeys = numKeys % numColumns;
final int numRows = (numKeys + maxColumns - 1) / maxColumns;
mNumRows = numRows;
final int numColumns = getOptimizedColumns(numKeys, maxColumns);
mNumColumns = numColumns;
mTopRowNeedsCentering = topRowKeys != 0 && (numColumns - topRowKeys) % 2 != 0;
final int numLeftKeys = (numColumns - 1) / 2;
final int numRightKeys = numColumns - numLeftKeys; // including default key.
final int maxLeftKeys = coordXInParent / keyWidth;
final int maxRightKeys = Math.max(1, (parentKeyboardWidth - coordXInParent) / keyWidth);
int leftKeys, rightKeys;
if (numLeftKeys > maxLeftKeys) {
mLeftKeys = maxLeftKeys;
mRightKeys = numColumns - maxLeftKeys;
leftKeys = maxLeftKeys;
rightKeys = numColumns - maxLeftKeys;
} else if (numRightKeys > maxRightKeys) {
mLeftKeys = numColumns - maxRightKeys;
mRightKeys = maxRightKeys;
leftKeys = numColumns - maxRightKeys;
rightKeys = maxRightKeys;
} else {
mLeftKeys = numLeftKeys;
mRightKeys = numRightKeys;
leftKeys = numLeftKeys;
rightKeys = numRightKeys;
}
// Shift right if the left edge of mini keyboard is on the edge of parent keyboard
// unless the parent key is on the left edge.
if (leftKeys * keyWidth >= coordXInParent && leftKeys > 0) {
leftKeys--;
rightKeys++;
}
// Shift left if the right edge of mini keyboard is on the edge of parent keyboard
// unless the parent key is on the right edge.
if (rightKeys * keyWidth + coordXInParent >= parentKeyboardWidth && rightKeys > 1) {
leftKeys++;
rightKeys--;
}
mLeftKeys = leftKeys;
mRightKeys = rightKeys;
// Centering of the top row.
final boolean onEdge = (leftKeys == 0 || rightKeys == 1);
if (numRows < 2 || onEdge || getTopRowEmptySlots(numKeys, numColumns) % 2 == 0) {
mTopRowAdjustment = 0;
} else if (mLeftKeys < mRightKeys - 1) {
mTopRowAdjustment = 1;
} else {
mTopRowAdjustment = -1;
}
}
@ -113,14 +136,32 @@ public class MiniKeyboardBuilder {
return pos;
}
private static int getTopRowEmptySlots(int numKeys, int numColumns) {
final int remainingKeys = numKeys % numColumns;
if (remainingKeys == 0) {
return 0;
} else {
return numColumns - remainingKeys;
}
}
private int getOptimizedColumns(int numKeys, int maxColumns) {
int numColumns = Math.min(numKeys, maxColumns);
while (getTopRowEmptySlots(numKeys, numColumns) >= mNumRows) {
numColumns--;
}
return numColumns;
}
public int getDefaultKeyCoordX() {
return mLeftKeys * mKeyWidth;
}
public int getX(int n, int row) {
final int x = getColumnPos(n) * mKeyWidth + getDefaultKeyCoordX();
if (isLastRow(row) && mTopRowNeedsCentering)
return x - mKeyWidth / 2;
if (isTopRow(row)) {
return x + mTopRowAdjustment * (mKeyWidth / 2);
}
return x;
}
@ -131,31 +172,33 @@ public class MiniKeyboardBuilder {
public int getRowFlags(int row) {
int rowFlags = 0;
if (row == 0) rowFlags |= Keyboard.EDGE_TOP;
if (isLastRow(row)) rowFlags |= Keyboard.EDGE_BOTTOM;
if (isTopRow(row)) rowFlags |= Keyboard.EDGE_BOTTOM;
return rowFlags;
}
private boolean isLastRow(int rowCount) {
private boolean isTopRow(int rowCount) {
return rowCount == mNumRows - 1;
}
}
public MiniKeyboardBuilder(KeyboardView view, int layoutTemplateResId, Key popupKey) {
public MiniKeyboardBuilder(KeyboardView view, int layoutTemplateResId, Key parentKey,
Keyboard parentKeyboard) {
final Context context = view.getContext();
mRes = context.getResources();
final MiniKeyboard keyboard = new MiniKeyboard(context, layoutTemplateResId, null);
mKeyboard = keyboard;
mPopupCharacters = popupKey.mPopupCharacters;
mPopupCharacters = parentKey.mPopupCharacters;
final int keyWidth = getMaxKeyWidth(view, mPopupCharacters, keyboard.getKeyWidth());
final MiniKeyboardLayoutParams params = new MiniKeyboardLayoutParams(
mPopupCharacters.length, popupKey.mMaxPopupColumn,
keyWidth, keyboard.getRowHeight(),
popupKey.mX + (popupKey.mWidth + popupKey.mGap) / 2 - keyWidth / 2,
mPopupCharacters.length, parentKey.mMaxPopupColumn,
keyWidth, parentKeyboard.getRowHeight(),
parentKey.mX + (parentKey.mWidth + parentKey.mGap) / 2 - keyWidth / 2,
view.getMeasuredWidth());
mParams = params;
keyboard.setHeight(params.mNumRows * params.mRowHeight - keyboard.getVerticalGap());
keyboard.setRowHeight(params.mRowHeight);
keyboard.setHeight(params.mNumRows * params.mRowHeight);
keyboard.setMinWidth(params.mNumColumns * params.mKeyWidth);
keyboard.setDefaultCoordX(params.getDefaultKeyCoordX() + params.mKeyWidth / 2);
}
@ -194,7 +237,7 @@ public class MiniKeyboardBuilder {
final CharSequence label = mPopupCharacters[n];
final int row = n / params.mNumColumns;
final Key key = new Key(mRes, keyboard, label, params.getX(n, row), params.getY(row),
params.mKeyWidth, params.getRowFlags(row));
params.mKeyWidth, params.mRowHeight, params.getRowFlags(row));
keys.add(key);
}
return keyboard;

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2011 Google Inc.
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2009 Google Inc.
* Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2008-2009 Google Inc.
* Copyright (C) 2008-2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2009 Google Inc.
* Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2009 Google Inc.
* Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2009 Google Inc.
* Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2009 Google Inc.
* Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2011 Google Inc.
* Copyright (C) 2011 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2010 Google Inc.
* Copyright (C) 2010 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2009 Google Inc.
* Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2008 Google Inc.
* Copyright (C) 2008 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2008-2009 Google Inc.
* Copyright (C) 2008-2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of

View File

@ -1,5 +1,5 @@
/*
* Copyright (C) 2009 Google Inc.
* Copyright (C) 2009 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may not
* use this file except in compliance with the License. You may obtain a copy of