Add Key.keyActionFlags and obsolete Key.isRepeatable

This change also renames Key.keyLabelOption to keyLabelFlags.

Change-Id: Iedd0bfaa420ad382c07ce084416355690e390919
main
Tadashi G. Takaoka 2011-11-21 19:55:38 -08:00
parent e7eac906c0
commit 13d5f6605b
36 changed files with 185 additions and 192 deletions

View File

@ -196,17 +196,21 @@
<enum name="action" value="2" /> <enum name="action" value="2" />
<enum name="sticky" value="3" /> <enum name="sticky" value="3" />
</attr> </attr>
<!-- Whether long-pressing on this key will make it repeat. --> <!-- The key action flags. -->
<attr name="isRepeatable" format="boolean" /> <attr name="keyActionFlags" format="integer">
<!-- This should be aligned with Key.ACTION_FLAGS_* -->
<flag name="isRepeatable" value="0x01" />
<flag name="noKeyPreview" value="0x02" />
</attr>
<!-- The string of characters to output when this key is pressed. --> <!-- The string of characters to output when this key is pressed. -->
<attr name="keyOutputText" format="string" /> <attr name="keyOutputText" format="string" />
<!-- The label to display on the key. --> <!-- The label to display on the key. -->
<attr name="keyLabel" format="string" /> <attr name="keyLabel" format="string" />
<!-- The hint label to display on the key in conjunction with the label. --> <!-- The hint label to display on the key in conjunction with the label. -->
<attr name="keyHintLabel" format="string" /> <attr name="keyHintLabel" format="string" />
<!-- The key label option. --> <!-- The key label flags. -->
<attr name="keyLabelOption" format="integer"> <attr name="keyLabelFlags" format="integer">
<!-- This should be aligned with Key.LABEL_OPTION_* --> <!-- This should be aligned with Key.LABEL_FLAGS__* -->
<flag name="alignLeft" value="0x01" /> <flag name="alignLeft" value="0x01" />
<flag name="alignRight" value="0x02" /> <flag name="alignRight" value="0x02" />
<flag name="alignLeftOfCenter" value="0x08" /> <flag name="alignLeftOfCenter" value="0x08" />
@ -221,7 +225,6 @@
<flag name="withIconLeft" value="0x1000" /> <flag name="withIconLeft" value="0x1000" />
<flag name="withIconRight" value="0x2000" /> <flag name="withIconRight" value="0x2000" />
<flag name="autoXScale" value="0x4000" /> <flag name="autoXScale" value="0x4000" />
<flag name="noKeyPreview" value="0x8000" />
</attr> </attr>
<!-- The icon to display on the key instead of the label. --> <!-- The icon to display on the key instead of the label. -->
<attr name="keyIcon" format="enum"> <attr name="keyIcon" format="enum">
@ -248,8 +251,6 @@
</attr> </attr>
<!-- The key style to specify a set of key attributes defined by <key_style/> --> <!-- The key style to specify a set of key attributes defined by <key_style/> -->
<attr name="keyStyle" format="string" /> <attr name="keyStyle" format="string" />
<!-- The key is enabled and responds on press. -->
<attr name="enabled" format="boolean" />
<!-- Visual insets --> <!-- Visual insets -->
<attr name="visualInsetsLeft" format="dimension|fraction" /> <attr name="visualInsetsLeft" format="dimension|fraction" />
<attr name="visualInsetsRight" format="dimension|fraction" /> <attr name="visualInsetsRight" format="dimension|fraction" />

View File

@ -33,7 +33,7 @@
<default> <default>
<key-style <key-style
latin:styleName="f2PopupStyle" latin:styleName="f2PopupStyle"
latin:keyLabelOption="hasPopupHint" latin:keyLabelFlags="hasPopupHint"
latin:moreKeys="\@icon/3|\@integer/key_settings" latin:moreKeys="\@icon/3|\@integer/key_settings"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
</default> </default>
@ -44,47 +44,46 @@
latin:code="@integer/key_shift" latin:code="@integer/key_shift"
latin:keyIcon="iconShiftKey" latin:keyIcon="iconShiftKey"
latin:keyIconShifted="iconShiftedShiftKey" latin:keyIconShifted="iconShiftedShiftKey"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:backgroundType="sticky" /> latin:backgroundType="sticky" />
<key-style <key-style
latin:styleName="deleteKeyStyle" latin:styleName="deleteKeyStyle"
latin:code="@integer/key_delete" latin:code="@integer/key_delete"
latin:keyIcon="iconDeleteKey" latin:keyIcon="iconDeleteKey"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="isRepeatable|noKeyPreview"
latin:backgroundType="functional" latin:backgroundType="functional" />
latin:isRepeatable="true" />
<key-style <key-style
latin:styleName="returnKeyStyle" latin:styleName="returnKeyStyle"
latin:code="@integer/key_return" latin:code="@integer/key_return"
latin:keyIcon="iconReturnKey" latin:keyIcon="iconReturnKey"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
<key-style <key-style
latin:styleName="spaceKeyStyle" latin:styleName="spaceKeyStyle"
latin:code="@integer/key_space" latin:code="@integer/key_space"
latin:keyLabelOption="noKeyPreview" /> latin:keyActionFlags="noKeyPreview" />
<key-style <key-style
latin:styleName="nonSpecialBackgroundSpaceKeyStyle" latin:styleName="nonSpecialBackgroundSpaceKeyStyle"
latin:code="@integer/key_space" latin:code="@integer/key_space"
latin:keyLabelOption="noKeyPreview" /> latin:keyActionFlags="noKeyPreview" />
<key-style <key-style
latin:styleName="smileyKeyStyle" latin:styleName="smileyKeyStyle"
latin:keyLabel=":-)" latin:keyLabel=":-)"
latin:keyOutputText=":-) " latin:keyOutputText=":-) "
latin:keyLabelOption="hasPopupHint" latin:keyLabelFlags="hasPopupHint"
latin:moreKeys="@string/more_keys_for_smiley" latin:moreKeys="@string/more_keys_for_smiley"
latin:maxMoreKeysColumn="5" /> latin:maxMoreKeysColumn="5" />
<key-style <key-style
latin:styleName="shortcutKeyStyle" latin:styleName="shortcutKeyStyle"
latin:code="@integer/key_shortcut" latin:code="@integer/key_shortcut"
latin:keyIcon="iconShortcutKey" latin:keyIcon="iconShortcutKey"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:parentStyle="f2PopupStyle" /> latin:parentStyle="f2PopupStyle" />
<key-style <key-style
latin:styleName="settingsKeyStyle" latin:styleName="settingsKeyStyle"
latin:code="@integer/key_settings" latin:code="@integer/key_settings"
latin:keyIcon="iconSettingsKey" latin:keyIcon="iconSettingsKey"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
<key-style <key-style
latin:styleName="tabKeyStyle" latin:styleName="tabKeyStyle"
@ -96,30 +95,30 @@
latin:styleName="toSymbolKeyStyle" latin:styleName="toSymbolKeyStyle"
latin:code="@integer/key_switch_alpha_symbol" latin:code="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_symbol_key" latin:keyLabel="@string/label_to_symbol_key"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
<key-style <key-style
latin:styleName="toAlphaKeyStyle" latin:styleName="toAlphaKeyStyle"
latin:code="@integer/key_switch_alpha_symbol" latin:code="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_alpha_key" latin:keyLabel="@string/label_to_alpha_key"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
<key-style <key-style
latin:styleName="toMoreSymbolKeyStyle" latin:styleName="toMoreSymbolKeyStyle"
latin:code="@integer/key_shift" latin:code="@integer/key_shift"
latin:keyLabel="@string/label_to_more_symbol_for_tablet_key" latin:keyLabel="@string/label_to_more_symbol_for_tablet_key"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
<key-style <key-style
latin:styleName="backFromMoreSymbolKeyStyle" latin:styleName="backFromMoreSymbolKeyStyle"
latin:code="@integer/key_shift" latin:code="@integer/key_shift"
latin:keyLabel="@string/label_to_symbol_key" latin:keyLabel="@string/label_to_symbol_key"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
<key-style <key-style
latin:styleName="comKeyStyle" latin:styleName="comKeyStyle"
latin:keyLabel="@string/keylabel_for_popular_domain" latin:keyLabel="@string/keylabel_for_popular_domain"
latin:keyLabelOption="fontNormal|hasPopupHint" latin:keyLabelFlags="fontNormal|hasPopupHint"
latin:keyOutputText="@string/keylabel_for_popular_domain" latin:keyOutputText="@string/keylabel_for_popular_domain"
latin:moreKeys="@string/more_keys_for_popular_domain" /> latin:moreKeys="@string/more_keys_for_popular_domain" />
</merge> </merge>

