ca2f051cc1
If any shift state variants of alphabet keyboard layout is not specified in KeyboardSet.Element, it will be automatically generated from base alphabet keyboard definition. This change also * Eliminates KeyboardShiftState object from Keyboard. * Removes various set shift state methods from Keyboard. * Removes KeyboardSet.Element.elementAutoGenerate attribute. * Separates "sticky" Key.backgroundType to "stickyOff" and "stickyOn" * Add preserveCase flag to smiley, .com, and labeled special keys. * Rename KeyboardShiftState class to AlphabetShiftState. * Rename some attributes from *UppercaseLetter* to *ShiftedLetterHint*. * Introduce shiftedLetterActivated to Key.keyLabelFlags Change-Id: I01a0a8efeeaa76820ae728a5bdfa8d02b6ce74b7
411 lines
22 KiB
XML
411 lines
22 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- Copyright (C) 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.
|
|
-->
|
|
|
|
<resources>
|
|
<declare-styleable name="KeyboardTheme">
|
|
<!-- Keyboard style -->
|
|
<attr name="keyboardStyle" format="reference" />
|
|
<!-- TODO: Get rid of latinKeyboardStyle -->
|
|
<!-- LatinKeyboard style -->
|
|
<attr name="latinKeyboardStyle" format="reference" />
|
|
<!-- KeyboardView style -->
|
|
<attr name="keyboardViewStyle" format="reference" />
|
|
<!-- LatinKeyboardView style -->
|
|
<attr name="latinKeyboardViewStyle" format="reference" />
|
|
<!-- MiniKeyboard style -->
|
|
<attr name="miniKeyboardStyle" format="reference" />
|
|
<!-- MiniKeyboardView style -->
|
|
<attr name="miniKeyboardViewStyle" format="reference" />
|
|
<attr name="miniKeyboardPanelStyle" format="reference" />
|
|
<!-- Suggestions strip style -->
|
|
<attr name="suggestionsStripBackgroundStyle" format="reference" />
|
|
<attr name="suggestionsViewStyle" format="reference" />
|
|
<attr name="moreSuggestionsViewStyle" format="reference" />
|
|
<attr name="suggestionBackgroundStyle" format="reference" />
|
|
<attr name="suggestionPreviewBackgroundStyle" format="reference" />
|
|
</declare-styleable>
|
|
|
|
<declare-styleable name="KeyboardView">
|
|
<!-- Image for the key. This image needs to be a StateListDrawable, with the following
|
|
possible states: normal, pressed, checkable, checkable+pressed, checkable+checked,
|
|
checkable+checked+pressed. -->
|
|
<attr name="keyBackground" format="reference" />
|
|
|
|
<!-- Size of the text for one letter keys. If not defined, keyLetterRatio takes effect. -->
|
|
<attr name="keyLetterSize" format="dimension" />
|
|
<!-- Size of the text for keys with multiple letters. If not defined, keyLabelRatio takes
|
|
effect. -->
|
|
<attr name="keyLabelSize" format="dimension" />
|
|
<!-- Size of the text for one letter keys, in the proportion of key height. -->
|
|
<attr name="keyLetterRatio" format="float" />
|
|
<!-- Large size of the text for one letter keys, in the proportion of key height. -->
|
|
<attr name="keyLargeLetterRatio" format="float" />
|
|
<!-- Size of the text for keys with multiple letters, in the proportion of key height. -->
|
|
<attr name="keyLabelRatio" format="float" />
|
|
<!-- Size of the text for hint letter (= one character hint label), in the proportion of
|
|
key height. -->
|
|
<attr name="keyHintLetterRatio" format="float" />
|
|
<!-- Size of the text for hint label, in the proportion of key height. -->
|
|
<attr name="keyHintLabelRatio" format="float" />
|
|
<!-- Size of the text for shifted letter hint, in the proportion of key height. -->
|
|
<attr name="keyShiftedLetterHintRatio" format="float" />
|
|
<!-- Horizontal padding of left/right aligned key label to the edge of the key. -->
|
|
<attr name="keyLabelHorizontalPadding" format="dimension" />
|
|
<!-- Top and right padding of hint letter to the edge of the key.-->
|
|
<attr name="keyHintLetterPadding" format="dimension" />
|
|
<!-- Bottom padding of popup hint letter "..." to the edge of the key.-->
|
|
<attr name="keyPopupHintLetterPadding" format="dimension" />
|
|
<!-- Top and right padding of shifted letter hint to the edge of the key.-->
|
|
<attr name="keyShiftedLetterHintPadding" format="dimension" />
|
|
|
|
<!-- Color to use for the label in a key. -->
|
|
<attr name="keyTextColor" format="color" />
|
|
<!-- Color to use for the label in a key when in inactivated state. -->
|
|
<attr name="keyTextInactivatedColor" format="color" />
|
|
<!-- Key hint letter (= one character hint label) color -->
|
|
<attr name="keyHintLetterColor" format="color" />
|
|
<!-- Key hint label color -->
|
|
<attr name="keyHintLabelColor" format="color" />
|
|
<!-- Shifted letter hint colors -->
|
|
<attr name="keyShiftedLetterHintInactivatedColor" format="color" />
|
|
<attr name="keyShiftedLetterHintActivatedColor" format="color" />
|
|
|
|
<!-- Layout resource for key press feedback.-->
|
|
<attr name="keyPreviewLayout" format="reference" />
|
|
<!-- The background for key press feedback. -->
|
|
<attr name="keyPreviewBackground" format="reference" />
|
|
<!-- The background for the left edge key press feedback. -->
|
|
<attr name="keyPreviewLeftBackground" format="reference" />
|
|
<!-- The background for the right edge key press feedback. -->
|
|
<attr name="keyPreviewRightBackground" format="reference" />
|
|
<!-- The width of rectangle part of the key press feedback background. -->
|
|
<attr name="keyPreviewBackgroundWidth" format="dimension" />
|
|
<!-- The height of rectangle part of the key press feedback background. -->
|
|
<attr name="keyPreviewBackgroundHeight" format="dimension" />
|
|
<!-- The text color for key press feedback. -->
|
|
<attr name="keyPreviewTextColor" format="color" />
|
|
<!-- Vertical offset of the key press feedback from the key. -->
|
|
<attr name="keyPreviewOffset" format="dimension" />
|
|
<!-- Height of the key press feedback popup. -->
|
|
<attr name="keyPreviewHeight" format="dimension" />
|
|
<!-- Size of the text for key press feedback popup, int the proportion of key height -->
|
|
<attr name="keyPreviewTextRatio" format="float" />
|
|
<!-- Delay after key releasing and key press feedback dismissing in millisecond -->
|
|
<attr name="keyPreviewLingerTimeout" format="integer" />
|
|
|
|
<!-- Amount to offset the touch Y coordinate by, for bias correction. -->
|
|
<attr name="verticalCorrection" format="dimension" />
|
|
|
|
<!-- Layout resource for more keys panel -->
|
|
<attr name="moreKeysLayout" format="reference" />
|
|
|
|
<attr name="shadowColor" format="color" />
|
|
<attr name="shadowRadius" format="float" />
|
|
<attr name="backgroundDimAmount" format="float" />
|
|
|
|
<attr name="keyTextStyle" format="enum">
|
|
<!-- This should be aligned with Typeface.NORMAL etc. -->
|
|
<enum name="normal" value="0" />
|
|
<enum name="bold" value="1" />
|
|
<enum name="italic" value="2" />
|
|
<enum name="boldItalic" value="3" />
|
|
</attr>
|
|
</declare-styleable>
|
|
|
|
<declare-styleable name="LatinKeyboardView">
|
|
<attr name="autoCorrectionSpacebarLedEnabled" format="boolean" />
|
|
<attr name="autoCorrectionSpacebarLedIcon" format="reference" />
|
|
<!-- Size of the text for spacebar language label, in the proportion of key height. -->
|
|
<attr name="spacebarTextRatio" format="fraction" />
|
|
<attr name="spacebarTextColor" format="color" />
|
|
<attr name="spacebarTextShadowColor" format="color" />
|
|
<!-- Key detection hysteresis distance. -->
|
|
<attr name="keyHysteresisDistance" format="dimension" />
|
|
<!-- Touch noise threshold time in millisecond -->
|
|
<attr name="touchNoiseThresholdTime" format="integer" />
|
|
<!-- Touch noise threshold distance in millimeter -->
|
|
<attr name="touchNoiseThresholdDistance" format="dimension" />
|
|
<!-- Sliding key input enable -->
|
|
<attr name="slidingKeyInputEnable" format="boolean" />
|
|
<!-- Key repeat start timeout -->
|
|
<attr name="keyRepeatStartTimeout" format="integer" />
|
|
<!-- Key repeat interval in millisecond. -->
|
|
<attr name="keyRepeatInterval" format="integer" />
|
|
<!-- Long press timeout of letter key in millisecond. -->
|
|
<attr name="longPressKeyTimeout" format="integer" />
|
|
<!-- Long press timeout of shift key in millisecond. -->
|
|
<attr name="longPressShiftKeyTimeout" format="integer" />
|
|
<!-- Long press timeout of space key in millisecond. -->
|
|
<attr name="longPressSpaceKeyTimeout" format="integer" />
|
|
<!-- Ignore special key timeout while typing in millisecond. -->
|
|
<attr name="ignoreSpecialKeyTimeout" format="integer" />
|
|
<!-- Mini-keyboard will shown at touched point. -->
|
|
<attr name="showMiniKeyboardAtTouchedPoint" format="boolean" />
|
|
</declare-styleable>
|
|
|
|
<declare-styleable name="SuggestionsView">
|
|
<attr name="suggestionStripOption" format="integer">
|
|
<!-- This should be aligned with SuggestionsViewParams.AUTO_CORRECT_* and etc. -->
|
|
<flag name="autoCorrectBold" value="0x01" />
|
|
<flag name="autoCorrectUnderline" value="0x02" />
|
|
<flag name="validTypedWordBold" value="0x04" />
|
|
</attr>
|
|
<attr name="colorValidTypedWord" format="color" />
|
|
<attr name="colorTypedWord" format="color" />
|
|
<attr name="colorAutoCorrect" format="color" />
|
|
<attr name="colorSuggested" format="color" />
|
|
<attr name="alphaValidTypedWord" format="integer" />
|
|
<attr name="alphaTypedWord" format="integer" />
|
|
<attr name="alphaAutoCorrect" format="integer" />
|
|
<attr name="alphaSuggested" format="integer" />
|
|
<attr name="alphaObsoleted" format="integer" />
|
|
<attr name="suggestionsCountInStrip" format="integer" />
|
|
<attr name="centerSuggestionPercentile" format="integer" />
|
|
<attr name="maxMoreSuggestionsRow" format="integer" />
|
|
<attr name="minMoreSuggestionsWidth" format="float" />
|
|
</declare-styleable>
|
|
|
|
<declare-styleable name="Keyboard">
|
|
<attr name="themeId" format="integer" />
|
|
<!-- Touch position correction -->
|
|
<attr name="touchPositionCorrectionData" format="reference" />
|
|
<!-- Default keyboard height -->
|
|
<attr name="keyboardHeight" format="dimension|fraction" />
|
|
<!-- Maximum keyboard height, in pixels or percentage of display height -->
|
|
<attr name="maxKeyboardHeight" format="dimension|fraction" />
|
|
<!-- Minimum keyboard height represented in pixels, percentage of display height if fraction
|
|
is positive, or percentage of display width if fraction is negative. -->
|
|
<attr name="minKeyboardHeight" format="dimension|fraction" />
|
|
<!-- Keyboard top, bottom, both horizontal edges paddings. -->
|
|
<attr name="keyboardTopPadding" format="dimension|fraction" />
|
|
<attr name="keyboardBottomPadding" format="dimension|fraction" />
|
|
<attr name="keyboardHorizontalEdgesPadding" format="dimension|fraction" />
|
|
<!-- Default height of a row (key height + vertical gap), in pixels or percentage of
|
|
keyboard height. -->
|
|
<attr name="rowHeight" format="dimension|fraction" />
|
|
<!-- Default horizontal gap between keys. -->
|
|
<attr name="horizontalGap" format="dimension|fraction" />
|
|
<!-- Default vertical gap between rows of keys. -->
|
|
<attr name="verticalGap" format="dimension|fraction" />
|
|
<!-- More keys keyboard layout template -->
|
|
<attr name="moreKeysTemplate" format="reference" />
|
|
<!-- True if the keyboard is Right-To-Left -->
|
|
<attr name="isRtlKeyboard" format="boolean" />
|
|
<!-- Icon set for key top and key preview. -->
|
|
<attr name="iconShiftKey" format="reference" />
|
|
<attr name="iconDeleteKey" format="reference" />
|
|
<attr name="iconSettingsKey" format="reference" />
|
|
<attr name="iconSpaceKey" format="reference" />
|
|
<attr name="iconReturnKey" format="reference" />
|
|
<attr name="iconSearchKey" format="reference" />
|
|
<attr name="iconTabKey" format="reference" />
|
|
<attr name="iconShortcutKey" format="reference" />
|
|
<attr name="iconShortcutForLabel" format="reference" />
|
|
<attr name="iconSpaceKeyForNumberLayout" format="reference" />
|
|
<attr name="iconShiftKeyShifted" format="reference" />
|
|
<attr name="iconDisabledShortcutKey" format="reference" />
|
|
<attr name="iconPreviewTabKey" format="reference" />
|
|
</declare-styleable>
|
|
|
|
<declare-styleable name="Keyboard_Key">
|
|
<!-- The unicode value that this key outputs. -->
|
|
<attr name="code" format="integer" />
|
|
<!-- The alternate unicode value that this key outputs while typing. -->
|
|
<attr name="altCode" format="integer" />
|
|
<!-- The keys to display in the more keys keyboard. -->
|
|
<attr name="moreKeys" format="string" />
|
|
<!-- The keys to display in the more keys keyboard in addition to moreKeys.
|
|
The additional more keys are inserted at the '%' markers in the moreKeys if any.
|
|
They are inserted at the head of moreKeys if none.
|
|
If there are remaining entries of additionalMoreKeys even after all '%' markers have
|
|
been replaced, those remaining entries are appended at the end of moreKeys. -->
|
|
<attr name="additionalMoreKeys" format="string" />
|
|
<!-- Maximum column of more keys keyboard -->
|
|
<attr name="maxMoreKeysColumn" format="integer" />
|
|
<attr name="backgroundType" format="enum">
|
|
<!-- This should be aligned with Key.BACKGROUND_TYPE_* -->
|
|
<enum name="normal" value="0" />
|
|
<enum name="functional" value="1" />
|
|
<enum name="action" value="2" />
|
|
<enum name="stickyOff" value="3" />
|
|
<enum name="stickyOn" value="4" />
|
|
</attr>
|
|
<!-- The key action flags. -->
|
|
<attr name="keyActionFlags" format="integer">
|
|
<!-- This should be aligned with Key.ACTION_FLAGS_* -->
|
|
<flag name="isRepeatable" value="0x01" />
|
|
<flag name="noKeyPreview" value="0x02" />
|
|
<flag name="altCodeWhileTyping" value="0x04" />
|
|
</attr>
|
|
<!-- The string of characters to output when this key is pressed. -->
|
|
<attr name="keyOutputText" format="string" />
|
|
<!-- The label to display on the key. -->
|
|
<attr name="keyLabel" format="string" />
|
|
<!-- The hint label to display on the key in conjunction with the label. -->
|
|
<attr name="keyHintLabel" format="string" />
|
|
<!-- The key label flags. -->
|
|
<attr name="keyLabelFlags" format="integer">
|
|
<!-- This should be aligned with Key.LABEL_FLAGS__* -->
|
|
<flag name="alignLeft" value="0x01" />
|
|
<flag name="alignRight" value="0x02" />
|
|
<flag name="alignLeftOfCenter" value="0x08" />
|
|
<flag name="largeLetter" value="0x10" />
|
|
<flag name="fontNormal" value="0x20" />
|
|
<flag name="fontMonoSpace" value="0x40" />
|
|
<flag name="followKeyLetterRatio" value="0x80" />
|
|
<flag name="followKeyHintLabelRatio" value="0x100" />
|
|
<flag name="hasPopupHint" value="0x200" />
|
|
<flag name="hasShiftedLetterHint" value="0x400" />
|
|
<flag name="hasHintLabel" value="0x800" />
|
|
<flag name="withIconLeft" value="0x1000" />
|
|
<flag name="withIconRight" value="0x2000" />
|
|
<flag name="autoXScale" value="0x4000" />
|
|
<!-- If true, character case of code, altCode, moreKeys, keyOutputText, keyLabel,
|
|
or keyHintLabel will never be subject to change. -->
|
|
<flag name="preserveCase" value="0x8000" />
|
|
<!-- If true, use keyShiftedLetterHintActivatedColor for the shifted letter hint and
|
|
keyTextInactivatedColor for the primary key top label. -->
|
|
<flag name="shiftedLetterActivated" value="0x10000" />
|
|
</attr>
|
|
<!-- The icon to display on the key instead of the label. -->
|
|
<attr name="keyIcon" format="enum">
|
|
<!-- This should be aligned with the KeyboardIcons.ICONS_TO_ATTRS_MAP -->
|
|
<enum name="iconShiftKey" value="1" />
|
|
<enum name="iconDeleteKey" value="2" />
|
|
<enum name="iconSettingsKey" value="3" />
|
|
<enum name="iconSpaceKey" value="4" />
|
|
<enum name="iconReturnKey" value="5" />
|
|
<enum name="iconSearchKey" value="6" />
|
|
<enum name="iconTabKey" value="7" />
|
|
<enum name="iconShortcutKey" value="8" />
|
|
<enum name="iconShortcutForLabel" value="9" />
|
|
<enum name="iconSpaceKeyForNumberLayout" value="10" />
|
|
<enum name="iconShiftKeyShifted" value="11" />
|
|
</attr>
|
|
<!-- The icon for disabled key -->
|
|
<attr name="keyIconDisabled" format="enum">
|
|
<!-- This should be aligned with the KeyboardIcons.ICONS_TO_ATTRS_MAP -->
|
|
<enum name="iconDisabledShortcutKey" value="12" />
|
|
</attr>
|
|
<!-- The icon to show in the popup preview. -->
|
|
<attr name="keyIconPreview" format="enum">
|
|
<!-- This should be aligned with the KeyboardIcons.ICONS_TO_ATTRS_MAP -->
|
|
<enum name="iconPreviewTabKey" value="13" />
|
|
</attr>
|
|
<!-- The key style to specify a set of key attributes defined by <key_style/> -->
|
|
<attr name="keyStyle" format="string" />
|
|
<!-- Visual insets -->
|
|
<attr name="visualInsetsLeft" format="dimension|fraction" />
|
|
<attr name="visualInsetsRight" format="dimension|fraction" />
|
|
<!-- Width of the key, in pixels or percentage of display width.
|
|
If the value is fillRight, the actual key width will be determined to fill out the area
|
|
up to the right edge of the keyboard.
|
|
If the value is fillBoth, the actual key width will be determined to fill out the
|
|
area between the nearest key on the left hand side and the right edge of the keyboard.
|
|
-->
|
|
<!-- This should be aligned with KeyboardBuilder.Row.KEYWIDTH_* -->
|
|
<attr name="keyWidth" format="dimension|fraction|enum">
|
|
<enum name="fillRight" value="-1" />
|
|
<enum name="fillBoth" value="-2" />
|
|
</attr>
|
|
<!-- The X-coordinate of upper right corner of this key including horizontal gap.
|
|
If the value is negative, the origin is the right edge of the keyboard. -->
|
|
<attr name="keyXPos" format="dimension|fraction" />
|
|
</declare-styleable>
|
|
|
|
<declare-styleable name="Keyboard_Include">
|
|
<attr name="keyboardLayout" format="reference" />
|
|
</declare-styleable>
|
|
|
|
<declare-styleable name="Keyboard_Case">
|
|
<!-- This should be aligned with KeyboardSet_Element's elementName. -->
|
|
<attr name="keyboardSetElement" format="enum|string">
|
|
<enum name="alphabet" value="0" />
|
|
<enum name="alphabetManualShifted" value="1" />
|
|
<enum name="alphabetAutomaticShifted" value="2" />
|
|
<enum name="alphabetShiftLocked" value="3" />
|
|
<enum name="alphabetShiftLockShifted" value="4" />
|
|
<enum name="symbols" value="5" />
|
|
<enum name="symbolsShifted" value="6" />
|
|
<enum name="phone" value="7" />
|
|
<enum name="phoneShifted" value="8" />
|
|
<enum name="number" value="9" />
|
|
</attr>
|
|
<!-- This should be aligned with KeyboardId.MODE_* -->
|
|
<attr name="mode" format="enum|string">
|
|
<enum name="text" value="0" />
|
|
<enum name="url" value="1" />
|
|
<enum name="email" value="2" />
|
|
<enum name="im" value="3" />
|
|
<enum name="phone" value="4" />
|
|
<enum name="number" value="5" />
|
|
</attr>
|
|
<attr name="navigateAction" format="boolean" />
|
|
<attr name="passwordInput" format="boolean" />
|
|
<attr name="hasSettingsKey" format="boolean" />
|
|
<!-- This should be aligned with KeyboardID.F2KEY_MODE_* -->
|
|
<attr name="f2KeyMode" format="enum">
|
|
<enum name="none" value="0" />
|
|
<enum name="settings" value="1" />
|
|
<enum name="shortcutIme" value="2" />
|
|
<enum name="shortcutImeOrSettings" value="3" />
|
|
</attr>
|
|
<attr name="clobberSettingsKey" format="boolean" />
|
|
<attr name="shortcutKeyEnabled" format="boolean" />
|
|
<attr name="hasShortcutKey" format="boolean" />
|
|
<attr name="imeAction" format="enum">
|
|
<!-- This should be aligned with EditorInfo.IME_ACTION_* -->
|
|
<enum name="actionUnspecified" value="0" />
|
|
<enum name="actionNone" value="1" />
|
|
<enum name="actionGo" value="2" />
|
|
<enum name="actionSearch" value="3" />
|
|
<enum name="actionSend" value="4" />
|
|
<enum name="actionNext" value="5" />
|
|
<enum name="actionDone" value="6" />
|
|
<enum name="actionPrevious" value="7" />
|
|
</attr>
|
|
<attr name="localeCode" format="string" />
|
|
<attr name="languageCode" format="string" />
|
|
<attr name="countryCode" format="string" />
|
|
</declare-styleable>
|
|
|
|
<declare-styleable name="Keyboard_KeyStyle">
|
|
<attr name="styleName" format="string" />
|
|
<attr name="parentStyle" format="string" />
|
|
</declare-styleable>
|
|
|
|
<declare-styleable name="KeyboardSet">
|
|
<!-- Locale of the keyboard layouts -->
|
|
<attr name="keyboardLocale" format="string" />
|
|
</declare-styleable>
|
|
|
|
<declare-styleable name="KeyboardSet_Element">
|
|
<!-- This should be aligned with KeyboardId.ELEMENT_* -->
|
|
<attr name="elementName" format="enum">
|
|
<enum name="alphabet" value="0" />
|
|
<enum name="alphabetManualShifted" value="1" />
|
|
<enum name="alphabetAutomaticShifted" value="2" />
|
|
<enum name="alphabetShiftLocked" value="3" />
|
|
<enum name="alphabetShiftLockShifted" value="4" />
|
|
<enum name="symbols" value="5" />
|
|
<enum name="symbolsShifted" value="6" />
|
|
<enum name="phone" value="7" />
|
|
<enum name="phoneShifted" value="8" />
|
|
<enum name="number" value="9" />
|
|
</attr>
|
|
<attr name="elementKeyboard" format="reference"/>
|
|
</declare-styleable>
|
|
</resources>
|