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