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

This change also fixes copyright comments.

Bug: 4442045
Change-Id: I297a2c64e709fb0d613404e5f1de45d810f9de15
This commit is contained in:
Tadashi G. Takaoka 2011-05-19 14:03:03 +09:00
parent 24e6643fbc
commit f5443e4ef5
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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with 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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with 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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with 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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with 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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with 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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
@ -19,9 +19,9 @@
--> -->
<resources> <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_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_popup_on_keypress_option">false</bool>
<bool name="config_enable_show_recorrection_option">false</bool> <bool name="config_enable_show_recorrection_option">false</bool>
<bool name="config_enable_quick_fixes_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_candidate_highlight_font_color_enabled">false</bool>
<bool name="config_swipe_down_dismiss_keyboard_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_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 --> <!-- Whether or not Popup on key press is enabled by default -->
<bool name="config_default_popup_preview">false</bool> <bool name="config_default_popup_preview">false</bool>
<bool name="config_default_sound_enabled">true</bool> <bool name="config_default_sound_enabled">true</bool>

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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with 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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with 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"> <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<!-- Default value of the visibility of the suggestion strip --> <!-- 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> </resources>

View file

@ -47,12 +47,9 @@
<string name="alternates_for_currency_dollar">¢,£,€,¥,₱</string> <string name="alternates_for_currency_dollar">¢,£,€,¥,₱</string>
<string name="alternates_for_currency_euro">¢,£,$,¥,₱</string> <string name="alternates_for_currency_euro">¢,£,$,¥,₱</string>
<string name="alternates_for_currency_pound">¢,$,€,¥,₱</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_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_punctuation">"\\,,\?,!,:,-,\',\",(,),/,;,+,&amp;,\@"</string>
<string name="alternates_for_settings_at">"\@drawable/sym_keyboard_settings|\@integer/key_settings,\@"</string> <string name="alternates_for_web_tab_punctuation">".,\\,,\?,!,:,-,\',\",(,),/,;,+,&amp;,\@"</string>
<string name="alternates_for_settings_comma">"\@drawable/sym_keyboard_settings|\@integer/key_settings,\\,"</string>
<string name="alternates_for_punctuation">":,/,&amp;,(,),-,+,;,\@,\',\",\?,!,\\,"</string>
<string name="keylabel_for_popular_domain">".com"</string> <string name="keylabel_for_popular_domain">".com"</string>
<!-- popular web domains for the locale - most popular, displayed on the keyboard --> <!-- popular web domains for the locale - most popular, displayed on the keyboard -->
<string name="alternates_for_popular_domain">".net,.org,.gov,.edu"</string> <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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with 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" <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:horizontalGap="0px"
latin:verticalGap="0px" latin:verticalGap="0px"
latin:rowHeight="@dimen/popup_key_height" 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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
@ -24,59 +24,59 @@
<include <include
latin:keyboardLayout="@xml/kbd_key_styles" /> latin:keyboardLayout="@xml/kbd_key_styles" />
<Row <Row
latin:keyWidth="8.272%p" latin:keyWidth="10%p"
latin:rowEdgeFlags="top"
> >
<Key <Key
latin:keyStyle="tabKeyStyle" latin:keyLabel="a"
latin:keyLabelOption="alignLeft" latin:keyHintIcon="@drawable/keyboard_hint_1"
latin:keyWidth="7.949%p" latin:popupCharacters="@string/alternates_for_a"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="a"
latin:popupCharacters="@string/alternates_for_a" />
<Key <Key
latin:keyLabel="z" latin:keyLabel="z"
latin:keyHintIcon="@drawable/keyboard_hint_2"
latin:popupCharacters="@string/alternates_for_z" /> latin:popupCharacters="@string/alternates_for_z" />
<Key <Key
latin:keyLabel="e" latin:keyLabel="e"
latin:keyHintIcon="@drawable/keyboard_hint_3"
latin:popupCharacters="@string/alternates_for_e" /> latin:popupCharacters="@string/alternates_for_e" />
<Key <Key
latin:keyLabel="r" latin:keyLabel="r"
latin:keyHintIcon="@drawable/keyboard_hint_4"
latin:popupCharacters="@string/alternates_for_r" /> latin:popupCharacters="@string/alternates_for_r" />
<Key <Key
latin:keyLabel="t" latin:keyLabel="t"
latin:keyHintIcon="@drawable/keyboard_hint_5"
latin:popupCharacters="@string/alternates_for_t" /> latin:popupCharacters="@string/alternates_for_t" />
<Key <Key
latin:keyLabel="y" latin:keyLabel="y"
latin:keyHintIcon="@drawable/keyboard_hint_6"
latin:popupCharacters="@string/alternates_for_y" /> latin:popupCharacters="@string/alternates_for_y" />
<Key <Key
latin:keyLabel="u" latin:keyLabel="u"
latin:keyHintIcon="@drawable/keyboard_hint_7"
latin:popupCharacters="@string/alternates_for_u" /> latin:popupCharacters="@string/alternates_for_u" />
<Key <Key
latin:keyLabel="i" latin:keyLabel="i"
latin:keyHintIcon="@drawable/keyboard_hint_8"
latin:popupCharacters="@string/alternates_for_i" /> latin:popupCharacters="@string/alternates_for_i" />
<Key <Key
latin:keyLabel="o" latin:keyLabel="o"
latin:keyHintIcon="@drawable/keyboard_hint_9"
latin:popupCharacters="@string/alternates_for_o" /> latin:popupCharacters="@string/alternates_for_o" />
<Key <Key
latin:keyLabel="p" latin:keyLabel="p"
latin:popupCharacters="@string/alternates_for_p" /> latin:keyHintIcon="@drawable/keyboard_hint_0"
<Key latin:popupCharacters="@string/alternates_for_p"
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.331%p"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
<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 <Key
latin:keyLabel="q" latin:keyLabel="q"
latin:popupCharacters="@string/alternates_for_q" /> latin:popupCharacters="@string/alternates_for_q"
latin:keyEdgeFlags="left" />
<Key <Key
latin:keyLabel="s" latin:keyLabel="s"
latin:popupCharacters="@string/alternates_for_s" /> latin:popupCharacters="@string/alternates_for_s" />
@ -101,17 +101,13 @@
<Key <Key
latin:keyLabel="m" latin:keyLabel="m"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="8.593%p"
latin:keyEdgeFlags="right" />
</Row> </Row>
<Row <Row
latin:keyWidth="8.042%p" latin:keyWidth="10%p"
> >
<Key <Key
latin:keyStyle="shiftKeyStyle" latin:keyStyle="shiftKeyStyle"
latin:keyWidth="15.192%p" latin:keyWidth="15%p"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key <Key
latin:keyLabel="w" latin:keyLabel="w"
@ -120,6 +116,7 @@
latin:keyLabel="x" /> latin:keyLabel="x" />
<Key <Key
latin:keyLabel="c" latin:keyLabel="c"
latin:popupCharacters="@string/alternates_for_c" /> latin:popupCharacters="@string/alternates_for_c" />
<Key <Key
latin:keyLabel="v" latin:keyLabel="v"
@ -130,38 +127,10 @@
latin:keyLabel="n" latin:keyLabel="n"
latin:popupCharacters="@string/alternates_for_n" /> latin:popupCharacters="@string/alternates_for_n" />
<Key <Key
latin:keyLabel="\'" 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>
<Key <Key
latin:keyStyle="shiftKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyWidth="12.530%p" latin:keyWidth="15%p"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
<include <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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
@ -21,14 +21,45 @@
<merge <merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
> >
<!-- Functional key styles --> <!-- Base key style for the functional key -->
<switch> <switch>
<case <case
latin:colorScheme="white" latin:colorScheme="white"
> >
<key-style <key-style
latin:styleName="functionalKeyStyle" latin:styleName="functionalKeyStyle"
latin:isModifier="true" /> 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 <key-style
latin:styleName="shiftKeyStyle" latin:styleName="shiftKeyStyle"
latin:code="@integer/key_shift" latin:code="@integer/key_shift"
@ -44,45 +75,64 @@
latin:iconPreview="@drawable/sym_keyboard_feedback_delete" latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:parentStyle="functionalKeyStyle" latin:parentStyle="functionalKeyStyle"
latin:isRepeatable="true" /> latin:isRepeatable="true" />
<key-style <switch>
latin:styleName="returnKeyStyle" <!-- When this qwerty keyboard has no voice key but voice key is enabled, then
latin:code="@integer/key_return" symbol keyboard will have mic key. That means we should use "?123mic" key
latin:keyIcon="@drawable/sym_keyboard_return_holo" here. -->
latin:iconPreview="@drawable/sym_keyboard_feedback_return" <case
latin:parentStyle="functionalKeyStyle" /> latin:voiceKeyEnabled="true"
<key-style latin:hasVoiceKey="false"
latin:styleName="spaceKeyStyle" >
latin:code="@integer/key_space" <key-style
latin:iconPreview="@drawable/sym_keyboard_feedback_space" /> latin:styleName="toSymbolKeyStyle"
<key-style latin:code="@integer/key_switch_alpha_symbol"
latin:styleName="nonSpecialBackgroundSpaceKeyStyle" latin:keyIcon="@drawable/sym_keyboard_123_mic"
latin:code="@integer/key_space" latin:iconPreview="@drawable/sym_keyboard_feedback_123_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_space" /> latin:parentStyle="functionalKeyStyle" />
<key-style </case>
latin:styleName="smileyKeyStyle" <default>
latin:keyLabel=":-)" <key-style
latin:keyOutputText=":-) " latin:styleName="toSymbolKeyStyle"
latin:keyHintIcon="@drawable/hint_popup_holo" latin:code="@integer/key_switch_alpha_symbol"
latin:popupCharacters="@string/alternates_for_smiley" latin:keyLabel="@string/label_to_symbol_key"
latin:maxPopupKeyboardColumn="5" /> latin:parentStyle="functionalKeyStyle" />
</default>
</switch>
<key-style <key-style
latin:styleName="settingsKeyStyle" latin:styleName="settingsKeyStyle"
latin:code="@integer/key_settings" latin:code="@integer/key_settings"
latin:keyIcon="@drawable/sym_keyboard_settings_holo" latin:keyIcon="@drawable/sym_keyboard_settings_holo"
latin:iconPreview="@drawable/sym_keyboard_feedback_settings" latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
latin:parentStyle="functionalKeyStyle" /> 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 <key-style
latin:styleName="micKeyStyle" latin:styleName="micKeyStyle"
latin:code="@integer/key_voice" 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: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>
<case <case
latin:colorScheme="black" latin:colorScheme="black"
> >
<key-style
latin:styleName="functionalKeyStyle" />
<key-style <key-style
latin:styleName="shiftKeyStyle" latin:styleName="shiftKeyStyle"
latin:code="@integer/key_shift" latin:code="@integer/key_shift"
@ -98,73 +148,170 @@
latin:iconPreview="@drawable/sym_keyboard_feedback_delete" latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
latin:parentStyle="functionalKeyStyle" latin:parentStyle="functionalKeyStyle"
latin:isRepeatable="true" /> latin:isRepeatable="true" />
<key-style <switch>
latin:styleName="returnKeyStyle" <!-- When this qwerty keyboard has no voice key but voice key is enabled, then
latin:code="@integer/key_return" symbol keyboard will have mic key. That means we should use "?123mic" key
latin:keyIcon="@drawable/sym_bkeyboard_return" here. -->
latin:iconPreview="@drawable/sym_keyboard_feedback_return" <case
latin:parentStyle="functionalKeyStyle" /> latin:voiceKeyEnabled="true"
<key-style latin:hasVoiceKey="false"
latin:styleName="spaceKeyStyle" >
latin:code="@integer/key_space" <key-style
latin:iconPreview="@drawable/sym_keyboard_feedback_space" /> latin:styleName="toSymbolKeyStyle"
<key-style latin:code="@integer/key_switch_alpha_symbol"
latin:styleName="nonSpecialBackgroundSpaceKeyStyle" latin:keyIcon="@drawable/sym_bkeyboard_123_mic"
latin:code="@integer/key_space" latin:iconPreview="@drawable/sym_keyboard_feedback_123_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_space" /> latin:parentStyle="functionalKeyStyle" />
<key-style </case>
latin:styleName="smileyKeyStyle" <default>
latin:keyLabel=":-)" <key-style
latin:keyOutputText=":-) " latin:styleName="toSymbolKeyStyle"
latin:keyHintIcon="@drawable/hint_popup_holo" latin:code="@integer/key_switch_alpha_symbol"
latin:popupCharacters="@string/alternates_for_smiley" latin:keyLabel="@string/label_to_symbol_key"
latin:maxPopupKeyboardColumn="5" /> latin:parentStyle="functionalKeyStyle" />
</default>
</switch>
<key-style <key-style
latin:styleName="settingsKeyStyle" latin:styleName="settingsKeyStyle"
latin:code="@integer/key_settings" latin:code="@integer/key_settings"
latin:keyIcon="@drawable/sym_bkeyboard_settings" latin:keyIcon="@drawable/sym_bkeyboard_settings"
latin:iconPreview="@drawable/sym_keyboard_feedback_settings" latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
latin:parentStyle="functionalKeyStyle" /> 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 <key-style
latin:styleName="micKeyStyle" latin:styleName="micKeyStyle"
latin:code="@integer/key_voice" latin:code="@integer/key_voice"
latin:keyIcon="@drawable/sym_bkeyboard_mic" latin:keyIcon="@drawable/sym_bkeyboard_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_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> </case>
</switch> </switch>
<key-style <!-- Return key style -->
latin:styleName="tabKeyStyle" <switch>
latin:code="@integer/key_tab" <case
latin:keyLabel="@string/label_tab_key" latin:imeAction="actionGo"
latin:keyLabelOption="fontNormal" >
latin:parentStyle="functionalKeyStyle" /> <key-style
<key-style latin:styleName="returnKeyStyle"
latin:styleName="toSymbolKeyStyle" latin:code="@integer/key_return"
latin:code="@integer/key_switch_alpha_symbol" latin:keyLabel="@string/label_go_key"
latin:keyLabel="@string/label_to_symbol_key" latin:parentStyle="functionalKeyStyle" />
latin:keyLabelOption="fontNormal" </case>
latin:parentStyle="functionalKeyStyle" /> <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 <key-style
latin:styleName="toAlphaKeyStyle" latin:styleName="toAlphaKeyStyle"
latin:code="@integer/key_switch_alpha_symbol" latin:code="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_alpha_key" latin:keyLabel="@string/label_to_alpha_key"
latin:keyLabelOption="fontNormal"
latin:parentStyle="functionalKeyStyle" /> latin:parentStyle="functionalKeyStyle" />
<key-style <key-style
latin:styleName="moreKeyStyle" latin:styleName="altKeyStyle"
latin:code="@integer/key_shift" latin:code="@integer/key_shift"
latin:keyLabel="@string/label_more_key" latin:keyLabel="@string/label_alt_key"
latin:keyLabelOption="fontNormal"
latin:parentStyle="functionalKeyStyle" latin:parentStyle="functionalKeyStyle"
latin:isSticky="true" /> latin:isSticky="true" />
<key-style <key-style
latin:styleName="comKeyStyle" latin:styleName="smileyKeyStyle"
latin:keyLabel="@string/keylabel_for_popular_domain" latin:keyLabel=":-)"
latin:keyLabelOption="fontNormal" latin:keyOutputText=":-) "
latin:keyOutputText="@string/keylabel_for_popular_domain"
latin:keyHintIcon="@drawable/hint_popup_holo" 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> <switch>
<case <case
latin:passwordInput="true" latin:passwordInput="true"
@ -172,12 +319,20 @@
<key-style <key-style
latin:styleName="nonPasswordSymbolKeyStyle" latin:styleName="nonPasswordSymbolKeyStyle"
latin:enabled="false" /> latin:enabled="false" />
<key-style
latin:styleName="nonPasswordFunctionalKeyStyle"
latin:enabled="false"
latin:parentStyle="functionalKeyStyle" />
</case> </case>
<!-- latin:passwordInput="false" --> <!-- latin:passwordInput="false" -->
<default> <default>
<key-style <key-style
latin:styleName="nonPasswordSymbolKeyStyle" latin:styleName="nonPasswordSymbolKeyStyle"
latin:enabled="true" /> latin:enabled="true" />
<key-style
latin:styleName="nonPasswordFunctionalKeyStyle"
latin:enabled="true"
latin:parentStyle="functionalKeyStyle" />
</default> </default>
</switch> </switch>
</merge> </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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
@ -23,7 +23,7 @@
latin:keyboardHeight="@dimen/keyboardHeight" latin:keyboardHeight="@dimen/keyboardHeight"
latin:maxKeyboardHeight="50%p" latin:maxKeyboardHeight="50%p"
latin:rowHeight="25%p" latin:rowHeight="25%p"
latin:keyWidth="11.949%p" latin:keyWidth="26.67%p"
latin:horizontalGap="@dimen/key_horizontal_gap" latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap" latin:verticalGap="@dimen/key_bottom_gap"
latin:popupKeyboardTemplate="@xml/kbd_popup_template" latin:popupKeyboardTemplate="@xml/kbd_popup_template"
@ -33,197 +33,62 @@
latin:keyboardLayout="@xml/kbd_key_styles" /> latin:keyboardLayout="@xml/kbd_key_styles" />
<include <include
latin:keyboardLayout="@xml/kbd_numkey_styles" /> latin:keyboardLayout="@xml/kbd_numkey_styles" />
<switch> <Row
<case latin:rowEdgeFlags="top"
latin:passwordInput="true" >
> <Key
<!-- This row is intentionally not marked as a top row --> latin:keyLabel="1"
<Row> latin:keyEdgeFlags="left" />
<Spacer <Key
latin:horizontalGap="32.076%p" /> latin:keyLabel="2" />
<Key <Key
latin:keyStyle="num1KeyStyle" /> latin:keyLabel="3" />
<Key <Key
latin:keyStyle="num2KeyStyle" /> latin:keyLabel="-"
<Key latin:keyStyle="functionalKeyStyle"
latin:keyStyle="num3KeyStyle" /> latin:keyWidth="20%p"
<Spacer latin:keyEdgeFlags="right" />
latin:horizontalGap="22.272%p" /> </Row>
<Key <Row>
latin:keyStyle="deleteKeyStyle" <Key
latin:keyWidth="9.804%p" latin:keyLabel="4"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="left" />
</Row> <Key
<Row> latin:keyLabel="5" />
<Spacer <Key
latin:horizontalGap="32.076%p" /> latin:keyLabel="6" />
<Key <Key
latin:keyStyle="num4KeyStyle" /> latin:keyLabel=","
<Key latin:keyStyle="functionalKeyStyle"
latin:keyStyle="num5KeyStyle" /> latin:keyWidth="20%p"
<Key latin:keyEdgeFlags="right" />
latin:keyStyle="num6KeyStyle" /> </Row>
<Spacer <Row>
latin:horizontalGap="17.371%p" /> <Key
<Key latin:keyLabel="7"
latin:keyStyle="returnKeyStyle" latin:keyEdgeFlags="left" />
latin:keyWidth="14.706%p" <Key
latin:keyEdgeFlags="right" /> latin:keyLabel="8" />
</Row> <Key
<Row> latin:keyLabel="9" />
<Spacer <Key
latin:horizontalGap="32.076%p" /> latin:keyStyle="deleteKeyStyle"
<Key latin:keyWidth="20%p"
latin:keyStyle="num7KeyStyle" /> latin:keyEdgeFlags="right" />
<Key </Row>
latin:keyStyle="num8KeyStyle" /> <Row
<Key latin:rowEdgeFlags="bottom"
latin:keyStyle="num9KeyStyle" /> >
<!-- There is an empty area below the "Enter" key and right of the "9" key. To <Key
ignore the touch event on the area, "9" is intentionally not marked as a right latin:keyStyle="numSpaceKeyStyle"
edge key. --> latin:keyEdgeFlags="left" />
</Row> <Key
<!-- This row is intentionally not marked as a bottom row --> latin:keyLabel="0" />
<Row> <Key
<Spacer latin:keyLabel="." />
latin:horizontalGap="44.026%p" /> <Key
<Key latin:keyStyle="returnKeyStyle"
latin:keyStyle="num0KeyStyle" /> latin:keyWidth="20%p"
<!-- There is an empty area below the "Enter" key and right of the "#" key. To latin:keyEdgeFlags="right" />
ignore the touch event on the area, "#" is intentionally not marked as a right </Row>
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>
</Keyboard> </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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
@ -81,7 +81,8 @@
<key-style <key-style
latin:styleName="numSpaceKeyStyle" latin:styleName="numSpaceKeyStyle"
latin:code="@integer/key_space" 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>
<case <case
latin:colorScheme="black" latin:colorScheme="black"
@ -142,7 +143,8 @@
<key-style <key-style
latin:styleName="numSpaceKeyStyle" latin:styleName="numSpaceKeyStyle"
latin:code="@integer/key_space" 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>
</switch> </switch>
</merge> </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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
@ -23,7 +23,7 @@
latin:keyboardHeight="@dimen/keyboardHeight" latin:keyboardHeight="@dimen/keyboardHeight"
latin:maxKeyboardHeight="50%p" latin:maxKeyboardHeight="50%p"
latin:rowHeight="25%p" latin:rowHeight="25%p"
latin:keyWidth="11.949%p" latin:keyWidth="26.67%p"
latin:horizontalGap="@dimen/key_horizontal_gap" latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap" latin:verticalGap="@dimen/key_bottom_gap"
latin:popupKeyboardTemplate="@xml/kbd_popup_template" latin:popupKeyboardTemplate="@xml/kbd_popup_template"
@ -33,134 +33,62 @@
latin:keyboardLayout="@xml/kbd_key_styles" /> latin:keyboardLayout="@xml/kbd_key_styles" />
<include <include
latin:keyboardLayout="@xml/kbd_numkey_styles" /> latin:keyboardLayout="@xml/kbd_numkey_styles" />
<!-- This row is intentionally not marked as a top row --> <Row
<Row> latin:rowEdgeFlags="top"
>
<Key <Key
latin:keyStyle="tabKeyStyle" latin:keyStyle="num1KeyStyle"
latin:keyLabelOption="alignLeft"
latin:keyEdgeFlags="left" /> 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 <Key
latin:keyStyle="num2KeyStyle" /> latin:keyStyle="num2KeyStyle" />
<Key <Key
latin:keyStyle="num3KeyStyle" /> latin:keyStyle="num3KeyStyle" />
<Spacer
latin:horizontalGap="9.360%p" />
<Key <Key
latin:keyStyle="deleteKeyStyle" latin:keyLabel="-"
latin:keyWidth="9.804%p" latin:keyStyle="functionalKeyStyle"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
<Row> <Row>
<Key <Key
latin:keyStyle="moreKeyStyle" latin:keyStyle="num4KeyStyle"
latin:keyEdgeFlags="left" /> 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 <Key
latin:keyStyle="num5KeyStyle" /> latin:keyStyle="num5KeyStyle" />
<Key <Key
latin:keyStyle="num6KeyStyle" /> latin:keyStyle="num6KeyStyle" />
<Spacer
latin:horizontalGap="4.458%p" />
<Key <Key
latin:keyStyle="returnKeyStyle" latin:keyLabel="."
latin:keyWidth="14.706%p" latin:keyStyle="functionalKeyStyle"
latin:keyWidth="20%p"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
<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 <Key
latin:code="40" latin:keyStyle="num7KeyStyle"
latin:keyLabel=" ( " latin:keyEdgeFlags="left" />
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" />
<Key <Key
latin:keyStyle="num8KeyStyle" /> latin:keyStyle="num8KeyStyle" />
<Key <Key
latin:keyStyle="num9KeyStyle" /> 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 <Key
latin:keyStyle="nonSpecialBackgroundSpaceKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyWidth="16.084%p" /> latin:keyWidth="20%p"
<Spacer latin:keyEdgeFlags="right" />
latin:horizontalGap="8.479%p" /> </Row>
<Row
latin:rowEdgeFlags="bottom"
>
<Key <Key
latin:keyStyle="numStarKeyStyle" /> latin:keyStyle="numAltKeyStyle"
latin:keyEdgeFlags="left" />
<Key <Key
latin:keyStyle="num0KeyStyle" /> latin:keyStyle="num0KeyStyle" />
<Key <Key
latin:keyStyle="numPoundKeyStyle" /> latin:keyStyle="numSpaceKeyStyle" />
<switch> <Key
<case latin:keyStyle="returnKeyStyle"
latin:voiceKeyEnabled="true" latin:keyWidth="20%p"
> latin:keyEdgeFlags="right" />
<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. -->
</Row> </Row>
</Keyboard> </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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
@ -23,7 +23,7 @@
latin:keyboardHeight="@dimen/keyboardHeight" latin:keyboardHeight="@dimen/keyboardHeight"
latin:maxKeyboardHeight="50%p" latin:maxKeyboardHeight="50%p"
latin:rowHeight="25%p" latin:rowHeight="25%p"
latin:keyWidth="11.949%p" latin:keyWidth="26.67%p"
latin:horizontalGap="@dimen/key_horizontal_gap" latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap" latin:verticalGap="@dimen/key_bottom_gap"
latin:popupKeyboardTemplate="@xml/kbd_popup_template" latin:popupKeyboardTemplate="@xml/kbd_popup_template"
@ -33,146 +33,68 @@
latin:keyboardLayout="@xml/kbd_key_styles" /> latin:keyboardLayout="@xml/kbd_key_styles" />
<include <include
latin:keyboardLayout="@xml/kbd_numkey_styles" /> latin:keyboardLayout="@xml/kbd_numkey_styles" />
<!-- This row is intentionally not marked as a top row --> <Row
<Row> latin:rowEdgeFlags="top"
>
<Key <Key
latin:keyStyle="tabKeyStyle" latin:keyLabel="("
latin:keyLabelOption="alignLeft"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Spacer
latin:horizontalGap="4.458%p" />
<Key <Key
latin:code="45" latin:keyLabel="/" />
latin:keyLabel=" - "
latin:keyWidth="8.042%p" />
<Key <Key
latin:code="43" latin:keyLabel=")" />
latin:keyLabel=" + "
latin:keyWidth="8.042%p" />
<Key <Key
latin:code="44" latin:keyLabel="-"
latin:keyLabel="@string/label_pause_key" latin:keyStyle="functionalKeyStyle"
latin:keyWidth="8.042%p" /> latin:keyWidth="20%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:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
<Row> <Row>
<Key <Key
latin:keyStyle="moreKeyStyle" latin:keyLabel="N"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Spacer <!-- Pause is a comma. Check PhoneNumberUtils.java to see if this
latin:horizontalGap="4.458%p" /> has changed. -->
<Key <Key
latin:code="44" latin:code="44"
latin:keyLabel=" , " latin:keyLabel="Pause" />
latin:keyWidth="8.042%p" />
<Key <Key
latin:code="46" latin:keyLabel="," />
latin:keyLabel=" . " <Key
latin:keyWidth="8.042%p" /> 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 <Key
latin:code="59" latin:code="59"
latin:keyLabel="@string/label_wait_key" latin:keyLabel="Wait" />
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" />
<Key <Key
latin:keyStyle="numPoundKeyStyle" /> latin:keyStyle="numPoundKeyStyle" />
<switch> <Key
<case latin:keyStyle="deleteKeyStyle"
latin:voiceKeyEnabled="true" latin:keyWidth="20%p"
> latin:keyEdgeFlags="right" />
<Key </Row>
latin:keyStyle="micKeyStyle" <Row
latin:keyWidth="8.042%p" /> latin:rowEdgeFlags="bottom"
</case> >
</switch> <Key
<!-- There is an empty area bellow the "Enter" key and right of the "#" key. To ignore latin:code="@integer/key_switch_alpha_symbol"
the touch event on the area, "#" is intentionally not marked as a right edge key. --> 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> </Row>
</Keyboard> </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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with 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" <Keyboard xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
latin:keyWidth="5.0%p" latin:keyWidth="8%p"
latin:horizontalGap="0px" latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="0px" latin:verticalGap="0px"
latin:rowHeight="@dimen/popup_key_height" 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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
@ -23,6 +23,7 @@
latin:keyboardHeight="@dimen/keyboardHeight" latin:keyboardHeight="@dimen/keyboardHeight"
latin:maxKeyboardHeight="50%p" latin:maxKeyboardHeight="50%p"
latin:rowHeight="25%p" latin:rowHeight="25%p"
latin:keyWidth="10%p"
latin:horizontalGap="@dimen/key_horizontal_gap" latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap" latin:verticalGap="@dimen/key_bottom_gap"
latin:popupKeyboardTemplate="@xml/kbd_popup_template" 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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
@ -21,48 +21,51 @@
<merge <merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
> >
<!-- This row is intentionally not marked as a top row -->
<Row <Row
latin:keyWidth="8.272%p" latin:keyWidth="10%p"
latin:rowEdgeFlags="top"
> >
<Key <Key
latin:keyStyle="tabKeyStyle" latin:keyLabel="q"
latin:keyLabelOption="alignLeft" latin:keyHintIcon="@drawable/keyboard_hint_1"
latin:keyWidth="7.949%p" latin:popupCharacters="@string/alternates_for_q"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="q"
latin:popupCharacters="@string/alternates_for_q" />
<Key <Key
latin:keyLabel="w" latin:keyLabel="w"
latin:keyHintIcon="@drawable/keyboard_hint_2"
latin:popupCharacters="@string/alternates_for_w" /> latin:popupCharacters="@string/alternates_for_w" />
<Key <Key
latin:keyLabel="e" latin:keyLabel="e"
latin:keyHintIcon="@drawable/keyboard_hint_3"
latin:popupCharacters="@string/alternates_for_e" /> latin:popupCharacters="@string/alternates_for_e" />
<Key <Key
latin:keyLabel="r" latin:keyLabel="r"
latin:keyHintIcon="@drawable/keyboard_hint_4"
latin:popupCharacters="@string/alternates_for_r" /> latin:popupCharacters="@string/alternates_for_r" />
<Key <Key
latin:keyLabel="t" latin:keyLabel="t"
latin:keyHintIcon="@drawable/keyboard_hint_5"
latin:popupCharacters="@string/alternates_for_t" /> latin:popupCharacters="@string/alternates_for_t" />
<Key <Key
latin:keyLabel="y" latin:keyLabel="y"
latin:keyHintIcon="@drawable/keyboard_hint_6"
latin:popupCharacters="@string/alternates_for_y" /> latin:popupCharacters="@string/alternates_for_y" />
<Key <Key
latin:keyLabel="u" latin:keyLabel="u"
latin:keyHintIcon="@drawable/keyboard_hint_7"
latin:popupCharacters="@string/alternates_for_u" /> latin:popupCharacters="@string/alternates_for_u" />
<Key <Key
latin:keyLabel="i" latin:keyLabel="i"
latin:keyHintIcon="@drawable/keyboard_hint_8"
latin:popupCharacters="@string/alternates_for_i" /> latin:popupCharacters="@string/alternates_for_i" />
<Key <Key
latin:keyLabel="o" latin:keyLabel="o"
latin:keyHintIcon="@drawable/keyboard_hint_9"
latin:popupCharacters="@string/alternates_for_o" /> latin:popupCharacters="@string/alternates_for_o" />
<Key <Key
latin:keyLabel="p" latin:keyLabel="p"
latin:popupCharacters="@string/alternates_for_p" /> latin:keyHintIcon="@drawable/keyboard_hint_0"
<Key latin:popupCharacters="@string/alternates_for_p"
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.331%p"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
</merge> </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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with 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" xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
> >
<Row <Row
latin:keyWidth="8.157%p" latin:keyWidth="10%p"
> >
<Key <Spacer
latin:keyStyle="toSymbolKeyStyle" latin:horizontalGap="5%p" />
latin:keyLabelOption="alignLeft"
latin:keyWidth="11.167%p"
latin:keyEdgeFlags="left" />
<Key <Key
latin:keyLabel="a" latin:keyLabel="a"
latin:popupCharacters="@string/alternates_for_a" /> latin:popupCharacters="@string/alternates_for_a"
latin:keyEdgeFlags="left" />
<Key <Key
latin:keyLabel="s" latin:keyLabel="s"
latin:popupCharacters="@string/alternates_for_s" /> latin:popupCharacters="@string/alternates_for_s" />
@ -52,10 +50,7 @@
latin:popupCharacters="@string/alternates_for_k" /> latin:popupCharacters="@string/alternates_for_k" />
<Key <Key
latin:keyLabel="l" latin:keyLabel="l"
latin:popupCharacters="@string/alternates_for_l" /> latin:popupCharacters="@string/alternates_for_l"
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="15.750%p"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
</merge> </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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with 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" xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
> >
<Row <Row
latin:keyWidth="8.042%p" latin:keyWidth="10%p"
> >
<Key <Key
latin:keyStyle="shiftKeyStyle" latin:keyStyle="shiftKeyStyle"
latin:keyWidth="15.192%p" latin:keyWidth="15%p"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key <Key
latin:keyLabel="z" latin:keyLabel="z"
@ -46,33 +46,9 @@
latin:popupCharacters="@string/alternates_for_n" /> latin:popupCharacters="@string/alternates_for_n" />
<Key <Key
latin:keyLabel="m" /> 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 <Key
latin:keyStyle="shiftKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyWidth="12.530%p" latin:keyWidth="15%p"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
</merge> </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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
@ -21,237 +21,116 @@
<merge <merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
> >
<!-- This row is intentionally not marked as a bottom row -->
<Row <Row
latin:keyWidth="8.042%p" latin:keyWidth="10%p"
latin:rowEdgeFlags="bottom"
> >
<Spacer
latin:horizontalGap="8.362%p" />
<switch> <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 <Key
latin:keyStyle="settingsKeyStyle" /> latin:keyStyle="settingsKeyStyle" />
</case> <include
<default> latin:keyboardLayout="@xml/kbd_qwerty_f1" />
<Spacer
latin:horizontalGap="8.042%p" />
</default>
</switch>
<switch>
<case
latin:languageCode="ru"
>
<switch> <switch>
<!-- TODO: implement logical OR for <case> attribute -->
<case <case
latin:mode="email" latin:mode="web"
> >
<Key <Key
latin:keyStyle="comKeyStyle" /> latin:keyStyle="spaceKeyStyle"
</case> latin:keyWidth="30%p" />
<case
latin:mode="url"
>
<Key <Key
latin:keyStyle="comKeyStyle" /> latin:keyStyle="tabKeyStyle" />
</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> </case>
<default> <default>
<Key <Key
latin:keyStyle="smileyKeyStyle" /> latin:keyStyle="spaceKeyStyle"
latin:keyWidth="30%p" />
</default> </default>
</switch> </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 <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> </case>
</switch> </switch>
</Row> </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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with 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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
@ -24,61 +24,64 @@
<include <include
latin:keyboardLayout="@xml/kbd_key_styles" /> latin:keyboardLayout="@xml/kbd_key_styles" />
<Row <Row
latin:keyWidth="7.520%p" latin:keyWidth="9.09%p"
latin:rowEdgeFlags="top"
> >
<Key <Key
latin:keyStyle="tabKeyStyle" latin:keyLabel="q"
latin:keyLabelOption="alignLeft" latin:keyHintIcon="@drawable/keyboard_hint_1"
latin:keyWidth="7.949%p" latin:popupCharacters="@string/alternates_for_q"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="q"
latin:popupCharacters="@string/alternates_for_q" />
<Key <Key
latin:keyLabel="w" latin:keyLabel="w"
latin:keyHintIcon="@drawable/keyboard_hint_2"
latin:popupCharacters="@string/alternates_for_w" /> latin:popupCharacters="@string/alternates_for_w" />
<Key <Key
latin:keyLabel="e" latin:keyLabel="e"
latin:keyHintIcon="@drawable/keyboard_hint_3"
latin:popupCharacters="@string/alternates_for_e" /> latin:popupCharacters="@string/alternates_for_e" />
<Key <Key
latin:keyLabel="r" latin:keyLabel="r"
latin:keyHintIcon="@drawable/keyboard_hint_4"
latin:popupCharacters="@string/alternates_for_r" /> latin:popupCharacters="@string/alternates_for_r" />
<Key <Key
latin:keyLabel="t" latin:keyLabel="t"
latin:keyHintIcon="@drawable/keyboard_hint_5"
latin:popupCharacters="@string/alternates_for_t" /> latin:popupCharacters="@string/alternates_for_t" />
<Key <Key
latin:keyLabel="y" latin:keyLabel="y"
latin:keyHintIcon="@drawable/keyboard_hint_6"
latin:popupCharacters="@string/alternates_for_y" /> latin:popupCharacters="@string/alternates_for_y" />
<Key <Key
latin:keyLabel="u" latin:keyLabel="u"
latin:keyHintIcon="@drawable/keyboard_hint_7"
latin:popupCharacters="@string/alternates_for_u" /> latin:popupCharacters="@string/alternates_for_u" />
<Key <Key
latin:keyLabel="i" latin:keyLabel="i"
latin:keyHintIcon="@drawable/keyboard_hint_8"
latin:popupCharacters="@string/alternates_for_i" /> latin:popupCharacters="@string/alternates_for_i" />
<Key <Key
latin:keyLabel="o" latin:keyLabel="o"
latin:keyHintIcon="@drawable/keyboard_hint_9"
latin:popupCharacters="@string/alternates_for_o" /> latin:popupCharacters="@string/alternates_for_o" />
<Key <Key
latin:keyLabel="p" latin:keyLabel="p"
latin:keyHintIcon="@drawable/keyboard_hint_0"
latin:popupCharacters="@string/alternates_for_p" /> latin:popupCharacters="@string/alternates_for_p" />
<Key <Key
latin:keyLabel="å" /> latin:keyLabel="å"
<Key latin:keyWidth="8.75%p"
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.331%p"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
<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 <Key
latin:keyLabel="a" latin:keyLabel="a"
latin:popupCharacters="@string/alternates_for_a" /> latin:popupCharacters="@string/alternates_for_a"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="left" />
<Key <Key
latin:keyLabel="s" latin:keyLabel="s"
latin:popupCharacters="@string/alternates_for_s" /> latin:popupCharacters="@string/alternates_for_s" />
@ -105,10 +108,8 @@
latin:popupCharacters="@string/alternates_for_scandinavia_row2_10" /> latin:popupCharacters="@string/alternates_for_scandinavia_row2_10" />
<Key <Key
latin:keyLabel="@string/keylabel_for_scandinavia_row2_11" latin:keyLabel="@string/keylabel_for_scandinavia_row2_11"
latin:popupCharacters="@string/alternates_for_scandinavia_row2_11" /> latin:popupCharacters="@string/alternates_for_scandinavia_row2_11"
<Key latin:keyWidth="8.75%p"
latin:keyStyle="returnKeyStyle"
latin:keyWidth="9.331%p"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
<include <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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
@ -24,56 +24,60 @@
<include <include
latin:keyboardLayout="@xml/kbd_key_styles" /> latin:keyboardLayout="@xml/kbd_key_styles" />
<Row <Row
latin:keyWidth="8.272%p" latin:keyWidth="10%p"
latin:rowEdgeFlags="top"
> >
<Key <Key
latin:keyStyle="tabKeyStyle" latin:keyLabel="q"
latin:keyLabelOption="alignLeft" latin:keyHintIcon="@drawable/keyboard_hint_1"
latin:keyWidth="7.949%p" latin:popupCharacters="@string/alternates_for_q"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="q"
latin:popupCharacters="@string/alternates_for_q" />
<Key <Key
latin:keyLabel="w" latin:keyLabel="w"
latin:keyHintIcon="@drawable/keyboard_hint_2"
latin:popupCharacters="@string/alternates_for_w" /> latin:popupCharacters="@string/alternates_for_w" />
<Key <Key
latin:keyLabel="e" latin:keyLabel="e"
latin:keyHintIcon="@drawable/keyboard_hint_3"
latin:popupCharacters="@string/alternates_for_e" /> latin:popupCharacters="@string/alternates_for_e" />
<Key <Key
latin:keyLabel="r" latin:keyLabel="r"
latin:keyHintIcon="@drawable/keyboard_hint_4"
latin:popupCharacters="@string/alternates_for_r" /> latin:popupCharacters="@string/alternates_for_r" />
<Key <Key
latin:keyLabel="t" latin:keyLabel="t"
latin:keyHintIcon="@drawable/keyboard_hint_5"
latin:popupCharacters="@string/alternates_for_t" /> latin:popupCharacters="@string/alternates_for_t" />
<Key <Key
latin:keyLabel="z" latin:keyLabel="z"
latin:keyHintIcon="@drawable/keyboard_hint_6"
latin:popupCharacters="@string/alternates_for_z" /> latin:popupCharacters="@string/alternates_for_z" />
<Key <Key
latin:keyLabel="u" latin:keyLabel="u"
latin:keyHintIcon="@drawable/keyboard_hint_7"
latin:popupCharacters="@string/alternates_for_u" /> latin:popupCharacters="@string/alternates_for_u" />
<Key <Key
latin:keyLabel="i" latin:keyLabel="i"
latin:keyHintIcon="@drawable/keyboard_hint_8"
latin:popupCharacters="@string/alternates_for_i" /> latin:popupCharacters="@string/alternates_for_i" />
<Key <Key
latin:keyLabel="o" latin:keyLabel="o"
latin:keyHintIcon="@drawable/keyboard_hint_9"
latin:popupCharacters="@string/alternates_for_o" /> latin:popupCharacters="@string/alternates_for_o" />
<Key <Key
latin:keyLabel="p" latin:keyLabel="p"
latin:popupCharacters="@string/alternates_for_p" /> latin:keyHintIcon="@drawable/keyboard_hint_0"
<Key latin:popupCharacters="@string/alternates_for_p"
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.331%p"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
<include <include
latin:keyboardLayout="@xml/kbd_qwerty_row2" /> latin:keyboardLayout="@xml/kbd_qwerty_row2" />
<Row <Row
latin:keyWidth="8.042%p" latin:keyWidth="10%p"
> >
<Key <Key
latin:keyStyle="shiftKeyStyle" latin:keyStyle="shiftKeyStyle"
latin:keyWidth="15.192%p" latin:keyWidth="15%p"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key <Key
latin:keyLabel="y" latin:keyLabel="y"
@ -93,33 +97,9 @@
latin:popupCharacters="@string/alternates_for_n" /> latin:popupCharacters="@string/alternates_for_n" />
<Key <Key
latin:keyLabel="m" /> 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 <Key
latin:keyStyle="shiftKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyWidth="12.530%p" latin:keyWidth="15%p"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
<include <include

