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