View File

@ -45,7 +45,7 @@
<default> <default>
<Key <Key
latin:keyLabel="/" latin:keyLabel="/"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="\@" latin:keyHintLabel="\@"
latin:moreKeys="\@" /> latin:moreKeys="\@" />
</default> </default>

View File

@ -33,12 +33,12 @@
<default> <default>
<Key <Key
latin:keyLabel="," latin:keyLabel=","
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="!" latin:keyHintLabel="!"
latin:moreKeys="!" /> latin:moreKeys="!" />
<Key <Key
latin:keyLabel="." latin:keyLabel="."
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="\?" latin:keyHintLabel="\?"
latin:moreKeys="\?" /> latin:moreKeys="\?" />
</default> </default>

View File

@ -35,7 +35,7 @@
> >
<Key <Key
latin:keyLabel="-" latin:keyLabel="-"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="_" latin:keyHintLabel="_"
latin:moreKeys="_" latin:moreKeys="_"
latin:keyXPos="-8.9%p" latin:keyXPos="-8.9%p"
@ -46,7 +46,7 @@
> >
<Key <Key
latin:keyLabel=":" latin:keyLabel=":"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="+" latin:keyHintLabel="+"
latin:moreKeys="+" latin:moreKeys="+"
latin:keyXPos="-8.9%p" latin:keyXPos="-8.9%p"

View File

@ -33,14 +33,14 @@
> >
<Key <Key
latin:keyLabel="/" latin:keyLabel="/"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel=":" latin:keyHintLabel=":"
latin:moreKeys=":" /> latin:moreKeys=":" />
</case> </case>
<default> <default>
<Key <Key
latin:keyLabel="@string/keylabel_for_apostrophe" latin:keyLabel="@string/keylabel_for_apostrophe"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="@string/keyhintlabel_for_apostrophe" latin:keyHintLabel="@string/keyhintlabel_for_apostrophe"
latin:moreKeys="@string/more_keys_for_apostrophe" /> latin:moreKeys="@string/more_keys_for_apostrophe" />
</default> </default>
@ -55,7 +55,7 @@
<default> <default>
<Key <Key
latin:keyLabel="@string/keylabel_for_dash" latin:keyLabel="@string/keylabel_for_dash"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="@string/keyhintlabel_for_dash" latin:keyHintLabel="@string/keyhintlabel_for_dash"
latin:moreKeys="@string/more_keys_for_dash" /> latin:moreKeys="@string/more_keys_for_dash" />
</default> </default>

View File

@ -158,7 +158,7 @@
> >
<Key <Key
latin:keyLabel="-" latin:keyLabel="-"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="_" latin:keyHintLabel="_"
latin:moreKeys="_" /> latin:moreKeys="_" />
</case> </case>
@ -167,7 +167,7 @@
> >
<Key <Key
latin:keyLabel=":" latin:keyLabel=":"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="+" latin:keyHintLabel="+"
latin:moreKeys="+" /> latin:moreKeys="+" />
</case> </case>

View File

@ -132,12 +132,12 @@
<default> <default>
<Key <Key
latin:keyLabel="," latin:keyLabel=","
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="!" latin:keyHintLabel="!"
latin:moreKeys="!" /> latin:moreKeys="!" />
<Key <Key
latin:keyLabel="." latin:keyLabel="."
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="\?" latin:keyHintLabel="\?"
latin:moreKeys="\?" /> latin:moreKeys="\?" />
</default> </default>

View File

@ -94,7 +94,7 @@
> >
<Key <Key
latin:keyLabel="-" latin:keyLabel="-"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="_" latin:keyHintLabel="_"
latin:moreKeys="_" latin:moreKeys="_"
latin:keyWidth="10.0%p" /> latin:keyWidth="10.0%p" />
@ -104,7 +104,7 @@
> >
<Key <Key
latin:keyLabel=":" latin:keyLabel=":"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="+" latin:keyHintLabel="+"
latin:moreKeys="+" latin:moreKeys="+"
latin:keyWidth="10.0%p" /> latin:keyWidth="10.0%p" />

View File

@ -99,12 +99,12 @@
<default> <default>
<Key <Key
latin:keyLabel="," latin:keyLabel=","
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="!" latin:keyHintLabel="!"
latin:moreKeys="!" /> latin:moreKeys="!" />
<Key <Key
latin:keyLabel="." latin:keyLabel="."
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="\?" latin:keyHintLabel="\?"
latin:moreKeys="\?" /> latin:moreKeys="\?" />
</default> </default>

View File

@ -122,12 +122,12 @@
<default> <default>
<Key <Key
latin:keyLabel="," latin:keyLabel=","
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="!" latin:keyHintLabel="!"
latin:moreKeys="!" /> latin:moreKeys="!" />
<Key <Key
latin:keyLabel="." latin:keyLabel="."
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="\?" latin:keyHintLabel="\?"
latin:moreKeys="\?" /> latin:moreKeys="\?" />
</default> </default>

View File

