<?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" > <!-- Base key style for the functional key --> <key-style latin:styleName="functionalKeyStyle" latin:isFunctional="true" /> <!-- Base key style for the key which may have settings or tab key as popup key. --> <switch> <case latin:clobberSettingsKey="true" > <key-style latin:styleName="f1PopupStyle" latin:keyLabelOption="hasPopupHint" latin:popupCharacters="@string/alternates_for_f1" latin:parentStyle="functionalKeyStyle" /> </case> <!-- clobberSettingsKey="false --> <case latin:hasSettingsKey="false" > <key-style latin:styleName="f1PopupStyle" latin:keyLabelOption="hasPopupHint" latin:popupCharacters="@string/alternates_for_f1_settings" latin:parentStyle="functionalKeyStyle" /> </case> <!-- clobberSettingsKey="false" hasSettingsKey="true" --> <case latin:navigateAction="true" > <key-style latin:styleName="f1PopupStyle" latin:keyLabelOption="hasPopupHint" latin:popupCharacters="@string/alternates_for_f1_navigate" latin:parentStyle="functionalKeyStyle" /> </case> <!-- clobberSettingsKey="false" and hasSettingsKey="true" navigateAction="false" --> <default> <key-style latin:styleName="f1PopupStyle" latin:keyLabelOption="hasPopupHint" latin:popupCharacters="@string/alternates_for_f1" latin:parentStyle="functionalKeyStyle" /> </default> </switch> <!-- Functional key styles --> <key-style latin:styleName="shiftKeyStyle" latin:code="@integer/key_shift" latin:keyIcon="iconShiftKey" latin:keyIconShifted="iconShiftedShiftKey" latin:parentStyle="functionalKeyStyle" latin:isSticky="true" /> <key-style latin:styleName="deleteKeyStyle" latin:code="@integer/key_delete" latin:keyIcon="iconDeleteKey" latin:parentStyle="functionalKeyStyle" latin:isRepeatable="true" /> <!-- Return key style --> <switch> <case latin:mode="im" > <!-- Smiley key. --> <key-style latin:styleName="returnKeyStyle" latin:keyLabel=":-)" latin:keyOutputText=":-) " latin:keyLabelOption="hasPopupHint" latin:popupCharacters="@string/alternates_for_smiley" latin:maxPopupKeyboardColumn="5" latin:parentStyle="functionalKeyStyle" /> </case> <case latin:imeAction="actionGo" > <key-style latin:styleName="returnKeyStyle" latin:code="@integer/key_return" latin:keyLabel="@string/label_go_key" latin:parentStyle="functionalKeyStyle" /> </case> <case latin:imeAction="actionNext" > <key-style latin:styleName="returnKeyStyle" latin:code="@integer/key_return" latin:keyLabel="@string/label_next_key" latin:parentStyle="functionalKeyStyle" /> </case> <case latin:imeAction="actionDone" > <key-style latin:styleName="returnKeyStyle" latin:code="@integer/key_return" latin:keyLabel="@string/label_done_key" latin:parentStyle="functionalKeyStyle" /> </case> <case latin:imeAction="actionSend" > <key-style latin:styleName="returnKeyStyle" latin:code="@integer/key_return" latin:keyLabel="@string/label_send_key" latin:parentStyle="functionalKeyStyle" /> </case> <case latin:imeAction="actionSearch" > <key-style latin:styleName="returnKeyStyle" latin:code="@integer/key_return" latin:keyIcon="iconSearchKey" latin:parentStyle="functionalKeyStyle" /> </case> <default> <key-style latin:styleName="returnKeyStyle" latin:code="@integer/key_return" latin:keyIcon="iconReturnKey" latin:parentStyle="functionalKeyStyle" /> </default> </switch> <key-style latin:styleName="spaceKeyStyle" latin:code="@integer/key_space" latin:parentStyle="functionalKeyStyle" /> <key-style latin:styleName="shortcutKeyStyle" latin:code="@integer/key_shortcut" latin:keyIcon="iconShortcutKey" latin:keyIconPreview="iconPreviewShortcutKey" latin:parentStyle="f1PopupStyle" /> <key-style latin:styleName="settingsKeyStyle" latin:code="@integer/key_settings" latin:keyIcon="iconSettingsKey" latin:keyIconPreview="iconPreviewSettingsKey" latin:parentStyle="functionalKeyStyle" /> <key-style latin:styleName="tabKeyStyle" latin:code="@integer/key_tab" latin:keyIcon="iconTabKey" latin:keyIconPreview="iconPreviewTabKey" latin:parentStyle="functionalKeyStyle" /> <!-- 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="iconTabKey" latin:keyIconPreview="iconPreviewTabKey" /> <switch> <!-- When this qwerty keyboard has no shortcut keys but shortcut key is enabled, then symbol keyboard will have a shortcut key. That means we should use iconToSymbolKeyWithShortcutKey here. --> <case latin:shortcutKeyEnabled="true" latin:hasShortcutKey="false" > <key-style latin:styleName="toSymbolKeyStyle" latin:code="@integer/key_switch_alpha_symbol" latin:keyIcon="iconShortcutForLabel" latin:keyLabel="@string/label_to_symbol_with_microphone_key" latin:keyLabelOption="withIconRight" latin:parentStyle="functionalKeyStyle" /> </case> <default> <key-style latin:styleName="toSymbolKeyStyle" latin:code="@integer/key_switch_alpha_symbol" latin:keyLabel="@string/label_to_symbol_key" latin:parentStyle="functionalKeyStyle" /> </default> </switch> <key-style latin:styleName="toAlphaKeyStyle" latin:code="@integer/key_switch_alpha_symbol" latin:keyLabel="@string/label_to_alpha_key" latin:parentStyle="functionalKeyStyle" /> <key-style latin:styleName="toMoreSymbolKeyStyle" latin:code="@integer/key_shift" latin:keyLabel="@string/label_to_more_symbol_key" latin:parentStyle="functionalKeyStyle" /> <key-style latin:styleName="backFromMoreSymbolKeyStyle" latin:code="@integer/key_shift" latin:keyLabel="@string/label_to_symbol_key" 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> <key-style latin:styleName="punctuationKeyStyle" latin:keyLabel="." latin:keyHintLabel="@string/keyhintlabel_for_punctuation" latin:keyLabelOption="hasPopupHint" latin:popupCharacters="@string/alternates_for_punctuation" latin:maxPopupKeyboardColumn="@integer/popup_keyboard_column_for_punctuation" latin:parentStyle="functionalKeyStyle" /> </merge>