LatinIME/java/res/values/attrs.xml
Tadashi G. Takaoka ca2f051cc1 Auto generate various shift states alphabet keyboard automatically
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
2012-01-31 12:55:45 +09:00

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>