@ -26,82 +26,85 @@
latin:code="@integer/key_shift" latin:code="@integer/key_shift"
latin:keyIcon="iconShiftKey" latin:keyIcon="iconShiftKey"
latin:keyIconShifted="iconShiftedShiftKey" latin:keyIconShifted="iconShiftedShiftKey"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:backgroundType="sticky" /> latin:backgroundType="sticky" />
<key-style <key-style
latin:styleName="deleteKeyStyle" latin:styleName="deleteKeyStyle"
latin:code="@integer/key_delete" latin:code="@integer/key_delete"
latin:keyIcon="iconDeleteKey" latin:keyIcon="iconDeleteKey"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="isRepeatable|noKeyPreview"
latin:backgroundType="functional" latin:backgroundType="functional" />
latin:isRepeatable="true" />
<key-style <key-style
latin:styleName="returnKeyStyle" latin:styleName="returnKeyStyle"
latin:code="@integer/key_return" latin:code="@integer/key_return"
latin:keyIcon="iconReturnKey" latin:keyIcon="iconReturnKey"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
<key-style <key-style
latin:styleName="spaceKeyStyle" latin:styleName="spaceKeyStyle"
latin:code="@integer/key_space" latin:code="@integer/key_space"
latin:keyLabelOption="noKeyPreview" /> latin:keyActionFlags="noKeyPreview" />
<key-style <key-style
latin:styleName="nonSpecialBackgroundSpaceKeyStyle" latin:styleName="nonSpecialBackgroundSpaceKeyStyle"
latin:code="@integer/key_space" latin:code="@integer/key_space"
latin:keyLabelOption="noKeyPreview" /> latin:keyActionFlags="noKeyPreview" />
<key-style <key-style
latin:styleName="smileyKeyStyle" latin:styleName="smileyKeyStyle"
latin:keyLabel=":-)" latin:keyLabel=":-)"
latin:keyOutputText=":-) " latin:keyOutputText=":-) "
latin:keyLabelOption="hasPopupHint" latin:keyLabelFlags="hasPopupHint"
latin:moreKeys="@string/more_keys_for_smiley" latin:moreKeys="@string/more_keys_for_smiley"
latin:maxMoreKeysColumn="5" /> latin:maxMoreKeysColumn="5" />
<key-style <key-style
latin:styleName="settingsKeyStyle" latin:styleName="settingsKeyStyle"
latin:code="@integer/key_settings" latin:code="@integer/key_settings"
latin:keyIcon="iconSettingsKey" latin:keyIcon="iconSettingsKey"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
<key-style <key-style
latin:styleName="shortcutKeyStyle" latin:styleName="shortcutKeyStyle"
latin:code="@integer/key_shortcut" latin:code="@integer/key_shortcut"
latin:keyIcon="iconShortcutKey" latin:keyIcon="iconShortcutKey"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
<key-style <key-style
latin:styleName="tabKeyStyle" latin:styleName="tabKeyStyle"
latin:code="@integer/key_tab" latin:code="@integer/key_tab"
latin:keyLabel="@string/label_tab_key" latin:keyLabel="@string/label_tab_key"
latin:keyLabelOption="fontNormal" latin:keyLabelFlags="fontNormal"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
<key-style <key-style
latin:styleName="toSymbolKeyStyle" latin:styleName="toSymbolKeyStyle"
latin:code="@integer/key_switch_alpha_symbol" latin:code="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_symbol_key" latin:keyLabel="@string/label_to_symbol_key"
latin:keyLabelOption="fontNormal|noKeyPreview" latin:keyLabelFlags="fontNormal"
latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
<key-style <key-style
latin:styleName="toAlphaKeyStyle" latin:styleName="toAlphaKeyStyle"
latin:code="@integer/key_switch_alpha_symbol" latin:code="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_alpha_key" latin:keyLabel="@string/label_to_alpha_key"
latin:keyLabelOption="fontNormal|noKeyPreview" latin:keyLabelFlags="fontNormal"
latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
<key-style <key-style
latin:styleName="toMoreSymbolKeyStyle" latin:styleName="toMoreSymbolKeyStyle"
latin:code="@integer/key_shift" latin:code="@integer/key_shift"
latin:keyLabel="@string/label_to_more_symbol_for_tablet_key" latin:keyLabel="@string/label_to_more_symbol_for_tablet_key"
latin:keyLabelOption="fontNormal|noKeyPreview" latin:keyLabelFlags="fontNormal"
latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
<key-style <key-style
latin:styleName="backFromMoreSymbolKeyStyle" latin:styleName="backFromMoreSymbolKeyStyle"
latin:code="@integer/key_shift" latin:code="@integer/key_shift"
latin:keyLabel="@string/label_to_symbol_key" latin:keyLabel="@string/label_to_symbol_key"
latin:keyLabelOption="fontNormal|noKeyPreview" latin:keyLabelFlags="fontNormal"
latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
<key-style <key-style
latin:styleName="comKeyStyle" latin:styleName="comKeyStyle"
latin:keyLabel="@string/keylabel_for_popular_domain" latin:keyLabel="@string/keylabel_for_popular_domain"
latin:keyLabelOption="fontNormal|hasPopupHint" latin:keyLabelFlags="fontNormal|hasPopupHint"
latin:keyOutputText="@string/keylabel_for_popular_domain" latin:keyOutputText="@string/keylabel_for_popular_domain"
latin:moreKeys="@string/more_keys_for_popular_domain" /> latin:moreKeys="@string/more_keys_for_popular_domain" />
</merge> </merge>

View File

@ -26,7 +26,7 @@
> >
<Key <Key
latin:keyStyle="tabKeyStyle" latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" /> latin:keyWidth="7.969%p" />
<Key <Key
latin:keyLabel="q" latin:keyLabel="q"

View File

@ -26,7 +26,7 @@
> >
<Key <Key
latin:keyStyle="toSymbolKeyStyle" latin:keyStyle="toSymbolKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="11.172%p"/> latin:keyWidth="11.172%p"/>
<Key <Key
latin:keyLabel="a" latin:keyLabel="a"

View File

@ -57,7 +57,7 @@
> >
<Key <Key
latin:keyLabel=":" latin:keyLabel=":"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="+" latin:keyHintLabel="+"
latin:moreKeys="+" /> latin:moreKeys="+" />
</case> </case>
@ -76,7 +76,7 @@
<default> <default>
<Key <Key
latin:keyLabel="/" latin:keyLabel="/"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="\@" latin:keyHintLabel="\@"
latin:moreKeys="\@" /> latin:moreKeys="\@" />
</default> </default>

View File

@ -33,12 +33,12 @@
<default> <default>
<Key <Key
latin:keyLabel="," latin:keyLabel=","
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="!" latin:keyHintLabel="!"
latin:moreKeys="!" /> latin:moreKeys="!" />
<Key <Key
latin:keyLabel="." latin:keyLabel="."
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="\?" latin:keyHintLabel="\?"
latin:moreKeys="\?" /> latin:moreKeys="\?" />
</default> </default>

View File

@ -33,14 +33,14 @@
> >
<Key <Key
latin:keyLabel="/" latin:keyLabel="/"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel=":" latin:keyHintLabel=":"
latin:moreKeys=":" /> latin:moreKeys=":" />
</case> </case>
<default> <default>
<Key <Key
latin:keyLabel="@string/keylabel_for_apostrophe" latin:keyLabel="@string/keylabel_for_apostrophe"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="@string/keyhintlabel_for_apostrophe" latin:keyHintLabel="@string/keyhintlabel_for_apostrophe"
latin:moreKeys="@string/more_keys_for_apostrophe" /> latin:moreKeys="@string/more_keys_for_apostrophe" />
</default> </default>
@ -55,7 +55,7 @@
<default> <default>
<Key <Key
latin:keyLabel="@string/keylabel_for_dash" latin:keyLabel="@string/keylabel_for_dash"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="@string/keyhintlabel_for_dash" latin:keyHintLabel="@string/keyhintlabel_for_dash"
latin:moreKeys="@string/more_keys_for_dash" /> latin:moreKeys="@string/more_keys_for_dash" />
</default> </default>

View File

@ -28,7 +28,7 @@
> >
<Key <Key
latin:keyStyle="tabKeyStyle" latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.500%p" /> latin:keyWidth="7.500%p" />
<!-- \u0636: ARABIC LETTER DAD --> <!-- \u0636: ARABIC LETTER DAD -->
<Key <Key
@ -84,7 +84,7 @@
> >
<Key <Key
latin:keyStyle="toSymbolKeyStyle" latin:keyStyle="toSymbolKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="9.375%p" /> latin:keyWidth="9.375%p" />
<!-- \u0634: ARABIC LETTER SHEEN <!-- \u0634: ARABIC LETTER SHEEN
\u069c: ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE --> \u069c: ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE -->

View File

