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