View file

@ -23,62 +23,64 @@
> >
<include <include
latin:keyboardLayout="@xml/kbd_key_styles" /> latin:keyboardLayout="@xml/kbd_key_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row <Row
latin:keyWidth="7.520%p" latin:keyWidth="9.091%p"
latin:rowEdgeFlags="top"
> >
<Key <Key
latin:keyStyle="tabKeyStyle" latin:keyLabel="й"
latin:keyLabelOption="alignLeft" latin:keyHintIcon="@drawable/keyboard_hint_1"
latin:keyWidth="7.949%p" latin:popupCharacters="1"
latin:keyWidth="8.75%p"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="й"
latin:popupCharacters="1" />
<Key <Key
latin:keyLabel="ц" latin:keyLabel="ц"
latin:keyHintIcon="@drawable/keyboard_hint_2"
latin:popupCharacters="2" /> latin:popupCharacters="2" />
<Key <Key
latin:keyLabel="у" latin:keyLabel="у"
latin:keyHintIcon="@drawable/keyboard_hint_3"
latin:popupCharacters="3" /> latin:popupCharacters="3" />
<Key <Key
latin:keyLabel="к" latin:keyLabel="к"
latin:keyHintIcon="@drawable/keyboard_hint_4"
latin:popupCharacters="4" /> latin:popupCharacters="4" />
<Key <Key
latin:keyLabel="е" latin:keyLabel="е"
latin:keyHintIcon="@drawable/keyboard_hint_5"
latin:popupCharacters="@string/alternates_for_cyrillic_e" /> latin:popupCharacters="@string/alternates_for_cyrillic_e" />
<Key <Key
latin:keyLabel="н" latin:keyLabel="н"
latin:keyHintIcon="@drawable/keyboard_hint_6"
latin:popupCharacters="6" /> latin:popupCharacters="6" />
<Key <Key
latin:keyLabel="г" latin:keyLabel="г"
latin:keyHintIcon="@drawable/keyboard_hint_7"
latin:popupCharacters="7" /> latin:popupCharacters="7" />
<Key <Key
latin:keyLabel="ш" latin:keyLabel="ш"
latin:keyHintIcon="@drawable/keyboard_hint_8"
latin:popupCharacters="8" /> latin:popupCharacters="8" />
<Key <Key
latin:keyLabel="щ" latin:keyLabel="щ"
latin:keyHintIcon="@drawable/keyboard_hint_9"
latin:popupCharacters="9" /> latin:popupCharacters="9" />
<Key <Key
latin:keyLabel="з" latin:keyLabel="з"
latin:keyHintIcon="@drawable/keyboard_hint_0"
latin:popupCharacters="0" /> latin:popupCharacters="0" />
<Key <Key
latin:keyLabel="х" /> latin:keyLabel="х"
<Key latin:keyWidth="8.75%p"
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.331%p"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
<Row <Row
latin:keyWidth="7.520%p" latin:keyWidth="9.091%p"
> >
<Key <Key
latin:keyStyle="toSymbolKeyStyle" latin:keyLabel="ф"
latin:keyLabelOption="alignLeft" latin:keyWidth="8.75%p"
latin:keyWidth="7.949%p"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="ф" />
<Key <Key
latin:keyLabel="ы" /> latin:keyLabel="ы" />
<Key <Key
@ -98,18 +100,16 @@
<Key <Key
latin:keyLabel="ж" /> latin:keyLabel="ж" />
<Key <Key
latin:keyLabel="э" /> latin:keyLabel="э"
<Key latin:keyWidth="8.75%p"
latin:keyStyle="returnKeyStyle"
latin:keyWidth="9.331%p"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
<Row <Row
latin:keyWidth="7.520%p" latin:keyWidth="8.5%p"
> >
<Key <Key
latin:keyStyle="shiftKeyStyle" latin:keyStyle="shiftKeyStyle"
latin:keyWidth="12.400%p" latin:keyWidth="11.75%p"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key <Key
latin:keyLabel="я" /> latin:keyLabel="я" />
@ -131,14 +131,8 @@
<Key <Key
latin:keyLabel="ю" /> latin:keyLabel="ю" />
<Key <Key
latin:keyLabel="." latin:keyStyle="deleteKeyStyle"
latin:manualTemporaryUpperCaseCode="44" latin:keyWidth="11.75%p"
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:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
<include <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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
@ -23,6 +23,7 @@
latin:keyboardHeight="@dimen/keyboardHeight" latin:keyboardHeight="@dimen/keyboardHeight"
latin:maxKeyboardHeight="50%p" latin:maxKeyboardHeight="50%p"
latin:rowHeight="25%p" latin:rowHeight="25%p"
latin:keyWidth="10%p"
latin:horizontalGap="@dimen/key_horizontal_gap" latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap" latin:verticalGap="@dimen/key_bottom_gap"
latin:popupKeyboardTemplate="@xml/kbd_popup_template" latin:popupKeyboardTemplate="@xml/kbd_popup_template"
@ -32,18 +33,13 @@
latin:keyboardLayout="@xml/kbd_key_styles" /> latin:keyboardLayout="@xml/kbd_key_styles" />
<include <include
latin:keyboardLayout="@xml/kbd_currency_key_styles" /> latin:keyboardLayout="@xml/kbd_currency_key_styles" />
<!-- This row is intentionally not marked as a top row -->
<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 <Key
latin:keyLabel="1" latin:keyLabel="1"
latin:popupCharacters="¹,½,⅓,¼,⅛" /> latin:popupCharacters="¹,½,⅓,¼,⅛"
latin:keyEdgeFlags="left" />
<Key <Key
latin:keyLabel="2" latin:keyLabel="2"
latin:popupCharacters="²,⅔" /> latin:popupCharacters="²,⅔" />
@ -67,22 +63,15 @@
latin:keyLabel="9" /> latin:keyLabel="9" />
<Key <Key
latin:keyLabel="0" latin:keyLabel="0"
latin:popupCharacters="ⁿ,∅" /> latin:popupCharacters="ⁿ,∅"
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.331%p"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
<Row <Row>
latin:keyWidth="8.157%p"
>
<Key <Key
latin:keyStyle="toAlphaKeyStyle" latin:keyLabel="\@"
latin:keyLabelOption="alignLeft"
latin:keyWidth="11.167%p"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key <Key
latin:keyLabel="#" /> latin:keyLabel="\#" />
<Key <Key
latin:keyStyle="currencyKeyStyle" /> latin:keyStyle="currencyKeyStyle" />
<Key <Key
@ -104,127 +93,39 @@
latin:popupCharacters="[,{,&lt;" /> latin:popupCharacters="[,{,&lt;" />
<Key <Key
latin:keyLabel=")" latin:keyLabel=")"
latin:popupCharacters="],},&gt;" /> latin:popupCharacters="],},&gt;"
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="15.750%p"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
<Row <Row>
latin:keyWidth="8.042%p"
>
<Key <Key
latin:keyStyle="moreKeyStyle" latin:keyStyle="altKeyStyle"
latin:keyWidth="15.192%p" latin:keyWidth="15%p"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key <Key
latin:keyLabel="&lt;" latin:keyLabel="!"
latin:popupCharacters="≤,«," /> latin:popupCharacters="¡" />
<!-- Note: DroidSans doesn't have double-high-reversed-quotation '\u201f' glyph. -->
<!-- latin:popupCharacters="“,”,„,‟,«,»" -->
<Key <Key
latin:keyLabel="&gt;" latin:keyLabel="&quot;"
latin:popupCharacters="≥,»," /> latin:popupCharacters="“,”,«,»"
latin:maxPopupKeyboardColumn="6" />
<Key <Key
latin:keyLabel="=" latin:keyLabel="\'"
latin:popupCharacters="≠,≈" /> latin:popupCharacters=",,," />
<switch> <Key
<case latin:keyLabel=":" />
latin:languageCode="ru"
>
<Key
latin:keyLabel=":" />
</case>
<case
latin:mode="url"
>
<Key
latin:keyLabel="\'" />
</case>
<default>
<Key
latin:keyLabel=":" />
</default>
</switch>
<Key <Key
latin:keyLabel=";" /> 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 <Key
latin:keyLabel="/" /> latin:keyLabel="/" />
<Key <Key
latin:keyLabel="\@" /> latin:keyLabel="\?"
latin:popupCharacters="¿" />
<Key <Key
latin:keyStyle="spaceKeyStyle" latin:keyStyle="deleteKeyStyle"
latin:keyWidth="37.454%p" /> latin:keyWidth="15%p"
<switch> latin:keyEdgeFlags="right" />
<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>
</Row> </Row>
<include latin:keyboardLayout="@xml/kbd_symbols_row4" />
</Keyboard> </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"); ** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License. ** you may not use this file except in compliance with the License.
@ -23,6 +23,7 @@
latin:keyboardHeight="@dimen/keyboardHeight" latin:keyboardHeight="@dimen/keyboardHeight"
latin:maxKeyboardHeight="50%p" latin:maxKeyboardHeight="50%p"
latin:rowHeight="25%p" latin:rowHeight="25%p"
latin:keyWidth="10%p"
latin:horizontalGap="@dimen/key_horizontal_gap" latin:horizontalGap="@dimen/key_horizontal_gap"
latin:verticalGap="@dimen/key_bottom_gap" latin:verticalGap="@dimen/key_bottom_gap"
latin:popupKeyboardTemplate="@xml/kbd_popup_template" latin:popupKeyboardTemplate="@xml/kbd_popup_template"
@ -30,17 +31,12 @@
> >
<include <include
latin:keyboardLayout="@xml/kbd_key_styles" /> latin:keyboardLayout="@xml/kbd_key_styles" />
<!-- This row is intentionally not marked as a top row -->
<Row <Row
latin:keyWidth="8.272%p" latin:rowEdgeFlags="top"
> >
<Key <Key
latin:keyStyle="tabKeyStyle" latin:keyLabel="~"
latin:keyLabelOption="alignLeft"
latin:keyWidth="7.949%p"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="~" />
<Key <Key
latin:keyLabel="`" /> latin:keyLabel="`" />
<Key <Key
@ -63,24 +59,14 @@
latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="×" /> latin:keyLabel="×" />
<Key <Key
latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="{" />
latin:keyLabel="§"
latin:popupCharacters="¶" />
<Key <Key
latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="}"
latin:keyLabel="Δ" />
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="9.331%p"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
<Row <Row>
latin:keyWidth="8.157%p"
>
<Key <Key
latin:keyStyle="toAlphaKeyStyle" latin:keyStyle="nonSpecialBackgroundTabKeyStyle"
latin:keyLabelOption="alignLeft"
latin:keyWidth="11.167%p"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key <Key
latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyStyle="nonPasswordSymbolKeyStyle"
@ -93,88 +79,52 @@
latin:keyLabel="€" /> latin:keyLabel="€" />
<Key <Key
latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="¥" /> latin:keyLabel="°"
latin:popupCharacters=",″" />
<Key <Key
latin:keyLabel="^" latin:keyLabel="^"
latin:popupCharacters="↑,↓,←,→" /> latin:popupCharacters="↑,↓,←,→" />
<Key <Key
latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="_" />
latin:keyLabel="°" />
<Key <Key
latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyLabel="="
latin:keyLabel="±" latin:popupCharacters="≠,≈,∞" />
latin:popupCharacters="∞" />
<Key <Key
latin:keyLabel="{" /> latin:keyLabel="[" />
<Key <Key
latin:keyLabel="}" /> latin:keyLabel="]"
<Key
latin:keyStyle="returnKeyStyle"
latin:keyWidth="15.750%p"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
<Row <Row>
latin:keyWidth="8.042%p"
>
<Key <Key
latin:keyStyle="moreKeyStyle" latin:keyStyle="shiftKeyStyle"
latin:keyWidth="15.192%p" latin:keyWidth="15%p"
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key
latin:keyLabel="\\" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="©" />
<Key
latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="®" />
<Key <Key
latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="™" /> latin:keyLabel="™" />
<Key <Key
latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="℅" /> latin:keyLabel="®" />
<Key
latin:keyLabel="[" />
<Key
latin:keyLabel="]" />
<Key <Key
latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="¡" /> latin:keyLabel="©" />
<Key <Key
latin:keyStyle="nonPasswordSymbolKeyStyle" latin:keyStyle="nonPasswordSymbolKeyStyle"
latin:keyLabel="¿" /> latin:keyLabel="¶"
latin:popupCharacters="§" />
<Key <Key
latin:keyStyle="moreKeyStyle" latin:keyLabel="\\" />
latin:keyWidth="12.530%p" <Key
latin:keyLabel="&lt;"
latin:popupCharacters="≤,«," />
<Key
latin:keyLabel="&gt;"
latin:popupCharacters="≥,»," />
<Key
latin:keyStyle="deleteKeyStyle"
latin:keyWidth="15%p"
latin:keyEdgeFlags="right" /> latin:keyEdgeFlags="right" />
</Row> </Row>
<!-- This row is intentionally not marked as a bottom row --> <include latin:keyboardLayout="@xml/kbd_symbols_shift_row4" />
<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>
</Keyboard> </Keyboard>