@ -28,7 +28,7 @@
> >
<Key <Key
latin:keyStyle="tabKeyStyle" latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" /> latin:keyWidth="7.969%p" />
<Key <Key
latin:keyLabel="a" latin:keyLabel="a"
@ -70,7 +70,7 @@
> >
<Key <Key
latin:keyStyle="toSymbolKeyStyle" latin:keyStyle="toSymbolKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="10.167%p" /> latin:keyWidth="10.167%p" />
<Key <Key
latin:keyLabel="q" latin:keyLabel="q"
@ -127,7 +127,7 @@
latin:moreKeys="@string/more_keys_for_n" /> latin:moreKeys="@string/more_keys_for_n" />
<Key <Key
latin:keyLabel="\'" latin:keyLabel="\'"
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel=":" latin:keyHintLabel=":"
latin:moreKeys=":" /> latin:moreKeys=":" />
<switch> <switch>
@ -142,12 +142,12 @@
<default> <default>
<Key <Key
latin:keyLabel="," latin:keyLabel=","
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="!" latin:keyHintLabel="!"
latin:moreKeys="!" /> latin:moreKeys="!" />
<Key <Key
latin:keyLabel="." latin:keyLabel="."
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="\?" latin:keyHintLabel="\?"
latin:moreKeys="\?" /> latin:moreKeys="\?" />
</default> </default>

View File

@ -28,7 +28,7 @@
> >
<Key <Key
latin:keyStyle="tabKeyStyle" latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" /> latin:keyWidth="7.969%p" />
<include <include
latin:keyboardLayout="@xml/kbd_row4_apostrophe_dash" /> latin:keyboardLayout="@xml/kbd_row4_apostrophe_dash" />
@ -58,7 +58,7 @@
> >
<Key <Key
latin:keyStyle="toSymbolKeyStyle" latin:keyStyle="toSymbolKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="11.172%p" /> latin:keyWidth="11.172%p" />
<Key <Key
latin:keyLabel="ש" /> latin:keyLabel="ש" />

View File

@ -32,7 +32,7 @@
<Row> <Row>
<Key <Key
latin:keyStyle="numTabKeyStyle" latin:keyStyle="numTabKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="11.172%p" /> latin:keyWidth="11.172%p" />
<Key <Key
latin:keyStyle="num1KeyStyle" latin:keyStyle="num1KeyStyle"
@ -90,7 +90,7 @@
<Row> <Row>
<Key <Key
latin:keyStyle="tabKeyStyle" latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="11.172%p" /> latin:keyWidth="11.172%p" />
<Key <Key
latin:keyLabel="-" latin:keyLabel="-"

View File

@ -28,7 +28,7 @@
<Row> <Row>
<Key <Key
latin:keyStyle="numTabKeyStyle" latin:keyStyle="numTabKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="11.172%p" /> latin:keyWidth="11.172%p" />
<Key <Key
latin:keyLabel="-" latin:keyLabel="-"

View File

@ -28,7 +28,7 @@
<Row> <Row>
<Key <Key
latin:keyStyle="numTabKeyStyle" latin:keyStyle="numTabKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="11.172%p" /> latin:keyWidth="11.172%p" />
<Key <Key
latin:keyLabel="-" latin:keyLabel="-"

View File

@ -28,7 +28,7 @@
> >
<Key <Key
latin:keyStyle="tabKeyStyle" latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" /> latin:keyWidth="7.969%p" />
<Key <Key
latin:keyLabel="q" latin:keyLabel="q"
@ -103,12 +103,12 @@
<default> <default>
<Key <Key
latin:keyLabel="," latin:keyLabel=","
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="!" latin:keyHintLabel="!"
latin:moreKeys="!" /> latin:moreKeys="!" />
<Key <Key
latin:keyLabel="." latin:keyLabel="."
latin:keyLabelOption="hasUppercaseLetter" latin:keyLabelFlags="hasUppercaseLetter"
latin:keyHintLabel="\?" latin:keyHintLabel="\?"
latin:moreKeys="\?" /> latin:moreKeys="\?" />
</default> </default>

View File

@ -28,7 +28,7 @@
> >
<Key <Key
latin:keyStyle="tabKeyStyle" latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft" /> latin:keyLabelFlags="alignLeft" />
<Key <Key
latin:keyLabel="й" /> latin:keyLabel="й" />
<Key <Key
@ -63,7 +63,7 @@
> >
<Key <Key
latin:keyStyle="toSymbolKeyStyle" latin:keyStyle="toSymbolKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="9.375%p" /> latin:keyWidth="9.375%p" />
<Key <Key
latin:keyLabel="ф" /> latin:keyLabel="ф" />

View File

@ -28,7 +28,7 @@
> >
<Key <Key
latin:keyStyle="tabKeyStyle" latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.500%p" /> latin:keyWidth="7.500%p" />
<Key <Key
latin:keyLabel="q" latin:keyLabel="q"
@ -72,7 +72,7 @@
> >
<Key <Key
latin:keyStyle="toSymbolKeyStyle" latin:keyStyle="toSymbolKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="9.375%p" /> latin:keyWidth="9.375%p" />
<Key <Key
latin:keyLabel="a" latin:keyLabel="a"

View File

@ -28,7 +28,7 @@
> >
<Key <Key
latin:keyStyle="tabKeyStyle" latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft" /> latin:keyLabelFlags="alignLeft" />
<Key <Key
latin:keyLabel="љ" /> latin:keyLabel="љ" />
<Key <Key
@ -62,7 +62,7 @@
> >
<Key <Key
latin:keyStyle="toSymbolKeyStyle" latin:keyStyle="toSymbolKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="11.172%p" /> latin:keyWidth="11.172%p" />
<Key <Key
latin:keyLabel="а" /> latin:keyLabel="а" />

View File

@ -30,7 +30,7 @@
> >
<Key <Key
latin:keyStyle="toSymbolKeyStyle" latin:keyStyle="toSymbolKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="10.167%p" /> latin:keyWidth="10.167%p" />
<Key <Key
latin:keyLabel="a" latin:keyLabel="a"

View File

@ -30,7 +30,7 @@
> >
<Key <Key
latin:keyStyle="tabKeyStyle" latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" /> latin:keyWidth="7.969%p" />
<Key <Key
latin:keyLabel="@string/keylabel_for_symbols_1" latin:keyLabel="@string/keylabel_for_symbols_1"
@ -72,7 +72,7 @@
> >
<Key <Key
latin:keyStyle="toAlphaKeyStyle" latin:keyStyle="toAlphaKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="11.172%p" /> latin:keyWidth="11.172%p" />
<Key <Key
latin:keyLabel="#" /> latin:keyLabel="#" />

View File

@ -30,7 +30,7 @@
> >
<Key <Key
latin:keyStyle="tabKeyStyle" latin:keyStyle="tabKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="7.969%p" /> latin:keyWidth="7.969%p" />
<Key <Key
latin:keyLabel="~" /> latin:keyLabel="~" />
@ -65,7 +65,7 @@
> >
<Key <Key
latin:keyStyle="toAlphaKeyStyle" latin:keyStyle="toAlphaKeyStyle"
latin:keyLabelOption="alignLeft" latin:keyLabelFlags="alignLeft"
latin:keyWidth="11.172%p" /> latin:keyWidth="11.172%p" />
<Key <Key
latin:keyStyle="moreCurrency1KeyStyle" /> latin:keyStyle="moreCurrency1KeyStyle" />

View File

