1 <?xml version="1.0" encoding="utf-8"?> 2 <!-- 3 /* 4 ** 5 ** Copyright 2012, 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 <merge 22 xmlns:latin="http://schemas.android.com/apk/res/com.android.inputmethod.latin" 23 > 24 <!-- Navigate more keys style --> 25 <include latin:keyboardLayout="@xml/key_styles_navigate_more_keys" /> 26 <switch> 27 <!-- latin:passwordInput="true" --> 28 <case 29 latin:imeAction="actionNext" 30 latin:navigatePrevious="true" 31 latin:passwordInput="true" 32 > 33 <key-style 34 latin:styleName="navigateMoreKeysStyle" 35 latin:parentStyle="navigatePreviousMoreKeysStyle" /> 36 </case> 37 <case 38 latin:imeAction="actionNext" 39 latin:passwordInput="true" 40 > 41 <key-style 42 latin:styleName="navigateMoreKeysStyle" /> 43 </case> 44 <case 45 latin:imeAction="actionPrevious" 46 latin:navigateNext="true" 47 latin:passwordInput="true" 48 > 49 <key-style 50 latin:styleName="navigateMoreKeysStyle" 51 latin:parentStyle="navigateNextMoreKeysStyle" /> 52 </case> 53 <case 54 latin:imeAction="actionPrevious" 55 latin:passwordInput="true" 56 > 57 <key-style 58 latin:styleName="navigateMoreKeysStyle" /> 59 </case> 60 <case 61 latin:navigateNext="true" 62 latin:navigatePrevious="true" 63 latin:passwordInput="true" 64 > 65 <key-style 66 latin:styleName="navigateMoreKeysStyle" 67 latin:parentStyle="navigatePreviousNextMoreKeysStyle" /> 68 </case> 69 <case 70 latin:navigateNext="true" 71 latin:passwordInput="true" 72 > 73 <key-style 74 latin:styleName="navigateMoreKeysStyle" 75 latin:parentStyle="navigateNextMoreKeysStyle" /> 76 </case> 77 <case 78 latin:navigatePrevious="true" 79 latin:passwordInput="true" 80 > 81 <key-style 82 latin:styleName="navigateMoreKeysStyle" 83 latin:parentStyle="navigatePreviousMoreKeysStyle" /> 84 </case> 85 <case 86 latin:passwordInput="true" 87 > 88 <key-style 89 latin:styleName="navigateMoreKeysStyle" /> 90 </case> 91 <!-- latin:mode="email|url|phone|number|date|time|datetime" --> 92 <case 93 latin:imeAction="actionNext" 94 latin:navigatePrevious="true" 95 latin:mode="email|url|phone|number|date|time|datetime" 96 > 97 <key-style 98 latin:styleName="navigateMoreKeysStyle" 99 latin:parentStyle="navigatePreviousMoreKeysStyle" /> 100 </case> 101 <case 102 latin:imeAction="actionNext" 103 latin:mode="email|url|phone|number|date|time|datetime" 104 > 105 <key-style 106 latin:styleName="navigateMoreKeysStyle" /> 107 </case> 108 <case 109 latin:imeAction="actionPrevious" 110 latin:navigateNext="true" 111 latin:mode="email|url|phone|number|date|time|datetime" 112 > 113 <key-style 114 latin:styleName="navigateMoreKeysStyle" 115 latin:parentStyle="navigateNextMoreKeysStyle" /> 116 </case> 117 <case 118 latin:imeAction="actionPrevious" 119 latin:mode="email|url|phone|number|date|time|datetime" 120 > 121 <key-style 122 latin:styleName="navigateMoreKeysStyle" /> 123 </case> 124 <case 125 latin:navigateNext="true" 126 latin:navigatePrevious="true" 127 latin:mode="email|url|phone|number|date|time|datetime" 128 > 129 <key-style 130 latin:styleName="navigateMoreKeysStyle" 131 latin:parentStyle="navigatePreviousNextMoreKeysStyle" /> 132 </case> 133 <case 134 latin:navigateNext="true" 135 latin:mode="email|url|phone|number|date|time|datetime" 136 > 137 <key-style 138 latin:styleName="navigateMoreKeysStyle" 139 latin:parentStyle="navigateNextMoreKeysStyle" /> 140 </case> 141 <case 142 latin:navigatePrevious="true" 143 latin:mode="email|url|phone|number|date|time|datetime" 144 > 145 <key-style 146 latin:styleName="navigateMoreKeysStyle" 147 latin:parentStyle="navigatePreviousMoreKeysStyle" /> 148 </case> 149 <case 150 latin:mode="email|url|phone|number|date|time|datetime" 151 > 152 <key-style 153 latin:styleName="navigateMoreKeysStyle" /> 154 </case> 155 <!-- default --> 156 <case 157 latin:imeAction="actionNext" 158 latin:navigatePrevious="true" 159 > 160 <key-style 161 latin:styleName="navigateMoreKeysStyle" 162 latin:parentStyle="navigateEmojiPreviousMoreKeysStyle" /> 163 </case> 164 <case 165 latin:imeAction="actionNext" 166 > 167 <key-style 168 latin:styleName="navigateMoreKeysStyle" 169 latin:parentStyle="navigateEmojiMoreKeysStyle" /> 170 </case> 171 <case 172 latin:imeAction="actionPrevious" 173 latin:navigateNext="true" 174 > 175 <key-style 176 latin:styleName="navigateMoreKeysStyle" 177 latin:parentStyle="navigateEmojiNextMoreKeysStyle" /> 178 </case> 179 <case 180 latin:imeAction="actionPrevious" 181 > 182 <key-style 183 latin:styleName="navigateMoreKeysStyle" 184 latin:parentStyle="navigateEmojiMoreKeysStyle" /> 185 </case> 186 <case 187 latin:navigateNext="true" 188 latin:navigatePrevious="true" 189 > 190 <key-style 191 latin:styleName="navigateMoreKeysStyle" 192 latin:parentStyle="navigateEmojiPreviousNextMoreKeysStyle" /> 193 </case> 194 <case 195 latin:navigateNext="true" 196 > 197 <key-style 198 latin:styleName="navigateMoreKeysStyle" 199 latin:parentStyle="navigateEmojiNextMoreKeysStyle" /> 200 </case> 201 <case 202 latin:navigatePrevious="true" 203 > 204 <key-style 205 latin:styleName="navigateMoreKeysStyle" 206 latin:parentStyle="navigateEmojiPreviousMoreKeysStyle" /> 207 </case> 208 <default> 209 <key-style 210 latin:styleName="navigateMoreKeysStyle" 211 latin:parentStyle="navigateEmojiMoreKeysStyle" /> 212 </default> 213 </switch> 214 <!-- Enter key style --> 215 <switch> 216 <case latin:keyboardTheme="ICS|KLP"> 217 <key-style 218 latin:styleName="defaultEnterKeyStyle" 219 latin:keySpec="!icon/enter_key|!code/key_enter" 220 latin:keyLabelFlags="preserveCase|autoXScale|followKeyLabelRatio|followFunctionalTextColor" 221 latin:keyActionFlags="noKeyPreview" 222 latin:backgroundType="action" 223 latin:parentStyle="navigateMoreKeysStyle" /> 224 </case> 225 <!-- keyboardTheme="LXXLight|LXXDark" --> 226 <default> 227 <key-style 228 latin:styleName="defaultEnterKeyStyle" 229 latin:keySpec="!icon/enter_key|!code/key_enter" 230 latin:keyLabelFlags="preserveCase|autoXScale|followKeyLabelRatio|followFunctionalTextColor|keepBackgroundAspectRatio" 231 latin:keyActionFlags="noKeyPreview" 232 latin:backgroundType="action" 233 latin:parentStyle="navigateMoreKeysStyle" /> 234 </default> 235 </switch> 236 <include latin:keyboardLayout="@xml/key_styles_actions" /> 237 <switch> 238 <!-- Shift + Enter in textMultiLine field. --> 239 <case 240 latin:isMultiLine="true" 241 latin:keyboardLayoutSetElement="alphabetManualShifted|alphabetShiftLockShifted" 242 > 243 <key-style 244 latin:styleName="enterKeyStyle" 245 latin:keySpec="!icon/enter_key|!code/key_shift_enter" 246 latin:parentStyle="defaultEnterKeyStyle" /> 247 </case> 248 <!-- Smiley in textShortMessage field. 249 This <case> should be after Shift + Enter <case> and before any of action <case>. --> 250 <case 251 latin:mode="im" 252 > 253 <key-style 254 latin:styleName="enterKeyStyle" 255 latin:parentStyle="emojiKeyStyle" /> 256 </case> 257 <case 258 latin:imeAction="actionGo" 259 > 260 <key-style 261 latin:styleName="enterKeyStyle" 262 latin:parentStyle="goActionKeyStyle" /> 263 </case> 264 <case 265 latin:imeAction="actionNext" 266 > 267 <key-style 268 latin:styleName="enterKeyStyle" 269 latin:parentStyle="nextActionKeyStyle" /> 270 </case> 271 <case 272 latin:imeAction="actionPrevious" 273 > 274 <key-style 275 latin:styleName="enterKeyStyle" 276 latin:parentStyle="previousActionKeyStyle" /> 277 </case> 278 <case 279 latin:imeAction="actionDone" 280 > 281 <key-style 282 latin:styleName="enterKeyStyle" 283 latin:parentStyle="doneActionKeyStyle" /> 284 </case> 285 <case 286 latin:imeAction="actionSend" 287 > 288 <key-style 289 latin:styleName="enterKeyStyle" 290 latin:parentStyle="sendActionKeyStyle" /> 291 </case> 292 <case 293 latin:imeAction="actionSearch" 294 > 295 <key-style 296 latin:styleName="enterKeyStyle" 297 latin:parentStyle="searchActionKeyStyle" /> 298 </case> 299 <case 300 latin:imeAction="actionCustomLabel" 301 > 302 <key-style 303 latin:styleName="enterKeyStyle" 304 latin:parentStyle="customLabelActionKeyStyle" /> 305 </case> 306 <!-- imeAction is either actionNone or actionUnspecified. --> 307 <default> 308 <key-style 309 latin:styleName="enterKeyStyle" 310 latin:parentStyle="defaultEnterKeyStyle" /> 311 </default> 312 </switch> 313 </merge> 314