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