View file

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

View file

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

View file

@ -21,14 +21,45 @@
<merge <merge
xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin"
> >
<!-- Functional key styles --> <!-- Base key style for the functional key -->
<switch> <switch>
<case <case
latin:colorScheme="white" latin:colorScheme="white"
> >
<key-style <key-style
latin:styleName="functionalKeyStyle" latin:styleName="functionalKeyStyle"
latin:isModifier="true" /> 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 <key-style
latin:styleName="shiftKeyStyle" latin:styleName="shiftKeyStyle"
latin:code="@integer/key_shift" latin:code="@integer/key_shift"
@ -90,9 +121,7 @@
latin:code="@integer/key_voice" latin:code="@integer/key_voice"
latin:keyIcon="@drawable/sym_keyboard_mic" latin:keyIcon="@drawable/sym_keyboard_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_mic" latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
latin:keyHintIcon="@drawable/hint_popup" latin:parentStyle="settingsPopupStyle" />
latin:popupCharacters="@string/alternates_for_mic"
latin:parentStyle="functionalKeyStyle" />
<!-- Note: This key style is not for functional tab key. This is used for the tab key <!-- 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. --> which is laid out as normal letter key. -->
<key-style <key-style
@ -104,8 +133,6 @@
<case <case
latin:colorScheme="black" latin:colorScheme="black"
> >
<key-style
latin:styleName="functionalKeyStyle" />
<key-style <key-style
latin:styleName="shiftKeyStyle" latin:styleName="shiftKeyStyle"
latin:code="@integer/key_shift" latin:code="@integer/key_shift"
@ -167,9 +194,7 @@
latin:code="@integer/key_voice" latin:code="@integer/key_voice"
latin:keyIcon="@drawable/sym_bkeyboard_mic" latin:keyIcon="@drawable/sym_bkeyboard_mic"
latin:iconPreview="@drawable/sym_keyboard_feedback_mic" latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
latin:keyHintIcon="@drawable/hint_popup" latin:parentStyle="settingsPopupStyle" />
latin:popupCharacters="@string/alternates_for_mic"
latin:parentStyle="functionalKeyStyle" />
<!-- Note: This key style is not for functional tab key. This is used for the tab key <!-- 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. --> which is laid out as normal letter key. -->
<key-style <key-style
@ -287,4 +312,27 @@
latin:popupCharacters="@string/alternates_for_smiley" latin:popupCharacters="@string/alternates_for_smiley"
latin:maxPopupKeyboardColumn="5" latin:maxPopupKeyboardColumn="5"
latin:parentStyle="functionalKeyStyle" /> 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> </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 <Key
latin:keyLabel="/" latin:keyLabel="/"
latin:keyHintIcon="@drawable/hint_popup" latin:keyStyle="settingsPopupStyle" />
latin:popupCharacters="@string/alternates_for_settings_slash"
latin:isModifier="true" />
</case> </case>
<case <case
latin:mode="email" latin:mode="email"
> >
<Key <Key
latin:keyLabel="\@" latin:keyLabel="\@"
latin:keyHintIcon="@drawable/hint_popup" latin:keyStyle="settingsPopupStyle" />
latin:popupCharacters="@string/alternates_for_settings_at"
latin:isModifier="true" />
</case> </case>
<default> <default>
<switch> <switch>
@ -48,15 +44,19 @@
<Key <Key
latin:keyStyle="micKeyStyle" /> latin:keyStyle="micKeyStyle" />
</case> </case>
<!-- latin:hasVoiceKey="false" -->
<case <case
latin:hasVoiceKey="false" latin:mode="web"
> >
<Key <Key
latin:keyLabel="," latin:keyLabel="."
latin:keyHintIcon="@drawable/hint_popup" latin:keyStyle="settingsPopupStyle" />
latin:popupCharacters="@string/alternates_for_settings_comma"
latin:isModifier="true" />
</case> </case>
<default>
<Key
latin:keyLabel=","
latin:keyStyle="settingsPopupStyle" />
</default>
</switch> </switch>
</default> </default>
</switch> </switch>