@ -28,7 +28,7 @@
> >
<key-style <key-style
latin:styleName="f1PopupStyle" latin:styleName="f1PopupStyle"
latin:keyLabelOption="hasPopupHint" latin:keyLabelFlags="hasPopupHint"
latin:moreKeys="@string/more_keys_for_f1" latin:moreKeys="@string/more_keys_for_f1"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
</case> </case>
@ -38,7 +38,7 @@
> >
<key-style <key-style
latin:styleName="f1PopupStyle" latin:styleName="f1PopupStyle"
latin:keyLabelOption="hasPopupHint" latin:keyLabelFlags="hasPopupHint"
latin:moreKeys="@string/more_keys_for_f1_settings" latin:moreKeys="@string/more_keys_for_f1_settings"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
</case> </case>
@ -48,7 +48,7 @@
> >
<key-style <key-style
latin:styleName="f1PopupStyle" latin:styleName="f1PopupStyle"
latin:keyLabelOption="hasPopupHint" latin:keyLabelFlags="hasPopupHint"
latin:moreKeys="@string/more_keys_for_f1_navigate" latin:moreKeys="@string/more_keys_for_f1_navigate"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
</case> </case>
@ -56,7 +56,7 @@
<default> <default>
<key-style <key-style
latin:styleName="f1PopupStyle" latin:styleName="f1PopupStyle"
latin:keyLabelOption="hasPopupHint" latin:keyLabelFlags="hasPopupHint"
latin:moreKeys="@string/more_keys_for_f1" latin:moreKeys="@string/more_keys_for_f1"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
</default> </default>
@ -67,15 +67,14 @@
latin:code="@integer/key_shift" latin:code="@integer/key_shift"
latin:keyIcon="iconShiftKey" latin:keyIcon="iconShiftKey"
latin:keyIconShifted="iconShiftedShiftKey" latin:keyIconShifted="iconShiftedShiftKey"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:backgroundType="sticky" /> latin:backgroundType="sticky" />
<key-style <key-style
latin:styleName="deleteKeyStyle" latin:styleName="deleteKeyStyle"
latin:code="@integer/key_delete" latin:code="@integer/key_delete"
latin:keyIcon="iconDeleteKey" latin:keyIcon="iconDeleteKey"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="isRepeatable|noKeyPreview"
latin:backgroundType="functional" latin:backgroundType="functional" />
latin:isRepeatable="true" />
<!-- Return key style --> <!-- Return key style -->
<switch> <switch>
<case <case
@ -86,7 +85,7 @@
latin:styleName="returnKeyStyle" latin:styleName="returnKeyStyle"
latin:keyLabel=":-)" latin:keyLabel=":-)"
latin:keyOutputText=":-) " latin:keyOutputText=":-) "
latin:keyLabelOption="hasPopupHint" latin:keyLabelFlags="hasPopupHint"
latin:moreKeys="@string/more_keys_for_smiley" latin:moreKeys="@string/more_keys_for_smiley"
latin:maxMoreKeysColumn="5" latin:maxMoreKeysColumn="5"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
@ -98,7 +97,8 @@
latin:styleName="returnKeyStyle" latin:styleName="returnKeyStyle"
latin:code="@integer/key_return" latin:code="@integer/key_return"
latin:keyLabel="@string/label_go_key" latin:keyLabel="@string/label_go_key"
latin:keyLabelOption="autoXScale|noKeyPreview" latin:keyLabelFlags="autoXScale"
latin:keyActionFlags="noKeyPreview"
latin:backgroundType="action" /> latin:backgroundType="action" />
</case> </case>
<case <case
@ -108,7 +108,8 @@
latin:styleName="returnKeyStyle" latin:styleName="returnKeyStyle"
latin:code="@integer/key_return" latin:code="@integer/key_return"
latin:keyLabel="@string/label_next_key" latin:keyLabel="@string/label_next_key"
latin:keyLabelOption="autoXScale|noKeyPreview" latin:keyLabelFlags="autoXScale"
latin:keyActionFlags="noKeyPreview"
latin:backgroundType="action" /> latin:backgroundType="action" />
</case> </case>
<case <case
@ -118,7 +119,8 @@
latin:styleName="returnKeyStyle" latin:styleName="returnKeyStyle"
latin:code="@integer/key_return" latin:code="@integer/key_return"
latin:keyLabel="@string/label_done_key" latin:keyLabel="@string/label_done_key"
latin:keyLabelOption="autoXScale|noKeyPreview" latin:keyLabelFlags="autoXScale"
latin:keyActionFlags="noKeyPreview"
latin:backgroundType="action" /> latin:backgroundType="action" />
</case> </case>
<case <case
@ -128,7 +130,8 @@
latin:styleName="returnKeyStyle" latin:styleName="returnKeyStyle"
latin:code="@integer/key_return" latin:code="@integer/key_return"
latin:keyLabel="@string/label_send_key" latin:keyLabel="@string/label_send_key"
latin:keyLabelOption="autoXScale|noKeyPreview" latin:keyLabelFlags="autoXScale"
latin:keyActionFlags="noKeyPreview"
latin:backgroundType="action" /> latin:backgroundType="action" />
</case> </case>
<case <case
@ -138,7 +141,8 @@
latin:styleName="returnKeyStyle" latin:styleName="returnKeyStyle"
latin:code="@integer/key_return" latin:code="@integer/key_return"
latin:keyIcon="iconSearchKey" latin:keyIcon="iconSearchKey"
latin:keyLabelOption="noKeyPreview" latin:keyLabelFlags="autoXScale"
latin:keyActionFlags="noKeyPreview"
latin:backgroundType="action" /> latin:backgroundType="action" />
</case> </case>
<default> <default>
@ -146,26 +150,26 @@
latin:styleName="returnKeyStyle" latin:styleName="returnKeyStyle"
latin:code="@integer/key_return" latin:code="@integer/key_return"
latin:keyIcon="iconReturnKey" latin:keyIcon="iconReturnKey"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
</default> </default>
</switch> </switch>
<key-style <key-style
latin:styleName="spaceKeyStyle" latin:styleName="spaceKeyStyle"
latin:code="@integer/key_space" latin:code="@integer/key_space"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
<key-style <key-style
latin:styleName="shortcutKeyStyle" latin:styleName="shortcutKeyStyle"
latin:code="@integer/key_shortcut" latin:code="@integer/key_shortcut"
latin:keyIcon="iconShortcutKey" latin:keyIcon="iconShortcutKey"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:parentStyle="f1PopupStyle" /> latin:parentStyle="f1PopupStyle" />
<key-style <key-style
latin:styleName="settingsKeyStyle" latin:styleName="settingsKeyStyle"
latin:code="@integer/key_settings" latin:code="@integer/key_settings"
latin:keyIcon="iconSettingsKey" latin:keyIcon="iconSettingsKey"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
<key-style <key-style
latin:styleName="tabKeyStyle" latin:styleName="tabKeyStyle"
@ -193,7 +197,8 @@
latin:code="@integer/key_switch_alpha_symbol" latin:code="@integer/key_switch_alpha_symbol"
latin:keyIcon="iconShortcutForLabel" latin:keyIcon="iconShortcutForLabel"
latin:keyLabel="@string/label_to_symbol_with_microphone_key" latin:keyLabel="@string/label_to_symbol_with_microphone_key"
latin:keyLabelOption="withIconRight|noKeyPreview" latin:keyLabelFlags="withIconRight"
latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
</case> </case>
<default> <default>
@ -201,7 +206,7 @@
latin:styleName="toSymbolKeyStyle" latin:styleName="toSymbolKeyStyle"
latin:code="@integer/key_switch_alpha_symbol" latin:code="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_symbol_key" latin:keyLabel="@string/label_to_symbol_key"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
</default> </default>
</switch> </switch>
@ -209,25 +214,25 @@
latin:styleName="toAlphaKeyStyle" latin:styleName="toAlphaKeyStyle"
latin:code="@integer/key_switch_alpha_symbol" latin:code="@integer/key_switch_alpha_symbol"
latin:keyLabel="@string/label_to_alpha_key" latin:keyLabel="@string/label_to_alpha_key"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
<key-style <key-style
latin:styleName="toMoreSymbolKeyStyle" latin:styleName="toMoreSymbolKeyStyle"
latin:code="@integer/key_shift" latin:code="@integer/key_shift"
latin:keyLabel="@string/label_to_more_symbol_key" latin:keyLabel="@string/label_to_more_symbol_key"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
<key-style <key-style
latin:styleName="backFromMoreSymbolKeyStyle" latin:styleName="backFromMoreSymbolKeyStyle"
latin:code="@integer/key_shift" latin:code="@integer/key_shift"
latin:keyLabel="@string/label_to_symbol_key" latin:keyLabel="@string/label_to_symbol_key"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:backgroundType="functional" /> latin:backgroundType="functional" />
<key-style <key-style
latin:styleName="punctuationKeyStyle" latin:styleName="punctuationKeyStyle"
latin:keyLabel="." latin:keyLabel="."
latin:keyHintLabel="@string/keyhintlabel_for_punctuation" latin:keyHintLabel="@string/keyhintlabel_for_punctuation"
latin:keyLabelOption="hasPopupHint" latin:keyLabelFlags="hasPopupHint"
latin:moreKeys="@string/more_keys_for_punctuation" latin:moreKeys="@string/more_keys_for_punctuation"
latin:maxMoreKeysColumn="@integer/mini_keyboard_column_for_punctuation" latin:maxMoreKeysColumn="@integer/mini_keyboard_column_for_punctuation"
latin:backgroundType="functional" /> latin:backgroundType="functional" />

