327763e518
This change introduces the following features to Keyboard XML format. * "keyXPos" can specify the key X coordinate directly. * "keyXPos" can be negative. The X coordinate will be calcluated from the right edge of the keyboard toward left. * "keyWidth" can be zero to be filled up to the right side. * "keyWidth can be negative. The key will be filled up to both sides. * Spacer's horizontalGap is renamed as keyWidth, and can be inherited from key-style. * Spacer can have keyXPos attribute. Using these syntax, all keyboard layouts have been re-written. Cherry-Pick: I314b2e8ca2aa145ff9506cbf927140a15685af42 Bug: 4442045 Change-Id: I048fe5eaef020d8472ab577e9d326042bae2f3fa
338 lines
No EOL
14 KiB
XML
338 lines
No EOL
14 KiB
XML
<?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 -->
|
|
<switch>
|
|
<case
|
|
latin:colorScheme="white"
|
|
>
|
|
<key-style
|
|
latin:styleName="functionalKeyStyle"
|
|
latin:isFunctional="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_holo|\@integer/key_settings"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
</default>
|
|
</switch>
|
|
<!-- Functional key styles -->
|
|
<switch>
|
|
<case
|
|
latin:colorScheme="white"
|
|
>
|
|
<key-style
|
|
latin:styleName="shiftKeyStyle"
|
|
latin:code="@integer/key_shift"
|
|
latin:keyIcon="@drawable/sym_keyboard_shift"
|
|
latin:shiftedIcon="@drawable/sym_keyboard_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_keyboard_delete"
|
|
latin:iconPreview="@drawable/sym_keyboard_feedback_delete"
|
|
latin:parentStyle="functionalKeyStyle"
|
|
latin:isRepeatable="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-style
|
|
latin:styleName="toSymbolKeyStyle"
|
|
latin:code="@integer/key_switch_alpha_symbol"
|
|
latin:keyIcon="@drawable/sym_keyboard_123_mic"
|
|
latin:iconPreview="@drawable/sym_keyboard_feedback_123_mic"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
</case>
|
|
<default>
|
|
<key-style
|
|
latin:styleName="toSymbolKeyStyle"
|
|
latin:code="@integer/key_switch_alpha_symbol"
|
|
latin:keyLabel="@string/label_to_symbol_key"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
</default>
|
|
</switch>
|
|
<key-style
|
|
latin:styleName="settingsKeyStyle"
|
|
latin:code="@integer/key_settings"
|
|
latin:keyIcon="@drawable/sym_keyboard_settings_holo"
|
|
latin:iconPreview="@drawable/sym_keyboard_settings_holo"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
<key-style
|
|
latin:styleName="spaceKeyStyle"
|
|
latin:code="@integer/key_space"
|
|
latin:keyIcon="@drawable/sym_keyboard_space"
|
|
latin:iconPreview="@drawable/sym_keyboard_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_tab"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
<key-style
|
|
latin:styleName="micKeyStyle"
|
|
latin:code="@integer/key_shortcut"
|
|
latin:keyIcon="@drawable/sym_keyboard_mic"
|
|
latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
|
|
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_tab" />
|
|
</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" />
|
|
<switch>
|
|
<!-- When this qwerty keyboard has no voice key but voice key is enabled, then
|
|
symbol keyboard will have mic key. That means we should use "?123mic" key
|
|
here. -->
|
|
<case
|
|
latin:voiceKeyEnabled="true"
|
|
latin:hasVoiceKey="false"
|
|
>
|
|
<key-style
|
|
latin:styleName="toSymbolKeyStyle"
|
|
latin:code="@integer/key_switch_alpha_symbol"
|
|
latin:keyIcon="@drawable/sym_bkeyboard_123_mic"
|
|
latin:iconPreview="@drawable/sym_keyboard_feedback_123_mic"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
</case>
|
|
<default>
|
|
<key-style
|
|
latin:styleName="toSymbolKeyStyle"
|
|
latin:code="@integer/key_switch_alpha_symbol"
|
|
latin:keyLabel="@string/label_to_symbol_key"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
</default>
|
|
</switch>
|
|
<key-style
|
|
latin:styleName="settingsKeyStyle"
|
|
latin:code="@integer/key_settings"
|
|
latin:keyIcon="@drawable/sym_bkeyboard_settings"
|
|
latin:iconPreview="@drawable/sym_keyboard_feedback_settings"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
<key-style
|
|
latin:styleName="spaceKeyStyle"
|
|
latin:code="@integer/key_space"
|
|
latin:keyIcon="@drawable/sym_bkeyboard_space"
|
|
latin:iconPreview="@drawable/sym_keyboard_feedback_space"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
<key-style
|
|
latin:styleName="tabKeyStyle"
|
|
latin:code="@integer/key_tab"
|
|
latin:keyIcon="@drawable/sym_bkeyboard_tab"
|
|
latin:iconPreview="@drawable/sym_keyboard_feedback_tab"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
<key-style
|
|
latin:styleName="micKeyStyle"
|
|
latin:code="@integer/key_shortcut"
|
|
latin:keyIcon="@drawable/sym_bkeyboard_mic"
|
|
latin:iconPreview="@drawable/sym_keyboard_feedback_mic"
|
|
latin:parentStyle="settingsPopupStyle" />
|
|
<!-- Note: This key style is not for functional tab key. This is used for the tab key
|
|
which is laid out as normal letter key. -->
|
|
<key-style
|
|
latin:styleName="nonSpecialBackgroundTabKeyStyle"
|
|
latin:code="@integer/key_tab"
|
|
latin:keyIcon="@drawable/sym_bkeyboard_tab"
|
|
latin:iconPreview="@drawable/sym_keyboard_feedback_tab" />
|
|
</case>
|
|
</switch>
|
|
<!-- Return key style -->
|
|
<switch>
|
|
<case
|
|
latin:imeAction="actionGo"
|
|
>
|
|
<key-style
|
|
latin:styleName="returnKeyStyle"
|
|
latin:code="@integer/key_return"
|
|
latin:keyLabel="@string/label_go_key"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
</case>
|
|
<case
|
|
latin:imeAction="actionNext"
|
|
>
|
|
<key-style
|
|
latin:styleName="returnKeyStyle"
|
|
latin:code="@integer/key_return"
|
|
latin:keyLabel="@string/label_next_key"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
</case>
|
|
<case
|
|
latin:imeAction="actionDone"
|
|
>
|
|
<key-style
|
|
latin:styleName="returnKeyStyle"
|
|
latin:code="@integer/key_return"
|
|
latin:keyLabel="@string/label_done_key"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
</case>
|
|
<case
|
|
latin:imeAction="actionSend"
|
|
>
|
|
<key-style
|
|
latin:styleName="returnKeyStyle"
|
|
latin:code="@integer/key_return"
|
|
latin:keyLabel="@string/label_send_key"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
</case>
|
|
<case
|
|
latin:imeAction="actionSearch"
|
|
>
|
|
<switch>
|
|
<case
|
|
latin:colorScheme="white"
|
|
>
|
|
<key-style
|
|
latin:styleName="returnKeyStyle"
|
|
latin:code="@integer/key_return"
|
|
latin:keyIcon="@drawable/sym_keyboard_search"
|
|
latin:iconPreview="@drawable/sym_keyboard_feedback_search"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
</case>
|
|
<case
|
|
latin:colorScheme="black"
|
|
>
|
|
<key-style
|
|
latin:styleName="returnKeyStyle"
|
|
latin:code="@integer/key_return"
|
|
latin:keyIcon="@drawable/sym_bkeyboard_search"
|
|
latin:iconPreview="@drawable/sym_keyboard_feedback_search"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
</case>
|
|
</switch>
|
|
</case>
|
|
<default>
|
|
<switch>
|
|
<case
|
|
latin:colorScheme="white"
|
|
>
|
|
<key-style
|
|
latin:styleName="returnKeyStyle"
|
|
latin:code="@integer/key_return"
|
|
latin:keyIcon="@drawable/sym_keyboard_return"
|
|
latin:iconPreview="@drawable/sym_keyboard_return"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
</case>
|
|
<case
|
|
latin:colorScheme="black"
|
|
>
|
|
<key-style
|
|
latin:styleName="returnKeyStyle"
|
|
latin:code="@integer/key_return"
|
|
latin:keyIcon="@drawable/sym_bkeyboard_return"
|
|
latin:iconPreview="@drawable/sym_keyboard_feedback_return"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
</case>
|
|
</switch>
|
|
</default>
|
|
</switch>
|
|
<key-style
|
|
latin:styleName="toAlphaKeyStyle"
|
|
latin:code="@integer/key_switch_alpha_symbol"
|
|
latin:keyLabel="@string/label_to_alpha_key"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
<key-style
|
|
latin:styleName="altKeyStyle"
|
|
latin:code="@integer/key_shift"
|
|
latin:keyLabel="@string/label_alt_key"
|
|
latin:parentStyle="functionalKeyStyle"
|
|
latin:isSticky="true" />
|
|
<key-style
|
|
latin:styleName="smileyKeyStyle"
|
|
latin:keyLabel=":-)"
|
|
latin:keyOutputText=":-) "
|
|
latin:keyHintIcon="@drawable/hint_popup"
|
|
latin:popupCharacters="@string/alternates_for_smiley"
|
|
latin:maxPopupKeyboardColumn="5"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
<switch>
|
|
<case
|
|
latin:passwordInput="true"
|
|
>
|
|
<key-style
|
|
latin:styleName="nonPasswordSymbolKeyStyle"
|
|
latin:enabled="false" />
|
|
<key-style
|
|
latin:styleName="nonPasswordFunctionalKeyStyle"
|
|
latin:enabled="false"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
</case>
|
|
<!-- latin:passwordInput="false" -->
|
|
<default>
|
|
<key-style
|
|
latin:styleName="nonPasswordSymbolKeyStyle"
|
|
latin:enabled="true" />
|
|
<key-style
|
|
latin:styleName="nonPasswordFunctionalKeyStyle"
|
|
latin:enabled="true"
|
|
latin:parentStyle="functionalKeyStyle" />
|
|
</default>
|
|
</switch>
|
|
</merge> |