View file

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

View file

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

View file

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

View file

@ -34,13 +34,13 @@
latin:keyEdgeFlags="left" /> latin:keyEdgeFlags="left" />
<Key <Key
latin:keyLabel="„" latin:keyLabel="„"
latin:keyStyle="functionalKeyStyle" /> latin:keyStyle="nonPasswordFunctionalKeyStyle" />
<Key <Key
latin:keyStyle="spaceKeyStyle" latin:keyStyle="spaceKeyStyle"
latin:keyWidth="40%p" /> latin:keyWidth="40%p" />
<Key <Key
latin:keyLabel="…" latin:keyLabel="…"
latin:keyStyle="functionalKeyStyle" /> latin:keyStyle="nonPasswordFunctionalKeyStyle" />
<switch> <switch>
<case <case
latin:mode="im" latin:mode="im"
@ -69,13 +69,13 @@
latin:keyStyle="settingsKeyStyle" /> latin:keyStyle="settingsKeyStyle" />
<Key <Key
latin:keyLabel="„" latin:keyLabel="„"
latin:keyStyle="functionalKeyStyle" /> latin:keyStyle="nonPasswordFunctionalKeyStyle" />
<Key <Key
latin:keyStyle="spaceKeyStyle" latin:keyStyle="spaceKeyStyle"
latin:keyWidth="30%p" /> latin:keyWidth="30%p" />
<Key <Key
latin:keyLabel="…" latin:keyLabel="…"
latin:keyStyle="functionalKeyStyle" /> latin:keyStyle="nonPasswordFunctionalKeyStyle" />
<switch> <switch>
<case <case
latin:mode="im" 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 * 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 * 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. * This constructor is being used only for key in mini popup keyboard.
*/ */
public Key(Resources res, Keyboard keyboard, CharSequence popupCharacter, int x, int y, public Key(Resources res, Keyboard keyboard, CharSequence popupCharacter, int x, int y,
int width, int edgeFlags) { int width, int height, int edgeFlags) {
mKeyboard = keyboard; mKeyboard = keyboard;
mHeight = keyboard.getRowHeight() - keyboard.getVerticalGap(); mHeight = height - keyboard.getVerticalGap();
mGap = keyboard.getHorizontalGap(); mGap = keyboard.getHorizontalGap();
mWidth = width - mGap; mWidth = width - mGap;
mEdgeFlags = edgeFlags; 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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.Handler;
import android.os.Message; import android.os.Message;
import android.os.SystemClock; import android.os.SystemClock;
import android.provider.Settings;
import android.util.AttributeSet; import android.util.AttributeSet;
import android.util.Log; import android.util.Log;
import android.util.TypedValue; import android.util.TypedValue;
@ -1108,7 +1107,7 @@ public class KeyboardView extends View implements PointerTracker.UIProxy {
miniKeyboardView.mGestureDetector = null; miniKeyboardView.mGestureDetector = null;
final Keyboard keyboard = new MiniKeyboardBuilder(this, mKeyboard.getPopupKeyboardResId(), final Keyboard keyboard = new MiniKeyboardBuilder(this, mKeyboard.getPopupKeyboardResId(),
popupKey).build(); popupKey, mKeyboard).build();
miniKeyboardView.setKeyboard(keyboard); miniKeyboardView.setKeyboard(keyboard);
miniKeyboardView.mMiniKeyboardParent = this; 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 * 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 * 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 * 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 * 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 { /* package */ static class MiniKeyboardLayoutParams {
public final int mKeyWidth; public final int mKeyWidth;
public final int mRowHeight; public final int mRowHeight;
/* package */ final boolean mTopRowNeedsCentering; /* package */ final int mTopRowAdjustment;
public final int mNumRows; public final int mNumRows;
public final int mNumColumns; public final int mNumColumns;
public final int mLeftKeys; public final int mLeftKeys;
@ -55,29 +55,52 @@ public class MiniKeyboardBuilder {
if (parentKeyboardWidth / keyWidth < maxColumns) if (parentKeyboardWidth / keyWidth < maxColumns)
throw new IllegalArgumentException("Keyboard is too small to hold mini keyboard: " throw new IllegalArgumentException("Keyboard is too small to hold mini keyboard: "
+ parentKeyboardWidth + " " + keyWidth + " " + maxColumns); + parentKeyboardWidth + " " + keyWidth + " " + maxColumns);
final int numRows = (numKeys + maxColumns - 1) / maxColumns;
mKeyWidth = keyWidth; mKeyWidth = keyWidth;
mRowHeight = rowHeight; mRowHeight = rowHeight;
mNumRows = numRows;
final int numColumns = Math.min(numKeys, maxColumns); final int numRows = (numKeys + maxColumns - 1) / maxColumns;
final int topRowKeys = numKeys % numColumns; mNumRows = numRows;
final int numColumns = getOptimizedColumns(numKeys, maxColumns);
mNumColumns = numColumns; mNumColumns = numColumns;
mTopRowNeedsCentering = topRowKeys != 0 && (numColumns - topRowKeys) % 2 != 0;
final int numLeftKeys = (numColumns - 1) / 2; final int numLeftKeys = (numColumns - 1) / 2;
final int numRightKeys = numColumns - numLeftKeys; // including default key. final int numRightKeys = numColumns - numLeftKeys; // including default key.
final int maxLeftKeys = coordXInParent / keyWidth; final int maxLeftKeys = coordXInParent / keyWidth;
final int maxRightKeys = Math.max(1, (parentKeyboardWidth - coordXInParent) / keyWidth); final int maxRightKeys = Math.max(1, (parentKeyboardWidth - coordXInParent) / keyWidth);
int leftKeys, rightKeys;
if (numLeftKeys > maxLeftKeys) { if (numLeftKeys > maxLeftKeys) {
mLeftKeys = maxLeftKeys; leftKeys = maxLeftKeys;
mRightKeys = numColumns - maxLeftKeys; rightKeys = numColumns - maxLeftKeys;
} else if (numRightKeys > maxRightKeys) { } else if (numRightKeys > maxRightKeys) {
mLeftKeys = numColumns - maxRightKeys; leftKeys = numColumns - maxRightKeys;
mRightKeys = maxRightKeys; rightKeys = maxRightKeys;
} else { } else {
mLeftKeys = numLeftKeys; leftKeys = numLeftKeys;
mRightKeys = numRightKeys; 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; 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() { public int getDefaultKeyCoordX() {
return mLeftKeys * mKeyWidth; return mLeftKeys * mKeyWidth;
} }
public int getX(int n, int row) { public int getX(int n, int row) {
final int x = getColumnPos(n) * mKeyWidth + getDefaultKeyCoordX(); final int x = getColumnPos(n) * mKeyWidth + getDefaultKeyCoordX();
if (isLastRow(row) && mTopRowNeedsCentering) if (isTopRow(row)) {
return x - mKeyWidth / 2; return x + mTopRowAdjustment * (mKeyWidth / 2);
}
return x; return x;
} }
@ -131,31 +172,33 @@ public class MiniKeyboardBuilder {
public int getRowFlags(int row) { public int getRowFlags(int row) {
int rowFlags = 0; int rowFlags = 0;
if (row == 0) rowFlags |= Keyboard.EDGE_TOP; if (row == 0) rowFlags |= Keyboard.EDGE_TOP;
if (isLastRow(row)) rowFlags |= Keyboard.EDGE_BOTTOM; if (isTopRow(row)) rowFlags |= Keyboard.EDGE_BOTTOM;
return rowFlags; return rowFlags;
} }
private boolean isLastRow(int rowCount) { private boolean isTopRow(int rowCount) {
return rowCount == mNumRows - 1; 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(); final Context context = view.getContext();
mRes = context.getResources(); mRes = context.getResources();
final MiniKeyboard keyboard = new MiniKeyboard(context, layoutTemplateResId, null); final MiniKeyboard keyboard = new MiniKeyboard(context, layoutTemplateResId, null);
mKeyboard = keyboard; mKeyboard = keyboard;
mPopupCharacters = popupKey.mPopupCharacters; mPopupCharacters = parentKey.mPopupCharacters;
final int keyWidth = getMaxKeyWidth(view, mPopupCharacters, keyboard.getKeyWidth()); final int keyWidth = getMaxKeyWidth(view, mPopupCharacters, keyboard.getKeyWidth());
final MiniKeyboardLayoutParams params = new MiniKeyboardLayoutParams( final MiniKeyboardLayoutParams params = new MiniKeyboardLayoutParams(
mPopupCharacters.length, popupKey.mMaxPopupColumn, mPopupCharacters.length, parentKey.mMaxPopupColumn,
keyWidth, keyboard.getRowHeight(), keyWidth, parentKeyboard.getRowHeight(),
popupKey.mX + (popupKey.mWidth + popupKey.mGap) / 2 - keyWidth / 2, parentKey.mX + (parentKey.mWidth + parentKey.mGap) / 2 - keyWidth / 2,
view.getMeasuredWidth()); view.getMeasuredWidth());
mParams = params; 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.setMinWidth(params.mNumColumns * params.mKeyWidth);
keyboard.setDefaultCoordX(params.getDefaultKeyCoordX() + params.mKeyWidth / 2); keyboard.setDefaultCoordX(params.getDefaultKeyCoordX() + params.mKeyWidth / 2);
} }
@ -194,7 +237,7 @@ public class MiniKeyboardBuilder {
final CharSequence label = mPopupCharacters[n]; final CharSequence label = mPopupCharacters[n];
final int row = n / params.mNumColumns; final int row = n / params.mNumColumns;
final Key key = new Key(mRes, keyboard, label, params.getX(n, row), params.getY(row), 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); keys.add(key);
} }
return keyboard; 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * use this file except in compliance with the License. You may obtain a copy of