<?xml version="1.0" encoding="utf-8"?>
<!--
/*
**
** Copyright 2011, The Android Open Source Project
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** 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 -->
    <switch>
        <case
            latin:colorScheme="white"
        >
            <key-style
                latin:styleName="functionalKeyStyle"
                latin:isModifier="true" />
        </case>
        <case
            latin:colorScheme="black"
        >
            <key-style
                latin:styleName="functionalKeyStyle" />
        </case>
    </switch>
    <!-- Functional key styles -->
    <switch>
        <case
            latin:colorScheme="white"
        >
            <key-style
                latin:styleName="shiftKeyStyle"
                latin:code="@integer/key_shift"
                latin:keyIcon="@drawable/sym_keyboard_shift_holo"
                latin:shiftedIcon="@drawable/sym_keyboard_shift_locked_holo"
                latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
                latin:parentStyle="functionalKeyStyle"
                latin:isSticky="true" />
            <key-style
                latin:styleName="deleteKeyStyle"
                latin:code="@integer/key_delete"
                latin:keyIcon="@drawable/sym_keyboard_delete_holo"
                latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
                latin:parentStyle="functionalKeyStyle"
                latin:isRepeatable="true" />
            <key-style
                latin:styleName="returnKeyStyle"
                latin:code="@integer/key_return"
                latin:keyIcon="@drawable/sym_keyboard_return_holo"
                latin:iconPreview="@drawable/sym_keyboard_feedback_return"
                latin:parentStyle="functionalKeyStyle" />
            <key-style
                latin:styleName="spaceKeyStyle"
                latin:code="@integer/key_space"
                latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
            <key-style
                latin:styleName="nonSpecialBackgroundSpaceKeyStyle"
                latin:code="@integer/key_space"
                latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
            <key-style
                latin:styleName="smileyKeyStyle"
                latin:keyLabel=":-)"
                latin:keyOutputText=":-) "
                latin:keyHintIcon="@drawable/hint_popup_holo"
                latin:popupCharacters="@string/alternates_for_smiley"
                latin:maxPopupKeyboardColumn="5" />
            <switch>
                <case
                    latin:voiceKeyEnabled="true"
                >
                    <key-style
                        latin:styleName="micOrSettingsKeyStyle"
                        latin:code="@integer/key_voice"
                        latin:keyIcon="@drawable/sym_keyboard_voice_holo"
                        latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
                        latin:keyHintIcon="@drawable/hint_popup_holo"
                        latin:popupCharacters="\@drawable/sym_keyboard_settings|\@integer/key_settings"
                        latin:parentStyle="functionalKeyStyle" />
                </case>
                <default>
                    <key-style
                        latin:styleName="micOrSettingsKeyStyle"
                        latin:code="@integer/key_settings"
                        latin:keyIcon="@drawable/sym_keyboard_settings_holo"
                        latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
                        latin:parentStyle="functionalKeyStyle" />
                </default>
            </switch>
        </case>
        <case
            latin:colorScheme="black"
        >
            <key-style
                latin:styleName="shiftKeyStyle"
                latin:code="@integer/key_shift"
                latin:keyIcon="@drawable/sym_bkeyboard_shift"
                latin:shiftedIcon="@drawable/sym_bkeyboard_shift_locked"
                latin:iconPreview="@drawable/sym_keyboard_feedback_shift"
                latin:parentStyle="functionalKeyStyle"
                latin:isSticky="true" />
            <key-style
                latin:styleName="deleteKeyStyle"
                latin:code="@integer/key_delete"
                latin:keyIcon="@drawable/sym_bkeyboard_delete"
                latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
                latin:parentStyle="functionalKeyStyle"
                latin:isRepeatable="true" />
            <key-style
                latin:styleName="returnKeyStyle"
                latin:code="@integer/key_return"
                latin:keyIcon="@drawable/sym_bkeyboard_return"
                latin:iconPreview="@drawable/sym_keyboard_feedback_return"
                latin:parentStyle="functionalKeyStyle" />
            <key-style
                latin:styleName="spaceKeyStyle"
                latin:code="@integer/key_space"
                latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
            <key-style
                latin:styleName="nonSpecialBackgroundSpaceKeyStyle"
                latin:code="@integer/key_space"
                latin:iconPreview="@drawable/sym_keyboard_feedback_space" />
            <key-style
                latin:styleName="smileyKeyStyle"
                latin:keyLabel=":-)"
                latin:keyOutputText=":-) "
                latin:keyHintIcon="@drawable/hint_popup_holo"
                latin:popupCharacters="@string/alternates_for_smiley"
                latin:maxPopupKeyboardColumn="5" />
            <switch>
                <case
                    latin:voiceKeyEnabled="true"
                >
                    <key-style
                        latin:styleName="micOrSettingsKeyStyle"
                        latin:code="@integer/key_voice"
                        latin:keyIcon="@drawable/sym_bkeyboard_mic"
                        latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
                        latin:keyHintIcon="@drawable/hint_popup_holo"
                        latin:popupCharacters="\@drawable/sym_keyboard_settings|\@integer/key_settings"
                        latin:parentStyle="functionalKeyStyle" />
                </case>
                <default>
                    <key-style
                        latin:styleName="micOrSettingsKeyStyle"
                        latin:code="@integer/key_settings"
                        latin:keyIcon="@drawable/sym_bkeyboard_settings"
                        latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
                        latin:parentStyle="functionalKeyStyle" />
                </default>
            </switch>
        </case>
    </switch>
    <key-style
        latin:styleName="tabKeyStyle"
        latin:code="@integer/key_tab"
        latin:keyIcon="@drawable/sym_keyboard_tab_holo"
        latin:iconPreview="@drawable/sym_keyboard_tab_holo"
        latin:parentStyle="functionalKeyStyle" />
    <key-style
        latin:styleName="toSymbolKeyStyle"
        latin:code="@integer/key_switch_alpha_symbol"
        latin:keyLabel="@string/label_to_symbol_key"
        latin:keyLabelOption="fontNormal"
        latin:parentStyle="functionalKeyStyle" />
    <key-style
        latin:styleName="toAlphaKeyStyle"
        latin:code="@integer/key_switch_alpha_symbol"
        latin:keyLabel="@string/label_to_alpha_key"
        latin:keyLabelOption="fontNormal"
        latin:parentStyle="functionalKeyStyle" />
    <key-style
        latin:styleName="moreKeyStyle"
        latin:code="@integer/key_shift"
        latin:keyLabel="@string/label_more_key"
        latin:keyLabelOption="fontNormal"
        latin:parentStyle="functionalKeyStyle"
        latin:isSticky="true" />
    <key-style
        latin:styleName="comKeyStyle"
        latin:keyLabel="@string/keylabel_for_popular_domain"
        latin:keyLabelOption="fontNormal"
        latin:keyOutputText="@string/keylabel_for_popular_domain"
        latin:keyHintIcon="@drawable/hint_popup_holo"
        latin:popupCharacters="@string/alternates_for_popular_domain" />
    <switch>
        <case
            latin:passwordInput="true"
        >
            <key-style
                latin:styleName="nonPasswordSymbolKeyStyle"
                latin:enabled="false" />
        </case>
        <!-- latin:passwordInput="false" -->
        <default>
            <key-style
                latin:styleName="nonPasswordSymbolKeyStyle"
                latin:enabled="true" />
        </default>
    </switch>
</merge>