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