1<?xml version="1.0" encoding="utf-8"?>
2<!--
3/*
4**
5** Copyright 2015, The Android Open Source Project
6**
7** Licensed under the Apache License, Version 2.0 (the "License");
8** you may not use this file except in compliance with the License.
9** You may obtain a copy of the License at
10**
11**     http://www.apache.org/licenses/LICENSE-2.0
12**
13** Unless required by applicable law or agreed to in writing, software
14** distributed under the License is distributed on an "AS IS" BASIS,
15** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16** See the License for the specific language governing permissions and
17** limitations under the License.
18*/
19-->
20
21<resources>
22    <declare-styleable name="KeyboardTheme">
23        <!-- InputView style -->
24        <attr name="inputViewStyle" format="reference" />
25        <!-- Keyboard style -->
26        <attr name="keyboardStyle" format="reference" />
27        <!-- KeyboardView style -->
28        <attr name="keyboardViewStyle" format="reference" />
29        <!-- MainKeyboardView style -->
30        <attr name="mainKeyboardViewStyle" format="reference" />
31        <!-- EmojiPalettesView style -->
32        <attr name="emojiPalettesViewStyle" format="reference" />
33        <!-- MoreKeysKeyboard style -->
34        <attr name="moreKeysKeyboardStyle" format="reference" />
35        <!-- MoreKeysKeyboardView style -->
36        <attr name="moreKeysKeyboardViewStyle" format="reference" />
37        <!-- MoreKeysKeyboardView style for action key -->
38        <attr name="moreKeysKeyboardViewForActionStyle" format="reference" />
39        <!-- Suggestions strip style -->
40        <attr name="suggestionStripViewStyle" format="reference" />
41        <!-- Suggestion word style -->
42        <attr name="suggestionWordStyle" format="reference" />
43    </declare-styleable>
44
45    <declare-styleable name="KeyboardView">
46        <!-- Background image for the key. This image needs to be a
47            {@link android.graphics.drawable.StateListDrawable}, with the following possible states:
48             normal, pressed, checkable, checkable+pressed, checkable+checked,
49             checkable+checked+pressed. -->
50        <attr name="keyBackground" format="reference" />
51        <!-- Background image for the functional key. This image needs to be a
52             {@link android.graphics.drawable.StateListDrawable}, with the following possible
53             states: normal, pressed. -->
54        <attr name="functionalKeyBackground" format="reference" />
55        <!-- Background image for the spacebar.  This image needs to be a
56             {@link android.graphics.drawable.StateListDrawable}, with the following possible
57             states: normal, pressed. -->
58        <attr name="spacebarBackground" format="reference" />
59        <attr name="spacebarIconWidthRatio" format="float" />
60        <!-- Right padding of hint letter to the edge of the key.-->
61        <attr name="keyHintLetterPadding" format="dimension" />
62        <!-- Popup hint letter string-->
63        <attr name="keyPopupHintLetter" format="string" />
64        <!-- Bottom padding of popup hint letter to the edge of the key.-->
65        <attr name="keyPopupHintLetterPadding" format="dimension" />
66        <!-- Right padding of shifted letter hint to the edge of the key.-->
67        <attr name="keyShiftedLetterHintPadding" format="dimension" />
68        <!-- Blur radius of key text shadow. -->
69        <attr name="keyTextShadowRadius" format="float" />
70
71        <!-- Key preview background states -->
72        <attr name="state_left_edge" format="boolean" />
73        <attr name="state_right_edge" format="boolean" />
74        <attr name="state_has_morekeys" format="boolean" />
75
76        <!-- Amount to offset the touch Y coordinate by, for bias correction. -->
77        <attr name="verticalCorrection" format="dimension" />
78    </declare-styleable>
79
80    <declare-styleable name="MainKeyboardView">
81        <!-- Size of the text for spacebar language label, in the proportion of key height. -->
82        <attr name="languageOnSpacebarTextRatio" format="fraction" />
83        <attr name="languageOnSpacebarTextColor" format="color" />
84        <attr name="languageOnSpacebarTextShadowRadius" format="float" />
85        <attr name="languageOnSpacebarTextShadowColor" format="color" />
86        <!-- Fadeout animator for spacebar language label. -->
87        <attr name="languageOnSpacebarFinalAlpha" format="integer" />
88        <attr name="languageOnSpacebarFadeoutAnimator" format="reference" />
89        <!-- Fadeout and fadein animator for altCodeWhileTyping keys. -->
90        <attr name="altCodeKeyWhileTypingFadeoutAnimator" format="reference" />
91        <attr name="altCodeKeyWhileTypingFadeinAnimator" format="reference" />
92        <!-- Key detection hysteresis distance. -->
93        <attr name="keyHysteresisDistance" format="dimension" />
94        <!-- Key detection hysteresis distance for shift/symbols sliding input. -->
95        <attr name="keyHysteresisDistanceForSlidingModifier" format="dimension" />
96        <!-- Touch noise threshold time in millisecond -->
97        <attr name="touchNoiseThresholdTime" format="integer" />
98        <!-- Touch noise threshold distance in millimeter -->
99        <attr name="touchNoiseThresholdDistance" format="dimension" />
100        <!-- Enable key selection by dragging finger -->
101        <attr name="keySelectionByDraggingFinger" format="boolean" />
102        <attr name="slidingKeyInputPreviewColor" format="color" />
103        <attr name="slidingKeyInputPreviewWidth" format="dimension" />
104        <attr name="slidingKeyInputPreviewBodyRatio" format="integer" />
105        <attr name="slidingKeyInputPreviewShadowRatio" format="integer" />
106        <!-- Key repeat start timeout -->
107        <attr name="keyRepeatStartTimeout" format="integer" />
108        <!-- Key repeat interval in millisecond. -->
109        <attr name="keyRepeatInterval" format="integer" />
110        <!-- Long press timeout of shift key to shift lock in millisecond. -->
111        <attr name="longPressShiftLockTimeout" format="integer" />
112        <!-- Ignore special key timeout while typing in millisecond. -->
113        <attr name="ignoreAltCodeKeyTimeout" format="integer" />
114        <!-- Background resource for key press feedback.-->
115        <attr name="keyPreviewBackground" format="reference" />
116        <!-- Vertical offset of the key press feedback from the key. -->
117        <attr name="keyPreviewOffset" format="dimension" />
118        <!-- Height of the key press feedback popup. -->
119        <attr name="keyPreviewHeight" format="dimension" />
120        <!-- TODO: consolidate key preview linger timeout with the key preview animation parameters. -->
121        <!-- Delay after key releasing and key press feedback dismissing in millisecond -->
122        <attr name="keyPreviewLingerTimeout" format="integer" />
123        <!-- Key preview show up animator -->
124        <attr name="keyPreviewShowUpAnimator" format="reference" />
125        <!-- Key preview dismiss animator -->
126        <attr name="keyPreviewDismissAnimator" format="reference" />
127        <!-- Layout resource for more keys keyboard -->
128        <attr name="moreKeysKeyboardLayout" format="reference" />
129        <!-- Layout resource for more keys keyboard of action key -->
130        <attr name="moreKeysKeyboardForActionLayout" format="reference" />
131        <attr name="backgroundDimAlpha" format="integer" />
132        <!-- More keys keyboard will shown at touched point. -->
133        <attr name="showMoreKeysKeyboardAtTouchedPoint" format="boolean" />
134        <!-- Minimum distance between gesture trail sampling points. -->
135        <attr name="gestureTrailMinSamplingDistance" format="dimension" />
136        <!-- Maximum angular threshold between gesture trail interpolation segments in degree. -->
137        <attr name="gestureTrailMaxInterpolationAngularThreshold" format="integer" />
138        <!-- Maximum distance threshold between gesture trail interpolation segments. -->
139        <attr name="gestureTrailMaxInterpolationDistanceThreshold" format="dimension" />
140        <!-- Maximum number of gesture trail interpolation segments. -->
141        <attr name="gestureTrailMaxInterpolationSegments" format="integer" />
142        <!-- Delay after gesture trail starts fading out in millisecond. -->
143        <attr name="gestureTrailFadeoutStartDelay" format="integer" />
144        <!-- Duration while gesture trail is fading out in millisecond. -->
145        <attr name="gestureTrailFadeoutDuration" format="integer" />
146        <!-- Interval of updating gesture trail in millisecond. -->
147        <attr name="gestureTrailUpdateInterval" format="integer" />
148        <attr name="gestureTrailColor" format="color" />
149        <attr name="gestureTrailStartWidth" format="dimension" />
150        <attr name="gestureTrailEndWidth" format="dimension" />
151        <attr name="gestureTrailBodyRatio" format="integer" />
152        <attr name="gestureTrailShadowRatio" format="integer" />
153        <!-- Delay after gesture input and gesture floating preview text dismissing in millisecond -->
154        <attr name="gestureFloatingPreviewTextLingerTimeout" format="integer" />
155        <!-- Attributes for GestureFloatingPreviewText -->
156        <attr name="gestureFloatingPreviewTextSize" format="dimension" />
157        <attr name="gestureFloatingPreviewTextColor" format="color" />
158        <attr name="gestureFloatingPreviewTextOffset" format="dimension" />
159        <attr name="gestureFloatingPreviewColor" format="color" />
160        <attr name="gestureFloatingPreviewHorizontalPadding" format="dimension" />
161        <attr name="gestureFloatingPreviewVerticalPadding" format="dimension" />
162        <attr name="gestureFloatingPreviewRoundRadius" format="dimension" />
163        <!-- Static threshold for gesture after fast typing (msec) -->
164        <attr name="gestureStaticTimeThresholdAfterFastTyping" format="integer" />
165        <!-- Static threshold for starting gesture detection (keyWidth%/sec) -->
166        <attr name="gestureDetectFastMoveSpeedThreshold" format="fraction" />
167        <!-- Dynamic threshold for gesture after fast typing (msec) -->
168        <attr name="gestureDynamicThresholdDecayDuration" format="integer" />
169        <!-- Time based threshold values for gesture detection (msec) -->
170        <attr name="gestureDynamicTimeThresholdFrom" format="integer" />
171        <attr name="gestureDynamicTimeThresholdTo" format="integer" />
172        <!-- Distance based threshold values for gesture detection (keyWidth%/sec) -->
173        <attr name="gestureDynamicDistanceThresholdFrom" format="fraction" />
174        <attr name="gestureDynamicDistanceThresholdTo" format="fraction" />
175        <!-- Parameter for gesture sampling (keyWidth%/sec) -->
176        <attr name="gestureSamplingMinimumDistance" format="fraction" />
177        <!-- Parameters for gesture recognition (msec) and (keyWidth%/sec) -->
178        <attr name="gestureRecognitionMinimumTime" format="integer" />
179        <attr name="gestureRecognitionUpdateTime" format="integer" />
180        <attr name="gestureRecognitionSpeedThreshold" format="fraction" />
181        <!-- Suppress showing key preview duration after batch input in millisecond -->
182        <attr name="suppressKeyPreviewAfterBatchInputDuration" format="integer" />
183    </declare-styleable>
184
185    <declare-styleable name="MoreKeysKeyboardView">
186        <attr name="divider" format="reference" />
187    </declare-styleable>
188
189    <declare-styleable name="EmojiPalettesView">
190        <attr name="categoryIndicatorEnabled" format="boolean" />
191        <attr name="categoryIndicatorDrawable" format="reference" />
192        <attr name="categoryIndicatorBackground" format="reference" />
193        <attr name="categoryPageIndicatorColor" format="color" />
194        <attr name="categoryPageIndicatorBackground" format="color" />
195        <attr name="iconEmojiRecentsTab" format="reference" />
196        <attr name="iconEmojiCategory1Tab" format="reference" />
197        <attr name="iconEmojiCategory2Tab" format="reference" />
198        <attr name="iconEmojiCategory3Tab" format="reference" />
199        <attr name="iconEmojiCategory4Tab" format="reference" />
200        <attr name="iconEmojiCategory5Tab" format="reference" />
201        <attr name="iconEmojiCategory6Tab" format="reference" />
202        <attr name="iconEmojiCategory7Tab" format="reference" />
203        <attr name="iconEmojiCategory8Tab" format="reference" />
204        <attr name="iconEmojiCategory9Tab" format="reference" />
205        <attr name="iconEmojiCategory10Tab" format="reference" />
206        <attr name="iconEmojiCategory11Tab" format="reference" />
207        <attr name="iconEmojiCategory12Tab" format="reference" />
208        <attr name="iconEmojiCategory13Tab" format="reference" />
209        <attr name="iconEmojiCategory14Tab" format="reference" />
210        <attr name="iconEmojiCategory15Tab" format="reference" />
211        <attr name="iconEmojiCategory16Tab" format="reference" />
212    </declare-styleable>
213
214    <declare-styleable name="SuggestionStripView">
215        <attr name="suggestionStripOptions" format="integer">
216            <!-- This should be aligned with
217                 {@link com.android.inputmethod.latin.suggestions.SuggestionStripLayoutHelper.AUTO_CORRECT_BOLD} etc. -->
218            <flag name="autoCorrectBold" value="0x01" />
219            <flag name="autoCorrectUnderline" value="0x02" />
220            <flag name="validTypedWordBold" value="0x04" />
221        </attr>
222        <attr name="colorValidTypedWord" format="color" />
223        <attr name="colorTypedWord" format="color" />
224        <attr name="colorAutoCorrect" format="color" />
225        <attr name="colorSuggested" format="color" />
226        <attr name="alphaObsoleted" format="fraction" />
227        <attr name="suggestionsCountInStrip" format="integer" />
228        <attr name="centerSuggestionPercentile" format="fraction" />
229        <attr name="maxMoreSuggestionsRow" format="integer" />
230        <attr name="minMoreSuggestionsWidth" format="float" />
231    </declare-styleable>
232
233    <declare-styleable name="Keyboard">
234        <attr name="themeId" format="enum">
235            <!-- This should be aligned with
236                 {@link com.android.inputmethod.keyboard.KeyboardTheme#THEME_ID_ICS} etc. -->
237            <enum name="ICS" value="0" />
238            <enum name="KLP" value="2" />
239            <enum name="LXXLight" value="3" />
240            <enum name="LXXDark" value="4" />
241        </attr>
242        <!-- Touch position correction -->
243        <attr name="touchPositionCorrectionData" format="reference" />
244        <!-- Keyboard top, bottom, left, right edges paddings, in propotion of keyboard height. -->
245        <attr name="keyboardTopPadding" format="fraction" />
246        <attr name="keyboardBottomPadding" format="fraction" />
247        <attr name="keyboardLeftPadding" format="fraction" />
248        <attr name="keyboardRightPadding" format="fraction" />
249        <!-- Default height of a row (key height + vertical gap), in pixels or in the proportion of
250             keyboard height. -->
251        <attr name="rowHeight" format="dimension|fraction" />
252        <!-- Default horizontal gap between keys, in the proportion of keyboard width. -->
253        <attr name="horizontalGap" format="fraction" />
254        <!-- Default vertical gap between rows of keys, in the proportion of keyboard height. -->
255        <attr name="verticalGap" format="fraction" />
256        <!-- More keys keyboard layout template -->
257        <attr name="moreKeysTemplate" format="reference" />
258        <!-- Icon set for key top and key preview. These should be aligned with
259             {@link com.android.inputmethod.keyboard.internal.KeyboardIconsSet#NAMES_AND_ATTR_IDS} -->
260        <attr name="iconShiftKey" format="reference" />
261        <attr name="iconDeleteKey" format="reference" />
262        <attr name="iconSettingsKey" format="reference" />
263        <attr name="iconSpaceKey" format="reference" />
264        <attr name="iconEnterKey" format="reference" />
265        <attr name="iconGoKey" format="reference" />
266        <attr name="iconSearchKey" format="reference" />
267        <attr name="iconSendKey" format="reference" />
268        <attr name="iconNextKey" format="reference" />
269        <attr name="iconDoneKey" format="reference" />
270        <attr name="iconPreviousKey" format="reference" />
271        <attr name="iconTabKey" format="reference" />
272        <attr name="iconShortcutKey" format="reference" />
273        <attr name="iconSpaceKeyForNumberLayout" format="reference" />
274        <attr name="iconShiftKeyShifted" format="reference" />
275        <attr name="iconShortcutKeyDisabled" format="reference" />
276        <attr name="iconLanguageSwitchKey" format="reference" />
277        <attr name="iconZwnjKey" format="reference" />
278        <attr name="iconZwjKey" format="reference" />
279        <attr name="iconImeKey" format="reference" />
280        <attr name="iconEmojiActionKey" format="reference" />
281        <attr name="iconEmojiNormalKey" format="reference" />
282    </declare-styleable>
283
284    <declare-styleable name="Keyboard_GridRows">
285        <attr name="codesArray" format="reference" />
286        <attr name="textsArray" format="reference" />
287    </declare-styleable>
288
289    <declare-styleable name="Keyboard_Key">
290        <!-- The alternate unicode value that this key outputs while typing.
291             Code value represented in hexadecimal prefixed with "0x" or code value reference using
292             "!code/<code_name>" notation. -->
293        <attr name="altCode" format="string" />
294        <!-- The keys to display in the more keys keyboard. -->
295        <attr name="moreKeys" format="string" />
296        <!-- The keys to display in the more keys keyboard in addition to moreKeys.
297             The additional more keys are inserted at the '%' markers in the moreKeys if any.
298             They are inserted at the head of moreKeys if none.
299             If there are remaining entries of additionalMoreKeys even after all '%' markers have
300             been replaced, those remaining entries are appended at the end of moreKeys. -->
301        <attr name="additionalMoreKeys" format="string" />
302        <!-- Maximum column of more keys keyboard -->
303        <attr name="maxMoreKeysColumn" format="integer" />
304        <attr name="backgroundType" format="enum">
305            <!-- This should be aligned with
306                 {@link com.android.inputmethod.keyboard.Key#BACKGROUND_TYPE_NORMAL} etc. -->
307            <enum name="empty" value="0" />
308            <enum name="normal" value="1" />
309            <enum name="functional" value="2" />
310            <enum name="stickyOff" value="3" />
311            <enum name="stickyOn" value="4" />
312            <enum name="action" value="5" />
313            <enum name="spacebar" value="6" />
314        </attr>
315        <!-- The key action flags. -->
316        <attr name="keyActionFlags" format="integer">
317            <!-- This should be aligned with
318                 {@link com.android.inputmethod.keyboard.Key#ACTION_FLAGS_IS_REPEATABLE} etc. -->
319            <flag name="isRepeatable" value="0x01" />
320            <flag name="noKeyPreview" value="0x02" />
321            <flag name="altCodeWhileTyping" value="0x04" />
322            <flag name="enableLongPress" value="0x08" />
323        </attr>
324        <!-- The label, icon to display on the key. And code, outputText of the key. -->
325        <attr name="keySpec" format="string" />
326        <!-- The hint label to display on the key in conjunction with the label. -->
327        <attr name="keyHintLabel" format="string" />
328        <!-- The vertical adjustment of key hint label in proportion to its height. -->
329        <attr name="keyHintLabelVerticalAdjustment" format="fraction" />
330        <!-- The key label flags. -->
331        <attr name="keyLabelFlags" format="integer">
332            <!-- This should be aligned with
333                 {@link com.android.inputmethod.keyboard.Key#LABEL_FLAGS_FONT_NORMAL} etc. -->
334            <flag name="alignHintLabelToBottom" value="0x02" />
335            <flag name="alignIconToBottom" value="0x04" />
336            <flag name="alignLabelOffCenter" value="0x08" />
337            <flag name="fontNormal" value="0x10" />
338            <flag name="fontMonoSpace" value="0x20" />
339            <flag name="fontDefault" value="0x30" />
340            <flag name="followKeyLargeLetterRatio" value="0x40" />
341            <flag name="followKeyLetterRatio" value="0x80" />
342            <flag name="followKeyLabelRatio" value="0xC0" />
343            <flag name="followKeyHintLabelRatio" value="0x140" />
344            <flag name="hasPopupHint" value="0x200" />
345            <flag name="hasShiftedLetterHint" value="0x400" />
346            <flag name="hasHintLabel" value="0x800" />
347            <flag name="autoXScale" value="0x4000" />
348            <!-- The autoScale value implies autoXScale bit on to optimize scaling code path. -->
349            <flag name="autoScale" value="0xc000" />
350            <!-- If true, character case of code, altCode, moreKeys, keyOutputText, keyLabel,
351                 or keyHintLabel will never be subject to change. -->
352            <flag name="preserveCase" value="0x10000" />
353            <!-- If true, use keyShiftedLetterHintActivatedColor for the shifted letter hint and
354                 keyTextInactivatedColor for the primary key top label. -->
355            <flag name="shiftedLetterActivated" value="0x20000" />
356            <!-- If true, use EditorInfo.actionLabel for the key label. -->
357            <flag name="fromCustomActionLabel" value="0x40000" />
358            <!-- If true, use functionalTextColor instead of ketTextColor to drawing the label on
359                 the key -->
360            <flag name="followFunctionalTextColor" value="0x80000" />
361            <!-- Keep aspect ratio of key background. -->
362            <flag name="keepBackgroundAspectRatio" value="0x100000" />
363            <!-- If true, disable keyHintLabel. -->
364            <flag name="disableKeyHintLabel" value="0x40000000" />
365            <!-- If true, disable additionalMoreKeys. -->
366            <flag name="disableAdditionalMoreKeys" value="0x80000000" />
367        </attr>
368        <!-- The icon for disabled key -->
369        <attr name="keyIconDisabled" format="string" />
370        <!-- The key style to specify a set of key attributes defined by <key_style/> -->
371        <attr name="keyStyle" format="string" />
372        <!-- Visual insets, in the proportion of keyboard width. -->
373        <attr name="visualInsetsLeft" format="fraction" />
374        <attr name="visualInsetsRight" format="fraction" />
375        <!-- Width of the key, in the proportion of keyboard width.
376             If the value is fillRight, the actual key width will be determined to fill out the
377             area up to the right edge of the keyboard. -->
378        <!-- This should be aligned with
379             {@link com.android.inputmethod.keyboard.internal.KeyboardRow#KEYWIDTH_FILL_RIGHT}. -->
380        <attr name="keyWidth" format="fraction|enum">
381            <enum name="fillRight" value="-1" />
382        </attr>
383        <!-- The X-coordinate of upper right corner of this key including horizontal gap, in the
384             proportion of keyboard width.
385             If the value is negative, the origin is the right edge of the keyboard. -->
386        <attr name="keyXPos" format="fraction" />
387
388        <!-- Key top visual attributes -->
389        <attr name="keyTypeface" format="enum">
390            <!-- This should be aligned with {@link android.graphics.Typeface#NORMAL} etc. -->
391            <enum name="normal" value="0" />
392            <enum name="bold" value="1" />
393            <enum name="italic" value="2" />
394            <enum name="boldItalic" value="3" />
395        </attr>
396        <!-- Size of the text for one letter keys. If specified as fraction, the text size is
397             measured in the proportion of key height. -->
398        <attr name="keyLetterSize" format="dimension|fraction" />
399        <!-- Size of the text for keys with multiple letters. If specified as fraction, the text
400             size is measured in the proportion of key height. -->
401        <attr name="keyLabelSize" format="dimension|fraction" />
402        <!-- Large size of the text for one letter keys, in the proportion of key height. -->
403        <attr name="keyLargeLetterRatio" format="fraction" />
404        <!-- Size of the text for hint letter (= one character hint label), in the proportion of
405             key height. -->
406        <attr name="keyHintLetterRatio" format="fraction" />
407        <!-- Size of the text for hint label, in the proportion of key height. -->
408        <attr name="keyHintLabelRatio" format="fraction" />
409        <!-- Size of the text for shifted letter hint, in the proportion of key height. -->
410        <attr name="keyShiftedLetterHintRatio" format="fraction" />
411        <!-- The label's horizontal offset to the center of the key. Negative is to left and
412             positive is to right. The value is in proportion of the width of
413             {@link com.android.inputmethod.latin.utils.TypefaceUtils#KEY_LABEL_REFERENCE_CHAR}. -->
414        <attr name="keyLabelOffCenterRatio" format="fraction" />
415        <!-- The hint label's horizontal offset to the center of the key. Negative is to left and
416             positive is to right. The value is in proportion of the width of
417             {@link com.android.inputmethod.latin.utils.TypefaceUtils#KEY_LABEL_REFERENCE_CHAR}. -->
418        <attr name="keyHintLabelOffCenterRatio" format="fraction" />
419        <!-- Color to use for the label in a key. -->
420        <attr name="keyTextColor" format="color" />
421        <attr name="keyTextShadowColor" format="color" />
422        <!-- Color to use for the label in a key when in inactivated state. -->
423        <attr name="keyTextInactivatedColor" format="color" />
424        <!-- Color to use for the label in a key that has followFunctionalTextColor keyLabelFlags. -->
425        <attr name="functionalTextColor" format="color" />
426        <!-- Key hint letter (= one character hint label) color -->
427        <attr name="keyHintLetterColor" format="color" />
428        <!-- Key hint label color -->
429        <attr name="keyHintLabelColor" format="color" />
430        <!-- Shifted letter hint colors -->
431        <attr name="keyShiftedLetterHintInactivatedColor" format="color" />
432        <attr name="keyShiftedLetterHintActivatedColor" format="color" />
433
434        <!-- Key preview visual parameters -->
435        <!-- The text color for key press feedback. -->
436        <attr name="keyPreviewTextColor" format="color" />
437        <!-- Size of the text for key press feedback popup, in the proportion of key height. -->
438        <attr name="keyPreviewTextRatio" format="fraction" />
439    </declare-styleable>
440
441    <declare-styleable name="Keyboard_Include">
442        <attr name="keyboardLayout" format="reference" />
443    </declare-styleable>
444
445    <declare-styleable name="Keyboard_Case">
446        <attr name="keyboardLayoutSet" format="string" />
447        <!-- This should be aligned with
448             {@link com.android.inputmethod.keyboard.KeyboardId#ELEMENT_ALPHABET} etc. -->
449        <attr name="keyboardLayoutSetElement" format="enum|string">
450            <enum name="alphabet" value="0" />
451            <enum name="alphabetManualShifted" value="1" />
452            <enum name="alphabetAutomaticShifted" value="2" />
453            <enum name="alphabetShiftLocked" value="3" />
454            <enum name="alphabetShiftLockShifted" value="4" />
455            <enum name="symbols" value="5" />
456            <enum name="symbolsShifted" value="6"  />
457            <enum name="phone" value="7"  />
458            <enum name="phoneSymbols" value="8"  />
459            <enum name="number" value="9"  />
460            <enum name="emojiRecents" value="10" />
461            <enum name="emojiCategory1" value="11" />
462            <enum name="emojiCategory2" value="12" />
463            <enum name="emojiCategory3" value="13" />
464            <enum name="emojiCategory4" value="14" />
465            <enum name="emojiCategory5" value="15" />
466            <enum name="emojiCategory6" value="16" />
467            <enum name="emojiCategory7" value="17" />
468            <enum name="emojiCategory8" value="18" />
469            <enum name="emojiCategory9" value="19" />
470            <enum name="emojiCategory10" value="20" />
471            <enum name="emojiCategory11" value="21" />
472            <enum name="emojiCategory12" value="22" />
473            <enum name="emojiCategory13" value="23" />
474            <enum name="emojiCategory14" value="24" />
475            <enum name="emojiCategory15" value="25" />
476            <enum name="emojiCategory16" value="26" />
477        </attr>
478        <!-- This should be aligned with Keyboard.themeId and
479             {@link com.android.inputmethod.keyboard.KeyboardTheme#THEME_ID_ICS} etc. -->
480        <attr name="keyboardTheme" format="enum|string">
481            <enum name="ICS" value="0" />
482            <enum name="KLP" value="2" />
483            <enum name="LXXLight" value="3" />
484            <enum name="LXXDark" value="4" />
485        </attr>
486        <!-- This should be aligned with
487             {@link com.android.inputmethod.keyboard.KeyboardId#MODE_TEXT} etc. -->
488        <attr name="mode" format="enum|string">
489            <enum name="text" value="0" />
490            <enum name="url" value="1" />
491            <enum name="email" value="2" />
492            <enum name="im" value="3" />
493            <enum name="phone" value="4" />
494            <enum name="number" value="5" />
495        </attr>
496        <attr name="navigateNext" format="boolean" />
497        <attr name="navigatePrevious" format="boolean" />
498        <attr name="passwordInput" format="boolean" />
499        <attr name="clobberSettingsKey" format="boolean" />
500        <attr name="hasShortcutKey" format="boolean" />
501        <attr name="languageSwitchKeyEnabled" format="boolean" />
502        <attr name="isMultiLine" format="boolean" />
503        <attr name="imeAction" format="enum">
504            <!-- This should be aligned with
505                 {@link android.view.inputmethod.EditorInfo#IME_ACTION_GO} etc. -->
506            <enum name="actionUnspecified" value="0" />
507            <enum name="actionNone" value="1" />
508            <enum name="actionGo" value="2" />
509            <enum name="actionSearch" value="3" />
510            <enum name="actionSend" value="4" />
511            <enum name="actionNext" value="5" />
512            <enum name="actionDone" value="6" />
513            <enum name="actionPrevious" value="7" />
514            <!-- This should be aligned with
515                 {@link com.android.inputmethod.latin.utils.InputTypeUtils#IME_ACTION_CUSTOM_LABEL}. -->
516            <enum name="actionCustomLabel" value="0x100" />
517        </attr>
518        <attr name="isIconDefined" format="string" />
519        <attr name="localeCode" format="string" />
520        <attr name="languageCode" format="string" />
521        <attr name="countryCode" format="string" />
522        <!-- Enable split keyboard layout. Disabled by default. -->
523        <attr name="isSplitLayout" format="boolean" />
524    </declare-styleable>
525
526    <declare-styleable name="Keyboard_KeyStyle">
527        <attr name="styleName" format="string" />
528        <attr name="parentStyle" format="string" />
529    </declare-styleable>
530
531    <declare-styleable name="KeyboardLayoutSet_Element">
532        <!-- This should be aligned with
533             {@link com.android.inputmethod.keyboard.KeyboardId#ELEMENT_ALPHABET} etc. -->
534        <attr name="elementName" format="enum">
535            <enum name="alphabet" value="0" />
536            <enum name="alphabetManualShifted" value="1" />
537            <enum name="alphabetAutomaticShifted" value="2" />
538            <enum name="alphabetShiftLocked" value="3" />
539            <enum name="alphabetShiftLockShifted" value="4" />
540            <enum name="symbols" value="5" />
541            <enum name="symbolsShifted" value="6"  />
542            <enum name="phone" value="7"  />
543            <enum name="phoneSymbols" value="8"  />
544            <enum name="number" value="9"  />
545            <enum name="emojiRecents" value="10" />
546            <enum name="emojiCategory1" value="11" />
547            <enum name="emojiCategory2" value="12" />
548            <enum name="emojiCategory3" value="13" />
549            <enum name="emojiCategory4" value="14" />
550            <enum name="emojiCategory5" value="15" />
551            <enum name="emojiCategory6" value="16" />
552            <enum name="emojiCategory7" value="17" />
553            <enum name="emojiCategory8" value="18" />
554            <enum name="emojiCategory9" value="19" />
555            <enum name="emojiCategory10" value="20" />
556            <enum name="emojiCategory11" value="21" />
557            <enum name="emojiCategory12" value="22" />
558            <enum name="emojiCategory13" value="23" />
559            <enum name="emojiCategory14" value="24" />
560            <enum name="emojiCategory15" value="25" />
561            <enum name="emojiCategory16" value="26" />
562        </attr>
563        <attr name="elementKeyboard" format="reference"/>
564        <!-- Enable proximity characters correction. Disabled by default. -->
565        <attr name="enableProximityCharsCorrection" format="boolean" />
566        <!-- Indicates if the keyboard layout supports being split or not. false by default -->
567        <attr name="supportsSplitLayout" format="boolean" />
568        <!-- Allow redundant more keys when they are in the base layout. true by default. -->
569        <attr name="allowRedundantMoreKeys" format="boolean" />
570    </declare-styleable>
571
572    <declare-styleable name="KeyboardLayoutSet_Feature">
573        <!-- This should be aligned with
574             {@link com.android.inputmethod.latin.utils.ScriptUtils#SCRIPT_ARABIC} etc. -->
575        <attr name="supportedScript" format="enum">
576            <enum name="arabic" value="0" />
577            <enum name="armenian" value="1" />
578            <enum name="bengali" value="2" />
579            <enum name="cyrillic" value="3" />
580            <enum name="devanagari" value="4" />
581            <enum name="georgian" value="5" />
582            <enum name="greek" value="6" />
583            <enum name="hebrew" value="7" />
584            <enum name="kannada" value="8" />
585            <enum name="khmer" value="9" />
586            <enum name="lao" value="10" />
587            <enum name="latin" value="11" />
588            <enum name="malayalam" value="12" />
589            <!-- Myanmar is disabled. <enum name="myanmar" value="13" /> -->
590            <enum name="sinhala" value="14" />
591            <enum name="tamil" value="15" />
592            <enum name="telugu" value="16" />
593            <enum name="thai" value="17" />
594        </attr>
595    </declare-styleable>
596
597    <declare-styleable name="SeekBarDialogPreference">
598        <attr name="maxValue" format="integer" />
599        <attr name="minValue" format="integer" />
600        <attr name="stepValue" format="integer" />
601    </declare-styleable>
602</resources>
603