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