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 } 29 30 key B { 31 label: 'B' 32 base: 'b' 33 shift, capslock: 'B' 34 } 35 36 key C { 37 label: 'C' 38 base: 'c' 39 shift, capslock: 'C' 40 alt: '\u00e7' 41 shift+alt: '\u00c7' 42 } 43 44 key D { 45 label: 'D' 46 base: 'd' 47 shift, capslock: 'D' 48 } 49 50 key E { 51 label: 'E' 52 base: 'e' 53 shift, capslock: 'E' 54 alt: '\u0301' 55 } 56 57 key F { 58 label: 'F' 59 base: 'f' 60 shift, capslock: 'F' 61 } 62 63 key G { 64 label: 'G' 65 base: 'g' 66 shift, capslock: 'G' 67 } 68 69 key H { 70 label: 'H' 71 base: 'h' 72 shift, capslock: 'H' 73 } 74 75 key I { 76 label: 'I' 77 base: 'i' 78 shift, capslock: 'I' 79 alt: '\u0302' 80 } 81 82 key J { 83 label: 'J' 84 base: 'j' 85 shift, capslock: 'J' 86 } 87 88 key K { 89 label: 'K' 90 base: 'k' 91 shift, capslock: 'K' 92 } 93 94 key L { 95 label: 'L' 96 base: 'l' 97 shift, capslock: 'L' 98 } 99 100 key M { 101 label: 'M' 102 base: 'm' 103 shift, capslock: 'M' 104 } 105 106 key N { 107 label: 'N' 108 base: 'n' 109 shift, capslock: 'N' 110 alt: '\u0303' 111 } 112 113 key O { 114 label: 'O' 115 base: 'o' 116 shift, capslock: 'O' 117 } 118 119 key P { 120 label: 'P' 121 base: 'p' 122 shift, capslock: 'P' 123 } 124 125 key Q { 126 label: 'Q' 127 base: 'q' 128 shift, capslock: 'Q' 129 } 130 131 key R { 132 label: 'R' 133 base: 'r' 134 shift, capslock: 'R' 135 } 136 137 key S { 138 label: 'S' 139 base: 's' 140 shift, capslock: 'S' 141 alt: '\u00df' 142 } 143 144 key T { 145 label: 'T' 146 base: 't' 147 shift, capslock: 'T' 148 } 149 150 key U { 151 label: 'U' 152 base: 'u' 153 shift, capslock: 'U' 154 alt: '\u0308' 155 } 156 157 key V { 158 label: 'V' 159 base: 'v' 160 shift, capslock: 'V' 161 } 162 163 key W { 164 label: 'W' 165 base: 'w' 166 shift, capslock: 'W' 167 } 168 169 key X { 170 label: 'X' 171 base: 'x' 172 shift, capslock: 'X' 173 } 174 175 key Y { 176 label: 'Y' 177 base: 'y' 178 shift, capslock: 'Y' 179 } 180 181 key Z { 182 label: 'Z' 183 base: 'z' 184 shift, capslock: 'Z' 185 } 186 187 key 0 { 188 label: '0' 189 base: '0' 190 shift: ')' 191 } 192 193 key 1 { 194 label: '1' 195 base: '1' 196 shift: '!' 197 } 198 199 key 2 { 200 label: '2' 201 base: '2' 202 shift: '@' 203 } 204 205 key 3 { 206 label: '3' 207 base: '3' 208 shift: '#' 209 } 210 211 key 4 { 212 label: '4' 213 base: '4' 214 shift: '$' 215 } 216 217 key 5 { 218 label: '5' 219 base: '5' 220 shift: '%' 221 } 222 223 key 6 { 224 label: '6' 225 base: '6' 226 shift: '^' 227 alt+shift: '\u0302' 228 } 229 230 key 7 { 231 label: '7' 232 base: '7' 233 shift: '&' 234 } 235 236 key 8 { 237 label: '8' 238 base: '8' 239 shift: '*' 240 } 241 242 key 9 { 243 label: '9' 244 base: '9' 245 shift: '(' 246 } 247 248 key SPACE { 249 label: ' ' 250 base: ' ' 251 alt, meta: fallback SEARCH 252 ctrl: fallback LANGUAGE_SWITCH 253 } 254 255 key ENTER { 256 label: '\n' 257 base: '\n' 258 } 259 260 key TAB { 261 label: '\t' 262 base: '\t' 263 } 264 265 key COMMA { 266 label: ',' 267 base: ',' 268 shift: '<' 269 } 270 271 key PERIOD { 272 label: '.' 273 base: '.' 274 shift: '>' 275 } 276 277 key SLASH { 278 label: '/' 279 base: '/' 280 shift: '?' 281 } 282 283 key GRAVE { 284 label: '`' 285 base: '`' 286 shift: '~' 287 alt: '\u0300' 288 alt+shift: '\u0303' 289 } 290 291 key MINUS { 292 label: '-' 293 base: '-' 294 shift: '_' 295 } 296 297 key EQUALS { 298 label: '=' 299 base: '=' 300 shift: '+' 301 } 302 303 key LEFT_BRACKET { 304 label: '[' 305 base: '[' 306 shift: '{' 307 } 308 309 key RIGHT_BRACKET { 310 label: ']' 311 base: ']' 312 shift: '}' 313 } 314 315 key BACKSLASH { 316 label: '\\' 317 base: '\\' 318 shift: '|' 319 } 320 321 key SEMICOLON { 322 label: ';' 323 base: ';' 324 shift: ':' 325 } 326 327 key APOSTROPHE { 328 label: '\'' 329 base: '\'' 330 shift: '"' 331 } 332 333 ### Numeric keypad ### 334 335 key NUMPAD_0 { 336 label: '0' 337 base: fallback INSERT 338 numlock: '0' 339 } 340 341 key NUMPAD_1 { 342 label: '1' 343 base: fallback MOVE_END 344 numlock: '1' 345 } 346 347 key NUMPAD_2 { 348 label: '2' 349 base: fallback DPAD_DOWN 350 numlock: '2' 351 } 352 353 key NUMPAD_3 { 354 label: '3' 355 base: fallback PAGE_DOWN 356 numlock: '3' 357 } 358 359 key NUMPAD_4 { 360 label: '4' 361 base: fallback DPAD_LEFT 362 numlock: '4' 363 } 364 365 key NUMPAD_5 { 366 label: '5' 367 base: fallback DPAD_CENTER 368 numlock: '5' 369 } 370 371 key NUMPAD_6 { 372 label: '6' 373 base: fallback DPAD_RIGHT 374 numlock: '6' 375 } 376 377 key NUMPAD_7 { 378 label: '7' 379 base: fallback MOVE_HOME 380 numlock: '7' 381 } 382 383 key NUMPAD_8 { 384 label: '8' 385 base: fallback DPAD_UP 386 numlock: '8' 387 } 388 389 key NUMPAD_9 { 390 label: '9' 391 base: fallback PAGE_UP 392 numlock: '9' 393 } 394 395 key NUMPAD_LEFT_PAREN { 396 label: '(' 397 base: '(' 398 } 399 400 key NUMPAD_RIGHT_PAREN { 401 label: ')' 402 base: ')' 403 } 404 405 key NUMPAD_DIVIDE { 406 label: '/' 407 base: '/' 408 } 409 410 key NUMPAD_MULTIPLY { 411 label: '*' 412 base: '*' 413 } 414 415 key NUMPAD_SUBTRACT { 416 label: '-' 417 base: '-' 418 } 419 420 key NUMPAD_ADD { 421 label: '+' 422 base: '+' 423 } 424 425 key NUMPAD_DOT { 426 label: '.' 427 base: fallback FORWARD_DEL 428 numlock: '.' 429 } 430 431 key NUMPAD_COMMA { 432 label: ',' 433 base: ',' 434 } 435 436 key NUMPAD_EQUALS { 437 label: '=' 438 base: '=' 439 } 440 441 key NUMPAD_ENTER { 442 label: '\n' 443 base: '\n' fallback ENTER 444 ctrl, alt, meta: none fallback ENTER 445 } 446 447 ### Special keys on phones ### 448 449 key AT { 450 label: '@' 451 base: '@' 452 } 453 454 key STAR { 455 label: '*' 456 base: '*' 457 } 458 459 key POUND { 460 label: '#' 461 base: '#' 462 } 463 464 key PLUS { 465 label: '+' 466 base: '+' 467 } 468 469 ### Non-printing keys ### 470 471 key ESCAPE { 472 base: fallback BACK 473 alt, meta: fallback HOME 474 ctrl: fallback MENU 475 } 476 477 ### Gamepad buttons ### 478 479 key BUTTON_A { 480 base: fallback DPAD_CENTER 481 } 482 483 key BUTTON_B { 484 base: fallback BACK 485 } 486 487 key BUTTON_C { 488 base: fallback DPAD_CENTER 489 } 490 491 key BUTTON_X { 492 base: fallback DPAD_CENTER 493 } 494 495 key BUTTON_Y { 496 base: fallback BACK 497 } 498 499 key BUTTON_Z { 500 base: fallback DPAD_CENTER 501 } 502 503 key BUTTON_L1 { 504 base: none 505 } 506 507 key BUTTON_R1 { 508 base: none 509 } 510 511 key BUTTON_L2 { 512 base: none 513 } 514 515 key BUTTON_R2 { 516 base: none 517 } 518 519 key BUTTON_THUMBL { 520 base: fallback DPAD_CENTER 521 } 522 523 key BUTTON_THUMBR { 524 base: fallback DPAD_CENTER 525 } 526 527 key BUTTON_START { 528 base: fallback DPAD_CENTER 529 } 530 531 key BUTTON_SELECT { 532 base: fallback MENU 533 } 534 535 key BUTTON_MODE { 536 base: fallback MENU 537 } 538 539 key BUTTON_1 { 540 base: fallback DPAD_CENTER 541 } 542 543 key BUTTON_2 { 544 base: fallback DPAD_CENTER 545 } 546 547 key BUTTON_3 { 548 base: fallback DPAD_CENTER 549 } 550 551 key BUTTON_4 { 552 base: fallback DPAD_CENTER 553 } 554 555 key BUTTON_5 { 556 base: fallback DPAD_CENTER 557 } 558 559 key BUTTON_6 { 560 base: fallback DPAD_CENTER 561 } 562 563 key BUTTON_7 { 564 base: fallback DPAD_CENTER 565 } 566 567 key BUTTON_8 { 568 base: fallback DPAD_CENTER 569 } 570 571 key BUTTON_9 { 572 base: fallback DPAD_CENTER 573 } 574 575 key BUTTON_10 { 576 base: fallback DPAD_CENTER 577 } 578 579 key BUTTON_11 { 580 base: fallback DPAD_CENTER 581 } 582 583 key BUTTON_12 { 584 base: fallback DPAD_CENTER 585 } 586 587 key BUTTON_13 { 588 base: fallback DPAD_CENTER 589 } 590 591 key BUTTON_14 { 592 base: fallback DPAD_CENTER 593 } 594 595 key BUTTON_15 { 596 base: fallback DPAD_CENTER 597 } 598 599 key BUTTON_16 { 600 base: fallback DPAD_CENTER 601 } 602