1 # Copyright (C) 2010 The Android Open Source Project 2 # 3 # Licensed under the Apache License, Version 2.0 (the "License"); 4 # you may not use this file except in compliance with the License. 5 # You may obtain a copy of the License at 6 # 7 # http://www.apache.org/licenses/LICENSE-2.0 8 # 9 # Unless required by applicable law or agreed to in writing, software 10 # distributed under the License is distributed on an "AS IS" BASIS, 11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 # See the License for the specific language governing permissions and 13 # limitations under the License. 14 15 # 16 # Key character map for a built-in generic virtual keyboard primarily used 17 # for instrumentation and testing purposes. 18 # 19 20 type FULL 21 22 ### Basic QWERTY keys ### 23 24 key A { 25 label: 'A' 26 base: 'a' 27 shift, capslock: 'A' 28 ctrl, alt, meta: none 29 } 30 31 key B { 32 label: 'B' 33 base: 'b' 34 shift, capslock: 'B' 35 ctrl, alt, meta: none 36 } 37 38 key C { 39 label: 'C' 40 base: 'c' 41 shift, capslock: 'C' 42 alt: '\u00e7' 43 shift+alt: '\u00c7' 44 ctrl, meta: none 45 } 46 47 key D { 48 label: 'D' 49 base: 'd' 50 shift, capslock: 'D' 51 ctrl, alt, meta: none 52 } 53 54 key E { 55 label: 'E' 56 base: 'e' 57 shift, capslock: 'E' 58 alt: '\u0301' 59 ctrl, meta: none 60 } 61 62 key F { 63 label: 'F' 64 base: 'f' 65 shift, capslock: 'F' 66 ctrl, alt, meta: none 67 } 68 69 key G { 70 label: 'G' 71 base: 'g' 72 shift, capslock: 'G' 73 ctrl, alt, meta: none 74 } 75 76 key H { 77 label: 'H' 78 base: 'h' 79 shift, capslock: 'H' 80 ctrl, alt, meta: none 81 } 82 83 key I { 84 label: 'I' 85 base: 'i' 86 shift, capslock: 'I' 87 alt: '\u0302' 88 ctrl, meta: none 89 } 90 91 key J { 92 label: 'J' 93 base: 'j' 94 shift, capslock: 'J' 95 ctrl, alt, meta: none 96 } 97 98 key K { 99 label: 'K' 100 base: 'k' 101 shift, capslock: 'K' 102 ctrl, alt, meta: none 103 } 104 105 key L { 106 label: 'L' 107 base: 'l' 108 shift, capslock: 'L' 109 ctrl, alt, meta: none 110 } 111 112 key M { 113 label: 'M' 114 base: 'm' 115 shift, capslock: 'M' 116 ctrl, alt, meta: none 117 } 118 119 key N { 120 label: 'N' 121 base: 'n' 122 shift, capslock: 'N' 123 alt: '\u0303' 124 ctrl, meta: none 125 } 126 127 key O { 128 label: 'O' 129 base: 'o' 130 shift, capslock: 'O' 131 ctrl, alt, meta: none 132 } 133 134 key P { 135 label: 'P' 136 base: 'p' 137 shift, capslock: 'P' 138 ctrl, alt, meta: none 139 } 140 141 key Q { 142 label: 'Q' 143 base: 'q' 144 shift, capslock: 'Q' 145 ctrl, alt, meta: none 146 } 147 148 key R { 149 label: 'R' 150 base: 'r' 151 shift, capslock: 'R' 152 ctrl, alt, meta: none 153 } 154 155 key S { 156 label: 'S' 157 base: 's' 158 shift, capslock: 'S' 159 alt: '\u00df' 160 ctrl, meta: none 161 } 162 163 key T { 164 label: 'T' 165 base: 't' 166 shift, capslock: 'T' 167 ctrl, alt, meta: none 168 } 169 170 key U { 171 label: 'U' 172 base: 'u' 173 shift, capslock: 'U' 174 alt: '\u0308' 175 ctrl, meta: none 176 } 177 178 key V { 179 label: 'V' 180 base: 'v' 181 shift, capslock: 'V' 182 ctrl, alt, meta: none 183 } 184 185 key W { 186 label: 'W' 187 base: 'w' 188 shift, capslock: 'W' 189 ctrl, alt, meta: none 190 } 191 192 key X { 193 label: 'X' 194 base: 'x' 195 shift, capslock: 'X' 196 ctrl, alt, meta: none 197 } 198 199 key Y { 200 label: 'Y' 201 base: 'y' 202 shift, capslock: 'Y' 203 ctrl, alt, meta: none 204 } 205 206 key Z { 207 label: 'Z' 208 base: 'z' 209 shift, capslock: 'Z' 210 ctrl, alt, meta: none 211 } 212 213 key 0 { 214 label, number: '0' 215 base: '0' 216 shift: ')' 217 ctrl, alt, meta: none 218 } 219 220 key 1 { 221 label, number: '1' 222 base: '1' 223 shift: '!' 224 ctrl, alt, meta: none 225 } 226 227 key 2 { 228 label, number: '2' 229 base: '2' 230 shift: '@' 231 ctrl, alt, meta: none 232 } 233 234 key 3 { 235 label, number: '3' 236 base: '3' 237 shift: '#' 238 ctrl, alt, meta: none 239 } 240 241 key 4 { 242 label, number: '4' 243 base: '4' 244 shift: '$' 245 ctrl, alt, meta: none 246 } 247 248 key 5 { 249 label, number: '5' 250 base: '5' 251 shift: '%' 252 ctrl, alt, meta: none 253 } 254 255 key 6 { 256 label, number: '6' 257 base: '6' 258 shift: '^' 259 ctrl, alt, meta: none 260 alt+shift: '\u0302' 261 } 262 263 key 7 { 264 label, number: '7' 265 base: '7' 266 shift: '&' 267 ctrl, alt, meta: none 268 } 269 270 key 8 { 271 label, number: '8' 272 base: '8' 273 shift: '*' 274 ctrl, alt, meta: none 275 } 276 277 key 9 { 278 label, number: '9' 279 base: '9' 280 shift: '(' 281 ctrl, alt, meta: none 282 } 283 284 key SPACE { 285 label: ' ' 286 base: ' ' 287 ctrl, alt: none 288 meta: fallback SEARCH 289 } 290 291 key ENTER { 292 label: '\n' 293 base: '\n' 294 ctrl, alt, meta: none 295 } 296 297 key TAB { 298 label: '\t' 299 base: '\t' 300 ctrl, alt: none 301 meta: fallback APP_SWITCH 302 } 303 304 key COMMA { 305 label, number: ',' 306 base: ',' 307 shift: '<' 308 ctrl, alt, meta: none 309 } 310 311 key PERIOD { 312 label, number: '.' 313 base: '.' 314 shift: '>' 315 ctrl, alt, meta: none 316 } 317 318 key SLASH { 319 label, number: '/' 320 base: '/' 321 shift: '?' 322 ctrl, alt, meta: none 323 } 324 325 key GRAVE { 326 label, number: '`' 327 base: '`' 328 shift: '~' 329 alt: '\u0300' 330 alt+shift: '\u0303' 331 ctrl, meta: none 332 } 333 334 key MINUS { 335 label, number: '-' 336 base: '-' 337 shift: '_' 338 ctrl, alt, meta: none 339 } 340 341 key EQUALS { 342 label, number: '=' 343 base: '=' 344 shift: '+' 345 ctrl, alt, meta: none 346 } 347 348 key LEFT_BRACKET { 349 label, number: '[' 350 base: '[' 351 shift: '{' 352 ctrl, alt, meta: none 353 } 354 355 key RIGHT_BRACKET { 356 label, number: ']' 357 base: ']' 358 shift: '}' 359 ctrl, alt, meta: none 360 } 361 362 key BACKSLASH { 363 label, number: '\\' 364 base: '\\' 365 shift: '|' 366 ctrl, alt, meta: none 367 } 368 369 key SEMICOLON { 370 label, number: ';' 371 base: ';' 372 shift: ':' 373 ctrl, alt, meta: none 374 } 375 376 key APOSTROPHE { 377 label, number: '\'' 378 base: '\'' 379 shift: '"' 380 ctrl, alt, meta: none 381 } 382 383 ### Numeric keypad ### 384 385 key NUMPAD_0 { 386 label, number: '0' 387 base: fallback INSERT 388 numlock: '0' 389 ctrl, alt, meta: none 390 } 391 392 key NUMPAD_1 { 393 label, number: '1' 394 base: fallback MOVE_END 395 numlock: '1' 396 ctrl, alt, meta: none 397 } 398 399 key NUMPAD_2 { 400 label, number: '2' 401 base: fallback DPAD_DOWN 402 numlock: '2' 403 ctrl, alt, meta: none 404 } 405 406 key NUMPAD_3 { 407 label, number: '3' 408 base: fallback PAGE_DOWN 409 numlock: '3' 410 ctrl, alt, meta: none 411 } 412 413 key NUMPAD_4 { 414 label, number: '4' 415 base: fallback DPAD_LEFT 416 numlock: '4' 417 ctrl, alt, meta: none 418 } 419 420 key NUMPAD_5 { 421 label, number: '5' 422 base: fallback DPAD_CENTER 423 numlock: '5' 424 ctrl, alt, meta: none 425 } 426 427 key NUMPAD_6 { 428 label, number: '6' 429 base: fallback DPAD_RIGHT 430 numlock: '6' 431 ctrl, alt, meta: none 432 } 433 434 key NUMPAD_7 { 435 label, number: '7' 436 base: fallback MOVE_HOME 437 numlock: '7' 438 ctrl, alt, meta: none 439 } 440 441 key NUMPAD_8 { 442 label, number: '8' 443 base: fallback DPAD_UP 444 numlock: '8' 445 ctrl, alt, meta: none 446 } 447 448 key NUMPAD_9 { 449 label, number: '9' 450 base: fallback PAGE_UP 451 numlock: '9' 452 ctrl, alt, meta: none 453 } 454 455 key NUMPAD_LEFT_PAREN { 456 label, number: '(' 457 base: '(' 458 ctrl, alt, meta: none 459 } 460 461 key NUMPAD_RIGHT_PAREN { 462 label, number: ')' 463 base: ')' 464 ctrl, alt, meta: none 465 } 466 467 key NUMPAD_DIVIDE { 468 label, number: '/' 469 base: '/' 470 ctrl, alt, meta: none 471 } 472 473 key NUMPAD_MULTIPLY { 474 label, number: '*' 475 base: '*' 476 ctrl, alt, meta: none 477 } 478 479 key NUMPAD_SUBTRACT { 480 label, number: '-' 481 base: '-' 482 ctrl, alt, meta: none 483 } 484 485 key NUMPAD_ADD { 486 label, number: '+' 487 base: '+' 488 ctrl, alt, meta: none 489 } 490 491 key NUMPAD_DOT { 492 label, number: '.' 493 base: fallback FORWARD_DEL 494 numlock: '.' 495 ctrl, alt, meta: none 496 } 497 498 key NUMPAD_COMMA { 499 label, number: ',' 500 base: ',' 501 ctrl, alt, meta: none 502 } 503 504 key NUMPAD_EQUALS { 505 label, number: '=' 506 base: '=' 507 ctrl, alt, meta: none 508 } 509 510 key NUMPAD_ENTER { 511 label: '\n' 512 base: '\n' fallback ENTER 513 ctrl, alt, meta: none fallback ENTER 514 } 515 516 ### Special keys on phones ### 517 518 key AT { 519 label, number: '@' 520 base: '@' 521 } 522 523 key STAR { 524 label, number: '*' 525 base: '*' 526 } 527 528 key POUND { 529 label, number: '#' 530 base: '#' 531 } 532 533 key PLUS { 534 label, number: '+' 535 base: '+' 536 } 537 538 ### Non-printing keys ### 539 540 key ESCAPE { 541 base: fallback BACK 542 meta: fallback HOME 543 alt: fallback MENU 544 } 545