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