View File

@ -23,23 +23,23 @@
> >
<key-style <key-style
latin:styleName="numKeyBaseStyle" latin:styleName="numKeyBaseStyle"
latin:keyLabelOption="noKeyPreview" /> latin:keyActionFlags="noKeyPreview" />
<key-style <key-style
latin:styleName="numKeyStyle" latin:styleName="numKeyStyle"
latin:keyLabelOption="largeLetter|followKeyLetterRatio" latin:keyLabelFlags="largeLetter|followKeyLetterRatio"
latin:parentStyle="numKeyBaseStyle" /> latin:parentStyle="numKeyBaseStyle" />
<key-style <key-style
latin:styleName="numModeKeyStyle" latin:styleName="numModeKeyStyle"
latin:keyLabelOption="fontNormal|followKeyLetterRatio" latin:keyLabelFlags="fontNormal|followKeyLetterRatio"
latin:parentStyle="numKeyBaseStyle" /> latin:parentStyle="numKeyBaseStyle" />
<key-style <key-style
latin:styleName="numFunctionalKeyStyle" latin:styleName="numFunctionalKeyStyle"
latin:keyLabelOption="largeLetter|followKeyLetterRatio" latin:keyLabelFlags="largeLetter|followKeyLetterRatio"
latin:backgroundType="functional" latin:backgroundType="functional"
latin:parentStyle="numKeyBaseStyle" /> latin:parentStyle="numKeyBaseStyle" />
<key-style <key-style
latin:styleName="numberKeyStyle" latin:styleName="numberKeyStyle"
latin:keyLabelOption="alignLeftOfCenter|hasHintLabel" latin:keyLabelFlags="alignLeftOfCenter|hasHintLabel"
latin:parentStyle="numKeyStyle" /> latin:parentStyle="numKeyStyle" />
<key-style <key-style
latin:styleName="num0KeyStyle" latin:styleName="num0KeyStyle"
@ -109,17 +109,17 @@
latin:styleName="numPauseKeyStyle" latin:styleName="numPauseKeyStyle"
latin:code="44" latin:code="44"
latin:keyLabel="@string/label_pause_key" latin:keyLabel="@string/label_pause_key"
latin:keyLabelOption="followKeyHintLabelRatio|autoXScale" latin:keyLabelFlags="followKeyHintLabelRatio|autoXScale"
latin:parentStyle="numKeyBaseStyle" /> latin:parentStyle="numKeyBaseStyle" />
<key-style <key-style
latin:styleName="numWaitKeyStyle" latin:styleName="numWaitKeyStyle"
latin:code="59" latin:code="59"
latin:keyLabel="@string/label_wait_key" latin:keyLabel="@string/label_wait_key"
latin:keyLabelOption="followKeyHintLabelRatio|autoXScale" latin:keyLabelFlags="followKeyHintLabelRatio|autoXScale"
latin:parentStyle="numKeyBaseStyle" /> latin:parentStyle="numKeyBaseStyle" />
<key-style <key-style
latin:styleName="numTabKeyStyle" latin:styleName="numTabKeyStyle"
latin:keyLabelOption="noKeyPreview" latin:keyActionFlags="noKeyPreview"
latin:parentStyle="tabKeyStyle" /> latin:parentStyle="tabKeyStyle" />
<key-style <key-style
latin:styleName="numSpaceKeyStyle" latin:styleName="numSpaceKeyStyle"

View File

@ -33,7 +33,7 @@
latin:keyStyle="toAlphaKeyStyle" latin:keyStyle="toAlphaKeyStyle"
latin:keyWidth="15%p" /> latin:keyWidth="15%p" />
<!-- Note: Neither DroidSans nor Roboto have a glyph for ‟ Double high-reversed-9 quotation mark U+201F. --> <!-- Note: Neither DroidSans nor Roboto have a glyph for ‟ Double high-reversed-9 quotation mark U+201F. -->
<!-- latin:keyLabelOption="hasPopupHint" --> <!-- latin:keyLabelFlags="hasPopupHint" -->
<!-- latin:moreKeys="‟" --> <!-- latin:moreKeys="‟" -->
<Key <Key
latin:keyLabel="„" latin:keyLabel="„"
@ -56,7 +56,7 @@
<include <include
latin:keyboardLayout="@xml/kbd_settings_or_tab" /> latin:keyboardLayout="@xml/kbd_settings_or_tab" />
<!-- Note: Neither DroidSans nor Roboto have a glyph for ‟ Double high-reversed-9 quotation mark U+201F. --> <!-- Note: Neither DroidSans nor Roboto have a glyph for ‟ Double high-reversed-9 quotation mark U+201F. -->
<!-- latin:keyLabelOption="hasPopupHint" --> <!-- latin:keyLabelFlags="hasPopupHint" -->
<!-- latin:moreKeys="‟" --> <!-- latin:moreKeys="‟" -->
<Key <Key
latin:keyLabel="„" latin:keyLabel="„"

View File

