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