<?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 key which may have settings or tab key as popup key. --> <include latin:keyboardLayout="@xml/key_styles_f1" /> <!-- Functional key styles --> <switch> <case latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetAutomaticShifted" > <key-style latin:styleName="shiftKeyStyle" latin:code="!code/key_shift" latin:keyIcon="!icon/shift_key_shifted" latin:keyActionFlags="noKeyPreview" latin:backgroundType="stickyOff" /> </case> <case latin:keyboardLayoutSetElement="alphabetShiftLocked|alphabetShiftLockShifted" > <key-style latin:styleName="shiftKeyStyle" latin:code="!code/key_shift" latin:keyIcon="!icon/shift_key_shifted" latin:keyActionFlags="noKeyPreview" latin:backgroundType="stickyOn" /> </case> <default> <key-style latin:styleName="shiftKeyStyle" latin:code="!code/key_shift" latin:keyIcon="!icon/shift_key" latin:keyActionFlags="noKeyPreview" latin:backgroundType="stickyOff" /> </default> </switch> <key-style latin:styleName="deleteKeyStyle" latin:code="!code/key_delete" latin:keyIcon="!icon/delete_key" latin:keyActionFlags="isRepeatable|noKeyPreview" latin:backgroundType="functional" /> <include latin:keyboardLayout="@xml/key_styles_enter" /> <switch> <!-- Shift + Enter in textMultiLine field. --> <case latin:isMultiLine="true" latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted" > <key-style latin:styleName="enterKeyStyle" latin:parentStyle="shiftEnterKeyStyle" /> </case> <!-- Smiley in textShortMessage field. Overrides common enter key style. --> <case latin:mode="im" > <key-style latin:styleName="enterKeyStyle" latin:keyLabel=":-)" latin:keyOutputText=":-) " latin:keyLabelFlags="hasPopupHint" latin:moreKeys="!text/more_keys_for_smiley" latin:backgroundType="functional" /> </case> </switch> <key-style latin:styleName="spaceKeyStyle" latin:code="!code/key_space" latin:keyActionFlags="noKeyPreview|enableLongPress" /> <!-- U+200C: ZERO WIDTH NON-JOINER U+200D: ZERO WIDTH JOINER --> <key-style latin:styleName="zwnjKeyStyle" latin:code="0x200C" latin:keyIcon="!icon/zwnj_key" latin:moreKeys="!icon/zwj_key|‍" latin:keyLabelFlags="hasPopupHint" latin:keyActionFlags="noKeyPreview" /> <key-style latin:styleName="shortcutKeyStyle" latin:code="!code/key_shortcut" latin:keyIcon="!icon/shortcut_key" latin:keyIconDisabled="!icon/shortcut_key_disabled" latin:keyActionFlags="noKeyPreview|altCodeWhileTyping" latin:altCode="!code/key_space" latin:parentStyle="f1MoreKeysStyle" /> <key-style latin:styleName="settingsKeyStyle" latin:code="!code/key_settings" latin:keyIcon="!icon/settings_key" latin:keyActionFlags="noKeyPreview|altCodeWhileTyping" latin:altCode="!code/key_space" latin:backgroundType="functional" /> <key-style latin:styleName="languageSwitchKeyStyle" latin:code="!code/key_language_switch" latin:keyIcon="!icon/language_switch_key" latin:keyActionFlags="noKeyPreview|altCodeWhileTyping|enableLongPress" latin:altCode="!code/key_space" /> <key-style latin:styleName="tabKeyStyle" latin:code="!code/key_tab" latin:keyIcon="!icon/tab_key" latin:keyIconPreview="!icon/tab_key_preview" latin:backgroundType="functional" /> <!-- 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="!code/key_tab" latin:keyIcon="!icon/tab_key" latin:keyIconPreview="!icon/tab_key_preview" /> <key-style latin:styleName="baseForLayoutSwitchKeyStyle" latin:keyLabelFlags="preserveCase" latin:keyActionFlags="noKeyPreview" latin:backgroundType="functional" /> <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 label_to_symbol_key label and shortcut_for_label icon. --> <case latin:shortcutKeyOnSymbols="true" > <key-style latin:styleName="baseForToSymbolKeyStyle" latin:keyIcon="!icon/shortcut_for_label" latin:keyLabel="!text/label_to_symbol_with_microphone_key" latin:keyLabelFlags="withIconRight|preserveCase" latin:parentStyle="baseForLayoutSwitchKeyStyle" /> </case> <default> <key-style latin:styleName="baseForToSymbolKeyStyle" latin:keyLabel="!text/label_to_symbol_key" latin:parentStyle="baseForLayoutSwitchKeyStyle" /> </default> </switch> <key-style latin:styleName="toSymbolKeyStyle" latin:code="!code/key_switch_alpha_symbol" latin:parentStyle="baseForToSymbolKeyStyle" /> <key-style latin:styleName="toAlphaKeyStyle" latin:code="!code/key_switch_alpha_symbol" latin:keyLabel="!text/label_to_alpha_key" latin:parentStyle="baseForLayoutSwitchKeyStyle" /> <key-style latin:styleName="toMoreSymbolKeyStyle" latin:code="!code/key_shift" latin:keyLabel="!text/label_to_more_symbol_key" latin:parentStyle="baseForLayoutSwitchKeyStyle" /> <key-style latin:styleName="backFromMoreSymbolKeyStyle" latin:code="!code/key_shift" latin:parentStyle="baseForToSymbolKeyStyle" /> <key-style latin:styleName="punctuationKeyStyle" latin:keyLabel="." latin:keyLabelFlags="hasPopupHint" latin:moreKeys="!text/more_keys_for_punctuation" latin:backgroundType="functional" /> </merge>