@ -51,23 +51,22 @@ public class Key {
public final CharSequence mLabel; public final CharSequence mLabel;
/** Hint label to display on the key in conjunction with the label */ /** Hint label to display on the key in conjunction with the label */
public final CharSequence mHintLabel; public final CharSequence mHintLabel;
/** Option of the label */ /** Flags of the label */
private final int mLabelOption; private final int mLabelFlags;
private static final int LABEL_OPTION_ALIGN_LEFT = 0x01; private static final int LABEL_FLAGS_ALIGN_LEFT = 0x01;
private static final int LABEL_OPTION_ALIGN_RIGHT = 0x02; private static final int LABEL_FLAGS_ALIGN_RIGHT = 0x02;
private static final int LABEL_OPTION_ALIGN_LEFT_OF_CENTER = 0x08; private static final int LABEL_FLAGS_ALIGN_LEFT_OF_CENTER = 0x08;
private static final int LABEL_OPTION_LARGE_LETTER = 0x10; private static final int LABEL_FLAGS_LARGE_LETTER = 0x10;
private static final int LABEL_OPTION_FONT_NORMAL = 0x20; private static final int LABEL_FLAGS_FONT_NORMAL = 0x20;
private static final int LABEL_OPTION_FONT_MONO_SPACE = 0x40; private static final int LABEL_FLAGS_FONT_MONO_SPACE = 0x40;
private static final int LABEL_OPTION_FOLLOW_KEY_LETTER_RATIO = 0x80; private static final int LABEL_FLAGS_FOLLOW_KEY_LETTER_RATIO = 0x80;
private static final int LABEL_OPTION_FOLLOW_KEY_HINT_LABEL_RATIO = 0x100; private static final int LABEL_FLAGS_FOLLOW_KEY_HINT_LABEL_RATIO = 0x100;
private static final int LABEL_OPTION_HAS_POPUP_HINT = 0x200; private static final int LABEL_FLAGS_HAS_POPUP_HINT = 0x200;
private static final int LABEL_OPTION_HAS_UPPERCASE_LETTER = 0x400; private static final int LABEL_FLAGS_HAS_UPPERCASE_LETTER = 0x400;
private static final int LABEL_OPTION_HAS_HINT_LABEL = 0x800; private static final int LABEL_FLAGS_HAS_HINT_LABEL = 0x800;
private static final int LABEL_OPTION_WITH_ICON_LEFT = 0x1000; private static final int LABEL_FLAGS_WITH_ICON_LEFT = 0x1000;
private static final int LABEL_OPTION_WITH_ICON_RIGHT = 0x2000; private static final int LABEL_FLAGS_WITH_ICON_RIGHT = 0x2000;
private static final int LABEL_OPTION_AUTO_X_SCALE = 0x4000; private static final int LABEL_FLAGS_AUTO_X_SCALE = 0x4000;
private static final int LABEL_OPTION_NO_KEY_PREVIEW = 0x8000;
/** Icon to display instead of a label. Icon takes precedence over a label */ /** Icon to display instead of a label. Icon takes precedence over a label */
private Drawable mIcon; private Drawable mIcon;
@ -106,8 +105,9 @@ public class Key {
public static final int BACKGROUND_TYPE_ACTION = 2; public static final int BACKGROUND_TYPE_ACTION = 2;
public static final int BACKGROUND_TYPE_STICKY = 3; public static final int BACKGROUND_TYPE_STICKY = 3;
/** Whether this key repeats itself when held down */ private final int mActionFlags;
public final boolean mRepeatable; private static final int ACTION_FLAGS_IS_REPEATABLE = 0x01;
private static final int ACTION_FLAGS_NO_KEY_PREVIEW = 0x02;
/** The current pressed state of this key */ /** The current pressed state of this key */
private boolean mPressed; private boolean mPressed;
@ -182,9 +182,9 @@ public class Key {
mVisualInsetsLeft = mVisualInsetsRight = 0; mVisualInsetsLeft = mVisualInsetsRight = 0;
mWidth = width - mHorizontalGap; mWidth = width - mHorizontalGap;
mHintLabel = hintLabel; mHintLabel = hintLabel;
mLabelOption = 0; mLabelFlags = 0;
mBackgroundType = BACKGROUND_TYPE_NORMAL; mBackgroundType = BACKGROUND_TYPE_NORMAL;
mRepeatable = false; mActionFlags = 0;
mMoreKeys = null; mMoreKeys = null;
mMaxMoreKeysColumn = 0; mMaxMoreKeysColumn = 0;
mLabel = label; mLabel = label;
@ -255,8 +255,7 @@ public class Key {
mBackgroundType = style.getInt(keyAttr, mBackgroundType = style.getInt(keyAttr,
R.styleable.Keyboard_Key_backgroundType, BACKGROUND_TYPE_NORMAL); R.styleable.Keyboard_Key_backgroundType, BACKGROUND_TYPE_NORMAL);
mRepeatable = style.getBoolean(keyAttr, R.styleable.Keyboard_Key_isRepeatable, false); mActionFlags = style.getFlag(keyAttr, R.styleable.Keyboard_Key_keyActionFlags, 0);
mEnabled = style.getBoolean(keyAttr, R.styleable.Keyboard_Key_enabled, true);
final KeyboardIconsSet iconsSet = params.mIconsSet; final KeyboardIconsSet iconsSet = params.mIconsSet;
mVisualInsetsLeft = (int) KeyboardBuilder.getDimensionOrFraction(keyAttr, mVisualInsetsLeft = (int) KeyboardBuilder.getDimensionOrFraction(keyAttr,
@ -276,7 +275,7 @@ public class Key {
mHintLabel = style.getText(keyAttr, R.styleable.Keyboard_Key_keyHintLabel); mHintLabel = style.getText(keyAttr, R.styleable.Keyboard_Key_keyHintLabel);
mLabel = style.getText(keyAttr, R.styleable.Keyboard_Key_keyLabel); mLabel = style.getText(keyAttr, R.styleable.Keyboard_Key_keyLabel);
mLabelOption = style.getFlag(keyAttr, R.styleable.Keyboard_Key_keyLabelOption, 0); mLabelFlags = style.getFlag(keyAttr, R.styleable.Keyboard_Key_keyLabelFlags, 0);
mOutputText = style.getText(keyAttr, R.styleable.Keyboard_Key_keyOutputText); mOutputText = style.getText(keyAttr, R.styleable.Keyboard_Key_keyOutputText);
// Choose the first letter of the label as primary code if not // Choose the first letter of the label as primary code if not
// specified. // specified.
@ -318,11 +317,19 @@ public class Key {
return false; return false;
} }
public boolean isRepeatable() {
return (mActionFlags & ACTION_FLAGS_IS_REPEATABLE) != 0;
}
public boolean noKeyPreview() {
return (mActionFlags & ACTION_FLAGS_NO_KEY_PREVIEW) != 0;
}
public Typeface selectTypeface(Typeface defaultTypeface) { public Typeface selectTypeface(Typeface defaultTypeface) {
// TODO: Handle "bold" here too? // TODO: Handle "bold" here too?
if ((mLabelOption & LABEL_OPTION_FONT_NORMAL) != 0) { if ((mLabelFlags & LABEL_FLAGS_FONT_NORMAL) != 0) {
return Typeface.DEFAULT; return Typeface.DEFAULT;
} else if ((mLabelOption & LABEL_OPTION_FONT_MONO_SPACE) != 0) { } else if ((mLabelFlags & LABEL_FLAGS_FONT_MONO_SPACE) != 0) {
return Typeface.MONOSPACE; return Typeface.MONOSPACE;
} else { } else {
return defaultTypeface; return defaultTypeface;
@ -331,12 +338,12 @@ public class Key {
public int selectTextSize(int letter, int largeLetter, int label, int hintLabel) { public int selectTextSize(int letter, int largeLetter, int label, int hintLabel) {
if (mLabel.length() > 1 if (mLabel.length() > 1
&& (mLabelOption & (LABEL_OPTION_FOLLOW_KEY_LETTER_RATIO && (mLabelFlags & (LABEL_FLAGS_FOLLOW_KEY_LETTER_RATIO
| LABEL_OPTION_FOLLOW_KEY_HINT_LABEL_RATIO)) == 0) { | LABEL_FLAGS_FOLLOW_KEY_HINT_LABEL_RATIO)) == 0) {
return label; return label;
} else if ((mLabelOption & LABEL_OPTION_FOLLOW_KEY_HINT_LABEL_RATIO) != 0) { } else if ((mLabelFlags & LABEL_FLAGS_FOLLOW_KEY_HINT_LABEL_RATIO) != 0) {
return hintLabel; return hintLabel;
} else if ((mLabelOption & LABEL_OPTION_LARGE_LETTER) != 0) { } else if ((mLabelFlags & LABEL_FLAGS_LARGE_LETTER) != 0) {
return largeLetter; return largeLetter;
} else { } else {
return letter; return letter;
@ -344,19 +351,19 @@ public class Key {
} }
public boolean isAlignLeft() { public boolean isAlignLeft() {
return (mLabelOption & LABEL_OPTION_ALIGN_LEFT) != 0; return (mLabelFlags & LABEL_FLAGS_ALIGN_LEFT) != 0;
} }
public boolean isAlignRight() { public boolean isAlignRight() {
return (mLabelOption & LABEL_OPTION_ALIGN_RIGHT) != 0; return (mLabelFlags & LABEL_FLAGS_ALIGN_RIGHT) != 0;
} }
public boolean isAlignLeftOfCenter() { public boolean isAlignLeftOfCenter() {
return (mLabelOption & LABEL_OPTION_ALIGN_LEFT_OF_CENTER) != 0; return (mLabelFlags & LABEL_FLAGS_ALIGN_LEFT_OF_CENTER) != 0;
} }
public boolean hasPopupHint() { public boolean hasPopupHint() {
return (mLabelOption & LABEL_OPTION_HAS_POPUP_HINT) != 0; return (mLabelFlags & LABEL_FLAGS_HAS_POPUP_HINT) != 0;
} }
public void setNeedsSpecialPopupHint(boolean needsSpecialPopupHint) { public void setNeedsSpecialPopupHint(boolean needsSpecialPopupHint) {
@ -368,27 +375,23 @@ public class Key {
} }
public boolean hasUppercaseLetter() { public boolean hasUppercaseLetter() {
return (mLabelOption & LABEL_OPTION_HAS_UPPERCASE_LETTER) != 0; return (mLabelFlags & LABEL_FLAGS_HAS_UPPERCASE_LETTER) != 0;
} }
public boolean hasHintLabel() { public boolean hasHintLabel() {
return (mLabelOption & LABEL_OPTION_HAS_HINT_LABEL) != 0; return (mLabelFlags & LABEL_FLAGS_HAS_HINT_LABEL) != 0;
} }
public boolean hasLabelWithIconLeft() { public boolean hasLabelWithIconLeft() {
return (mLabelOption & LABEL_OPTION_WITH_ICON_LEFT) != 0; return (mLabelFlags & LABEL_FLAGS_WITH_ICON_LEFT) != 0;
} }
public boolean hasLabelWithIconRight() { public boolean hasLabelWithIconRight() {
return (mLabelOption & LABEL_OPTION_WITH_ICON_RIGHT) != 0; return (mLabelFlags & LABEL_FLAGS_WITH_ICON_RIGHT) != 0;
} }
public boolean needsXScale() { public boolean needsXScale() {
return (mLabelOption & LABEL_OPTION_AUTO_X_SCALE) != 0; return (mLabelFlags & LABEL_FLAGS_AUTO_X_SCALE) != 0;
}
public boolean noKeyPreview() {
return (mLabelOption & LABEL_OPTION_NO_KEY_PREVIEW) != 0;
} }
public Drawable getIcon() { public Drawable getIcon() {

View File

@ -647,7 +647,7 @@ public class PointerTracker {
private void startRepeatKey(int keyIndex) { private void startRepeatKey(int keyIndex) {
final Key key = getKey(keyIndex); final Key key = getKey(keyIndex);
if (key != null && key.mRepeatable) { if (key != null && key.isRepeatable()) {
onRepeatKey(keyIndex); onRepeatKey(keyIndex);
mTimerProxy.startKeyRepeatTimer(sDelayBeforeKeyRepeatStart, keyIndex, this); mTimerProxy.startKeyRepeatTimer(sDelayBeforeKeyRepeatStart, keyIndex, this);
mIsRepeatableKey = true; mIsRepeatableKey = true;

View File

@ -40,7 +40,6 @@ public class KeyStyles {
public CharSequence getText(TypedArray a, int index); public CharSequence getText(TypedArray a, int index);
public int getInt(TypedArray a, int index, int defaultValue); public int getInt(TypedArray a, int index, int defaultValue);
public int getFlag(TypedArray a, int index, int defaultValue); public int getFlag(TypedArray a, int index, int defaultValue);
public boolean getBoolean(TypedArray a, int index, boolean defaultValue);
} }
/* package */ static class EmptyKeyStyle implements KeyStyle { /* package */ static class EmptyKeyStyle implements KeyStyle {
@ -68,11 +67,6 @@ public class KeyStyles {
return a.getInt(index, defaultValue); return a.getInt(index, defaultValue);
} }
@Override
public boolean getBoolean(TypedArray a, int index, boolean defaultValue) {
return a.getBoolean(index, defaultValue);
}
protected static CharSequence[] parseTextArray(TypedArray a, int index) { protected static CharSequence[] parseTextArray(TypedArray a, int index) {
if (!a.hasValue(index)) if (!a.hasValue(index))
return null; return null;
@ -151,12 +145,6 @@ public class KeyStyles {
return super.getFlag(a, index, defaultValue) | (value != null ? value : 0); return super.getFlag(a, index, defaultValue) | (value != null ? value : 0);
} }
@Override
public boolean getBoolean(TypedArray a, int index, boolean defaultValue) {
final Boolean value = (Boolean)mAttributes.get(index);
return super.getBoolean(a, index, (value != null) ? value : defaultValue);
}
private DeclaredKeyStyle() { private DeclaredKeyStyle() {
super(); super();
} }
@ -168,14 +156,13 @@ public class KeyStyles {
readText(keyAttr, R.styleable.Keyboard_Key_keyOutputText); readText(keyAttr, R.styleable.Keyboard_Key_keyOutputText);
readText(keyAttr, R.styleable.Keyboard_Key_keyHintLabel); readText(keyAttr, R.styleable.Keyboard_Key_keyHintLabel);
readTextArray(keyAttr, R.styleable.Keyboard_Key_moreKeys); readTextArray(keyAttr, R.styleable.Keyboard_Key_moreKeys);
readFlag(keyAttr, R.styleable.Keyboard_Key_keyLabelOption); readFlag(keyAttr, R.styleable.Keyboard_Key_keyLabelFlags);
readInt(keyAttr, R.styleable.Keyboard_Key_keyIcon); readInt(keyAttr, R.styleable.Keyboard_Key_keyIcon);
readInt(keyAttr, R.styleable.Keyboard_Key_keyIconPreview); readInt(keyAttr, R.styleable.Keyboard_Key_keyIconPreview);
readInt(keyAttr, R.styleable.Keyboard_Key_keyIconShifted); readInt(keyAttr, R.styleable.Keyboard_Key_keyIconShifted);
readInt(keyAttr, R.styleable.Keyboard_Key_maxMoreKeysColumn); readInt(keyAttr, R.styleable.Keyboard_Key_maxMoreKeysColumn);
readInt(keyAttr, R.styleable.Keyboard_Key_backgroundType); readInt(keyAttr, R.styleable.Keyboard_Key_backgroundType);
readBoolean(keyAttr, R.styleable.Keyboard_Key_isRepeatable); readFlag(keyAttr, R.styleable.Keyboard_Key_keyActionFlags);
readBoolean(keyAttr, R.styleable.Keyboard_Key_enabled);
} }
private void readText(TypedArray a, int index) { private void readText(TypedArray a, int index) {
@ -194,11 +181,6 @@ public class KeyStyles {
mAttributes.put(index, a.getInt(index, 0) | (value != null ? value : 0)); mAttributes.put(index, a.getInt(index, 0) | (value != null ? value : 0));
} }
private void readBoolean(TypedArray a, int index) {
if (a.hasValue(index))
mAttributes.put(index, a.getBoolean(index, false));
}
private void readTextArray(TypedArray a, int index) { private void readTextArray(TypedArray a, int index) {
final CharSequence[] value = parseTextArray(a, index); final CharSequence[] value = parseTextArray(a, index);
if (value != null) if (value != null)